- 1、本文档共59页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译器设计 课程名称及性质 名称:软件综合实验 性质:必修课 学分:1(24小时) 5月(15)日前由各班班长将上机报告收齐,统一交上来。 地点:电信学院新楼312-2房间。 实践课题 为自定义教学模型语言(类Pascal语言)SL设计编译程序 SL语言的单词分类 本编译系统的单词符号分类如下: 标识符 (ID) 保留字 (if, while,read,write,begin,end,…) 无符号整数 (INTC) 单字符分界符 (+,-,*,/,,=,(,),[,],.,;,EOF,空白字符) 双字符分界符(:=, =, =, , ..) 注释符号 ({,}) 字符起始和结束符 (′) SL语言的词法定义 (1)ID ?〈字母〉{〈字母〉|〈数字〉} (2)INTC ?〈数字〉{〈数字〉} (3)单字符分界符 ? + | - | * | / | | | = | ( | ) | [|] | , | . | ; | EOF |空白字符 (4)字母 ?a|b|…|x|y|z (5) 数字 ?0|1…|8|9 …… 词法分析 词法分析过程GETSYM所要完成的任务: 读源程序(getch) 滤空格 识别保留字 识别标识符 拼数 识别单字符单词 拼双字符单词 词法分析过程:GETSYM框图(见教材图2.5) 程序( procedure getsym) 当识别到标识符时先查保留字表 保留字表:( begin (* main * ) ) word[1]:=‘begin ‘;word[2]:=‘end ‘; ... word[13]:=‘write ‘; 查到时找到相应的内部表示 Wsym[1]:=beginsym; wsym[2]:=endsym; … wsym[13]:=writesym; 字符对应的单词表: ssym[‘+’]:=plus; ssym[‘-’]:=minus; … ssym[‘;’]:=semicolon; 词法分析如何把单词传递给语法分析 type symbol=(nul,ident,number,plus,…,varsym,procsym); 3个全程量 sym:symbol; id:alfa; num:integer; 通过三个全程量 SYM 、ID和NUM 将识别出的单词信息传递给语法分析程序。 SYM:存放单词的类别 如:有程序段落为: begin initial := 60;end 对应单词翻译后变为: begin beginsym, initial ident, ‘:= ‘ becomes, 60 number, ‘;’ semicolon, end endsym 。 ID: 存放用户所定义的标识符的值 如: initial (在SYM中放ident,在ID中放initial) NUM:存放用户定义的数 如:60 (在SYM中放number,在NUM中放60) SL语言的语法定义 (1)程序? Program ID ;声明部分程序体. (2) 声明部分 ?类型说明;变量说明; {过程说明;} (3) 类型说明 ?空〉|Type 类型列表 (4) 类型列表 ? ID =类型{;ID =类型} (5) 类型〉 ?基本类型|ARRAY[low..top] OF 基本类型 | ID (后面引用TypeDef,就是类型) (6) 基本类型 ? INTEGER |CHAR (7) low ? INTC (8) top ? INTC SL语言的语法定义 (9)变量说明 ? 空〉| VAR 类型变量表{; 类型变量表} (10) 变量表 ?标识符{,〈标识符〉} (11) 程序体 ?BEGIN 语句列表 END (12)语句列表 ? 语句{;〈语句〉} (13)〈语句〉 ?〈赋值语句〉|〈if语句〉 |〈当型循环语句〉| 〈读语句〉|〈写语句〉|〈复合语句〉 | 〈Return语句〉 |〈Call语句〉 SL语言的语法定义 (14)〈赋值语句〉?ID:= Exp (15)〈if语句?IF条件THEN语句[ELSE语句]FI (16)〈条件〉 ?〈表达式〉〈关系运算符〉 〈表达式〉| NOT〈表达式〉 (17)〈当型循环语句〉 ?WHILE条件DO语句列表 ENDWH (18)读语句〉 ?READ (ID) (19) 写语句〉 ?WRITE ( Exp) (20) 〈Return语句〉 ?RETURN (21) Call语句〉 ?CALL
您可能关注的文档
- 1_1数据结构课程说明.ppt
- 1-第一章_概论.ppt
- 1计算机考试算法题二.doc
- 1章SQLServer.ppt
- 2-1-实验要求-词法分析.ppt
- 02-计算机的逻辑部件01.ppt
- 03-1 计算机硬件基础.ppt
- 06 属性文法和语法制导翻译.ppt
- 7作用于单链表的算法.ppt
- 8_SQL的系统特征.ppt
- 2025中国冶金地质总局所属在京单位高校毕业生招聘23人笔试参考题库附带答案详解.doc
- 2025年01月中国人民大学文学院公开招聘1人笔试历年典型考题(历年真题考点)解题思路附带答案详解.doc
- 2024黑龙江省农业投资集团有限公司权属企业市场化选聘10人笔试参考题库附带答案详解.pdf
- 2025汇明光电秋招提前批开启笔试参考题库附带答案详解.pdf
- 2024中国能建葛洲坝集团审计部公开招聘1人笔试参考题库附带答案详解.pdf
- 2024吉林省水工局集团竞聘上岗7人笔试参考题库附带答案详解.pdf
- 2024首发(河北)物流有限公司公开招聘工作人员笔试参考题库附带答案详解.pdf
- 2023国家电投海南公司所属单位社会招聘笔试参考题库附带答案详解.pdf
- 2024湖南怀化会同县供水有限责任公司招聘9人笔试参考题库附带答案详解.pdf
- 2025上海烟草机械有限责任公司招聘22人笔试参考题库附带答案详解.pdf
最近下载
- 2024新沂市中小学教师招聘考试题库及答案.docx VIP
- 新人教版三年级数学上册教学课件《因数中间有0的乘法》.pptx VIP
- 田家四季歌教案.doc VIP
- 《GB 27955-2020过氧化氢气体等离子体低温灭菌器卫生要求》(2025版)深度解析.pptx
- 高级碳排放监测员理论考试复习题库资料(含答案).pdf VIP
- 外科学(总论) 清创术 清创术.pptx VIP
- 《文献检索》课程教学大纲.pdf VIP
- 前置胎盘临床诊断与处理指南课件.ppt VIP
- 事业单位考试公共基础知识考试试题精选3000题.pdf VIP
- 人教版四年级上册数学《平行四边形》(说课课件).pptx VIP
文档评论(0)