如何了解解析器组合器?

时间:2008-08-20 12:38:50

标签: parsing monads

我找到了一些有关此主题的资源,但它们都需要深入了解SmallTalkHaskell,我都不知道。

10 个答案:

答案 0 :(得分:11)

我在C#和F#中写了8个关于monadic解析器组合的长篇博客文章;请参阅here了解第一个。

另见FParsec(F#的Parsec)

答案 1 :(得分:5)

以下是更主流语言中的一些解析器组合库:

答案 2 :(得分:4)

Web上有一些很棒的文章描述了C#中的解析器组合器,但是没有可维护的源存储库,所以我在以下位置创建了一个:

http://code.google.com/p/sprache/

了解解析器组合器的人可能会做很多事情来改进它(如果这听起来像你那么请向前迈进:))

答案 3 :(得分:3)

如果您了解Python,那就是PyParsing

答案 4 :(得分:3)

对我来说this论文非常有用。它几乎是语言中立的。只是在一些小地方,他们指的是Gofer

答案 5 :(得分:2)

我找到了an interesting article about implementing a parser combinator in C#。它还引用了一些关于这一主题的更一般性的论文。

The Wikipedia article on the subject也对这个概念有一般性的解释。

答案 6 :(得分:2)

Chrise Double写了a parser combinator in Javascript

答案 7 :(得分:1)

Cay Horstmann有4 combinator parser lectures in Scala,有练习。在Scala here中有一个解析外部DSL的例子。

答案 8 :(得分:1)

Here是C ++中monadic解析器组合器的谈话(幻灯片和脚本)的链接。

答案 9 :(得分:1)