2009-12-09 84 views
3

問題非常簡單:是否可以使用PEG解析PHP? 我想使用PEG解析器生成器來解析PHP。請提供建議。謝謝!是否可以使用PEG解析PHP?

+1

我對PEG不是很熟悉,但我猜想這是可能的。你爲什麼不試一試(可能從PHP語法的簡化版本開始,看它是否可以工作)。 – bcat 2009-12-09 00:13:59

+0

+1感謝您的建議。我會嘗試。 – Viet 2009-12-09 06:26:17

回答

4

您可以使大多數解析器技術解析大多數語言,並付出足夠的努力。

PEG是否會毫不費力地解析PHP是一個不同的問題。 AFAIK,PHP本身使用Bison(LALR),因此我認爲PEG可能會處理由PHP發行版或類似內容提供的語法。如果你打算使用PHP發行版, 爲什麼不使用他們提供的解析器呢?

如果您不使用PHP發行版,解析PHP的問題很可能很難,因爲您必須從聯機參考手冊 (我去過那裏並完成),這是坦率地定義我見過的語言的最糟糕的方式之一:它只是一堆例子。

+0

+1 Hi Ira。非常感謝您的推理。是的,你說得對,使用PHP發佈的解析器是最好的選擇。不過,我更喜歡PHP的簡單性。我會先嚐試看看我能走多遠。謝謝。 – Viet 2009-12-09 06:25:34

+1

「...我更喜歡PHP,因爲它的簡單性......」你是說PEG? – 2009-12-09 06:48:06

+1

你還在試圖將PHP轉換爲C++(stackoverflow.com/questions/1090124/...)嗎?如果是這樣,你可以考慮使用一個已經有完整的PHP解析器的工具,並且可以應用源到源模式規則來執行這樣的翻譯。請參閱PHP Front End 2009-12-09 06:55:00