我刚刚在今年早些时候开始学习Haskell语言,并且正在开发一个输入java类文件(即FileName1.class)的项目,并解析该文件以打印出以下内容:
我做了一些研究,发现通过使用JVM可以实现这一点,但在此过程中有点遗失,任何人都有任何关于如何解决这个问题的建议吗?
答案 0 :(得分:5)
答案 1 :(得分:1)
尝试parsec。
http://www.haskell.org/haskellwiki/Parsec
这是一个关于如何入门的非常好的教程:http://www.haskell.org/haskellwiki/Parsing_expressions_and_statements
还来自Real World Haskell:http://book.realworldhaskell.org/read/using-parsec.html
Parsec甚至包含一个默认的Java语言定义。 http://hackage.haskell.org/packages/archive/parsec/3.0.0/doc/html/src/Text-Parsec-Language.html#javaStyle
此外,在检查AST时,您可能希望使用Reader monad来防止类型签名过于污染。