⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ch3-03.y

📁 lex 和yacc 的中文指南
💻 Y
字号:
%{double vbltable[26];%}%union {	double dval;	int vblno;}%token <vblno> NAME%token <dval> NUMBER%left '-' '+'%left '*' '/'%nonassoc UMINUS%type <dval> expression%%statement_list:	statement '\n'	|	statement_list statement '\n'	;statement:	NAME '=' expression	{ vbltable[$1] = $3; }	|	expression		{ printf("= %g\n", $1); }	;expression:	expression '+' expression { $$ = $1 + $3; }	|	expression '-' expression { $$ = $1 - $3; }	|	expression '*' expression { $$ = $1 * $3; }	|	expression '/' expression				{	if($3 == 0.0)						yyerror("divide by zero");					else						$$ = $1 / $3;				}	|	'-' expression %prec UMINUS	{ $$ = -$2; }	|	'(' expression ')'	{ $$ = $2; }	|	NUMBER	|	NAME			{ $$ = vbltable[$1]; }	;%%

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -