ที่เก็บนี้มี NIM Compiler, Stdlib, เครื่องมือและเอกสารประกอบของ Nim สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ NIM รวมถึงการดาวน์โหลดและเอกสารประกอบสำหรับรุ่นล่าสุดลองดูเว็บไซต์ของ NIM หรือ Docs Edge Docs
ปัจจุบันคอมไพเลอร์สนับสนุนแพลตฟอร์มและสถาปัตยกรรมอย่างเป็นทางการต่อไปนี้:
| ระบบปฏิบัติการ | สถาปัตยกรรมที่รองรับ |
|---|---|
| Windows (Windows XP หรือมากกว่า) | x86 และ x86_64 |
| Linux (การแจกแจงส่วนใหญ่) | x86, x86_64, ppc64 และ armv6l |
| Mac OS X (10.04 หรือมากกว่า) | X86, X86_64, PPC64 และ Apple Silicon (ARM64) |
มีการรองรับแพลตฟอร์มเพิ่มเติมอย่างไรก็ตามพวกเขาไม่ได้ทดสอบเป็นประจำและอาจไม่มั่นคงเท่ากับแพลตฟอร์มที่จดทะเบียนดังกล่าว
การรวบรวมคอมไพเลอร์ NIM นั้นค่อนข้างตรงไปตรงมาหากคุณทำตามขั้นตอนเหล่านี้:
ก่อนอื่นแหล่ง C ของ NIM Compiler รุ่นเก่าจำเป็นต้องใช้ในการบูตรุ่นล่าสุดเนื่องจากคอมไพเลอร์ NIM นั้นถูกเขียนขึ้นในภาษาการเขียนโปรแกรม NIM แหล่ง C เหล่านั้นมีอยู่ภายในที่เก็บ nim-lang/csources_v2
ถัดไปในการสร้างจากแหล่งที่มาคุณจะต้อง:
gcc 6.x/ใหม่กว่าหรือทางเลือกอื่นเช่น clang , Visual C++ หรือ Intel C++ ขอแนะนำให้ใช้ gcc 6.x หรือใหม่กว่าgit หรือ wget เพื่อดาวน์โหลดที่เก็บต้นทางที่จำเป็นbuild-essential เมื่อใช้ gcc บน Ubuntu (และน่าจะเป็น distros อื่น ๆ เช่นกัน)Windows หมายเหตุ: ไม่รองรับ Cygwin และสภาพแวดล้อมการรันไทม์ Posix ที่คล้ายกัน
จากนั้นหากคุณอยู่ในระบบ *Nix หรือ Windows ขั้นตอนต่อไปนี้ควรรวบรวม 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 ลงในเส้นทางของคุณ
ดู Bootstrapping The Compiler
ดูการสร้างที่ทำซ้ำได้
koch เป็นเครื่องมือสร้างที่ใช้ในการสร้างส่วนต่าง ๆ ของ NIM และเพื่อสร้างเอกสารและเว็บไซต์เหนือสิ่งอื่นใด เครื่องมือ koch ยังสามารถใช้ในการเรียกใช้ชุดทดสอบ NIM
สมมติว่าคุณเพิ่มไดเรกทอรี bin ของ NIM ลงในเส้นทางของคุณคุณสามารถทำการทดสอบโดยใช้ ./koch tests การทดสอบใช้เวลาสักครู่ในการรัน แต่คุณสามารถเรียกใช้ชุดย่อยของการทดสอบโดยระบุหมวดหมู่ (เช่น ./koch tests cat async )
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเครื่องมือสร้าง koch โปรดดูเอกสารภายในไฟล์ doc/koch.md
nimble เป็นผู้จัดการแพ็คเกจของ Nim หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับเรื่องนี้ให้ดูที่เก็บของ nim-lang/nimble
โครงการนี้มีอยู่ขอบคุณทุกคนที่มีส่วนร่วม
ดูแนวทางการสนับสนุนโดยละเอียด เรายินดีต้อนรับการมีส่วนร่วมทั้งหมดที่จะไม่ว่าพวกเขาจะเล็กหรือใหญ่แค่ไหน ทุกอย่างตั้งแต่การแก้ไขการสะกดคำไปจนถึงโมดูลใหม่ที่จะรวมอยู่ในห้องสมุดมาตรฐานได้รับการต้อนรับและชื่นชม ก่อนที่คุณจะเริ่มมีส่วนร่วมคุณควรทำความคุ้นเคยกับโครงสร้างที่เก็บต่อไปนี้:
bin/ , build/ - ไดเรกทอรีเหล่านี้ว่างเปล่า แต่จะใช้เมื่อสร้าง NIMcompiler/ - ซอร์สโค้ดคอมไพเลอร์ รวมถึงปลั๊กอินภายใน compiler/pluginsnimsuggest - เครื่องมือที่ดีที่สุดที่ก่อนหน้านี้อาศัยอยู่ในที่เก็บ nim-lang/nimsuggestconfig/ - การกำหนดค่าสำหรับคอมไพเลอร์และตัวสร้างเอกสารdoc/ - ไฟล์เอกสารในรูปแบบการปรับโครงสร้างข้อความlib/ - ห้องสมุดมาตรฐานรวมถึง:pure/ - โมดูลในไลบรารีมาตรฐานที่เขียนด้วย Pure NIMimpure/ - โมดูลในห้องสมุดมาตรฐานที่เขียนด้วย NIM บริสุทธิ์พร้อมการพึ่งพาที่เขียนในภาษาอื่น ๆwrappers/ - โมดูลที่ห่อหุ้มการพึ่งพาที่เขียนในภาษาอื่น ๆtests/ - มีการทดสอบที่จัดหมวดหมู่สำหรับคอมไพเลอร์และไลบรารีมาตรฐานtools/ - เครื่องมือรวมถึง niminst (ส่วนใหญ่เรียกผ่าน koch )koch.nim - เครื่องมือที่ใช้ในการบูต NIM สร้างแหล่ง C สร้างเว็บไซต์และสร้างเอกสารหากคุณไม่คุ้นเคยกับการทำคำขอดึงโดยใช้ GitHub และ/หรือ Git โปรดอ่านคู่มือนี้
เป็นการดีที่คุณควรตรวจสอบให้แน่ใจว่าการทดสอบทั้งหมดผ่านก่อนส่งคำขอดึง อย่างไรก็ตามหากคุณสั้นตรงเวลาคุณสามารถเรียกใช้การทดสอบที่เฉพาะเจาะจงกับการเปลี่ยนแปลงของคุณโดยใช้การทดสอบหมวดหมู่ที่สอดคล้องกันเท่านั้น CI ตรวจสอบว่าการทดสอบทั้งหมดผ่านก่อนที่จะอนุญาตให้มีการร้องขอการดึงดังนั้นการทดสอบเฉพาะการทดสอบเฉพาะควรไม่เป็นอันตราย การทดสอบการรวมควรไปใน tests/untestable
หากคุณกำลังมองหาวิธีที่จะมีส่วนร่วมโปรดดูที่ตัวติดตามปัญหาของเรา มีปัญหามากมายที่ระบุว่า Easy สิ่งเหล่านี้ควรเป็นจุดเริ่มต้นที่ดีสำหรับการมีส่วนร่วมครั้งแรกใน NIM
นอกจากนี้คุณยังสามารถช่วยในการพัฒนา NIM โดยการบริจาค การบริจาคสามารถทำได้โดยใช้:
หากคุณมีคำถามใด ๆ อย่าลังเลที่จะส่งคำถามเกี่ยวกับ NIM Forum หรือผ่าน IRC ในช่อง #NIM
ขอบคุณผู้สนับสนุนของเราทุกคน! [เป็นผู้สนับสนุน]
สนับสนุนโครงการนี้โดยการเป็นสปอนเซอร์ โลโก้ของคุณจะปรากฏขึ้นที่นี่พร้อมลิงค์ไปยังเว็บไซต์ของคุณ [เป็นสปอนเซอร์]
นอกจากนี้คุณยังสามารถดูรายชื่อผู้สนับสนุน/ผู้สนับสนุนทั้งหมดของเราจากบริการชำระเงินต่างๆในหน้าผู้สนับสนุนของเว็บไซต์ของเรา
คอมไพเลอร์และไลบรารีมาตรฐานได้รับอนุญาตภายใต้ใบอนุญาต MIT ยกเว้นโมดูลบางอย่างที่ระบุไว้อย่างชัดเจนเป็นอย่างอื่น เป็นผลให้คุณสามารถใช้ใบอนุญาตที่เข้ากันได้ (โดยพื้นฐานแล้วใบอนุญาตใด ๆ ) สำหรับโปรแกรมของคุณเองที่พัฒนาด้วย NIM คุณได้รับอนุญาตอย่างชัดเจนในการพัฒนาแอปพลิเคชันเชิงพาณิชย์โดยใช้ NIM
โปรดอ่านไฟล์ popying.txt สำหรับรายละเอียดเพิ่มเติม
ลิขสิทธิ์© 2006-2024 Andreas Rumpf สงวนลิขสิทธิ์