自動化された方法で、javascript ファイル (実際には複数のプログラム言語ですが、現時点では javascript で十分です) を変更しようとしています。
私はメタプログラミング言語として Rascal に出くわしました。Java の場合と同じように (lang::Java を介して) Javascript の解析と変換を既にサポートしているかどうか疑問に思っています。
戻り値の前にステートメントを追加するなどの単純な AST 変換を開始するには、どこを見ればよいですか?
自動化された方法で、javascript ファイル (実際には複数のプログラム言語ですが、現時点では javascript で十分です) を変更しようとしています。
私はメタプログラミング言語として Rascal に出くわしました。Java の場合と同じように (lang::Java を介して) Javascript の解析と変換を既にサポートしているかどうか疑問に思っています。
戻り値の前にステートメントを追加するなどの単純な AST 変換を開始するには、どこを見ればよいですか?
いいえ、すぐに使用できるものではありません。どこかで JavaScript 文法 (Rascal に変換できる SDF2 文法) の初歩的な開始点がありますが、単純な AST 変換の準備を整えるにはかなりの作業が必要になると思います。
の標準ライブラリには、かなり優れた Javascript (ES5) 文法がありlang::javascript::saner::Syntax
ます。(ここを参照してください: https://github.com/cwi-swat/rascal/blob/master/src/org/rascalmpl/library/lang/javascript/saner/Syntax.rsc )
この文法には 2 つの制限があります。