我在javacc中写了if语句,不知道如何忽略if主体,如果条件为false,首先我声明两个对象类Token和boolean变量,然后我检查返回方法condition(),然后我想跳过当condition为false时块的其余部分。如何做到这一点?
void ifElse() :
{
Token start;
Token next;
boolean cond = false;
}
{
{
start = token;
}
< IF > < LB> cond = condition() < RB> < LP>
{
if (cond == false)
{
String tok = (String) token.image;
while (tok.equals("}"))
{
token = token.next;
}
}
}
(
ifElse()
| declaration()
)*
< RP>
(< ELSE > < LP> < RP >)?
}发布于 2012-06-06 18:56:45
我已经重新配置了您的代码,它几乎可以正常工作。避开正文但不停止。
`void ifElse() :
{
boolean cond = false;
}
{
< IF > < LB> cond = condition() < RB> < LP>
{
if (cond == false)
{
while (!token.image.equals("}"))
{
token = getNextToken();
}
}
}
(
ifElse()
| declaration()
)*
< RP>
(< ELSE > < LP> < RP >)?
}`https://stackoverflow.com/questions/10852324
复制相似问题