【发布时间】:2018-01-16 04:32:10
【问题描述】:
我想准确地导出 dart 编译器(dart2js 或 dartdevc 或其他)或 dart 分析器的源子集,它可以 1. 转换 dart 代码字符串(或者更好的是每个字符串表示的字符串列表一个编译单元)转换成一个类型化的语法树,2.被翻译成js,3.在浏览器中运行。一般来说,是否有一个标记的子集可以满足这些要求,就是它,我如何才能找到它。
【问题讨论】:
标签: dart dart2js dart-analyzer
我想准确地导出 dart 编译器(dart2js 或 dartdevc 或其他)或 dart 分析器的源子集,它可以 1. 转换 dart 代码字符串(或者更好的是每个字符串表示的字符串列表一个编译单元)转换成一个类型化的语法树,2.被翻译成js,3.在浏览器中运行。一般来说,是否有一个标记的子集可以满足这些要求,就是它,我如何才能找到它。
【问题讨论】:
标签: dart dart2js dart-analyzer
使用package:analyzer 完成#1 相当简单,它与用于提供IDE 提示和自动完成等的静态分析器相同。Dart 团队目前正在努力将他们的编译器前端统一在主API 上,但目前, analyzer 绝对可以满足您的大部分需求。
以下是获取语法树并对其进行分析的示例:https://github.com/thosakwe/analyzer_examples/blob/master/analyze_a_file/analyze_a_file.dart
至于 #2,您可能需要分叉 dart-lang/sdk 存储库并对 dart2js 进行自己的调整。它没有作为独立包发布。否则,您可以编写自己的编译器,这可能不会很有趣。
eval 它。要回答您的最后一个问题,不,AFAIK,没有可用的 dart2js 子集可让您创建自己的 Dart-to-JavaScript 编译器。
【讨论】: