문이 EOL로 구분되는 언어를 구문 분석하려고합니다. 파서는 하나에 의해 분리 문과 코드를 거부여러 EOL을 하나로 처리하는 ANTLR?
stmt_sequence : (stmt EOL)* ;
: 파서 문법이 사용 후
EOL : ('\r'? '\n')+ ; // any number of consecutive linefeeds counts as a single EOL
하고 : I는 (워드 프로세서의 예에서 복사) 렉서 문법이 시도 더 많은 빈 줄.
그러나,이 성공 : 내가 ANTLR의 안돼서
EOL : '\r'? '\n' ;
stmt_sequence : (stmt EOL+)* ;
. 둘 다 작동해야하는 것 같습니다. 욕심 스럽거나 비합법적 인 렉서 스캔에 대해 이해할 수없는 부분이 있습니까?
나는 이것을 3.2와 3.4 모두 시도했다. Eclipse에서 ANTLR IDE를 실행 중입니다. 인디고 OS X 10.6.
감사합니다.