2013-06-05 2 views
0

문제가 발생할 때 오류 메시지, 열 및 행을보고하고 싶습니다 .yylineno는 정상적으로 작동하지만 정상적으로 작동하지만 @ 1.first_column의 값은 아무리 수정해도 0입니다. 테스트 텍스트.@ 1.first_column의 값은 항상 0입니다.

Yacc에 파일 조각 :

set:SET PARENTHESIS reference EQUAL expression CLOSE_PARENTHESIS {$$ = set_directive($3,$5); } 
|error {yyerrok; yyclearin;printf("column is %d",@1.first_column);yyerror("Set directive error!",@1.first_column);YYABORT;} 
; 

나는 비슷한 문제에 더 검색이 없다, 저를 도와주세요!

답변

1

flex은 열 필드를 채우지 않습니다. 너 혼자해야 해. John Levine의 추천 도서 인 Flex and Bison에 예제가 있습니다. 다행스럽게도 해당 섹션은 (현재) O'Reilly로 이용 가능합니다. excerpt

0

어휘 분석기에 yylloc을 설정하고 있습니까? 그렇지 않다면 언급 한 값에 대해 1 이외의 것을 보지 못할 것입니다.