Haskell,编译器,执行令牌顺序?

时间:2011-11-02 09:51:25

标签: haskell

有人能给我一个小例子,说明如何使用Haskell编写基本编译器来强制执行语言的顺序吗?

因此,例如,如果我想编写一种编程语言,其中“table bed lamp”是一个有效的字符串,但“床灯表”不是,我将如何进行此操作?

如果有人能指出我正确的方向,我想我可以再推断并理解这一点。

由于

2 个答案:

答案 0 :(得分:3)

您应该查看有关parsers的资源。这是程序的一部分,负责分析文本并从中构建数据。维基百科条目:

http://en.wikipedia.org/wiki/Parsing

在haskell中,Parsec有一个用于编写解析器的强大库(我从未使用过它。)

http://www.haskell.org/haskellwiki/Parsec

答案 1 :(得分:2)

在过去的几天里,您似乎一直在询问有关编译器的许多基本问题。在尝试继续之前,首先拿起关于编译器的教科书并获得一些基础是不是更好?如果您尝试使用Haskell作为编写编译器的语言,那么Appel的书“ML中的现代编译器构造”将是一个良好的开端。