다음과 같은 내용으로 ANTLR로 문법을 만들려고합니다.ANTLR의>와 Whitespaces를 사용할 수 있습니까?
그것은 같은 식별자를 분석 할 수
> 문자가 뒤에있는 경우는 식별자를 포함하고, 다른 사업자보다 그 큰 때문에 푸> 바 식별자이다foo > bar > 67
.
그리고 그것은()가 필요
((a = 1) AND (b = 2)) OR (c = 3)
같은 일을 구문 분석합니다.
저는이 주제와 ANTLR에 정말 익숙하며 누군가 도와 드릴 수 있기를 바랍니다.
나는 현재이 문법
grammar testgrammer;
start : statement EOF;
statement
: operation (AND operation)*;
operation
: '(' ID OPERATOR INT ')';
AND : 'AND';
OPERATOR: '=' | '>';
ID
: ('a'..'z'| 'A'..'Z')+ (WS '>' WS ('a'..'z' | 'A'..'Z')+)?
;
WS
: ' '+ {skip();}
;
INT : '0'..'9'+
;
이있어하지만 난> 연산자와 같은 ID의> 사이 하우투 스위치를 알아낼 수 없습니다.
이미 직접 해봤습니까? –
현재 시도하고 있지만 antlrworks에 대한 몇 가지 문제가 있지만 곧 업데이트하려고합니다. – Sebastian