تقدم الدراسة طريقة لتوليد مترجم متكامل للغة مصدرية مقترحة تتضمن جميع العمليات الحسابية و المنطقية و الحلقات و بنى التحكم و عمليات التصريح و الإسناد. تتضمن الدراسة عدة مراحل بدءاً من مرحلة بناء محلل المفردات (الماسح) اعتماداً على البنية البرمجية LEX، يلي ذلك مرحلة بناء المحلل القواعدي باستخدام الأداة البرمجية BISON و ذلك من أجل تحديد قواعد اللغة الناظمة لعمل المترجم، بعد ذلك يتم ترجمة المعرب (Parser) باستخدام لغة Turbo C++ و ذلك للحصول على الخرج النهائي. تم اختبار المترجم المقترح على مئة ملف مصدري، و أظهر المترجم قدرة على ترجمة كل الملفات و تحديد مواقع الخطأ و العبارات المسببة للخطأ في كل ملف مصدري.
This paper proposes an approach for compiler construction of a proposed source language consisting of all computational and logical operations control statements loops declarations and assignment operations. This study is based on many steps starting from lexical analysis (Scanner) depending on LEX environment; after that, the syntax analysis step is done to obtain the syntax analyzer (Parser) which defines the grammar rules. The final step is compiling the parser using Turbo C++ to get the final output. The designed compiler has been tested on 100 source files, and the results show that the designed program compiles all these source files correctly .In addition it defines the error’s locations through them.
المراجع المستخدمة
A.V. AHO, R. SETHI, J.D. ULLMAN,“Compilers: Principles, Techniques and Tools”, Addison-Wesley, 1986
ANTHONY A. AABY, “Compiler Construction using Flex and Bison”, Walla Walla College, February 25, 2004, pp:1-18
F.J.F. BENDERSET AL., “Compiler Construction A Practical Approach”, Macmillan Technical Publishing, January 29, 2003, pp:21-16
J. Levine, “Lex and Yacc”, O'Reilly & sons, 2000
P.H. SALUS,“Handbook of Programming Languages, Volume I: Object oriented Programming Languages”, Macmillan Technical Publishing, 1998