有人能给我一个小例子,说明如何使用Haskell编写基本编译器来强制执行语言的顺序吗?
因此,例如,如果我想编写一种编程语言,其中“table bed lamp”是一个有效的字符串,但“床灯表”不是,我将如何进行此操作?
如果有人能指出我正确的方向,我想我可以再推断并理解这一点。
由于
答案 0 :(得分:3)
您应该查看有关parsers
的资源。这是程序的一部分,负责分析文本并从中构建数据。维基百科条目:
http://en.wikipedia.org/wiki/Parsing
在haskell中,Parsec
有一个用于编写解析器的强大库(我从未使用过它。)
答案 1 :(得分:2)
在过去的几天里,您似乎一直在询问有关编译器的许多基本问题。在尝试继续之前,首先拿起关于编译器的教科书并获得一些基础是不是更好?如果您尝试使用Haskell作为编写编译器的语言,那么Appel的书“ML中的现代编译器构造”将是一个良好的开端。