gpt4 book ai didi

java - 如何手动将节点放入JavaCC堆栈上?

转载 作者:行者123 更新时间:2023-12-01 10:09:06 25 4
gpt4 key购买 nike

我有这样的生产规则:

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() 时相同的方式放置在节点堆栈上是制作吗?

最佳答案

这似乎有效:
无效 prod12() #void:
{expr expr=null;}
{
产品 1() | expr=prod2() {jjtree.pushNode(expr);}
}

关于java - 如何手动将节点放入JavaCC堆栈上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36261101/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com