2017-12-29 18 views
0

나는 리스너와 오버라이드 된 컨텍스트를 가지고있다. 자식 컨텍스트에서 종료 할 때 해당 텍스트를 변경하고 싶습니다. 그런 다음 엔 클로징 컨텍스트에서 일반적인 GetText() 호출을 사용하여 변경된 컨텍스트를 가져옵니다. 달성 가능합니까? 방법? 감사합니다Antlr : 컨텍스트의 텍스트를 변경하는 방법?

답변

1

토큰은 일반적으로 메서드가있는 CommonToken 클래스의 인스턴스입니다.

+0

마이크. 나는 토큰을 던지고 있지 않았다. 파서에서 규칙의 텍스트를 변경하는 직접적인 방법이 없다는 것은 추측입니다. 특히 몇 개의 토큰으로 구성되어있을 때 그렇습니다. 내가 생각할 수있는 유일한 방법은 하나의 토큰에 원하는 텍스트를 설정하고 다른 모든 문자열을 빈 문자열로 설정하는 것입니다. –

+0

글쎄, 구문 분석 트리를 변경하지는 않지만 의미 상 단계에서 이러한 텍스트 처리를 수행합니다. 구문 분석 트리를 걸을 때 모든 텍스트를 가져 와서 ** 사용자의 요구에 맞게 조작 할 수 있습니다. 'setText()'는 간단한 작업을위한 편의 기능 일뿐입니다. –