9

私は現在、私が設計した新しい言語仕様からカスタム AST を生成しています。このカスタム AST には、JavaScript コードを生成するために必要なすべての情報を使用して設計したさまざまなノードが含まれています。例えば:

いくつかの if 条件を含む JavaScript 関数に変換したい customExpressionNode があるとします。

私は現在、カスタム AST から新しい Javascript AST を生成するために、Babylon や Esprima などのライブラリを検討していますが、私が見たところ、これらのライブラリが使用する AST は非常に複雑です。また、jsコードをいくつかのファイルに出力してから、それらを解析してコンパイルすることも避けたいので、私の質問は次のとおりです。

JavaScript コードの生成に使用できる JavaScript 準拠の AST をプログラムで生成するより良い方法はありますか?

4

2 に答える 2

4

@babel/generatorをインストール

npm install --save-dev @babel/generator
const { default: generate } = require("@babel/generator");

Identifier(path) {
  console.log(generate(path.node).code); // code string
},


于 2020-02-07T08:48:28.633 に答える