إيزيل (لغة برمجة)

Ezhil ، مكتوبة بالأبجدية التاميلية ( بالتاميلية : எழில் ، بالحروف اللاتينية:  Eḻil ، وتعني حرفيًا " الجمال " ، النطق التاميلي: [ eɻil̪ ] )، هي لغة برمجة مدمجة ومفتوحة المصدر ومفسرة ، صُممت في الأصل لتمكين الطلاب الناطقين باللغة التاميلية، من الفئة العمرية K-12 ، من تعلم برمجة الكمبيوتر ، وتمكين تعلم الحساب والحوسبة ، خارج نطاق الخبرة اللغوية في أنظمة الكمبيوتر القائمة على اللغة الإنجليزية في الغالب.

في لغة البرمجة إيزيل، تم اختيار الكلمات المفتاحية وقواعد اللغة التاميلية بعناية لتسهيل كتابة البرامج باستخدام نظام إيزيل من قِبل متحدثي اللغة التاميلية الأصليين. تتيح إيزيل تمثيلًا سهلًا لبرامج الحاسوب أقرب إلى البنية المنطقية للغة التاميلية، والتي تُعادل عبارات الشرط والتفرع والحلقات في لغات البرمجة الحديثة القائمة على اللغة الإنجليزية. تُعد إيزيل أول لغة برمجة متاحة مجانًا باللغة التاميلية ، وإحدى لغات البرمجة غير الإنجليزية المعروفة . أُعلن عن اللغة رسميًا في يوليو 2009، بينما بدأ تطويرها منذ أواخر عام 2007.

وصف

يتشابه بناء جملة لغة Ezhil إلى حد كبير مع لغة BASIC : حيث تُنفَّذ كتل التعليمات البرمجية بالتسلسل، أو عبر تعريفات الدوال، ضمن هياكل تحكم مشتركة تتضمن whileو if. يجب أن تنتهي كتل الدوال وكتل التعليمات باستخدام الكلمة المفتاحية `termination`، على غرار `END` في BASIC. لا حاجة إلى التصريحات لأن Ezhil لغة ديناميكية ذات كتابة ديناميكية، مع ذلك، يجب إجراء تحويلات الأنواع بشكل صريح. تحتوي Ezhil على أنواع مدمجة للأرقام والسلاسل النصية والمنطقية والقوائم.

الأهداف

  • تعليمي: تستهدف لغة إيزيل طلاب المرحلة الابتدائية والثانوية، والمتحدثين الأصليين باللغة التاميلية، لتعلم مبادئ علوم الحاسوب الأساسية.
  • بديهي: تم ترتيب التركيب النحوي للغة Ezhil للسماح ببنية جملة أقرب إلى اللغة التاميلية ذات الترتيب النهائي الرئيسي ، حيث يكون ترتيب الكلمات المعتاد هو SOV ، على عكس ترتيب SVO في اللغة الإنجليزية.

سمات

  • العمليات الحسابية والمنطقية، ويُشار إلى الأسبقية بين قوسين
  • أكثر من 350 دالة مدمجة - العديد منها موجود بشكل شائع في مكتبة بايثون القياسية
  • البرمجة الإجرائية باستخدام الدوال، ودعم الاستدعاء الذاتي، والاستدعاء بالقيمة، وما إلى ذلك.
  • لغة إيزيل ليست معالجًا للماكرو، بل هي واجهة أمامية كاملة للمترجم.
  • تدعم لغة Ezhil تمييز الصيغة في برنامج Notepad++ وبرنامج Emacs

الكلمات المفتاحية

تُصمَّم العبارات الشرطية على غرار عبارة IF-ELSEIF-ELSE. وتُختار عبارات التحكم في الحلقات المشتقة من عبارات WHILE. ويُحافظ على بساطة صيغة تعريف الدوال. وتشمل التفاصيل عبارة الطباعة، وعبارات التحكم في التدفق الموضحة أدناه.

1. - : بيان PRINT - 2. - : بيان استراحة - 3. - : بيان متابعة - 4. - : بيان RETURN -5. - : IF - ELSEIF - ELSE - بيان - , , , 6. - : END- بيان - 7. - : وظيفة- بيان - நிரல்பாகம் 8. - : بينما - بيان - வரை

نظام الكتابة

تحتوي لغة إيزيل على أربعة أنواع أساسية، للأرقام والسلاسل النصية والمنطقية والقوائم. وهي لا تسمح بإنشاء أنواع جديدة، كونها لغة إجرائية بدون هياكل أو كائنات.

اللغة - هياكل التحكم، وتصريحات الدوال، وقواعد المعاملات

ترد أدناه قواعد اللغة القياسية لهياكل التحكم في لغة إزيل.

برامج Ezhil في وضع تمييز بناء الجملة في Notepad++

عبارة if-else

@ ( الحالة ) ஆனால் #الفرع الحقيقي இல்லை #الفرع الخاطئ முடி

بيان الحلقة

@ ( الحالة ) வரை #LOOP BODY முடி

المشغلون

يدعم النظام عوامل التشغيل المنطقية القياسية، مثل المساواة "="، وعدم المساواة "!"، والمقارنة الحسابية "> "، "< "، ">، "<". وتشير عوامل التشغيل الحسابية مثل "+"، "-"، "*"، "/" إلى عمليات الجمع والطرح والضرب والقسمة القياسية. ويُرمز إلى باقي القسمة بالرمز "%"، وإلى الأس بالرمز "^".

تعليقات

يشير الرمز '#' إلى تعليق من سطر واحد من النقطة المحددة إلى نهاية السطر. التعليقات متعددة الأسطر غير مُعرّفة.

تعريف الدالة

الوظيفة [ FUNCTION_NAME ] ( ARGLIST ) [ هيكل الوظيفة ]

نطاق المتغيرات، والرؤية

يدعم Ezhil فقط استدعاء القيم، وينسخ جميع هياكل البيانات عند استدعاء الدوال. لا يدعم المتغيرات العامة. يدعم الاستدعاء الذاتي، وينسخ استدعاء الدوال المتغيرات.

التطبيقات

تتكامل نسخة Ezhil الحالية [ 4 ] بشكل وثيق مع بيئة تشغيل بايثون. يعتمد مترجم Ezhil على واجهة سطر أوامر شبيهة بـ readline ، ويمكن تشغيله أيضًا في وضع المعالجة الدفعية. يستهلك الوضع التفاعلي البرامج كنص مُشفّر بترميز UTF-8، ويبني شجرة باستخدام واجهة أمامية للمترجم لإنشاء شجرة بناء الجملة المجردة (AST) ، ثم يُنفذها باستخدام كائنات بايثون المُنشأة من هذه الشجرة.

أمثلة

مرحبا بالعالم

فيما يلي برنامج "مرحباً بالعالم" بلغة إيزيل:

# لا يوجد شيءபதிப்பி "فيجاي!" """"""""""""""""""""""""""""""""""""""""""" " ! " خروج ()"

لعبة التخمين

فيما يلي لعبة تخمين مع 10 فرص لتخمين رقم بين [1-100].

في الحقيقة "هذا هو ما تريده!"# بذور البذور ( 1729 + 500 * عشوائي ( ) ) ) = راندنت ( 1 ، 100 )# 10 بطاقات الائتمان = 0@ ( வாய்ப்பு < 10 ) هذا هو ما تريده " எண் [1-100] هذا هو " المفتاح " هكذا هل تريد ذلك؟" تخمين = تخمين ( "خمن/யூகிக்க >>" ) تخمين = تخمين + 1 # التخمين ( تخمين == تخمين ) #التخمين @ ( تخمين == تخمين ) جيد "الخروج! சரியான பதில்" خروج ( 0 ) முடி@ ( எண் < تخمين ) ஆனால் பதிப்பி "الإجابة على هذا السؤال உள்ளது" இல்லை, பதிப்பி " هكذا உள்ளது" முடிالقائمة " الجدول " ( 10 - வாய்ப்பு ) """""""""""""""""" """ """" مرة أخرى"""""""" : 10 أيام"""""""" " شكرا جزيلا!" خروج ( - 1 )
فيما يلي لعبة تخمين مع 10 فرص لتخمين رقم بين [1-100]

عمليات إدخال/إخراج الملفات

# ملف الملف fp = கோப்பை_திற ( "names.txt" ، "w" )# ما هو الشيء الذي يجب عليك فعله؟ பயன்படுத்த முடியும் = [ "இந்த" ، "ஒரு" ، "எழில்" ، "" , "நிரலாக்க" , "மொழி" , "உதாரணம்" ] = 0 @ ( < len ( ) ) வரை # நாம் ما هو الشيء الذي يجب عليك فعله؟ خط مستقيم = str ( ) + " = " + எடு ( , ) + " \n" பதிப்பி வரி கோப்பை_எழுது ( fp , வரி ) = + 1 முடி #مرحبا بكم கோப்பை_மூடு ( FP )# الملف fp = கோப்பை_திற ( "names.txt" )# بطاقة الائتمان = கோப்பை_படி ( FP )# اختيار المنتج# கோப்பு மூட கோப்பை_மூடு ( fp )# هذا الملف، "names.txt". emacs هو برنامج المفكرة.

رسومات السلحفاة

فيما يلي مثال قائم على رسومات السلحفاة لرسم رموز الين واليانغ.

நிரல்பாகம் yin ( radius , color1 , color2 ) #turtle_width(3) turtle_color ( "black" ) turtle_fill ( True ) turtle_circle ( radius / 2. , 180 ) turtle_circle ( radius , 180 ) turtle_left ( 180 ) turtle_circle ( - 1 * radius / 2.0 , 180 ) turtle_color ( color1 ) turtle_fill ( True ) turtle_color ( color2 ) turtle_left ( 90 ) turtle_up () turtle_forward ( radius * 0.375 ) turtle_right ( 90 ) turtle_down () turtle_circle ( radius * 0.125 ) turtle_left ( 90 ) turtle_fill ( False ) turtle_up () turtle_backward ( نصف القطر * 0.375 ) سلحفاة_أسفل () سلحفاة_يسار ( 90 ) முடிநிரல்பாகம் main () #turtle_reset() yin ( 200 , "white" , "black" ) yin ( 200 , "black" , "white" ) Turtle_ht () Pause ( "Done! اضغط على Enter للخروج" , 5 ) முடிرئيسي ()
فيما يلي مثال قائم على رسومات السلحفاة لرسم رموز الين واليانغ

شعار إيزيل

  • يتكون شعار لغة Ezhil من حروف متشابكة من الأبجدية التاميلية ، تشكل كلمة Ezhil - لغة برمجة تاميلية .

انظر أيضاً

مراجع

  1. أنمالاي، مثياه (28 يوليو 2009). “Ezhil: لغة برمجة التاميل”. أرخايف : 0907.4960 [ cs.PL ].تطبيق مرجعي للغة البرمجة Ezhil