2014-11-09 99 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