Есть ли уроки по созданию простого интерпретатора с использованием Alex + Happy? - PullRequest
11 голосов
/ 24 июня 2010

Я работаю над школьным проектом, в котором мне нужно создать переводчик для простого языка, используя Alex + Happy в Haskell.

После просмотра документации я понимаю большую ее часть, но хотел бысм. полный пример использования инструментов.

Ответы [ 4 ]

11 голосов
/ 25 июня 2010

Не на построении интерпретаторов, а на построении лексеров и парсеров, да.Смотрите пример лексического анализатора в Alex, здесь , в сочетании с введением в Happy здесь Я нашел полезными файлы haskell.x и haskell.y, распространяемые в репозиториях darcs для Alex и Happy.Вы можете найти эти здесь и здесь.

6 голосов
/ 28 декабря 2012

Я написал серию постов на bjbell.wordpress.com об использовании Alex + Happy + LLVM для написания компилятора для простого языка, похожего на Java.

Исходный код находится на GitHub на https://github.com/bjwbell/NewL-Compiler (я не трогал его пару лет).

4 голосов
/ 25 июня 2010

У Хэддока есть парсер Alex / Happy для документации, источники здесь в файлах Lex.x и Parse.y.

0 голосов
/ 28 декабря 2012

Я написал пост о решении описанной вами проблемы: http://eax.me/simple-interpreter/ (на русском языке). Исходный код здесь: https://bitbucket.org/afiskon/hs-interpreter/

...