ناتالي هي تطبيق روبي قيد التنفيذ.
وهو يوفر مترجمًا مسبقًا باستخدام C++ وgcc/clang كواجهة خلفية. أيضًا، تحتوي اللغة على REPL الذي يقوم بإجراء التحويل البرمجي المتزايد.
لا يزال هناك الكثير من العمل الذي يتعين القيام به قبل أن يكون هذا مفيدًا. واسمحوا لي أن أعرف إذا كنت تريد المساعدة!
المساهمات هي موضع ترحيب! يمكنكم معرفة المزيد عن كيفية عمل ناتالي عبر فيديوهات جلسة القرصنة على اليوتيوب.
أسهل طريقة للبدء الآن هي العثور على طريقة لكائن لم يتم تنفيذه بعد وصنعها بنفسك! ألقِ نظرة أيضًا على الإصدارات الأولى الجيدة. (راجع قسمي "الإنشاء" و"إجراء الاختبارات" أدناه للتعرف على بعض الخطوات المفيدة.)
لدينا خادم Discord هادئ جدًا - تعال واستمتع!
تم اختبار Natalie على نظامي التشغيل macOS وUbuntu Linux. نظام التشغيل Windows غير مدعوم بعد.
تحتاج ناتالي إلى نظام روبي (MRI) لاستضافة المترجم في الوقت الحالي.
المتطلبات الأساسية:
3.1
مع أحدث إصدار من التصحيح.ruby
و ruby-dev
من نظامك.قم بتثبيت المتطلبات المذكورة أعلاه على النظام الأساسي الخاص بك، ثم قم بتشغيل:
git clone https://github.com/natalie-lang/natalie
cd natalie
rake
sudo
! إذا ارتكبت هذا الخطأ بالفعل، فيجب عليك sudo rm -rf build
والمحاولة مرة أخرى./usr/lib/ruby
، أو مسار آخر يتطلب الجذر، فلديك خياران:rbenv version
لمعرفة الإصدار المحدد حاليًا. قم بتشغيل rbenv shell
متبوعًا بإصدار لتحديد هذا الإصدار. mkdir -p ~/gems
export GEM_HOME=~/gems
bundler
، فمن المحتمل أن نظام التشغيل لديك لم يثبته إلى جانب روبي. يمكنك تشغيل gem install bundler
للحصول عليها. رد:
bin/natalie
تشغيل برنامج نصي روبي:
bin/natalie examples/hello.rb
تجميع ملف إلى ملف قابل للتنفيذ:
bin/natalie -c hello examples/hello.rb
./hello
docker build -t natalie . # build image
docker run -it --rm natalie # repl
docker run -it --rm natalie -e "p 2 * 3" # immediate
docker run -it --rm -v$(pwd)/myfile.rb:/myfile.rb natalie /myfile.rb # execute a local rb file
docker run -it --rm --entrypoint bash natalie # bash prompt
لإجراء اختبار (أو مواصفات)، يمكنك تشغيله مثل برنامج Ruby النصي العادي:
bin/natalie spec/core/string/strip_spec.rb
سيؤدي هذا إلى إجراء الاختبارات وإخبارك إذا كان هناك أي فشل.
إذا كنت ترغب في إجراء جميع الاختبارات التي نتوقع اجتيازها، فيمكنك تشغيل:
rake test
أخيرًا، إذا كنت بحاجة إلى إجراء عدد من الاختبارات محليًا، فيمكنك استخدام البرنامج النصي المساعد test/runner.rb
:
bin/natalie test/runner.rb test/natalie/if_test.rb test/natalie/loop_test.rb
تأتي الملفات الموجودة في spec/
من مشروع روبي/المواصفات الممتاز، وهو عبارة عن مستودع برعاية المجتمع لملفات الاختبار التي يمكن لأي تطبيق روبي استخدامها لمقارنة توافقه مع ما يفعله التصوير بالرنين المغناطيسي (مترجم روبي ماتز). نقوم بنسخ المواصفات أثناء تنفيذ جزء اللغة الذي تغطيه.
كل شيء في test/
هو شيء كتبناه أثناء العمل على ناتالي. هذه هي الاختبارات التي ساعدتنا على تمهيد أجزاء معينة من اللغة و/أو لم تتم تغطيتها بالقدر الذي نرغب فيه في مواصفات روبي الرسمية. نحن نستخدم هذا لتكملة المواصفات الموجودة في spec/
.
ناتالي حقوق الطبع والنشر لعام 2023، تيم مورغان والمساهمين. ناتالي مرخصة بموجب ترخيص معهد ماساتشوستس للتكنولوجيا؛ راجع ملف LICENSE
في هذا الدليل للحصول على النص الكامل.
يتم نسخ بعض أجزاء هذا البرنامج من مصادر أخرى، وحقوق الطبع والنشر مملوكة للمالك المعني. توجد إشعارات حقوق الطبع والنشر هذه إما في أعلى الملف المعني، أو في نفس الدليل باسم مثل LICENSE
، أو كليهما.
الملف (الملفات) | حقوق الطبع والنشر | رخصة |
---|---|---|
benchmark.rb | جوتوكين | بي إس دي |
bigint.{h,c} | 983 | عدم الترخيص |
cgi.rb / cgi/* | واكو أوياما | بي إس دي |
crypt.{h,c} | حكام الجامعة. كالي. | بي إس دي |
delegate.rb | يوكيهيرو ماتسوموتو | بي إس دي |
dtoa.c | ديفيد إم جاي، لوسنت تكنولوجيز | مخصص مباح |
erb/util.rb | ماساتوشي سيكي | بي إس دي |
ipaddr.rb | هاجيمو أوميموتو وأكينوري موشا | بي إس دي |
find.rb | كازوكي تسوجيموتو | بي إس دي |
formatter.rb | يوكيهيرو ماتسوموتو | بي إس دي |
linenoise | S. سانفيليبو وP. نوردويس | بي إس دي |
minicoro.h | إدواردو بارت | معهد ماساتشوستس للتكنولوجيا |
pp.rb | يوكيهيرو ماتسوموتو | بي إس دي |
prettyprint.rb | يوكيهيرو ماتسوموتو | بي إس دي |
shellwords.rb | أكينوري موشا | بي إس دي |
spec/* | ساحة المحرك، وشركة | معهد ماساتشوستس للتكنولوجيا |
uri.rb / uri/* | أكيرا يامادا | بي إس دي |
version.rb | ساحة المحرك، وشركة | معهد ماساتشوستس للتكنولوجيا |
zlib | جان لوب جيلي ومارك أدلر | رخصة زليب |
راجع كل ملف أعلاه للحصول على حقوق النشر الكاملة ونص الترخيص.