我正在考虑用飞镖写一个飞镖翻译器。
由于dart to javascript编译器是用dart编写的,是否可以使用它从dart源代码中获取AST?
我该怎么做?这种方法可以在浏览器中使用吗?
答案 0 :(得分:2)
是的,这大致是try.dartlang.org所做的。我粗略地说,因为它没有解释它,它在浏览器中运行整个dart2js编译器。
所以你可以这样做,得到AST并解释它。您也可以使用Analyzer包来获取AST。分析器的表示形式往往比dart2js内部表示更稳定,并且更容易依赖,因为您可以依赖于包而不是SDK的内部。 https://pub.dartlang.org/packages/analyzer