المفاهيم النظرية ومرجعها الكتاب التالي :
Compilers Principles, Techniques, and Tools
Authors: Alfred V.Aho, Ravi Sethi, Jeffrey D.Ullman

وأخذنا منه المواضيع التالية :
CH1: Introduction to Compiler
CH2: A Simple One-Pass Compiler
CH3: Lexical Analysis
CH4: Syntax Analysis
CH5: Syntax-Directed Translation
CH6: Type Checking
CH7: Run-Time Environments

arkred">القسم العملي :

والحمد لله كان الجانب العملي لا بأس فقد قمنا بتطوير مترجم لآلة حاسبة متطورة , تقبل تعليمات الآلة الحاسبة كلغة برمجة مكتوبة في ملف نصي , وتعطي الخطأ ونوعه ومكان وجوده ( في حال العثور على خطأ ).

arkblue">الفصل الثاني :
كانت المادة عبارة عن arkblue">مشروع بناء مترجم MiniJava Compiler وهو مترجم يأخذ كدخل ملف *.java مكتوب بلغة java ويقوم بترجمته إلى لغة الآلة Virtual Machine وهي لغة شبيهة بالـ Assembly , وعند تنفيذ كود لغة الآلة باستخدام الـ Virtual Machine يتم عندها تنفيذ البرنامج المكتوب بلغة Java المصدرية وإعطاء نتيجة التنفيذ.

تم استخدام إحدى اللغتين C أو Cpp في برمجة المترجم , وبالنسبة لي اخترت لغة Cpp للاستفادة من ميزات الـ OOP في المشروع ومكتبات الـ STL .

وقام الدكتور خليل العجمي بإعطائنا القسم الخاص بـ Code Generation وكيفية التعامل مع الآلة الإفتراضية VM .

هناك ملف ppt يوضح المفاهيم الأساسية بشكل مختصر عن المترجمات :

http://www.csc-sy.com/downloads/damascus/all/LECTURE1.PPT

أرجوا من يريد الاستفسار عن شيئ معين حول هذه المادة أن يطرح سؤاله وإن شاء الله سأجيبه (بحدود ما أعلم).

  • Currently 120/5 Stars.
  • 1 2 3 4 5
40 تصويتات / 1532 مشاهدة
نشرت فى 23 ديسمبر 2005 بواسطة mara

ساحة النقاش

عدد زيارات الموقع

946,030