كيف يمكنك إنشاء جهاز كمبيوتر أو لغة برمجة لتطبيق ما؟

StackOverflow https://stackoverflow.com/questions/808737

  •  03-07-2019
  •  | 
  •  

سؤال

نسخة مكررة من:

وآخرون أنا كسول جدًا للعثور عليهم الآن.


أنا لا أسأل عن كيفية صنع لغة معقدة بشكل لا يصدق.أردت فقط أن أفهم الأساسيات.سأستخدم لغة C# كلغة أساسية.أعلم أن الأمر غامض.كنت أتمنى شيئًا أساسيًا جدًا لتوجيهي.

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

شكرًا لك.

تحرير - شكرا لك على الإجابات.كنت أنظر إليها أكثر من أجل التعلم وليس العمل في الوقت الحالي.ربما سأستخدم LUA، لكني أحاول معرفة المزيد عن المفهوم بشكل عام.

هل كانت مفيدة؟

المحلول

هل يمكن أن نلقي نظرة على لوا - لقد استخدمته وحققت نجاحًا كبيرًا في كل مرة سألت فيها نفسي السؤال "كيف يمكنني التشغيل الآلي أدخل المهمة هنا في أدخل أحد تطبيقاتي هنا?"

يحرر:فيما يلي بعض الأمثلة (مأخوذة من صفحة الروابط, ، باعتراف الجميع، غير عملي لوا ويكي) حول كيفية تضمين Lua في تطبيقك:

نصائح أخرى

يمكنك استخدام لغة موجودة مثل Python أو Javascript.على سبيل المثال، بالنسبة لجافا سكريبت، هناك http://www.mozilla.org/rhino/ لتطبيقات جافا.لذلك عادةً لا تحتاج إلى اختراع لغة جديدة، كل ما عليك فعله هو توفير واجهة برمجة تطبيقات مخصصة للغة موجودة بالفعل.

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

ذكر سكوت هانسلمان في كتابه أحدث بودكاست هانسيلمينتس أن دمج IronPython للسماح بالبرمجة النصية لتطبيق موجود كان أمرًا سهلاً للغاية.

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

إذا كنت مهتمًا أكثر بالتجربة التعليمية لكتابة لغة البرمجة النصية الخاصة بك، فعليك القيام بذلك!

تحتاج أولاً إلى محلل معجمي مثل lex، ثم محلل نحوي مثل البيسون.

ثم يمكنك العمل مع محلل بناء الجملة لإنشاء مترجم "لتنفيذ" نتائج بناء الجملة.

هذه هي الطريقة التي تفعلها معظم لغات البرمجة النصية.

ملاحظة:هناك طريقة أخرى وهي التدرب على كتابة الصدفات - نصوص الصدفة (bash أو csh أو sh) هي لغات برمجة نصية مبسطة للغاية.

ليست هناك حاجة لإنشاء لغة برمجة نصية جديدة، فهناك العديد منها على سبيل المثال.وحيد القرن وهو جافا سكريبت قابل للتضمين يستخدم على نطاق واسع (http://www.mozilla.org/rhino/) أو Jscript من MS، والذي يمكنك استخدامه مباشرة في منتجك.

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top