1
Antlr3을 사용하고 있습니다.antlr3의 숨겨진 토큰 관리
print a;
print b;
이 모든 줄 바꿈 (\ n을)를 무시합니다 숨겨진 channel.So 파서 나는 줄 바꿈 (\ n을)를 유지 렉서의 parser.And에 (DB에 저장) 내 입력 파일입니다 후론 나는 그것이
print a;
print b;
처럼 누락 나의 새로운 라인 (\ n을)를 변경합니다 (DB에서) 입력 파일을 가져올 때 그것을 실행! ... 나는이 줄 바꿈을 검색 할 수있는 방법 (\ n)도
감사합니다 ...하지만 어떻게 내가이 숨겨진 토큰을 검색 할 수 있습니까? 사실 "CommonTokenStream tokenStream = new CommonTokenStream (렉서);" 나는 숨겨진 토큰을 얻지 못할거야! 맞지? – JESSY
아니, 그냥 토큰 스트림을 만듭니다. 그러나 이제는'tokenStream.fill();'과'tokenStream.getTokens(); '를 호출하면 모든 토큰이 반환됩니다. –
트리 (파서가 생성)를 기반으로 스크립트를 다시 생성했습니다. 숨겨진 토큰을 수집 할 수 있습니다. 그러나 스크립트를 다시 생성하는 동안 트리 노드가 숨겨진 토큰을 추가해야합니까? 어떻게 트리 노드와 숨겨진 토큰을 관련시킬 수 있습니까? – JESSY