Does Rascal have language support for parsing and transforming Javascript?

StackOverflow https://stackoverflow.com/questions/21147522

  •  28-09-2022
  •  | 
  •  

Pergunta

I'm trying to make modifications to javascript files (in fact multiple prog. languages, but javascript will do for the moment), in an automated manner.

I came across Rascal as a meta-programming language. I'm just wondering if it already has support for parsing and transforming Javascript, the way it has for Java (through lang::Java)?

Where should I be looking, to start making simple AST transforms like adding a statement, before a return, etc?

Foi útil?

Solução

No not out-of-the-box. We have some rudimentary start of a javascript grammar somewhere (the SDF2 grammar which can be transformed to Rascal), but I am guessing it would take some serious work to make it ready for simple AST transforms.

Outras dicas

We have pretty good Javascript (ES5) grammar in the standard library in lang::javascript::saner::Syntax. (See here: https://github.com/cwi-swat/rascal/blob/master/src/org/rascalmpl/library/lang/javascript/saner/Syntax.rsc)

This grammar has two limitations:

  • Semi-colons are required.
  • No support for comma expressions.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top