软件构造实验讲义.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件构造实验讲义

《软件构造》实验讲义 黑龙江大学软件学院 实验一 符号串识别功能设计 (一)实验目的: 1掌握形式语言的概念; 2掌握构造识别相应符号串的程序的方法; 3了解构造词法分析程序所识别的各类单词的程序方法。 (二)实验步骤及内容: 1用高级语言编写程序:该程序能接受所构造语言的所有的标识符。 2用高级语言编写程序:该程序能接受所构造语言的所有的常数(整数和定点小数)。 3用高级语言编写程序:该程序能接受所构造语言的所有保留字。 4 用高级语言编写程序:该程序能接受所构造语言的所有界符、运算符。(任选) (三)有关说明:  1高级及语言可选择 C++语言实现。 2以上各程序要求:对输入的任意符号串能给出接受与否的识别信息。 3 要求画出算法的程序流程图。 实验二 词法分析程序的构造 (一)实验目的 1掌握所构造语言的使用方法; 2 掌握所构造语言的词法分析程序; 4改编总控程序和词法分析程序。 (二)实验内容及步骤 1单词的分类: 可将所有标识符归为一类;将常数归为另一类:保留字、界符、运算符符则可采取一词一类。 2符号表的建立 可事先建立一保留字表,以备识别保留字时进行查询。变量名表及常数表则在词法分析过程中建立。 3单词串的输出形式: 所输出的每一单词,均按形如(CLASS,VALUE)的二元式编码。对于变量标识符和常数,CLASS字段为相应的类别码,VALUE字段是该标识符、常数在其符号表中登记项的序号(要求在变量名表登记项中存放该标识符的字符串,其最大长度为四个字符;常数表登记项中则存放该常数(整数)的二进制形式)。对于保留字、界符和运算符,由于采用一词一类的编码方式,所以仅需在二元式的CLASS字段上放置相应的单词的类别码,VALUE字段则为“空”。(或:为便于查看由词法分析程序输出的单词串也可以在CLASS字段上放置单词符号串本身)。 4编写上述词法分析程序 (三)有关说明:  该词法分析程序只能识别所构造语言语言书写的简单程序(文件形式)。 实验三 表达式语法分析程序的构造 (一)实验目的: 1掌握所构造语言的语法分析程序 2分别掌握LL(1)、算符优先等语法分析方法的构造。 (二)实验内容及步骤  给定某一文法,试构造其简单优先矩阵(或LL(1)矩阵),并编制程序。 给出相应句子的语法分析过程,判其正确性。 例如:给定文法G[E]: E→T E1 E1→+TE1/ε T→FT1 T1→*FT1/ε F→i/(E) (1)先构造其SELECT集合,判定其是否为LL(1)文法 (2)是则构造其分析表 (3)给出句子i+i*i#的语法分析过程。 实验四 语法分析程序的构造(任选)  (一)实验目的: 1 掌握LL(1)、算符优先等语法分析方法的构造。 2 按要求改编总控程序及语法分析程序。  (二)实验内容及步骤 1 选择一种你感兴趣的语法分析方法(算符优先、LL(1)、SLR(1))作为编制语法分析程序的依据. 2仔细阅所构造语言的语言的功能进行下列扩充,改编后并上机调试通过。 (1) 增加for语句工作方式 (2)增加do-while语句 (3) 扩充条件语句为: 〈条件语句〉∶∶=IF〈条件〉THEN〈语句〉ELSE〈语句〉〖ZK)〗 (4)增加整型一维数组变量,其说明形式最好表示为: VAR〈数组名〉(〈下界〉∶上界) 〈下界〉和〈上界〉可用常量标识符 3实验报告要求给出对PL/O语言编译程序扩充部分的文法表示; 4对文本的修改部分加以注释; 5测试用例的源程序、目标程序和运行结果 注:根据时间和条件每人1~5中选择某几项或者全部。 实验五 系统综合设计 (一)实验目的: 1 掌握词法分析、语法分析的实质含义。 2 掌握结构化设计方法。 3 了解大型软件的设计技术。 (二)实验内容与步骤: 1 采用软件工程的结构化设计方法,将所有实验利用结构化设计方法综合为一个完整的系统,以达到系统掌握开发软件系统的方法和技术的目的。 2 设计该系统的总体菜单。 3 通过总体菜单选择某一功能进入子菜单。

文档评论(0)

kaiss + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档