내가 ANTLRWorks을 사용하고 에 대한 디렉토리를 해결하기 위해, 그리고 @header 작업을 사용하여 내 자바 패키지를 지정 : @header {패키지 com.xxx.xxx.xxx.compiler} 을 그러나 Java 코드를 생성 할 때 src/com/xxx/xxx/xxx/compiler보다는 루트 src 디렉토리에 생성됩니다. 결과적으로, 그것은
저는 Java에서 파서 클래스를 생성하기 위해 ANTLR 3.1 및 ANTLRWorks를 사용하고 있습니다. 생성 된 클래스를 Java final 키워드로 표시하면 파서가 더 잘 수행됩니다. 문제는 ANTLR 문법에서 코드를 다시 생성 할 때마다 수동으로이 키워드를 추가하는 것입니다. 문법에서 생성 된 파서 클래스 정의에 최종 키워드를 추가하도록 ANTLR
중간 크기 언어의 문법을 작성 중이며 hh:mm:ss 형식의 시간 상수를 구현하려고합니다. 그러나 예를 들어 12:34:56을 timeLiteral으로 구문 분석하려고 할 때마다 숫자에 토큰 예외가 일치하지 않습니다. 아무도 내가 뭘 잘못하고 있을지 알아? 여기 은 현재 정의 된 관련 규정은 다음과 같습니다 timeLiteral
: timePair
에서 목록의 반환 값을 처리하기 : 나는 간단한 문법 규칙이를, 임의의 수의 요소와 목록을 말한다. 나는이 목록의 반환 값을 할당하고, 그 값은 생산에서 반환 된 값의 실제 목록이 될 가지고 싶었다면 list
: '[]'
| '[' value (COMMA value)* ']'
, 그것을 할 수있는 적절한 방법은 무엇입니까? 내가 대접하고있어 대안은