没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
%{
#include<ctype.h>
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define YYSTYPE char*
%}
%start CX CXT BLSM BLSMB LX BLB YJC YJ FHYJ FZYJ TJYJ XHYJ BDS XIANG YZ BEBDS GXBDS GX
%token PROGRAM ID BEGIN END VAR INTEGER IF THEN ELSE WHILE DO CHENG JIA TANHAO ANDAND OROR XIAOYU DAYU XIAOYUDENGYU DAYUDENGYU DENGYU XIAOYUDAYU ZUOKUOHAO YOUKUOHAO BL BZF CS
%nonassoc LOWER_THAN_ELSE
%nonassoc ELSE
%%
CX: PROGRAM 'ID' CXT {printf("程序-->program id;程序体\n");};
CXT: BLSM;BEGIN YJC END {printf("<程序体>--><变量说明>;begin <语句串> end\n");};
BLSM:VAR BLSMB {printf("<变量说明>-->var<变量说明表>\n");};
BLSMB: BLB:LX {printf("<变量说明表>--><变量表>:<类型>\n");}
|BLB:LX;BLSMB {printf("<变量说明表>--><变量表>:<类型>;<变量说明表>\n");};
LX:INTEGER {printf("<类型>-->integer\n");};
BLB:BL {printf("<变量表>--><变量>\n");}
|BL;BLB {printf("<变量表>--><变量>;<变量表>\n");};
YJV:YJ {printf("<语句串>--<语句>\n");}
|YJ;YJV {printf("<语句串>--><语句>;<语句串>\n");};
YJ: FHYJ {printf("<语句>--><复合语句>\n");}
|FZYJ {printf("<语句>--><赋值语句>\n");}
|TJYJ {printf("<语句>--><条件语句>\n");}
|XHYJ {printf("<语句>--><循环语句>\n");};
FHYJ: BEGIN YJC END {printf("<复合语句>-->begin <语句串> end \n");};
FZYJ: ID MAOHAODENGYU BDS {printf("<赋值语句>-->id:=<表达式>\n");};
TJYJ: IF BEBDS THEN YJ {printf("<条件语句>-->if <布尔表达式> then <语句>\n");}
| IF BEBDS THEN YV ELSE YJ {printf("<条件语句>--><布尔表达式> then <语句> else <语句>\n");};
#include<ctype.h>
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define YYSTYPE char*
%}
%start CX CXT BLSM BLSMB LX BLB YJC YJ FHYJ FZYJ TJYJ XHYJ BDS XIANG YZ BEBDS GXBDS GX
%token PROGRAM ID BEGIN END VAR INTEGER IF THEN ELSE WHILE DO CHENG JIA TANHAO ANDAND OROR XIAOYU DAYU XIAOYUDENGYU DAYUDENGYU DENGYU XIAOYUDAYU ZUOKUOHAO YOUKUOHAO BL BZF CS
%nonassoc LOWER_THAN_ELSE
%nonassoc ELSE
%%
CX: PROGRAM 'ID' CXT {printf("程序-->program id;程序体\n");};
CXT: BLSM;BEGIN YJC END {printf("<程序体>--><变量说明>;begin <语句串> end\n");};
BLSM:VAR BLSMB {printf("<变量说明>-->var<变量说明表>\n");};
BLSMB: BLB:LX {printf("<变量说明表>--><变量表>:<类型>\n");}
|BLB:LX;BLSMB {printf("<变量说明表>--><变量表>:<类型>;<变量说明表>\n");};
LX:INTEGER {printf("<类型>-->integer\n");};
BLB:BL {printf("<变量表>--><变量>\n");}
|BL;BLB {printf("<变量表>--><变量>;<变量表>\n");};
YJV:YJ {printf("<语句串>--<语句>\n");}
|YJ;YJV {printf("<语句串>--><语句>;<语句串>\n");};
YJ: FHYJ {printf("<语句>--><复合语句>\n");}
|FZYJ {printf("<语句>--><赋值语句>\n");}
|TJYJ {printf("<语句>--><条件语句>\n");}
|XHYJ {printf("<语句>--><循环语句>\n");};
FHYJ: BEGIN YJC END {printf("<复合语句>-->begin <语句串> end \n");};
FZYJ: ID MAOHAODENGYU BDS {printf("<赋值语句>-->id:=<表达式>\n");};
TJYJ: IF BEBDS THEN YJ {printf("<条件语句>-->if <布尔表达式> then <语句>\n");}
| IF BEBDS THEN YV ELSE YJ {printf("<条件语句>--><布尔表达式> then <语句> else <语句>\n");};
资源评论
- 丨brokenYouth2014-04-21只能说一般吧,但是还是可以参考,谢谢~~~
- u0103895652015-07-13可以用,但是写的注释不是很详细,想深究有点看不懂
- shenjianming0012014-03-15还行,可以用
oakaimic
- 粉丝: 0
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功