Este repositório contém o compilador NIM, o NIM's Stdlib, as Ferramentas e a Documentação. Para obter mais informações sobre o NIM, incluindo downloads e documentação para o lançamento mais recente, consulte o site da NIM ou o Bleeding Edge Docs.
Atualmente, o compilador suporta oficialmente as seguintes combinações de plataforma e arquitetura:
| Sistema operacional | Arquiteturas apoiadas |
|---|---|
| Windows (Windows XP ou maior) | x86 e x86_64 |
| Linux (a maioria das distribuições) | x86, x86_64, ppc64 e armv6l |
| Mac OS X (10,04 ou superior) | x86, x86_64, ppc64 e silício Apple (ARM64) |
Mais plataformas são suportadas, no entanto, elas não são testadas regularmente e podem não ser tão estáveis quanto as plataformas listadas acima.
Compilar o compilador NIM é bastante direto se você seguir estas etapas:
Primeiro, é necessária a fonte C de uma versão mais antiga do compilador NIM para inicializar a versão mais recente, porque o próprio compilador NIM está escrito na linguagem de programação NIM. Essas fontes C estão disponíveis no repositório nim-lang/csources_v2 .
Em seguida, para construir a partir da fonte, você precisará:
gcc 6.x/posterior ou uma alternativa, como clang , Visual C++ ou Intel C++ . Recomenda -se usar gcc 6.x ou posterior.git ou wget para baixar os repositórios de origem necessários.build-essential ao usar gcc no Ubuntu (e provavelmente outras distros também).Nota do Windows: Cygwin e ambientes de tempo de execução POSIX similares não são suportados.
Então, se você estiver em um sistema ou janelas nix, as etapas a seguir devem compilar o NIM da fonte usando gcc , git e a ferramenta koch Build.
Nota: Os seguintes comandos são para a versão de desenvolvimento do compilador. Para a maioria dos usuários, a instalação da versão estável mais recente é suficiente. Confira as instruções de instalação no site para fazer isso: https://nim-lang.org/install.html.
Para mantenedores de pacotes: consulte as diretrizes de embalagem.
Primeiro, pegue o NIM do Github:
git clone https://github.com/nim-lang/Nim.git
cd Nim
Em seguida, execute o script de shell de compilação apropriado para sua plataforma:
build_all.sh (Linux, Mac)build_all.bat (Windows) Finalmente, depois de terminar as etapas de construção (no Windows, Mac ou Linux), você deve adicionar o diretório bin ao seu caminho.
Veja também Bootstrapping the Compiler.
Veja também construções reproduzíveis.
koch é a ferramenta de construção usada para construir várias partes do NIM e gerar documentação e o site, entre outras coisas. A ferramenta koch também pode ser usada para executar o NIM Test Suite.
Supondo que você tenha adicionado o diretório bin do NIM ao seu caminho, você pode executar os testes usando ./koch tests . Os testes demoram um pouco para executar, mas você pode executar um subconjunto de testes especificando uma categoria (por exemplo ./koch tests cat async ).
Para obter mais informações sobre a ferramenta koch Build, consulte a documentação no arquivo doc/koch.md.
nimble é o gerente de pacotes da NIM. Para saber mais sobre isso, consulte o repositório nim-lang/nimble .
Este projeto existe graças a todas as pessoas que contribuem.
Veja diretrizes contribuintes detalhadas. Congratulamo -nos com todas as contribuições para o NIM, independentemente de quão pequenas ou grandes elas sejam. Tudo, desde correções ortográficas a novos módulos a serem incluídos na biblioteca padrão, são bem -vindos e apreciados. Antes de começar a contribuir, você deve se familiarizar com a seguinte estrutura de repositório:
bin/ , build/ - Esses diretórios estão vazios, mas são usados quando o NIM é construído.compiler/ - o código -fonte do compilador. Também inclui plugins no compiler/plugins .nimsuggest - A ferramenta NimSuggest que anteriormente viveu no repositório nim-lang/nimsuggest .config/ - A configuração para o compilador e o gerador de documentação.doc/ - Os arquivos de documentação em formato reestruturadotext.lib/ - a biblioteca padrão, incluindo:pure/ - na Biblioteca Padrão escrita em Nim Pure.impure/ - na biblioteca padrão escrita em NIM puro com dependências escritas em outros idiomas.wrappers/ - Módulos que envolvem dependências escritas em outros idiomas.tests/ - contém testes categorizados para o compilador e a biblioteca padrão.tools/ - as ferramentas, incluindo niminst (principalmente chamado via koch ).koch.nim - A ferramenta usada para inicializar o NIM, gerar fontes C, criar o site e gerar a documentação.Se você não estiver familiarizado em fazer uma solicitação de tração usando o Github e/ou o Git, leia este guia.
Idealmente, você deve garantir que todos os testes passem antes de enviar uma solicitação de tração. No entanto, se você tiver pouco tempo, poderá executar os testes específicos para suas alterações executando apenas as categorias de testes correspondentes. O CI verifica que todos os testes passam antes de permitir que a solicitação de tração seja aceita; portanto, apenas a execução de testes específicos deve ser inofensiva. Os testes de integração devem ir em tests/untestable .
Se você está procurando maneiras de contribuir, observe o rastreador de problemas. Sempre há muitos problemas rotulados Easy ; Esse deve ser um bom ponto de partida para uma contribuição inicial para o NIM.
Você também pode ajudar no desenvolvimento do NIM, fazendo doações. Doações podem ser feitas usando:
Se você tiver alguma dúvida, sinta -se à vontade para enviar uma pergunta no Fórum NIM ou via IRC no canal #NIM.
Obrigado a todos os nossos apoiadores! [Torne -se um patrocinador]
Apoie este projeto, tornando -se um patrocinador. Seu logotipo aparecerá aqui com um link para o seu site. [Torne -se um patrocinador]
Você também pode ver uma lista de todos os nossos patrocinadores/apoiadores de vários serviços de pagamento na página Patrocinadores do nosso site.
O compilador e a biblioteca padrão estão licenciados sob a licença do MIT, exceto por alguns módulos que declaram explicitamente o contrário. Como resultado, você pode usar qualquer licença compatível (essencialmente qualquer licença) para seus próprios programas desenvolvidos com o NIM. Você pode explicitamente desenvolver aplicativos comerciais usando o NIM.
Leia o arquivo copying.txt para obter mais detalhes.
Copyright © 2006-2024 Andreas Rumpf, todos os direitos reservados.