2010-08-31 69 views
4

我正在尋找一個現成的語法和解析器的PHP(至少5.2),理想的實用程序/庫,可以解析PHP代碼成可讀的AST,例如XML。解析器本身不必用php編寫,源語言無關緊要。php的獨立語法和解析器

+2

我猜PHP沒有官方語法。 – Gumbo 2010-08-31 12:42:48

回答

2

要回答我的問題我已經成功地編譯phc在我的OSX中,解析器部分似乎運作良好

phc --dump-xml=ast foo.php > bar.xml 

創建AST的xml表示形式。

0

phpParseTree

的Parse_Tree擴展生成從一個PHP代碼的XML 解析樹。

+0

這似乎只產生一個包裹在XML標記中的令牌流。儘管目標網站說了什麼,但它看起來並不像分析樹。 – 2010-08-31 13:03:06

1

我們的DMS Software Reengineering Toolkit是通用的編譯器技術,用於解析/分析/轉換任意計算機語言。 它解析爲AST,並支持構建符號表和各種類型的流圖。

它有一個PHP Front End完全符合PHP 5.x,自動構建完整的AST,使用DMS作爲基礎。它可以導出XML,但是我們的經驗(以及DMS的設計)表示,通過使用AST數據結構保留「DMS」內部DMS,在DMS中執行大量的AST操作和模式匹配工具,您可以獲得更多的效果,然後生成結果,而不是嘗試處理您將獲得的大量XML。

這個前端已被用在許多生產工具中。

編輯:2016年10月:現在處理PHP 5.6和PHP 7