سؤال

أبحث عن Lexer / الماسح الضوئي المجاني مكتوب يدويا لأي لغة، حتى لغة لعبة مكتوبة باللغة التافهة إلى C / C ++. أنا مبتدئ في إنشاء لغات وتصميم مترجم، أود أن ألعب مع المصدر.

على سبيل المثال، هناك جمل Lexer مكتوب يدويا على هذا الموقع قبل أن يتم إنشاء LEX Flex: http://en.wikipedia.org/wiki/flex_lexical_analyser.

شكرا.

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

المحلول

انا احب ال LLVM التعليمي - يبدأ بتقديم ملف Lexer مكتوب يدويا لغرفة لعبة تسمى المشكال، أولا باعتبارها عملية "برمجة القراءة والكتابة" مع تفسيرات نصية جيدة لكل بت؛ يستمر من خلال بناء محلل يبني شجرة بناء الجملة مجردة بنفس النمط؛ ثم يظهر الأمر كله (400 سطور من المستندات المستقلة يدويا C ++ ل Lexer و Parser و AST Builder مرة أخرى كملف مصدر كامل .cpp، لذلك لا يتعين عليك وضع كل شيء معا. الفصول التالية إظهار جيل التعليمات البرمجية، جيت، تحسين، ... برنامج تعليمي صغير مفيد حقا بالفعل! ولكن، يمكنك التوقف مع Lexer، إذا كان هذا كل ما تريد فهمه الآن ؛-).

نصائح أخرى

LEX و YACC. هي الأدوات "الكلاسيكية" المستخدمة لغرض بناء اللغات والمنوعات.

ربما تريد ثني, ، والتي ربما تكون Lexer الأكثر استخداما على هذا الكوكب.

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