2014-03-03 3 views
2

antlr4의 구문 분석 트리에서 특정 토큰을 제외하고 싶습니다.구문 분석 트리에서 특정 토큰을 제외하십시오.

assignStatement: assignable EQ expression EOS; 

EQ: '='; 
EOS: ';'; 

결과 구문 분석 트리가 assignStatement의 아이들과 assignable, EQ, expressionEOS 포함

내가이 정의를 말한다. 일치하는 목적을 위해 구문 분석하는 동안 만 필요하기 때문에 여기에서 EQEOS을 제거 할 수있는 방법이 있습니까?

답변

2

ANTLR 4는 구문 분석 트리에서 일치하는 터미널을 생략하지 않습니다. 응용 프로그램에서 이러한 토큰에 액세스 할 필요는 없지만 이전에 작성한 문법을 ​​사용하는 새로운 응용 프로그램은 이전 응용 프로그램에서 사용하지 않은 요소에 자주 액세스해야한다는 경험이있었습니다. 구문 분석 트리에 모든 요소를 ​​포함함으로써 ANTLR 4를 사용하여 응용 프로그램의 장기 유지 관리 가능성을 개선하기 위해이 사례를 미리 고려합니다.

관련 문제