- 40
- 0
- 约4.12千字
- 约 5页
- 2020-10-05 发布于浙江
- 举报
4 Yacc
实验 用 工具构造语法分析器
一、实验目的
掌握移进-归约技术语法分析技术,利用语法分析器生成工具Yacc/Bison 实
现语法分析器的构造。
二、实验内容
利用语法分析器生成工具Yacc/Bison 编写一个语法分析程序,与词法分析器
结合,能够根据语言的上下文无关文法,识别输入的单词序列是否文法的句子。
三、实验要求
1.个人完成,提交实验报告。
2.实验报告中给出采用测试源代码片断,及其对应的最右推导过程 (形式可以
自行考虑,如依次给出推导使用的产生式)。
例如,程序片断
四、实验步骤
1、根据文法编写.y文件:
%{
#includectype.h
#includestdio.h
#defineYYSIYPEdouble
voidyyerror(char *s)
{
printf(%s\n,s);
}
%}
%tokenNUM
%tokenBASICIF ELSEDOBREAK REALTRUE FALSEIDLE INDEX
%tokenWHILEAND OREQNE GE
%left +-
%left */
%rightUMINUS
%%
program :block {printf(program-block\n);}
;
block:{declsstmts} {printf(block-decls stmts\n);}
;
decls :declsdecl {printf(decls-declsdecl\n);}
| {printf(\decls-E\n);}
;
decl :typeID ; {printf(decl-typeid\n);}
;
type :type[NUM ] {printf(type-type [num]\n);}
|BASIC {printf(type-basic\n);}
;
stmts :stmts stmt {printf(stmts-stmts stmt\n);}
| {printf(stmts-E\n);}
;
stmt :loc bool; {printf(stmt-loc bool\n);}
|IF (bool) stmt {printf(stmt-if(bool) stmt\n);}
|IF (bool) stmt ELSE stmt {printf(stmt-if(bool) stmt else stmt\n);}
|WHILE (bool)stmt {printf(stmt-while(bool) stmt\n);}
|DO stmtWHILE (bool); {printf(stmt--do stmtwhile(bool)\n);}
|BREAK ; {printf(stmt-break\n);}
|block {printf(stmt-block\n);}
;
loc :loc[bool] {printf(loc-loc[bool]\n);}
|ID {printf(loc-id\n);}
;
bool :boolORjoin {printf(bool-bool||join\n);}
|join {printf(bool-join\n);}
;
join :joinAND equality {printf(join-join equality\n);}
|equality {printf(join-equality\n);}
;
equality :equality EQrel {printf(equality-equality rel\n);}
|equa
您可能关注的文档
- 实验室安全事故案例.doc
- 实验室安全卫生值日表、值班日志.doc
- 实验室安全用电管理制度.doc
- 实验室安全之实验室人员出入管理制度.doc
- 实验室安全知识复习题.doc
- 实验室生物安全自查制度 2.doc
- 实验室体系文件宣贯考核试题.doc
- 实验室通风管道施工通病几大问题盘点(2).doc
- 实验室通风管道施工通病几大问题盘点(3).doc
- 实验室通宵实验审批表.doc
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
最近下载
- 2023年浙江省公务员考试行测真题及答案(A卷).doc VIP
- 2025年河北对口医学题库及答案.doc VIP
- 餐饮美学基础 课件 模块四 餐厅民俗美学.pptx
- (山东)建筑与结构工程施工资料表格汇编(鲁JJ001-074).pdf VIP
- 餐饮美学基础 课件 模块三 餐厅环境美学.pptx
- 2025年长沙电力职业技术学院单招笔试职业技能考核试题库含答案解析.docx VIP
- 雷克萨斯-Lexus NX-产品使用说明书-NX200-ZGZ10L-AWXLPC2-NX200NX200t_OM78064C_01-1412-001.pdf VIP
- 小学语文五年级第二学期第二单元整体作业设计.docx
- 外研版小学英语(三年级起点)三年级上册Module2-Unit1同步检测.doc VIP
- 2025年河南省平顶山市中考生物试卷(含答案).pdf
原创力文档

文档评论(0)