【发布时间】:2011-03-07 23:48:33
【问题描述】:
我正在做一个学校项目,我必须在 Haskell 中使用 Alex + Happy 构建一种简单语言的解释器。
查看文档后,我了解了大部分内容,但希望查看有关使用这些工具的完整示例。
【问题讨论】:
标签: haskell parsing interpreter alex happy
我正在做一个学校项目,我必须在 Haskell 中使用 Alex + Happy 构建一种简单语言的解释器。
查看文档后,我了解了大部分内容,但希望查看有关使用这些工具的完整示例。
【问题讨论】:
标签: haskell parsing interpreter alex happy
不是构建解释器,而是构建词法分析器和解析器,是的。请参阅 Alex 中的词法分析器示例,here,结合 intro to Happy here。我发现在 darcs 存储库中为 Alex 和 Happy 分发的 haskell.x 和 haskell.y 文件很有用。你可以找到那些here和here.
【讨论】:
我在bjbell.wordpress.com 写了一系列关于使用 Alex+Happy+LLVM 为类似 Java 的简单语言编写编译器的帖子。
源代码在 GitHub 上的https://github.com/bjwbell/NewL-Compiler(我已经有几年没碰过它了)。
【讨论】:
Haddock 有一个用于文档的 Alex/Happy 解析器,来源是 Lex.x 和 Parse.y 文件中的 here。
【讨论】:
我写了一篇关于解决您描述的问题的帖子:http://eax.me/simple-interpreter/(俄语)。源码在这里:https://bitbucket.org/afiskon/hs-interpreter/
【讨论】: