我對Spidermonkey Parser非常非常新,我有兩個問題。第一個是有一個很好的文檔(對於初學者)關於如何使用spidermonkeyParser生成一個Javascript文件的AST。第二個是知道如何遍歷AST。我的目標是使用AST中的信息對JS文件進行一些靜態分析(類型分析,字符串分析)。如何遍歷由spidermonkey生成的AST(Javascript文件)
謝謝
我對Spidermonkey Parser非常非常新,我有兩個問題。第一個是有一個很好的文檔(對於初學者)關於如何使用spidermonkeyParser生成一個Javascript文件的AST。第二個是知道如何遍歷AST。我的目標是使用AST中的信息對JS文件進行一些靜態分析(類型分析,字符串分析)。如何遍歷由spidermonkey生成的AST(Javascript文件)
謝謝
的SpiderMonkey的AST公開爲JavaScript對象。這意味着您應該編寫一個小的JavaScript腳本,使用該腳本來讀取和解析您想要解析的實際Javascript源文件並將其作爲Javascript對象獲取。
此功能在獨立的SpiderMonkey外殼中可用(可能不在Firefox自帶的版本中)。您需要下載完整的Spidermonkey源代碼並使用捆綁的Python腳本構建它。 Shell將與您的獨立Spidermonkey Javascript引擎一起構建。這個shell只是一個接受用戶命令的小控制檯程序。該shell可以讀取和執行獨立的JavaScript腳本。特別是,這個Shell執行的Javascript腳本可以訪問一個名爲Reflect
的額外全局對象,該對象有一個名爲parse()
的方法。 Shell還支持額外的文件I/O函數,這是您在要解析的目標Javascript源文件中閱讀的方式。
全AST的描述是在這裏:
https://developer.mozilla.org/en-US/docs/SpiderMonkey/Parser_API
你的問題是一個非常普遍的一個。截至第一個:嘗試谷歌。這是問答網站,而不是鏈接數據庫。至於第二個:請解釋你遇到的樹經過的問題,你嘗試過的以及出錯的地方。歡迎來到這裏:) – giorgio