Z规格说明中关系和函数到C++STL的自动转换

Z规格说明中关系和函数到C++STL的自动转换

论文摘要

软件开发的形式化方法被当今计算机界誉为克服“软件危机”,提高软件可靠性和生产效率的革命性途径。形式化开发方法中,人们利用软件的规格说明来描述计算机“做什么”。目前Z是最为流行的一种规格说明语言,于2002年在ISO指导下完成了国际标准化Z工作,正逐渐应用于工业界各个领域。然而由于Z规格说明的抽象性和复杂性,还未为程序员广泛接受并使用。本文首先介绍了Z规格说明的基本数据类型和复合数据类型,并举例给出了建立在复合数据结构上的操作。其次,简要阐述了词法分析的处理过程,语法处理的基本思想及出错处理。然后,针对Z规格说明的组成结构,提出了模式的处理框架,使得Z规格说明中声明和谓词的求精处理更加灵活。最后给出了求精的常见错误及其处理。本课题主要研究Z规格说明关系和函数的分析处理和求精,其主要步骤如下:将规范化的Z规格说明进行词法处理和语法处理,再根据数据类型的不同,结合STL对数据结构和通用算法的强大支持功能和自己编写部分代码,分别进行语义和求精处理,解决关系和函数的存储及操作,在不改变Z规格说明原有意义的基础上,从而实现了Z规格说明到中间代码,再到C++代码的自动转换。本文的实现为软件工程概要设计阶段提供新思路,有助于将软件工程语言应用于软件开发实践,使软件开发过程更加合理,软件设计更加周密,软件开发的资金分配更加明确,进而达到降低软件开发成本和减少软件后期维护的目的。

论文目录

  • 摘要
  • Abstract
  • 1 绪论
  • 1.1 课题背景
  • 1.2 课题的研究现状
  • 1.3 课题研究的意义和目的
  • 1.4 课题研究的主要内容和方法
  • 2 Z规格说明数据类型
  • 2.1 Z规格说明
  • 2.2 Z规格说明中的简单数据类型
  • 2.2.1 基本数据类型
  • 2.2.2 集合类型
  • 2.2.3 幂集类型
  • 2.2.4 序偶类型
  • 2.2.5 笛卡儿积类型
  • 2.3 Z规格说明中的复合数据类型
  • 2.3.1 关系
  • 2.3.2 函数
  • 2.3.3 序列
  • 2.3.4 包
  • 3 Z规格说明关系和函数的词法处理
  • 3.1 词法分析独立处理的意义
  • 3.2 词法分析的输入及处理
  • 3.2.1 词法分析的输入
  • 3.3.2 词法分析处理的对象
  • 3.3.3 词法分析的处理方式
  • 3.3.4 词法分析的处理任务
  • 3.3 词法分析的流程
  • 3.4 组合运算符处理的流程
  • 4 Z规格说明关系和函数的语法分析
  • 4.1 语法处理的思想
  • 4.1.1 自顶向下分析思想
  • 4.1.2 递归子程序方法
  • 4.2 语法处理的准备工作
  • 4.2.1 修改二义性语法
  • 4.2.2 消除左递归
  • 4.3 Z规格说明的语法结构
  • 4.4 Z规格说明中的消除左递归
  • 4.5 语法出错处理
  • 4.5.1 错误的分类
  • 4.5.2 错误的分析处理
  • 4.5.3 语法分析器评价标准
  • 4.5.4 Z规格说明的出错处理
  • 5 Z规格说明关系和函数的语义处理及求精
  • 5.1 程序范畴和软件求精
  • 5.1.1 程序范畴
  • 5.1.2 软件求精
  • 5.1.3 软件求精方法
  • 5.2 Z规格说明的求精原则
  • 5.3 语义处理及求精
  • 5.4 语义分析的输入与输出
  • 5.4.1 语义处理的输出
  • 5.4.2 语义处理的流程
  • 5.5 STL标准模板库
  • 5.6 模式处理的框架
  • 5.7 声明的求精
  • 5.7.1 声明处理的数据类型
  • 5.7.2 声明转换为中间代码
  • 5.7.3 声明中数据类型的检查
  • 5.8 谓词的求精
  • 5.8.1 集合
  • 5.8.2 序偶
  • 5.8.3 关系
  • 5.8.4 函数
  • 5.9 程序运行及错误处理
  • 6 中间代码的处理和求精
  • 6.1 声明部分的求精
  • 6.2 谓词部分的求精
  • 6.2.1 集合
  • 6.2.2 序偶
  • 6.2.3 关系
  • 6.2.4 函数
  • 6.3 求精的错误处理
  • 7 结论
  • 参考文献
  • 附录A 保留字运算符编码表
  • 附录B Z规格说明实例
  • 附录C 中间代码程序
  • 在学研究成果
  • 致谢
  • 相关论文文献

    标签:;  ;  ;  ;  

    Z规格说明中关系和函数到C++STL的自动转换
    下载Doc文档

    猜你喜欢