هل هناك أي برامج تعليمية حول بناء مترجم بسيط باستخدام Alex + Happy؟

StackOverflow https://stackoverflow.com/questions/3113197

سؤال

أنا أعمل في مشروع مدرسي حيث يتعين علي بناء مترجم لفترات فوري للغة بسيطة باستخدام Alex + Happy في Haskell.

بعد النظر في الوثائق ، أفهم معظمها ، لكنني أرغب في رؤية مثال كامل على استخدام الأدوات.

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

المحلول

ليس على بناء المترجمين الفوريين ، ولكن على بناء Lexers و Parsers ، نعم. انظر مثال محلل معجمي في أليكس ، هنا, ، جنبا إلى جنب مع مقدمة إلى سعيد هنا. لقد وجدت ملفات haskell.x و haskell.y الموزعة في darcs repos لأليكس وسعيد مفيدة. يمكنك أن تجد هؤلاء هنا و هنا.

نصائح أخرى

كتبت سلسلة من المشاركات في bjbell.wordpress.com عند استخدام Alex+Happy+LLVM لكتابة برنامج التحويل البرمجي للغة مثل Java بسيطة.

رمز المصدر على github في https://github.com/bjwbell/newl-compiler (لم أتطرق إليها في غضون عامين).

Haddock لديه Alex/Happy Parser للوثائق ، والمصادر هي هنا في الملفات lex.x و parse.y.

كتبت منشورًا حول حل مشكلة وصفتها: http://eax.me/simple-interpreter/ (بالروسية). رمز المصدر هنا: https://bitbucket.org/afiskon/hs-interpreter/

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