1

自動化された方法で、javascript ファイル (実際には複数のプログラム言語ですが、現時点では javascript で十分です) を変更しようとしています。

私はメタプログラミング言語として Rascal に出くわしました。Java の場合と同じように (lang::Java を介して) Javascript の解析と変換を既にサポートしているかどうか疑問に思っています。

戻り値の前にステートメントを追加するなどの単純な AST 変換を開始するには、どこを見ればよいですか?

4

2 に答える 2

1

いいえ、すぐに使用できるものではありません。どこかで JavaScript 文法 (Rascal に変換できる SDF2 文法) の初歩的な開始点がありますが、単純な AST 変換の準備を整えるにはかなりの作業が必要になると思います。

于 2014-01-16T14:02:05.463 に答える
1

の標準ライブラリには、かなり優れた Javascript (ES5) 文法がありlang::javascript::saner::Syntaxます。(ここを参照してください: https://github.com/cwi-swat/rascal/blob/master/src/org/rascalmpl/library/lang/javascript/saner/Syntax.rsc )

この文法には 2 つの制限があります。

  • セミコロンが必要です。
  • コンマ式はサポートされていません。
于 2015-10-12T19:02:15.963 に答える