- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编译实验
SAMPLE语言定义
字符集定义
字符集 → 字母│数字│单界符
字母 → A│B│…│Z│a│b│…│z
数字 → 0│1│2│…│9
单界符 → +│-│*│/│=│││(│)│[│]│:│. │; │, │
单词集定义
5.单词集 → 保留字│双界符│标识符│常数│单界符
6.保留字 → and│array│begin│bool│call│case│char│constant│dim│do│else│end│false│for│if│input│integer│not│of│or│output│procedure│program│read│real│repeat│set│stop│then│to│true│until│var│while│write
7.双界符 → │=│=│:= │/*│*/│..
8.标识符 → 字母│标识符 数字│标识符 字母
9.常数 → 整数│布尔常数│字符常数
10.整数 → 数字│整数 数字
11.布尔常数 → true│false
12.字符常数 → 除 {} 外的任意字符串
数据类型定义
13.类型 → integer│bool│char
表达式定义
14.表达式 → 算术表达式│布尔表达式│字符表达式
15.算术表达式 → 算术表达式 + 项│算术表达式 - 项│项
16.项 → 项 * 因子│项 / 因子│因子
17.因子 → 算术量│- 因子
18.算术量 → 整数│标识符│( 算术表达式 )
19.布尔表达式 → 布尔表达式 or 布尔项│布尔项
20.布尔项 → 布尔项 and 布因子│布因子
21.布因子 → 布尔量│not 布因子
22.布尔量 → 布尔常量│标识符│( 布尔表达式 )│
标识符 关系符 标识符│算术表达式 关系符 算术表达式
23.关系符 → ││=│=││=
24.字符表达式 → 字符常数│标识符
语句定义
25.语句 → 赋值句│if句│while句│repeat句│复合句
26.赋值句 → 标识符 := 算术表达式
27.if句→ if 布尔表达式 then 语句│if 布尔表达式 then 语句 else 语句
28.while句 → while 布尔表达式 do 语句
29.repeat句 → repeat 语句 until 布尔表达式
30.复合句 → begin 语句表 end
31.语句表 → 语句 ;语句表│语句
程序定义
32.程序 → program 标识符 ;变量说明 复合语句 .
33.变量说明 → var 变量定义│ε
34.变量定义 → 标识符表 :类型 ;变量定义│标识符表 :类型 ;
35.标识符表 → 标识符 ,标识符表│标识符
SIMPLE语言单词编码
单 词 种别码 单 词 种别码 单 词 种别码 and 1 output 21 * 41 array 2 procedure 22 */ 42 begin 3 program 23 + 43 bool 4 read 24 , 44 call 5 real 25 - 45 case 6 repeat 26 . 46 char 7 set 27 .. 47 constant 8 stop 28 / 48 dim 9 then 29 /* 49 do 10 to 30 : 50 else 11 true 31 := 51 end 12 until 32 ; 52 false 13 var 33 53 for 14 while 34 = 54 if 15 write 35 55 input 16 标识符 36 = 56 integer 17 整数 37 57 not 18 字符常数 38 = 58 of 19 ( 39 [ 59 or 20 ) 40 ] 60
实验一:设计SAMPLE语言的词法分析器
检查要求:
启动程序后,先输出作者姓名、班级、学号(可用汉语、英语或拼音);
请求输入测试程序名,键入程序名后自动开始词法分析并输出结果;
输出结果为单词的二元式序列(样式见样板输出1和2);
要求能发现下列词法错误和指出错误性质和位置:
非法字符,即不是SAMPLE字符集的符号;
字符常数缺右边的单引号(字符常数要求左、右边用单引号界定,不能跨行);
注释部分缺右边的界符*/(注释要求左右边分别用/*和*/界定,不能跨行)。
实验一测试程序与样板输出
测试程序1: 程序名TEST1
and array begin bool call
case char constant dim do
else end false
您可能关注的文档
- 2010年注册会计师考试教材变化详解1.doc
- 学习单元一测试.doc
- 1.1 第一篇 宝石学基础 第一章 结晶学基础.doc
- GIS设计与实现实验报告.pdf
- JCV GZ-HM1 中文说明书.pdf
- 勤俭节约,从我做起演讲稿.doc
- 初中数学说课教案范例.doc
- 中国IT产业研究报告.doc
- 乐拥小学2010-2011学年度上学期教导处工作计划.doc
- 碱金属元素及其应用历年高考题选.pdf
- 2023年度安全员考试题库检测试题打印附答案详解(达标题).docx
- 2023年度安全员考试题库检测试题打印(实用)附答案详解.docx
- 2023年度安全员考试题库检测试题打印附完整答案详解【名师系列】.docx
- 2023年度安全员考试题库检测试题打印及答案详解【考点梳理】.docx
- 2023年度安全员考试题库检测试题打印附完整答案详解【各地真题】.docx
- 2023年度安全员考试题库检测试题打印附参考答案详解【完整版】.docx
- 2023年度安全员考试高分题库含答案详解(精练).docx
- 2023年度安全员考试高分题库及参考答案详解【能力提升】.docx
- 2023年度安全员考试高分题库附答案详解【典型题】.docx
- 2023年度安全员考试高分题库及参考答案详解(培优B卷).docx
最近下载
- 风险管理高频考点第一章 风险管理基础 .pdf VIP
- 康居小区外网施工组织设计精品.doc VIP
- 2025年电工中级职业技能考试真题卷(电工安全操作与事故处理篇).docx VIP
- 2025年电工中级职业技能考试真题卷:电工中级职业技能考试在线备考班.docx VIP
- 第十四章 整式的乘法与因式分解单元培优卷(原卷版).docx VIP
- 2025年电工中级职业技能考试真题卷:电工中级职业技能考试在线试题.docx VIP
- 第十四章 整式的乘法与因式分解单元培优卷(原卷版).pdf VIP
- 2025年电工中级职业技能理论考试笔试试题(600题)含答案.docx VIP
- 2025年全国电工中级职业技能理论考试试题(700题)含答案.docx VIP
- 介入式心脏瓣膜技术考核试卷.docx
文档评论(0)