الflex و bison هل هما الأدواة الوحيدة للعالم compilation ؟

حين تعلمنا أبجديات الtheory of language أو théories des langages (بالفرنسية)، كانت الخطوة الثانية هي البرمجة باستخدام flex و ycc لعمل compiler و لكن سؤالي هل أستطيع عمل compiler بلغة أخرى، فأنا متأكد أني قرأت مقالة ذكر فيها امكانية استخدام regulier expression في C++ و java ..


عند بناء مترجم Compiler أمامك عدة خيارات:

1- البناء من الصفر(بدون محلل Lexical أو سابر parser)

2- استخدم مولد محلل وسابر مثل flex و ycc

من الصفر أبسط وأصعب لأنه لن يكون معقدا لكن عليك بناء كل شيء

-

هل أستطيع عمل compiler بلغة أخرى

تستطيع عمله من الصفر بأي لغة توفر في مكتبتها القياسية Stranded library إنشاء الملفات وتعديلها

فوظفته الأساسية ترجمة الكود إلى لغة الآلة أو إلى الإسيمبلي Assembly

يعني انني أستطيع تطوير compiler بأي لغة برمجة حديثة تتعامل مع الملفات، كالjava أو c ..

من الصفر نعم بأي لغة

حتى لو كانت لغة تفسيري Interpreted Language مثل بايثون Python