الجدول معرفات

هناك مشكلة واحدة مع برنامج التحويل البرمجي في حالته الراهنة: فإنه لا يفعل شيئا لإنقاذ متغير عندما نعلن. لذا فإن المترجم بهدوء تخصيص الذاكرة العديد من المتغيرات لها نفس الاسم. يمكنك بسهولة التحقق من هذا عن طريق كتابة بفافافابي نوع السلسلة. هنا أعلنا عن متغير ثلاث مرات. كما يمكنك […]

Boolean logic

الخطوة التالية يجب أن تكون أيضا على دراية لك. نحن بحاجة إلى إضافة التعبيرات المنطقية و مشغلي العلاقات. مرة أخرى, كما عملنا معهم أكثر من مرة, لن التفاصيل كلها ما عدا, التي تختلف من, ماذا فعلنا من قبل. مرة أخرى, أننا سوف لا ببساطة نسخ منها من الملفات الأخرى نظراً لأن […]

هياكل المراقبة

نحن في البيت تقريبا ، . وقد تعبير منطقي من السهل إضافة هياكل المراقبة. من أجل صغيرة نحل اثنين منهم فقط, إذا حين: <إذا> ::= إذا <منطقي-التعبير> <كتلة> [ آخر <كتلة>] ENDIF <في حين> ::= حين <منطقي-التعبير> <كتلة> اندوهيلي مرة أخرى اسمحوا لي أن اشرح قرار, ضمنا في هذه الجملة, التي هي مختلفة جدا من بناء الجملة من C أو Pascal. في […]

ممكن الموافقة

قبل هذا الوقت, نحن يمكن أن تولد فارغة البرنامج, التي لديها بعض المتغيرات وربما تهيئة. ولكن حتى نحصل على إنشاء سطر واحد من التعليمات البرمجية القابلة للتنفيذ. هل تصدق أو لا, ولكن لدينا تقريبا للاستخدام البرمجي! مفقود فقط التعليمات البرمجية القابلة للتنفيذ, تسجيل الدخول في البرنامج الرئيسي. ولكن هذا الرمز هو العملية الوحيدة […]

المهيآت

بينما كنا نعمل مع الإعلان البيانات, كنت قلقا حول شيء واحد – , ما باسكال لا يسمح تهيئة البيانات في الإعلان. هذه الميزة المسلم هو نوع مبالغة, و قد لا يكون في اللغة, التي تعتبر الحد الأدنى من اللغة. ولكن هو أيضا بسيطة جدا لإضافة, سيكون من العار أن لا تفعل ذلك. الممارسات الصناعية الجيدة يصبح: […]

الإعلانات و معرفات

هذا يبدو جيدا, لكن نحن ما زلنا فقط إنشاء فارغة البرنامج. هذا المجمع أن تولي المجمع توجيهات تخصيص الذاكرة للمتغيرات. الآن حان وقت الحصول على بعض التعليمات البرمجية. مع القليل من رمز إضافي من السهل أن تجعل في الإجراء Decl. تغير على النحو التالي: Parse and Translate a Data Declaration procedure Decl; var اسم: شار; تبدأ […]

إعداد

منذ سنوات عديدة كانت هناك لغات, دعا صغيرة الأساسية, صغيرة باسكال صغيرة ج, كل مجموعة فرعية من الأم الكامل في اللغة. صغيرة الأساسية, على سبيل المثال, سوى حرف واحد متغير أسماء المتغيرات العالمية. وأيد واحد فقط نوع البيانات. يبدو مألوفا? عند هذه النقطة لدينا تقريبا جميع الأدوات, اللازمة لإنشاء مثل هذا مترجم […]

الإعلانات الإجراءات/وظائف

من الواضح أن الخطوة التالية هي حل, ماذا نعني إعلان. أنوي نوعين من الإعلانات: المتغيرات والإجراءات/وظائف. على المستوى العلوي يسمح فقط الإعلانات العالمية, كما في ج. الآن يمكن أن يكون هناك متغير الإعلانات, التي حددها الكلمة VAR (مختصر “v”). <المستوى الأعلى decls> ::= ( <بيانات الإعلان> )* <بيانات الإعلان> ::= […]

الإعلانات

BNF على الإعلانات باسكال في هذا: <الإعلانات> ::= ( <قائمة التصنيفات> | <ثابتة قائمة> | <اكتب قائمة> | <متغير قائمة> | <الداخلي> | <وظيفة> )* (ملاحظة, أنا باستخدام أكثر تحررا تعريف, المستخدمة في توربو باسكال. في تعريف معيار باسكال, كل من هذه الأجزاء يجب أن تتبع في ترتيب معين بالنسبة إلى الأخرى ، ). كالمعتاد واسمحوا […]

هيكل هو Si

لغة C هو مسألة مختلفة تماما, كما سترون. كتب في ج نادرا ما تشمل BNF تعريف اللغة. ربما هذا هو, من الصعب جدا وصف في BNF. واحد من الأسباب التي أنا تظهر لك هذه الهياكل الآن هو أنني يمكن إقناع لك مع اثنين من الحقائق: 1. تعريف اللغة محركات هيكل مترجم. Что […]