我正在開展一個學校項目,我必須在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