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

📄 myyacc.y

📁 一个使用flex和bison的小例子
💻 Y
字号:
%{
#include <ctype.h>
#include<stdio.h>
#define MSDOS
int linecount;
extern int yylex();
extern int yyerror();
%}
%union{
   char chr;
   char *str;
   int integer;
   float real;
   double dbl;
   }
%token number
%type <real> expr number
%left '+' '-'
%left '*' '/'
%right uminus
%%
lines:	lines expr'\n'
	{
	 printf("line %d:%g\n",linecount++,$2);
	}
	|lines'\n'
	{
	 linecount++;
	}
	|
	;
expr:   expr'+'expr
	{
	 $$=$1+$3;
	}
	|expr '-' expr
	{
	 $$=$1-$3;
	}
	|expr '*' expr
	{
	 $$=$1*$3;
	}
	| expr '/' expr
	{
	 $$=$1/$3;
	}
	| '(' expr ')'
	{
	 $$=$2;
	}
	| '-' expr %prec uminus
	{
	 $$=-$2;
	}
	| number
	;
%%
int yyerror(s)
char *s;
{
 fprintf(stderr,"syntactic error:%s\n",s);
 return 0;
}

⌨️ 快捷键说明

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