0
문법 작업에서 규칙 참조를 사용하려고했습니다.antlr 문법 동작에서 "java.lang.NoSuchFieldError"
string_decl_list : (string_decl)+;
string_decl : ('STRING' id ':=' str ';')
{//table.currentScope().define(new BaseDescriptor(), id.text, ValueType.STRING);
System.out.println($str.text);
};
str : STRINGLITERAL;
내 문법은 다음과 같습니다. 편집은 괜찮습니다. 하지만 내 파일을 분석하려고 할 때.
예외가 발생합니다.
Exception in thread "main" java.lang.NoSuchFieldError: str
at MicroParser.string_decl(MicroParser.java:368)
at MicroParser.string_decl_list(MicroParser.java:312)
at MicroParser.decl(MicroParser.java:246)
at MicroParser.pgm_body(MicroParser.java:187)
at MicroParser.program(MicroParser.java:107)
at Compiler.main(Compiler.java:32)
Java Result: 1
나는 누군가가 이것에 대해 저를 도울 수있는, 내가 바로 규칙 참조 할 수 있도록하고있는 중이 야 것 같아요? 난 당신이 파서 규칙 "STR"에 대한 반환 값이 없기 때문에이
당신은 그 문법 파일에 넣고 건가요? 늦은 답변 죄송합니다. –