0

我想准确地导出 dart 编译器(dart2js 或 dartdevc 或其他)或 dart 分析器的源子集,它可以 1. 转换一串 dart 代码(或者更好的是每个代表一个编译单元的字符串列表) 转换成类型化的语法树,2. 被翻译成 js,3. 在浏览器中运行。一般来说,是否有一个标记的子集可以满足这些要求,就是它,我如何才能找到它。

4

1 回答 1

1

使用 完成#1 相当简单package:analyzer,它与用于提供 IDE 提示和自动完成等的静态分析器相同。Dart 团队目前正在努力将他们的编译器前端统一在主 API 上,但现在,analyzer绝对应该照顾大多数你需要什么。

这是获取语法树并对其进行分析的示例:https ://github.com/thosakwe/analyzer_examples/blob/master/analyze_a_file/analyze_a_file.dart

至于 #2,您可能必须分叉dart-lang/sdk回购并自行调整dart2js. 它没有作为独立包发布。否则,您可以编写自己的编译器,这可能不会很有趣。

  1. 我想你必须弄清楚如何让#2 启动并运行,但假设你可以编译 JavaScript 源代码,你可以eval在编译后直接编译。

要回答您的最后一个问题,不,AFAIK,没有可用的子集dart2js可以让您创建自己的 Dart-to-JavaScript 编译器。

于 2017-08-08T14:52:27.980 回答