2. مقدمة
لغات البرمجه " " Programming Languagesتتكون لغة البرمجة من مجموعة من الرموز التي ستخدم في وصف
العمليات التي يطلب المستخدم من الحاسوب إنجازها . هي الطريقة الوحيدة التي تتم بواسطتها إعطاء االوامر للحاسوب
ليقوم بإنجاز المهمات والوظائف المحددة هذا هو ما جعل االهتمام بلغات البرمجة وتطويرها وإنشاء الجديد منها يأخذ
حيزا كبيرا من وقت المبرمجين ومن اهتمامهم .
إن البرامج المكتوبة بلغة التجميع " " Assemblyأو بلغة عالية المستوى " " High Level Languageال يمكن
تنفيذها من قبل الحاسوب إال بعد تحويلها إلى اللغة الوحيدة التي "يفهمها" الحاسوب وهي لغة اآللة "Machine
"Languageعملية التحويل هذه تسمى ترجمة " " Compilingوالبرنامج الذي يقوم بالترجمة يسمى مترجم "
. "Compiler
بناءاً على ما سبق يمكن القول أن المترجم هو عبارة عن برنامج يمكنه قراءة البرنامج المكتوب بإحدى اللغات عالية
المستوى التي تسمى لغة المصدر " "Source Languageوالذي يسمى البرنامج المصدري "" Source Program
وترجمته إلى برنامج مكافئ بلغة اآللة يسمى برنامج الهدف ". " Target Program
Target Program
Compiler
Source Program
من الجدير بالذكر أن مهمة المترجم ال تقتصر فقط على تحويل اللغة وإنما يقوم أيضا خالل عملية الترجمة باكتشاف
االخطاء التي قد يحتوي عليها البرنامج المصدري. عندما يصبح برنامج الهدف على الشكل الذي يكون فيه قابال للتنفيذ
عندها فقط يتم تحويل المدخالت إلى مخرجات ونتائج. أي تتم عملية التنفيذ.
3. مراحل المترجم
محلل المفردات Lexical Analysis
إن محلل المفردات أو مايطلق عليه احياناً بالماسح " "Scannerهو الذي يقوم بالقراءة الفعلية لبرنامج المصدر على
هيئة سلسلة متتابعة من الحروف التي تك ّن وحدات ذات مفردات تكون مفردات " "Tokensلغة البرمجة وبالتالي فإن
و
دور محلل المفردات هو تمييز مفردات اللغة ويقوم بذلك برنامج يسمى" "Lexical Analyzerاو ما يسمى"."Scanner
محلل الصيغ النحوية Syntax Analysis
أن مرحلة تحليل الصيغ النحوية أو مايطلق عليها أحياناً مرحلة اإلعراب " "Parsingتتلقى شفرة المصدر من محلل
المفردات ليقوم بتحليل الصيغ النحوية لتحديد هيكل البرنامج وذلك مثل تحليل القواعد لجملة من اللغات الطبيعية
ونتيجة لهذا المرحلة يتم إنشاء شجرة اإلعراب " "Parse Treeأو شجرة النحو " "Syntax Treeأي تقوم هذه المرحلة
بتحليل البرنامج والبحث في تركيب الجمله وترتيب الكلمات أو مفردات اللغة بشكل صحيح في الجملة ويقوم بهذا
برنامج يسمى " "Syntax Analyzerأو ما يسمى ". "Parser
محلل الدالالت Semantic Analysis
إن دالالت أو معاني البرنامج هو المعنى الخاص في مقابله صيغة نحوية ويتم تحديد دالالت أي برنامج من خالل سلوكه
أثناء التشغيل ولكن معظم لغات البرمجة لديها بعض الصفات التي يمكن تحديدها قبل البدء في التشغيل ولكن تلك
الصفات ال يستطيع وصفها أو تحليلها بواسطة محلل الصيغ النحوية ويطلق على هذه الصفات الدالالت الثابتة "Static
" Semanticومهمة محلل الدالالت هو تحليل هذا النوع من الدالالت التي تشمل بشكل اساسي على التعريفات
" "Declarationsواختبار األنواع للبيانات " ، "Type Checkingوالمعلومات اإلضافية التي تعكس هذه الدالالت تسمى
خصائص أو صفات " "Attributesويتم تحديدها أثناء المرحل الحالية في هذه المرحله وغالباً ما يتم إضافتها كحواشي
شجرة اإلعراب أو شجرة النحو أو قد تضاف إلى جدول الرموز الخاص " . "Symbol Tableإذاً هذه المرحله هي مرحلة
تحليل الجمل من ناحية معاني ودالالت األلفاظ المختلفه في جمل وعبارات البرنامج ، والذي يقوم بهذا برنامج يسمى
". "Semantic Analyzer