2010-06-05 52 views
6

Python中有哪些工具可用於幫助解析無上下文語法?在Python中解析上下文無關語法

當然,我可以推出自己的,但我正在尋找一種通用工具,可以爲給定的CFG生成解析器。

+1

您是否要以語法定義的方式*解析語法*或解析輸入? – Dario 2010-06-05 08:38:18

+1

解析語法定義的輸入,抱歉,我沒有說清楚。 – 2010-06-05 08:39:46

回答

7

我熱烈推薦PLY - 它是一個Python中的Lex/Yacc克隆,它以複雜的方式使用語言的內省功能來允許非常自然的語法規範。如果你記得,Yacc是可理解的DSL中CFG的一個實例,它定義瞭如何解析它們。

我用它來實現我的parser for ANSI C,與PLY的交互幾乎毫不費力。

+0

太棒了!謝謝你,Eli。 – 2010-06-05 08:50:58