我一直在学习Haskell,很想用它来编写一个编译器(作为学习练习),因为它的许多固有特性可以很容易地应用于编译器(特别是递归下降编译器)。
我无法完全理解如何用Haskell的方式表示一种语言的语法。我的第一个想法是使用递归数据类型定义,但我不知道如何使用它们匹配语言中的关键字(例如“if”)。
非常感谢您的想法和建议, Pete
我无法完全理解如何用Haskell的方式表示一种语言的语法。我的第一个想法是使用递归数据类型定义,但我不知道如何使用它们匹配语言中的关键字(例如“if”)。
非常感谢您的想法和建议, Pete