0
AST에서 명령어의 행 번호를 찾는 방법.ANTLR3 : AST의 명령어를 Java 소스 파일의 행 번호에 매핑하는 방법
예 : 다음 코드
24
> foo에 보이드() {
25>에서 System.out.println ("안녕하세요");
26>}
인쇄 문에 해당하는 AST 내가 생성 된 트리에서 "시스템"의 줄 번호를 검색 할
METHOD_CALL
.
.
System
out
println
ARGUMENT_LIST
EXPR
" hi "
입니다. "시스템"에 대한 대답은 25 (소스 코드의 줄 번호) 여야합니다.
안녕하세요 저는 다음과 같은 입력을 위해 그것을 시도); \ n \ n } \ n \ n } "여기서"\ n "은 줄 바꾸기를 나타냅니다. 내가 Token.getLine()을 말할 때 출력은 1이고, 다른 모든 명령어에 대해서도 같다. 내가 뭐 잘못하고 있니? – sri91
나는 문제를 알아 냈다. 나는 ANTLRFileStream 대신 ANTLRStringStream을 사용했다. 고맙습니다. – sri91