nim-lang / Nim

Stan kompilacji

to repozytorium zawiera kompilator Nim, stdlib Nim, narzędzia i dokumentację.Aby uzyskać więcej informacji na temat Nim, w tym pliki do pobrania i dokumentację najnowszego wydania, odwiedź witrynę Nim lub dokumenty bleeding edge.

społeczność

Dołącz do czatu IRCDołącz do serwera DiscordDołącz do czatu GitterUzyskaj pomocZobacz posty nim na Stack Overflowśledź @nim_lang na Twitterze

  • forum – najlepsze miejsce do zadawania pytań i dyskutowania o nim.
  • #nim kanał IRC (Freenode) – miejsce do dyskusji o Nim w czasie rzeczywistym.Również tam, gdzie większość decyzji rozwojowych się.
  • Niezgoda – dodatkowe miejsce do dyskusji o Nim w czasie rzeczywistym. Większość kanałów jest połączona z IRC.
  • Gitter – dodatkowe miejsce do dyskusji o Nim w czasie rzeczywistym. Istnieje pomost pomiędzy Gitterem a kanałem IRC.
  • Telegram – dodatkowe miejsce do dyskusji o Nim w czasie rzeczywistym. Jest oficjalny kanał Telegram. Nie podłączony do IRC.
  • Stack Overflow-popularna strona Do Programowania relatedtopics zawierająca posty o Nim.
  • Github Wiki-różne treści dodane przez użytkownika.

Kompilowanie

kompilator obecnie oficjalnie obsługuje następujące kombinacje platform i:

  • Windows (Windows XP lub nowszy) – x86 i x86_64
  • Linux (większość, jeśli nie wszystkie, dystrybucje) – x86, x86_64, ppc64 i armv6l
  • Mac OS X (10.04 lub nowszy) – x86, x86_64 i ppc64

Więcej Platform jest obsługiwanych, jednak nie są one regularnie testowane i nie mogą być tak stabilne jak wyżej wymienione Platformy.

skompilowanie kompilatora Nim jest dość proste, jeśli wykonasz następujące kroki:

Po pierwsze, źródło C starszej wersji kompilatora Nim jest potrzebne, aby uruchomić najnowszą wersję, ponieważ sam kompilator Nim jest napisany w języku programowania theNim. Te źródła C są dostępne w repozytoriumnim-lang/csources.

następnie, aby zbudować ze źródła, będziesz potrzebował:

  • kompilatora C, takiego jakgcc 3.x / later lub alternatywą, taką jak clangVisual C++lub Intel C++. Zaleca się użycie gcc 3.x orlater.
  • albogit lubwget, aby pobrać potrzebne repozytoria źródłowe.
  • pakietbuild-essential podczas używaniagcc na Ubuntu (i prawdopodobnie także na innych dystrybucjach).
  • w Windows MinGW 4.3.0 (GCC 8.10) jest minimalnym zalecanym kompilatorem.
  • nim hostuje znaną działającą dystrybucję MinGW:
    • MINGW32.7z
    • Mingw64.7z

Windows Uwaga: Cygwin i podobne środowiska uruchomieniowe POSIX nie są obsługiwane.

następnie, jeśli jesteś w systemie *nix lub Windows, następujące kroki powinny skompilować ze źródła za pomocą gccgit I koch narzędzie do budowania.

uwaga: poniższe polecenia są przeznaczone dla wersji deweloperskiej kompilatora.Dla większości użytkowników wystarczy zainstalowanie najnowszej stabilnej wersji. Sprawdź instrukcję instalacji na stronie internetowej, aby to zrobić: https://nim-lang.org/install.html.

dla opiekunów opakowań: patrz wytyczne dotyczące pakowania.

najpierw pobierz Nim z Githuba:

git clone https://github.com/nim-lang/Nim.gitcd Nim

następnie uruchom odpowiedni skrypt powłoki kompilacji dla Twojej platformy:

  • build_all.sh (Linux, Mac)
  • build_all.bat (Windows)

Windows wymaga numeru innych zależności, które może być konieczne do zainstalowania, w tym pcre i OpenSSL. Nim hostuje pakiet zip zawierający znane działające wersje wymaganych bibliotek DLL.

wreszcie, po zakończeniu kroków budowania (w systemach Windows, Mac lub Linux) należy dodaćbin do swojej ścieżki.

Zobacz też: przebudowa kompilatora.

Koch

koch to narzędzie służące do budowania różnych części Nim oraz generowania dokumentacji i strony internetowej, między innymi. Narzędziekoch może być również użyte do uruchomienia zestawu testów Nim.

zakładając, że dodałeś do swojej ścieżki katalog Nim bin, możesz wykonać testy używając ./koch tests. Testy trwają chwilę, ale można uruchomić podzbiór testów, określając kategorię (na przykład./koch tests cat async).

aby uzyskać więcej informacji na tematkoch narzędzie do budowania, zobacz dokument w dokumencie doc / koch.plik rst.

Nimble

nimble jest menedżerem pakietów Nim. Aby dowiedzieć się więcej na ten temat, zobacznim-lang/nimble repozytorium.

Contributors

Ten projekt istnieje dzięki wszystkim osobom, które wnoszą wkład.

przyczynianie się

Sponsorzy na Open CollectiveSponsorzy na Open CollectiveUstaw nagrodę za pomocą Bountysourcepodaruj bitcoinypomocnicy open source

Zobacz szczegółowe wskazówki dotyczące wkładu.Mile widziane są wszystkie wkłady do Nim, niezależnie od tego, jak małe lub duże są. Wszystko, od poprawek ortograficznych po nowe moduły, które mają być zawarte w bibliotece thestandard, jest mile widziane i doceniane. Zanim zaczniesz dodawać, powinieneś zapoznać się z następującą strukturą repozytorium:

  • bin/build/ – te katalogi są puste, ale są używane podczas budowania Nim.
  • compiler/ – kod źródłowy kompilatora. Zawiera również nimfix i wtyczki wcompiler/nimfix I compiler/plugins odpowiednio.
  • nimsuggest – narzędzie nimsuggest, które wcześniej działało w repozytoriumnim-lang/nimsuggest.
  • config/ – konfiguracja dla kompilatora i generatora dokumentacji.
  • doc/ – pliki dokumentacji w formacie reStructuredText.
  • lib/ – biblioteka standardowa, w tym:

    • pure/ – Moduły w bibliotece standardowej napisane czystym Nim.
    • impure/ – Moduły w bibliotece standardowej napisane czystym Nim, z zależnościami napisanymi w innych językach.
    • wrappers/ – Moduły zawijające zależności napisane w innych językach.
  • tests/ – zawiera skategoryzowane testy dla kompilatora i biblioteki standardowej.
  • tools/ – narzędzia, w tymniminst Inimweb (najczęściej wywoływane przezkoch).
  • koch.nim – narzędzie służące do bootstrap Nim, generowania źródeł C, budowania Strony oraz generowania dokumentacji.

Jeśli nie jesteś zaznajomiony z tworzeniem pull request za pomocą GitHub i / lub git, zapoznaj się z tym przewodnikiem.

najlepiej, aby wszystkie testy przeszły przed wysłaniem pull request.Jeśli jednak masz mało czasu, możesz po prostu uruchomić testy specyficzne dla yourchanges, uruchamiając tylko odpowiednie kategorie testów. Travis CI sprawdza, czy wszystkie testy przechodzą przed zaakceptowaniem pull request, więc tylko wykonywanie konkretnych testów powinno być nieszkodliwe.Testy integracyjne powinny przejść w tests/untestable.

Jeśli szukasz sposobów, aby wnieść swój wkład, zajrzyj do naszego śledzenia problemów.Zawsze jest wiele spraw oznaczonych Easy; powinny one być dobrym punktem wyjścia dla początkowego wkładu w Nim.

Możesz również pomóc w rozwoju Nim, dokonując darowizn. Darowizny można składać za pomocą:

  • Open Collective
  • Bountysource
  • Bitcoin

Jeśli masz jakiekolwiek pytania, wyślij je na forum theNim lub poprzez IRC na kanale #nim.

Sponsorzy

dziękujemy wszystkim naszym sponsorom!

Sponsorzy

Wesprzyj ten projekt zostając sponsorem. Twoje logo pojawi się tutaj z linkiem do twojej strony internetowej.

Możesz również zobaczyć listę wszystkich naszych sponsorów/sponsorzy z różnych usług płatniczych na stronie sponsorów naszej strony internetowej.

Licencja

kompilator i biblioteka standardowa są licencjonowane na licencji MIT, z wyjątkiem niektórych modułów, które wyraźnie stwierdzają inaczej. W rezultacie możesz używać dowolnej kompatybilnej licencji (w zasadzie dowolnej licencji) dla własnych programów opracowanych za pomocą nim. Użytkownik jest wyraźnie uprawniony do tworzenia aplikacji komercyjnych przy użyciu Nim.

proszę przeczytać kopiowanie.plik txt po więcej szczegółów.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.