صناعة المفسّرات › مُفسِّر باجتياز الشجرة 28 / 35 السابق التالي

مفسّر يتجوّل على الشجرة

بهذا الجزء، نبدأ jlox، وهو أول مفسّرينا اثنين. لغات البرمجة موضوعٌ هائل يحتوي كمًّا هائلًا من المفاهيم والمصطلحات التي يجب أن تحشرها في ذهنك دفعةً واحدة. ونظريّة لغات البرمجة تتطلّب درجةً من الصرامة الذهنية لم تحتج إلى استدعائها على الأرجح منذ امتحان التكامل اللانهائي (calculus) الأخير. (ولحسن الحظ، ليس في هذا الكتاب نظريّة كثيرة.)

يتطلّب تنفيذ مفسّر بعض الحيل المعمارية وأنماط التصميم التي ليست شائعة في أنواع التطبيقات الأخرى، لذا سنعتاد أيضًا على الجانب الهندسي من الأمور. ومع كل ذلك، سنُبقي الشيفرة التي نضطر لكتابتها بسيطة قدر الإمكان.

في أقل من ألفَي سطر من شيفرة Java نظيفة، سنبني مفسّرًا كاملًا لـ Lox ينفّذ كل ميزة من ميزات اللغة، تمامًا كما حدّدناها. تعمل الفصول الأولى من الأمام إلى الخلف عبر مراحل المفسّر -- [المسح الضوئي][]، و[التحليل][]، و[تقييم الشيفرة][]. وبعد ذلك، نضيف ميزات اللغة واحدةً تلو الأخرى، فنحوّل آلة حاسبة بسيطة إلى لغة برمجة نصّية مكتملة.