Этот репозиторий содержит компилятор NIM, Stdlib, инструменты и документацию NIM. Для получения дополнительной информации о NIM, включая загрузки и документацию для последнего выпуска, посетите веб -сайт NIM или Docs Bleeding Edge.
Компилятор в настоящее время официально поддерживает следующие комбинации платформы и архитектуры:
| Операционная система | Архитектуры поддерживаются |
|---|---|
| Windows (Windows XP или больше) | x86 и x86_64 |
| Linux (большинство распределений) | x86, x86_64, ppc64 и armv6l |
| Mac OS X (10,04 или более) | x86, x86_64, ppc64 и яблочный кремний (ARM64) |
Однако поддерживаются больше платформ, они не тестируются регулярно, и они могут быть не такими стабильными, как вышеупомянутые платформы.
Скомпилирование компилятора NIM довольно проста, если вы выполняете эти шаги:
Во -первых, C -источник более старой версии компилятора NIM необходим для начала последней версии, потому что сам компилятор NIM написан на языке программирования NIM. Эти источники C доступны в репозитории nim-lang/csources_v2 .
Далее, чтобы построить из источника, который вам понадобится:
gcc 6.x/позже или альтернатива, такая как clang , Visual C++ или Intel C++ . Рекомендуется использовать gcc 6.x или позже.git или wget для загрузки необходимых хранилища источника.build-essential пакет при использовании gcc на Ubuntu (и, вероятно, также и другие дистрибуции).Примечание Windows. Cygwin и аналогичные среды POSIX выполнения не поддерживаются.
Затем, если вы находитесь в системе или Windows *NIX, следующие шаги должны составить NIM из источника, используя gcc , git и инструмент сборки koch .
Примечание. Следующие команды предназначены для версии компилятора разработки. Для большинства пользователей достаточно установки последней стабильной версии. Проверьте инструкции по установке на веб-сайте, чтобы сделать это: https://nim-lang.org/install.html.
Для пакетов: см. Руководство по упаковке.
Во -первых, получите NIM от GitHub:
git clone https://github.com/nim-lang/Nim.git
cd Nim
Далее запустите соответствующий скрипт оболочки сборки для вашей платформы:
build_all.sh (linux, mac)build_all.bat (Windows) Наконец, как только вы закончите шаги сборки (в Windows, Mac или Linux), вы должны добавить каталог bin на свой путь.
См. Также начальная загрузка компилятора.
Смотрите также воспроизводимые сборки.
koch - это инструмент сборки, используемый для создания различных частей NIM и для создания документации и веб -сайта, среди прочего. Инструмент koch также можно использовать для запуска набора тестов NIM.
Предполагая, что вы добавили каталог NIM bin в свой путь, вы можете выполнить тесты, используя ./koch tests . Тесты занимают некоторое время, чтобы запустить, но вы можете запустить подмножество тестов, указав категорию (например, ./koch tests cat async ).
Для получения дополнительной информации о инструменте сборки koch , пожалуйста, см. Документацию в файле DOC/KOCH.MD.
nimble менеджер пакетов NIM. Чтобы узнать больше об этом, посмотрите репозиторий nim-lang/nimble .
Этот проект существует благодаря всем людям, которые вносят свой вклад.
См. Подробные рекомендации. Мы приветствуем все вклад в NIM, независимо от того, насколько они маленькие или большие. Все, от исправлений орфографии до новых модулей, которые должны быть включены в стандартную библиотеку, приветствуются и ценятся. Прежде чем начать вносить свой вклад, вы должны ознакомиться со следующей структурой репозитория:
bin/ , build/ - эти каталоги пусты, но используются при строительстве NIM.compiler/ - исходный код компилятора. Также включает плагины в compiler/plugins .nimsuggest - Nimsuggest Tool, который ранее жил в репозитории nim-lang/nimsuggest .config/ - Конфигурация для компилятора и генератора документации.doc/ - Файлы документации в формате реструктурированного текста.lib/ - Стандартная библиотека, включая:pure/ - Модули в стандартной библиотеке, написанной в Pure NIM.impure/ - Модули в стандартной библиотеке, написанных в чистом NIM с зависимостями, написанными на других языках.wrappers/ - Модули, которые обертывают зависимости, написанные на других языках.tests/ - содержит категоризированные тесты для компилятора и стандартной библиотеки.tools/ - Инструменты, в том числе niminst (в основном вызываемые через koch ).koch.nim - инструмент, используемый для начала NIM, создания источников C, создания веб -сайта и создания документации.Если вы не знакомы с выполнением запроса на привлечение, используя GitHub и/или GIT, прочитайте это руководство.
В идеале вы должны убедиться, что все тесты проходят перед отправкой запроса на вытяжение. Однако, если у вас мало времени, вы можете просто запустить тесты, специфичные для ваших изменений, только запустив соответствующие категории тестов. CI проверяет, что все тесты проходят, прежде чем разрешить принимать запрос на привлечение, поэтому только выполнение конкретных тестов должно быть безвредным. Интеграционные тесты должны проходить в tests/untestable .
Если вы ищете способы внести свой вклад, пожалуйста, посмотрите на наш трекер. Всегда есть много проблем, помеченных Easy ; Это должно быть хорошей отправной точкой для первоначального вклада в NIM.
Вы также можете помочь с разработкой NIM, сделав пожертвования. Пожертвования могут быть сделаны с помощью:
Если у вас есть какие -либо вопросы, не стесняйтесь отправлять вопрос на форуме NIM или через IRC на канале #NIM.
Спасибо всем нашим покровителям! [Станьте покровителем]
Поддержите этот проект, став спонсором. Ваш логотип будет отображаться здесь со ссылкой на ваш сайт. [Станьте спонсором]
Вы также можете увидеть список всех наших спонсоров/спонсоров из различных платежных услуг на странице спонсоров нашего веб -сайта.
Компилятор и стандартная библиотека лицензированы по лицензии MIT, за исключением некоторых модулей, которые явно заявляют иначе. В результате вы можете использовать любую совместимую лицензию (по сути, любую лицензию) для ваших собственных программ, разработанных с NIM. Вам явно разрешено разрабатывать коммерческие приложения с использованием NIM.
Пожалуйста, прочитайте файл copying.txt для получения более подробной информации.
Copyright © 2006-2024 Andreas Rumpf, все права защищены.