يحتوي هذا المستودع على برنامج التحويل البرمجي NIM ، و Nim stdlib ، والأدوات ، والوثائق. لمزيد من المعلومات حول NIM ، بما في ذلك التنزيلات والوثائق لأحدث الإصدار ، تحقق من موقع NIM على الويب أو مستندات حافة النزف.
يدعم المترجم حاليًا رسميًا مجموعات النظام الأساسي والهندسة المعمارية التالية:
| نظام التشغيل | البنى المدعومة |
|---|---|
| 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 المماثلة.
ثم ، إذا كنت على نظام *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 Shell المناسب لمنصتك:
build_all.sh (Linux ، Mac)build_all.bat (Windows) أخيرًا ، بمجرد الانتهاء من خطوات الإنشاء (على Windows أو Mac أو Linux) ، يجب عليك إضافة دليل bin إلى طريقك.
انظر أيضا bootstrapping المترجم.
انظر أيضا بنيات قابلة للتكرار.
koch هي أداة الإنشاء المستخدمة لبناء أجزاء مختلفة من NIM وتوليد الوثائق والموقع الإلكتروني ، من بين أشياء أخرى. يمكن أيضًا استخدام أداة koch لتشغيل مجموعة اختبار NIM.
على افتراض أنك أضفت دليل bin نيم إلى مسارك ، يمكنك تنفيذ الاختبارات باستخدام ./koch tests . تستغرق الاختبارات بعض الوقت لتشغيلها ، ولكن يمكنك تشغيل مجموعة فرعية من الاختبارات عن طريق تحديد فئة (على سبيل المثال ./koch tests cat async ).
لمزيد من المعلومات حول أداة بناء koch ، يرجى الاطلاع على الوثائق داخل ملف Doc/Koch.MD.
nimble هو مدير حزمة نيم. لمعرفة المزيد حول هذا الموضوع ، راجع مستودع nim-lang/nimble .
هذا المشروع موجود بفضل جميع الأشخاص الذين يساهمون.
انظر الإرشادات التفصيلية المساهمة. نرحب بجميع المساهمات في NIM بغض النظر عن مدى صغرها أو كبيرها. يتم الترحيب بكل شيء من إصلاحات الإملاء إلى وحدات جديدة ليتم تضمينها في المكتبة القياسية. قبل البدء في المساهمة ، يجب أن تتعرف على هيكل المستودع التالي:
bin/ ، build/ - هذه الدلائل فارغة ، ولكن يتم استخدامها عند بناء NIM.compiler/ - رمز مصدر التحويل البرمجي. يتضمن أيضًا الإضافات داخل compiler/plugins .nimsuggest - أداة Nimsuggest التي عاشت سابقًا في مستودع nim-lang/nimsuggest .config/ - التكوين لمولود المترجم ومولد الوثائق.doc/ - ملفات الوثائق بتنسيق إعادة الهيكل.lib/ - المكتبة القياسية ، بما في ذلك:pure/ - الوحدات النمطية في المكتبة القياسية المكتوبة في NIM Pure.impure/ - الوحدات النمطية في المكتبة القياسية المكتوبة في NIM النقي مع تبعيات مكتوبة بلغات أخرى.wrappers/ - الوحدات النمطية التي تلتزم التبعيات المكتوبة بلغات أخرى.tests/ - يحتوي على اختبارات مصنفة للمترجم والمكتبة القياسية.tools/ - الأدوات بما في ذلك niminst (في الغالب تم استدعاؤها عبر koch ).koch.nim - الأداة المستخدمة لتمهيد NIM ، وإنشاء مصادر C ، وإنشاء موقع الويب ، وإنشاء الوثائق.إذا لم تكن معتادًا على تقديم طلب سحب باستخدام GitHub و/أو GIT ، فيرجى قراءة هذا الدليل.
من الناحية المثالية ، يجب عليك التأكد من أن جميع الاختبارات تمر قبل تقديم طلب سحب. ومع ذلك ، إذا كنت قصيرًا في الوقت المحدد ، فيمكنك فقط إجراء الاختبارات الخاصة بتغييراتك عن طريق تشغيل الفئات المقابلة من الاختبارات فقط. يتحقق CI من أن جميع الاختبارات تمر قبل السماح بقبول طلب السحب ، لذلك يجب أن يكون إجراء اختبارات محددة فقط ضارًا. يجب أن تختبر اختبارات التكامل في tests/untestable .
إذا كنت تبحث عن طرق للمساهمة ، فيرجى إلقاء نظرة على تعقب المشكلات لدينا. هناك دائمًا الكثير من المشكلات المسمى Easy ؛ يجب أن تكون هذه نقطة انطلاق جيدة للمساهمة الأولية لـ NIM.
يمكنك أيضًا المساعدة في تطوير NIM من خلال تقديم التبرعات. يمكن التبرعات باستخدام:
إذا كان لديك أي أسئلة ، فلا تتردد في تقديم سؤال في منتدى NIM ، أو عبر IRC على القناة #NIM.
شكرا لجميع مؤيدينا! [كن مؤيدًا]
دعم هذا المشروع من خلال أن يصبح راعياً. سيظهر شعارك هنا مع رابط لموقع الويب الخاص بك. [كن راعياً]
يمكنك أيضًا رؤية قائمة بجميع الرعاة/الداعمين من خدمات الدفع المختلفة على صفحة الرعاة على موقعنا.
يتم ترخيص المترجم والمكتبة القياسية بموجب ترخيص معهد ماساتشوستس للتكنولوجيا ، باستثناء بعض الوحدات النمطية التي تحدد بشكل صريح خلاف ذلك. نتيجة لذلك ، يمكنك استخدام أي ترخيص متوافق (بشكل أساسي أي ترخيص) لبرامجك التي تم تطويرها مع NIM. يُسمح لك بوضوح بتطوير التطبيقات التجارية باستخدام NIM.
يرجى قراءة ملف copying.txt لمزيد من التفاصيل.
حقوق الطبع والنشر © 2006-2024 Andreas Rumpf ، جميع الحقوق محفوظة.