javaccでifステートメントを記述しましたが、条件がfalseの場合に本体を無視する方法がわかりません。最初に2つのオブジェクトクラスTokenとブール変数を宣言し、次にどのreturnメソッド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 >)?
}