2012-06-22 2 views
1

들소 오류 메시지의 형식을 변경할 수있는 방법이 있습니까? 예를 들어 syntax error, unexpected T_ID, expected ';' or T_IMPORTunexpected id, expected a semicolon or import이라고 말하면서 - $end과 같이 두말 할 필요가 없습니다.들소 오류 메시지의 형식을 변경 하시겠습니까?

나는 문자열을 수정하기 위해 문자열 연산을 할 수 있지만 최악의 경우는 조금 우스운 것 같다. 위해

+0

쉽게 수정 토큰에 의미있는 이름을 부여하는 것입니다. 당신은 T_SEMICOLON과 같은 것으로 당신의 tokeniser에''; ''를 정의하고 싶을 것이다. 토큰 이름을 소문자로 변환하고'T_'을 제거하는 "미리 정하기"기능을 작성할 수도 있습니다. –

+0

[http://stackoverflow.com/questions/27943284/how-to-get-more-parse-error-information-from-lex-yacc](http://stackoverflow.com/questions/27943284/how -to-get-more-parse-error-information-lex-yacc) –

답변

1

syntax error, unexpected T_ID 

대신

%token T_ID 

%token T_ID "identifier" 

을 수행하는 것이 더 나은 무언가를 얻을 수와 메시지가 될 것입니다

syntax error, unexpected identifier 
의 특정 경우

은 이렇게 :

%token T_EOF 0 "end of file" 
관련 문제