방금 ANTLR4의 알파 버전을 사용하고있는 빈 프로젝트와 일치하는 프로젝트를 업그레이드했습니다. ANTLR4가 그것이 일치하고 공백으로 설정되었다는 경고를 던지는 것이 모두 일어날 것입니다.Antlr4 - lexer에서 빈 집합 매치
이제 ANTLR 언어 지원 1.2.1을 사용하고 파서 생성기는 지금 오류가 발생 4.3.0 : - 두 곳에서 "오류 1 '>'는 렉서 규칙을 맞추어 나에게 완전한 놀라움으로 온을" 빈 세트와 일치해야합니다.
가에 고장 코드의 일부 :
mode FILE_MODE;
ASCII: FASCII -> mode(PATH_MODE);
UTF8: FUTF8 -> mode(PATH_MODE);
UTF16: FUTF16 -> mode(PATH_MODE);
EMPTY_FILE_TYPE: -> skip, mode(PATH_MODE); // Throws the error on this line
이 어떻게 지금 빈 규칙과 일치 하는가?
테리
예제에 표시된 빈 세트를 해결했다고 생각하지만 현재 해결해야 할 빈 세트가 필요한 또 다른 훨씬 복잡한 모드로 인해 컴파일 할 수 없습니다. 나는 일련의 조각들로 모드를 깨뜨릴 수 있을지도 모른다. 그런 다음 훨씬 더 큰 조각으로 조각들을 함께 다시 붙인 다음 '?' 운영자. 그러나 이것은 조각이 그것의 타입을 변경할 수있는 능력을 갖도록 요구한다. ** 조각 MODIFIER_ID : FIDENT -> 유형 (IDENT); **. 컴파일러는 구문을 허용하지만 어디에도 문서화 된 것을 본 적이 없습니다. 그래서 구문을 합법적으로 바꾸기 시작하기 전에? – Terry151151
생성 된 코드를 살펴보십시오. 꽤 읽을 수 있습니다. – GRosenberg