2
ANTLR 문법에는 쿼리가 단일 조각이거나 PLUS 기호와 함께 결합 된 조각 목록 일 수 있다고하는 규칙이 있습니다. 출력으로 AST를 생성하고 있는데, 조각의 수에 따라 노드를 다시 작성하는 것이 가능해야합니다.Antlr : 목록을 반복 할 때 트리를 다르게 다시 쓸 수 있습니까?
하나의 조각이 있으면 하나의 노드 만 있어야합니다. 여러 프래그먼트가있는 경우 루트 노드를 PLUS로, 모든 프래그먼트를 자식으로 원합니다. 이것이 가능한가?
query
: frag (PLUS frag)* -> ^(PLUS frag*)
;
감사 @Bart을! 나는 당신이 술어를 결합하고 그런 재 작성을 할 수 있다는 것을 몰랐다. –
@ PPC-Coder는 환영합니다. –