سؤال

أود أن أعرف كيف هي أفضل طريقة لإنشاء شجرة بناء الجملة.

هل كانت مفيدة؟

المحلول 2

المورد الفائض Stack القياسي لتعلم كتابة المحامرة والمترجمين الفوريين تعلم كتابة مترجم

نصائح أخرى

هنا بعض التفسير حول أشجار بناء الجملة مجردة (AST) من مشروع LLVM.

الإعلان التشويقي:

يلتقط AST لبرنامج سلوكه بطريقة سهلة في المراحل اللاحقة من المحول البرمجي (مثل توليد التعليمات البرمجية) للتفسير. نحن نريد أساسا كائن واحد لكل بناء في اللغة، وينبغي أن AST نموذج اللغة عن كثب.

لا يختلف عن أي لغة أخرى، حقا. الفرق بين اللغات المترجمة والمجموعة في المقام الأول في الخلفية، وليس الواجهة الأمامية. قد يكون لدى لغات محددة متطلبات تحليل محددة، لكن لا يمكنك إجراء مقارنة ذات مغزى في تقنيات التحليل بين الطبقتين من اللغات.

لا تدرج متطلبات لغة لوحظك، لذلك إذا كان C أو C ++ احتمالا، يجب أن تبدأ من خلال النظر في YACC: http://en.wikipedia.org/wiki/yacc.

YACC يولد محلل C للحصول على بناء جملة محددة. قد يكون البدء في ذلك العمل الإضافي القليل، ولكن بمجرد حصولك على الشيء وأعلى، يجب أن يكون من الأسهل الحفاظ عليه.

إخلاء المسئولية: لقد استخدمت فقط YACC في مشروع واحد وكان قبل 10 أعوام، لذلك قد تختلف الأميل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top