كيفية إنشاء لغة برمجة: 15 خطوة (بالصور)

جدول المحتويات:

كيفية إنشاء لغة برمجة: 15 خطوة (بالصور)
كيفية إنشاء لغة برمجة: 15 خطوة (بالصور)

فيديو: كيفية إنشاء لغة برمجة: 15 خطوة (بالصور)

فيديو: كيفية إنشاء لغة برمجة: 15 خطوة (بالصور)
فيديو: شرح تنظيف الوحدة المركزية للحاسوب من الغبار 2024, يمكن
Anonim

يعاني الكثير من الأشخاص من صعوبات أو إحباط من لغات البرمجة التي يستخدمونها كل يوم. يريد البعض التعامل مع الأشياء بشكل أكثر تجريدًا ، بينما يكره البعض الآخر تنفيذ الميزات التي يرغبون في أن تكون "قياسية". سواء كنت محترفًا في تكنولوجيا المعلومات أو مجرد هاوٍ ، فقد تجد نفسك في كثير من الأحيان ترغب في إنشاء لغة برمجة جديدة.

خطوات

قم بإنشاء لغة برمجة الخطوة 1
قم بإنشاء لغة برمجة الخطوة 1

الخطوة 1. التعرف على التكنولوجيا

لا يمكنك إنشاء لغة برمجة إذا كنت لا تعرف كيفية استخدام الكمبيوتر.

قم بإنشاء لغة برمجة الخطوة 2
قم بإنشاء لغة برمجة الخطوة 2

الخطوة 2. التعرف على المصطلحات

غالبًا ما يستخدم الكتاب المترجمون مصطلحات غير مألوفة. اقرأ على المجمعين قبل المتابعة. تأكد من معرفة كل ما تحتاج إلى معرفته.

قم بإنشاء لغة برمجة الخطوة 3
قم بإنشاء لغة برمجة الخطوة 3

الخطوة 3. حدد المشكلة التي تحلها لغتك

هل تعالج مشكلة خاصة بمجال معين أم أنها لغة عامة الغرض؟

قم بإنشاء لغة برمجة الخطوة 4
قم بإنشاء لغة برمجة الخطوة 4

الخطوة 4. فكر في دلالات لغتك ومفاهيمها

  • هل ستسمح بالوصول المباشر للمؤشر أم لا؟
  • ما هي أنواع البيانات بلغتك؟
  • هل هي لغة ثابتة أم ديناميكية؟
  • ما هو نموذج ذاكرتك؟ هل ستستخدم أداة تجميع البيانات المهملة أو إدارة الذاكرة اليدوية؟ (إذا كنت تستخدم جامعًا للقمامة ، فاستعد لكتابة واحدة أو قم بتكييف واحد موجود للغتك.)
  • كيف ستتعامل مع التزامن؟ هل ستستخدم نموذج خيط / قفل بسيط أو شيء أكثر تعقيدًا مثل ليندا أو نموذج الممثل؟ (منذ أن أصبحت أجهزة الكمبيوتر في الوقت الحاضر لها نوى متعددة).
  • هل هناك وظائف بدائية مضمنة في اللغة أم أن كل شيء يأتي من مكتبة؟
  • ما هو نموذج أو نماذج لغتك؟ وظيفي؟ وجوه المنحى؟ النموذج الأولي (مثل JavaScript)؟ موجه نحو الجانب؟ نموذج موجه؟ أو شيء جديد تمامًا؟
  • كيف ستتفاعل لغتك مع المكتبات واللغات الموجودة (بشكل أساسي C)؟ هذه النقطة مهمة إذا كنت تقوم ببناء لغة خاصة بالمجال.
  • أخيرًا ، ستتم الإجابة على بعض الإجابات على هذه الأسئلة في الخطوة الثانية وستساعدك في الإجابة على الخطوة التالية.
قم بإنشاء لغة برمجة الخطوة 5
قم بإنشاء لغة برمجة الخطوة 5

الخطوة 5. فكر في بعض المهام المحددة التي يرغب شخص ما في القيام بها بلغتك

على سبيل المثال ، "قد يرغبون في توجيه الروبوت لاتباع خط ما" أو "قد يرغبون في إنشاء برامج سطح مكتب محمولة نسبيًا فيه" أو "قد يرغبون في إنشاء تطبيقات ويب باستخدامه".

قم بإنشاء لغة برمجة الخطوة 6
قم بإنشاء لغة برمجة الخطوة 6

الخطوة 6. جرب أفكار بناء الجملة (نص اللغة) للأمثلة المذكورة أعلاه

احرص على إبقاء لغتك في فئة اللغة الخالية من السياق أو أي شيء بداخلها. منشئ المحلل اللغوي الخاص بك وسوف تقدره لاحقًا

قم بإنشاء لغة برمجة الخطوة 7
قم بإنشاء لغة برمجة الخطوة 7

الخطوة 7. اكتب قواعد النحو الرسمية لبناء الجملة

قم بإنشاء لغة برمجة الخطوة 8
قم بإنشاء لغة برمجة الخطوة 8

الخطوة الثامنة: قرر ما إذا كانت اللغة سيتم تفسيرها أو تجميعها

بمعنى أنه في العالم المفسر ، عادة ما يقوم المستخدم بتحرير برنامجك في محرر ، وتشغيله مباشرة على المترجم الفوري ؛ بينما في العالم المترجم ، سيقوم المستخدم بتحرير برنامجك وتجميعه وحفظ الملف التنفيذي الناتج في مكان ما وتشغيله.

قم بإنشاء لغة برمجة الخطوة 9
قم بإنشاء لغة برمجة الخطوة 9

الخطوة التاسعة: اكتب الماسح الضوئي والمحلل اللغوي للواجهة الأمامية أو ابحث عن أداة تساعدك في ذلك

فكر أيضًا في كيفية قيام المترجم / المترجم الفوري بتحذير المستخدم من البرامج الخاطئة والأخطاء النحوية

قم بإنشاء لغة برمجة الخطوة 10
قم بإنشاء لغة برمجة الخطوة 10

الخطوة 10. استخدم معلومات المحلل اللغوي لكتابة رمز الكائن أو تمثيل وسيط

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

أيضًا ، اعتمادًا على لغتك ، قد ترغب أيضًا في إنشاء جداول مؤشرات افتراضية أو جداول معلومات لفصولك الدراسية (من أجل دعم التفكير أو RTTI)

قم بإنشاء لغة برمجة الخطوة 11
قم بإنشاء لغة برمجة الخطوة 11

الخطوة 11. اكتب المنفذ أو منشئ الكود الذي سيربط كل شيء معًا

قم بإنشاء لغة برمجة الخطوة 12
قم بإنشاء لغة برمجة الخطوة 12

الخطوة 12. اكتب العديد من برامج الاختبار لاختبار اللغة

تريد إنشاء برامج تشدد على أعباء القواعد النحوية الرسمية الخاصة بك لكي ترى أن المترجم الخاص بك يقبل كل ما هو داخل تعريفك ويرفض كل ما هو خارج عنه

قم بإنشاء لغة برمجة الخطوة 13
قم بإنشاء لغة برمجة الخطوة 13

الخطوة 13. ضع في اعتبارك كيف سيقوم المستخدم بتصحيح أخطاء البرامج الخاصة به

قم بإنشاء لغة برمجة الخطوة 14
قم بإنشاء لغة برمجة الخطوة 14

الخطوة 14. إذا كانت لغتك تستخدم مكتبة قياسية ، فستريد كتابتها

جنبًا إلى جنب مع جامع القمامة أو ميزات وقت التشغيل الأخرى إذا كنت في حاجة إليها.

على وجه التحديد ، إذا كتبت مترجمًا ، فستحتاج إلى الكود الذي سينفذه نظام التشغيل من أجل البدء في تشغيل رمز المستخدم (على سبيل المثال ، تخصيص جميع المتغيرات العامة)

قم بإنشاء لغة برمجة الخطوة 15
قم بإنشاء لغة برمجة الخطوة 15

الخطوة 15. انشر لغتك ، جنبًا إلى جنب مع المواصفات الخاصة بها وبعض الأمثلة على ما يمكنك القيام به فيها

لا تنسَ توثيق كيفية التكامل مع المكتبات واللغات الموجودة وكيفية استخدام ميزات وقت التشغيل و / أو المكتبة القياسية

فيديو - باستخدام هذه الخدمة ، قد تتم مشاركة بعض المعلومات مع YouTube

نصائح

  • ابدأ بتصميم لغتك ولا تكتب أي رمز ، حتى تشعر بالرضا والإجابة على جميع (أو معظم) الأسئلة أو المشكلات المتعلقة بتصميمك لأنه من الأسهل تغيير التصميم في وقت أبكر من وقت لاحق.
  • تعرف على النظام الأساسي المستهدف (نظام التشغيل والمكتبات) للمترجم / المترجم الفوري الخاص بك ، بعد كل شيء ، ستستخدمه وتتلاعب به.

تحذيرات

  • فكر فيما إذا كنت تحتاج حقًا إلى لغة جديدة ، وما الجديد الذي تمتلكه لغتك لا تمتلكه اللغات الأخرى (قد يكون مزيجًا من الميزات أو ميزة واحدة).
  • تعد كتابة اللغات أمرًا صعبًا إذا كنت لا تعرف ما تفعله. يتطلب الأمر الكثير من التدريب أيضًا.
  • استعد لقضاء بعض الوقت في تصميم اللغة ، حيث لن تكون لديك فرصة لتغيير لغتك بمجرد كتابة المترجم وتجاوز نقطة التصميم.
  • لا تحاول بناء ميزاتك في اتحاد عدة لغات ، مثل القول إن لغتك ستكون اتحادًا للغة X واللغة Y واللغة Z. لقد أظهر لنا التاريخ أن اللغات التي تم إنشاؤها بهذه الطريقة لن تحقق النجاح أبدًا ، أو سيقوم الجميع ببرمجة PL / 1 بدلاً من شيء يعتمد على C.

موصى به: