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

实验一词法分析程序的设计与实现

实验一词法分析程序的设计与实现_第1页
1/5
实验一词法分析程序的设计与实现_第2页
2/5
实验一词法分析程序的设计与实现_第3页
3/5
实验一 词法分析程序的设计与实现一、实验内容【实验目的和要求】设计、编制、调试一个具体的词法分析程序,加深对词法分析原理的理解。【实验内容】通过对 PL/0 词法分析程序(GETSYM)的分析,并在此基础上根据附录 A 中给出的 PL/0语言的语法描述,编写一个 PL/0 语言的词法分析程序。此程序应具有如下功能:输入为字符串(待进行词法分析的源程序),输出为单词串,即由(单词、类别)所组成的二元组序列。有一定检查错误的能力,例如发现 2A 这类不能作为单词的字符串。【实验环境】Windows PC 机,任何语言。【提交内容】提交实验报告,报告内容如下:目的要求、算法描述、程序结构、主要变量名说明、程序清单、调试情况、设计技巧、心得体会。提交源程序和可执行文件。【学时】4 课时。二、实验说明词法分析程序的任务就是扫描源程序,依据词法规则识别单词并报告构词错误信息。通常将单词分为 5 种类型。1)基本字:也叫关键字、保留字,是程序设计语言用来表示特定语法含义的一种标识符,如 if、begin 等。2)运算符:如+、-、*、/、:=、>、<等。3)标识符:用户定义的变量名、常数名、函数名等。不同的高级程序设计语言对关键字是否可以作为普通标识符有不同的要求,有的语言允许程序员使用关键字作为普通标识符,有的程序设计语言则不允许程序员将关键字用着普通标识符(如 C/C++、Pascal 等都不允许)。在允许程序员将关键字用作普通标识符的程序设计语言的编译器中,编译器必须具备能够区分一个标识符到底是关键字还是普通标识符的功能。4)常数:如 23、6 等。5)界符:如“,”、“;”、“(”、“)”、“.”等。注意事项空格的作用仅仅是将一个个单词分割开来,源程序中的空格不具备别的语法意义,在语法分析及其后续阶段都没有任何作用,因此,词法分析的另一个工作是过滤空格。注释对整个源程序的编译也没有任何语法意义,只是为了便于阅读和沟通,因此,有的编译程序的词法分析程序也负责过滤注释。输出的单词符号采纳[单词类别,单词自身值]的二元组形式来表示。为了使扫描程序尽可能的高效,在进行词法分析程序的设计和实现时还需十分注意扫描程序结构的实际细节问题。用于间隔单词的空格和我们通常所说的键盘上的空格是不同的,这里的空格指的是所有能引起一个单词结束的字符,它们包括空格、制表或回车换行符。a*(b+c)这样的没有空格间隔的情况时要正确地识别出所有的单词123ab 这...

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

碎片内容

实验一词法分析程序的设计与实现

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