1

我正在尝试以自动方式对 javascript 文件(实际上是多种编程语言,但 javascript 暂时可以)进行修改。

我遇到了 Rascal 作为一种元编程语言。我只是想知道它是否已经支持解析和转换 Javascript,就像它对 Java 的方式一样(通过 lang::Java)?

我应该在哪里寻找,开始进行简单的 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 )

该语法有两个限制:

  • 分号是必需的。
  • 不支持逗号表达式。
于 2015-10-12T19:02:15.963 回答