간단한 비손 프로그램으로 컴파일 할 때 오류 1.1이 발생합니다. 구문 오류, 예기치 않은 파일 끝입니다. 들소 : 입력/출력 오류. 나는 들소 -d hw3.y를 사용하여 컴파일구문을 계속 가져 오는 간단한 들소 파일 1.1 오류
다음과 같이 코드는 다음과 같습니다 line
에 대한 당신은 생산에 ;
없는 한
%{
#include <stdio.h>
%}
%token NUMBER
%left '+' '-'
%left '*' '/'
%%
input
: /* allow empty input */
| input line
;
line
: expr '\n' { printf("Result is %f\n", $1); }
expr
: expr '+' term { $$ = $1 + $3; }
| expr '-' term { $$ = $1 - $3; }
| term { $$ = $1; }
;
term
: term '*' factor { $$ = $1 * $3; }
| term '/' factor { $$ = $1/$3; }
| factor { $$ = $1; }
;
factor
: '(' expr ')' { $$ = $2; }
| NUMBER { $$ = $1; }
| '-' NUMBER { $$ = -$2; }
;
%%
/* display error message */
int yyerror(char *errmsg) { printf("%s\n", errmsg); }
/* main */
int main() {
printf("type an expression:\n");
yyparse();
}
_ 그 _ 오류가 발생합니까? Bison을 실행할 때, 결과로 생성 된 C 코드를 컴파일 할 때 또는 파서를 실행할 때? Bison을 실행할 때라면 Bison을 통해 코드를 실행하려고 할 때 오류가 표시되지 않습니다. 어떤 버전의 Bison을 사용하고 있습니까? 이 코드가 사용중인 정확한 코드입니까? –