2010-06-17 3 views
0

제 언어 용 전처리기를 쓰고 있습니다. 전처리 기에서 소스 파일에없는 행을 출력했습니다. 이로 인해 Anltr이 생성하는 모든 오류 메시지가 한 줄씩 증가합니다.구문 분석기가 렉서에게 개행을 무시하도록 말할 수 있습니까?

Lexer는 줄 수를 처리하므로 파서가 줄 수를 줄이거 나 특정 줄 바꿈을 무시하도록 렉서에 알리는 방법이 있는지 궁금합니다.

이 문제를 해결하는 방법에 대한 다른 제안도 있습니다.

내가 가진 유일한 제약은 추가 코드를 기존 코드와 인라인으로 배치하는 것입니다. 나는 파싱을 제정신으로 유지하기 위해 그것을 계속 유지하고 싶다.

답변

0

전 처리기 라인을 제거하고 을 새로 추가하는 대신 줄 바꿈을 사용하여으로 바꿉니 까? 그런 다음 전 처리기의 출력을 구문 분석하십시오.

+0

귀하의 답변을 이해할 수 있는지 확실하지 않습니다. 전 처리기는 일반 언어 파서가 구문 분석해야하는 파일에 추가 행을 추가합니다. 이로 인해 Antlr에 의해 생성 된 메시지에서 회선 번호가 꺼집니다. – chollida

관련 문제