电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

使用直接分析法编制C语言子集的词法分析程序

使用直接分析法编制C语言子集的词法分析程序_第1页
1/6
使用直接分析法编制C语言子集的词法分析程序_第2页
2/6
使用直接分析法编制C语言子集的词法分析程序_第3页
3/6
附录B 编译程序实验 一、题目 使用直接分析法编制 C语言子集的词法分析程序 二、目的 通过设计、编制、调试一个具体的词法分析程序,加深对词法分析原理的理解,并掌握在对程序设计语言源程序进行扫描过程中将其分解为各类单词的词法分析方法. 三、要求 1. 根据具体情况,由同学们自己选取 C 语言的一个适当大小的子集(可取一类典型单词,也可以尽可能使各种类型的单词都兼顾到);在实习前一定要制出相应的表. 2. 实验时间:4-8学时. 3. 检查内容及时间:A) 完整的实验报告(算法流程必须要有); B) 在机器上调试成功的源程序; 实 验 报 告 题目: 用直接分析方法编制 PASCAL语言子集的词法分析程序. 一、分析 对于单词符号我们将其分成四类:保留字K、标识符I、常数C和界符P,每类单词符号均可使用一张表格表示.在词法分析过程中,保留字K和界符P这两个表格的内容是固定不变的(由语言确定),源程序字符串只能从其中选取,而标识符I、常数C这两表是在分析过程中不断形成的. 对于一个具体源程序而言,在扫描字符串时识别出一个单词,若这个单词的类型是K、I、C或P中之一,那么就以单词的二元式形式输出.每次调用词法分析程序,它均能自动继续扫描下去,形成下一个单词,直到整个源程序全部扫描完毕,从而形成相应的单词串. 各类单词的二元式表述均具有相同的结构与长度,形式如下: (单词种别t,单词自身的值i) t是单词种别,而单词种别共分为K、I、C、P四类且每类对应一张表格.因此,t实际上就是一个指向这四类中某一类对应表格的指针.i则为指向该类表格中一个特定项目的指针. 所以整个的词法分析过程就是从源程序中获得一个个的单词符号,将这些符号分别填入四张类表中,并且有一个二元式序列构成一个索引,这个索引为以后的语法分析提供处理上的方便. 为了减少实习量,可以适量地选取K,P中的一个子集来进行.如下表: 表 1 保留字K表 内部地址 1 2 3 4 5 6 7 8 9 10 保 留 字 BEGIN CONST DO ELSE END IF PROCEDURE THEN VAR WHILE 表 2 界符P表 内部地址 1 2 3 4 5 6 7 8 9 10 界 符 ; + : : ( , ) < < < 组合界符 = = > 保留字表包括 10个有代表性的保留字,界符表包括关系运算符三种(8,9,10),算术运算符(2),分隔符三种(1,4,6),一对圆括号,加上赋值号共 10种.这两表的内容...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

使用直接分析法编制C语言子集的词法分析程序

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部