У меня есть правило производства, как это:Как разместить узел в стеке JavaCC вручную?
void prod12() #void:
{}
{
prod1() | prod2()
}
void prod1() :
{}{
...
}
void prod2() :
{}{
...
}
то есть prod12()
не производит узел, вместо этого, он оставляет узлы, произведенные prod1()
или prod2()
. Теперь я хочу prod2()
быть обычная функция, которая дает результат (типа Expr), и я хочу, чтобы поместить этот результат на стеке, как это было, когда prod2()
было производство: `
void prod12() #void:
{Expr expr=null;}
{
prod1() | expr=prod2()
}
void prod1() :
{}{
...
}
Expr prod2() {
... return expr;
}
Что еще нужно Я делаю, чтобы результат prod2()
был помещен в стек узла так же, как и когда prod2()
был продуктом?
Пробовали ли вы смотрите на код, созданный для prod1? Вы можете найти ответ. –