Ce référentiel contient le compilateur NIM, le stdlib, les outils et la documentation de NIM. Pour plus d'informations sur NIM, y compris les téléchargements et la documentation pour la dernière version, consultez le site Web de NIM ou Saiding Edge Docs.
Le compilateur soutient actuellement officiellement les combinaisons de plate-forme et d'architecture suivantes:
| Système opérateur | Architectures soutenues |
|---|---|
| Windows (Windows XP ou plus) | x86 et x86_64 |
| Linux (la plupart des distributions) | x86, x86_64, ppc64 et armv6l |
| Mac OS X (10,04 ou plus) | X86, X86_64, PPC64 et Apple Silicon (ARM64) |
Plus de plateformes sont prises en charge, cependant, elles ne sont pas testées régulièrement et elles peuvent ne pas être aussi stables que les plates-formes ci-dessus.
La compilation du compilateur NIM est assez simple si vous suivez ces étapes:
Tout d'abord, la source C d'une ancienne version du compilateur NIM est nécessaire pour bootstrap la dernière version car le compilateur NIM lui-même est écrit dans le langage de programmation NIM. Ces sources C sont disponibles dans le référentiel nim-lang/csources_v2 .
Ensuite, pour construire à partir de la source dont vous aurez besoin:
gcc 6.x / ultérieure ou une alternative telle que clang , Visual C++ ou Intel C++ . Il est recommandé d'utiliser gcc 6.x ou version ultérieure.git ou wget pour télécharger les référentiels de source nécessaire.build-essential à utiliser gcc sur Ubuntu (et probablement d'autres distros également).Remarque Windows: Cygwin et les environnements d'exécution POSIX similaires ne sont pas pris en charge.
Ensuite, si vous êtes sur un système ou des fenêtres * Nix, les étapes suivantes doivent compiler NIM à partir de la source à l'aide gcc , git et de l'outil de construction koch .
Remarque: Les commandes suivantes sont destinées à la version de développement du compilateur. Pour la plupart des utilisateurs, l'installation de la dernière version stable est suffisante. Consultez les instructions d'installation sur le site Web pour le faire: https://nim-lang.org/install.html.
Pour les maintenseurs de packages: voir les directives d'emballage.
Tout d'abord, obtenez Nim de GitHub:
git clone https://github.com/nim-lang/Nim.git
cd Nim
Ensuite, exécutez le script de shell de construction approprié pour votre plate-forme:
build_all.sh (Linux, Mac)build_all.bat (Windows) Enfin, une fois que vous avez terminé les étapes de construction (sur Windows, Mac ou Linux), vous devez ajouter le répertoire bin à votre chemin.
Voir aussi bootstrap le compilateur.
Voir aussi les constructions reproductibles.
koch est l'outil de construction utilisé pour construire différentes parties de NIM et pour générer de la documentation et le site Web, entre autres. L'outil koch peut également être utilisé pour exécuter la suite de test NIM.
En supposant que vous avez ajouté le répertoire bin de NIM à votre chemin, vous pouvez exécuter les tests à l'aide ./koch tests . Les tests prennent un certain temps à s'exécuter, mais vous pouvez exécuter un sous-ensemble de tests en spécifiant une catégorie (par exemple ./koch tests cat async ).
Pour plus d'informations sur l'outil de construction koch , veuillez consulter la documentation dans le fichier DOC / KOCH.MD.
nimble est le gestionnaire de packages de NIM. Pour en savoir plus, consultez le référentiel nim-lang/nimble .
Ce projet existe grâce à toutes les personnes qui contribuent.
Voir les lignes directrices détaillées. Nous accueillons toutes les contributions à NIM, quelle que soit leur petite ou leur grande taille. Tout, des correctifs d'orthographe aux nouveaux modules à inclure dans la bibliothèque standard, sont les bienvenus et appréciés. Avant de commencer à contribuer, vous devez vous familiariser avec la structure du référentiel suivant:
bin/ , build/ - Ces répertoires sont vides, mais sont utilisés lorsque NIM est construit.compiler/ - Le code source du compilateur. Comprend également des plugins dans compiler/plugins .nimsuggest - L'outil NimSuggest qui vivait auparavant dans le référentiel nim-lang/nimsuggest .config/ - la configuration du compilateur et du générateur de documentation.doc/ - Les fichiers de documentation au format de texte restructuré.lib/ - La bibliothèque standard, y compris:pure/ - dans la bibliothèque standard écrits en NIM pur.impure/ - dans la bibliothèque standard écrits en NIM pur avec des dépendances écrites dans d'autres langues.wrappers/ - Modules qui enveloppent les dépendances écrites dans d'autres langues.tests/ - Contient des tests classés pour le compilateur et la bibliothèque standard.tools/ - Les outils dont niminst (principalement invoqués via koch ).koch.nim - L'outil utilisé pour bootstrap nim, générer des sources C, créer le site Web et générer la documentation.Si vous ne savez pas faire une demande de traction à l'aide de GitHub et / ou Git, veuillez lire ce guide.
Idéalement, vous devez vous assurer que tous les tests passent avant de soumettre une demande de traction. Cependant, si vous manquez de temps, vous pouvez simplement exécuter les tests spécifiques à vos modifications en exécutant uniquement les catégories de tests correspondants. CI vérifie que tous les tests réussissent avant de permettre à la demande de traction d'être acceptée, donc uniquement les tests spécifiques devraient être inoffensifs. Les tests d'intégration doivent passer dans tests/untestable .
Si vous cherchez des moyens de contribuer, veuillez consulter notre tracker de numéro. Il y a toujours beaucoup de problèmes étiquetés Easy ; Celles-ci devraient être un bon point de départ pour une contribution initiale à NIM.
Vous pouvez également vous aider au développement de NIM en faisant des dons. Les dons peuvent être faits en utilisant:
Si vous avez des questions, n'hésitez pas à soumettre une question sur le forum NIM ou via IRC sur la chaîne #NIM.
Merci à tous nos bailleurs de fonds! [Devenez un bailleur de fonds]
Soutenez ce projet en devenant un sponsor. Votre logo apparaîtra ici avec un lien vers votre site Web. [Devenir sponsor]
Vous pouvez également voir une liste de tous nos sponsors / bailleurs de fonds à partir de divers services de paiement sur la page des sponsors de notre site Web.
Le compilateur et la bibliothèque standard sont sous licence sous la licence MIT, à l'exception de certains modules qui indiquent explicitement autrement. En conséquence, vous pouvez utiliser toute licence compatible (essentiellement n'importe quelle licence) pour vos propres programmes développés avec NIM. Vous êtes explicitement autorisé à développer des applications commerciales à l'aide de NIM.
Veuillez lire le fichier Copying.txt pour plus de détails.
Copyright © 2006-2024 Andreas Rumpf, tous droits réservés.