如何在 xtend 生成器中将解析树的一部分从输入转发到输出?
例如,在某些输出代码生成的情况下,我不需要解析某些构造函数/函数的参数。我只需要将这些常量、变量名、表达式等直接放到输出代码中(前大括号内的所有内容):
输入 DSL 代码:
CREATE_OBJECT_O(3, a, 5+6 )
输出(可能是一些 Java 或 C++ 代码):
Object o = new Object_Impl(3, a, 5+6 )
xtext 语法的一部分:
ParameterList:
(parameter+=Parameter ( "," parameter+=Parameter)* )?
;
Parameter:
variableExpression=VariableExpression |(texts+=TextInParameter | macroSubstitutions+=MacroSubstitution)*;