JavaScript Code Model
Всем привет.
Я для своих нужно написал JavaScript Code Model (JSCM), модель кода для языка JavaScript.
При помощи JSCM можно программно создавать JavaScript-код в виде объектной модели - и затем его сериализировать, анализировать или видоизменять. Ниже пример кода, который создаёт функцию factorial:
Выдаёт результат вида:
См. заодно:
Generating JavaScript Code with JavaScript Code Model
Лицензия BSD, страница проекта вот, код на SourceForge.
Если кому пригодится, буду рад.
Я для своих нужно написал JavaScript Code Model (JSCM), модель кода для языка JavaScript.
При помощи JSCM можно программно создавать JavaScript-код в виде объектной модели - и затем его сериализировать, анализировать или видоизменять. Ниже пример кода, который создаёт функцию factorial:
- // Instantiate the code model
- JSCodeModel codeModel = new CodeModelImpl();
- // Create the program
- JSProgram program = codeModel.program();
- // Add a function declaration
- JSFunctionDeclaration factorial = progra
m - .functionDeclaration("factorial");
- // Add a function parameter
- JSVariable x = factorial.parameter("x");
- // Create an integer literal
- JSDecimalIntegerLiteral one = codeModel.i
nteger(1); - // Add a return statement to the functio
n body - factorial.getBody()._return(
- x.le(one).cond(
- one,
- x.mul(factorial.getFunctionExpre
ssion().i() - .args(x.minus(one)))));
- // Write the program code to the System.o
ut - new CodeWriter(System.out).program(program)
;
Выдаёт результат вида:
- function factorial(x) {
- return x <= 1 ? 1 : x * factorial(x - 1);
- }
См. заодно:
Generating JavaScript Code with JavaScript Code Model
Лицензия BSD, страница проекта вот, код на SourceForge.
Если кому пригодится, буду рад.
