2014-11-09 68 views
1

我正在考慮在飛鏢中編寫飛鏢解釋器。獲取飛鏢源代碼的ASTD

由於飛鏢到javascript編譯器是用dart編寫的,是否有可能使用它從dart源代碼獲取AST?

我該怎麼做,並且這種方法在瀏覽器中工作?

+1

https://pub.dartlang.org/packages/analyzer – JAre 2014-11-09 01:05:54

回答

2

是的,這大概是try.dartlang.org所做的。我粗略地說,因爲它不解釋它,它在瀏覽器中運行整個dart2js編譯器。

所以你可以做到這一點,得到的AST和解釋。您也可以使用Analyzer軟件包來獲取AST。分析器的表示比dart2js的內部表現更爲穩定,並且更容易依賴,因爲您可以僅依賴於包而不是SDK的內部。 https://pub.dartlang.org/packages/analyzer