0
if 문을 javacc에 작성하고 조건이 false 인 경우 본문을 무시하는 방법을 모르겠 음 먼저 두 객체 클래스 토큰 및 부울 변수를 선언하고 다음으로 return method condition(), next 조건이 거짓 일 때 나머지 블록을 건너 뛰고 싶습니다. 그렇게하는 방법?javacc if 문
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>)?
}
아니요, 사용자가 컴파일하려고합니다. 파싱하고 실행하지 않습니다. – EJP
@EJP 더 명확하게 말해 줄 수 있습니까? 구문 분석을 작성하지만 제대로 작동하지 않는다는 것을 알고 있습니다. – quba88
'조건이 거짓 일 때'블록의 나머지 부분을 건너 뛰도록해야한다고 생각하는 경우에만 '. 구문 분석을 실행과 혼동하고 있습니다. 파서는 원하는 비트가 아닌 전체 프로그램을 처리해야합니다. 나는 그것을 어떻게 더 명확하게 넣을 지 모른다. – EJP