2011-09-15 54 views
7

我想知道:是否有像PHP的pyparsing(遞歸下降解析器)?
我已經找了它,但似乎沒有人做過它。我希望我錯了。圖書館喜歡pyparsing爲PHP

預先感謝您。

+0

你想解析什麼? – NikiC

+0

用不同的封閉字符自定義嵌套表達式。與正則表達式不是一個簡單的事情:-( – Donovan

+0

@stereofrog:該項目似乎已經死了,但我會看看。謝謝。 – Donovan

回答

5

我不知道用PHP編寫的任何維護解析器生成。但是有其他語言用PHP編寫的解析器生成器作爲目標語言。我親自使用的是kmyacc。它有一個PHP and Windows compatible fork它。因爲它是寫在YACC格式,可以被編譯使用此命令的PHP語法:

kmyacc -l -m %PARSER_PROTOTYPE_FILE% -p %NAME% %GRAMMAR_FILE% 

Kmyacc已經自帶了一個程序分析器原型文件PHP,但我個人使用OOP based prototypea modified version

舉個例子:This grammar get的編譯成this parser。 (請注意,語法是巨大的,這就是爲什麼生成的解析器有兩千五百行,「正常」語法顯然要小得多)。

+0

這是非常有趣的,我要去看一看,非常感謝(很明顯,如果這是我需要的,我會檢查答案) – Donovan

+0

+1:Bookmarked。 – hakre