我正在开展一个学校项目,我必须在Haskell中使用Alex + Happy构建一种简单语言的解释器。有没有关于使用Alex + Happy构建简单解释器的教程?
通过阅读文档,我了解了大部分内容,但希望看到使用这些工具的完整示例。
我正在开展一个学校项目,我必须在Haskell中使用Alex + Happy构建一种简单语言的解释器。有没有关于使用Alex + Happy构建简单解释器的教程?
通过阅读文档,我了解了大部分内容,但希望看到使用这些工具的完整示例。
不是建立口译员,而是建立词法分析器和解析器,是的。请参阅Alex的词法分析器示例,here,加上intro to Happy here。我发现在Alex和Happy的darcs仓库中分发的haskell.x和haskell.y文件很有用。你可以找到那些here和here.
黑线鳕有亚历克斯/快乐解析器文件,来源是here中的文件Lex.x和Parse.y。
我写了一系列文章bjbell.wordpress.com使用Alex + Happy + LLVM编写简单Java语言的编译器。
源代码在GitHub的https://github.com/bjwbell/NewL-Compiler(我几年没有碰过它)。
我写了一篇关于解决你所描述的问题的文章:http://eax.me/simple-interpreter/(俄语)。源代码在这里:https://bitbucket.org/afiskon/hs-interpreter/
请注意,指向simple.x的链接指向旧版本(不能编译),当前版本位于github上:https://github.com/simonmar/alex/blob/主/测试/ simple.x – user905686 2017-02-04 15:53:23