2012-05-10 2 views
2

그래서 원하는 모든 문법을 작성했으며 모든 것이 원활하게 작동합니다. 문법이 발생할 때 나는 아무런 행동도하지 않습니다. 구문 분석 오류에 대해 yyerror를 사용하는 방법

는, 내가 내 파서가 발생한 오류에 대한 자세한 정보를 얻으려면 %의 오류 자세한 추가 할 필요가 어디 선가 읽은 내 yyerror 서브 기능

int yyerror (const char *s) 
{              
    printf("parser error %s \n ",s); 
    return 0; 
} 

음의 정의입니다; 오류가 error_verbose 언급에도 불구하고, 내가 확인했다 : 나는 그것을 추가하려고 할 때 나는 플렉스, 들소를 이용하고 있고
편집 VS2010로를 연결 한 고려이 오류 메시지

error: unrecognized: %error_verbose

있어 밑줄 대신 대시를 사용하여 오류 - 자세한 정보를 전달합니다.

답변

0

이상하게도 리눅스의 최신 바이슨 버전에서 % error-verbose를 시도했을 때 정상적으로 작동했지만 Windows 버전에서는 작동하지 않았습니다.
Windows에서 사용중인 버전의 버그인지 아니면 지원되지 않는 기능인지 확실하지 않습니다.

+0

Windows 용 bison의 고대 버전 일 가능성이 큽니다. 'bison --version' 명령 행에서 어떤 버전인지 알려 주어야합니다. –

1

대시와 함께 %error-verbose이지만 오류 메시지에 밑줄이 표시됩니다.

+0

% error-verbose를 추가했는데 확인했습니다. Bison이 % error_verbose를 발견했습니다 ... – Fingolfin

관련 문제