我回来了,现在正在编写我自己的语言和我的操作系统,但是由于我现在开始开发自己的开发语言,因此在使用Bison时我遇到了一些错误,我不知道如何解决它们.这是我的*.y文件代码:
input:
| input line
;
line: '\n'
| exp '\n' { printf ("\t%.10g\n", $1); }
;
exp: NUM { $$ = $1; }
| exp exp '+' { $$ = $1 + $2; }
| exp exp '-' { $$ = $1 - $2; }
| exp exp '*' { $$ = $1 * $2; }
| exp exp '/' { $$ = $1 / $2; }
/* Exponentiation */
| exp exp '^' { $$ = pow ($1, $2); }
/* Unary minus */
| exp 'n' { $$ = -$1; }
;
%%
Run Code Online (Sandbox Code Playgroud)
当我尝试使用这个源代码的Bison时,我收到此错误:
calc.y:1.1-5:语法错误,意外标识符:
您需要在规则之前和之后使用'%%'(或者严格地说,如果在第二个'%%'之后没有代码,则可以省略该行).
在第一个'%%'之前,您还需要'%token NUM'; 语法然后通过野牛.
归档时间: |
|
查看次数: |
4430 次 |
最近记录: |