指针类型在SNL语言中的实现

指针类型在SNL语言中的实现

论文摘要

编译程序是计算机系统不可缺少的部分,是程序设计者的必备工具。学习并掌握编译程序的构造原理和实现技术,能够提高对程序设计语言的理解,提高程序设计,尤其是大型软件的设计能力。本文重点在于在SNL 语言中实现指针类型。指针类型作为现代语言的一个重要特征,在实际中得到了广泛的应用,对于它的实现无论对于掌握编译原理和对于构造一个实际的编译器都有着重要的意义。对于指针类型的实现本文主要从以下语法分析、语义分析、中间代码生成以及运行时存储空间的管理等方面进行说明。其中对语义分析和运行时空间的管理,特别是堆区的管理进行了重点介绍。运行时空间的管理,特别是堆区的管理,对于指针的实现起着关键的作用,本文对其进行了详细的探讨,并给出一个具体的实现来进行说明。

论文目录

  • 第一章 绪论
  • 1.1 研究的背景
  • 1.2 研究的主要目的
  • 1.3 本文完成的主要工作
  • 第二章 词法分析程序
  • 2.1 概述
  • 2.2 SNL 语言的字母表及正则表达式
  • 2.3 词法分析程序的任务
  • 2.4 指针类型的词法分析
  • 2.5 词法分析程序的实现
  • 第三章 语法分析
  • 3.1 概述
  • 3.2 递归下降分析程序构造方法
  • 3.3 SNL 语言的语法图
  • 3.4 指针类型的语法分析
  • 3.4.1 普通类型的语法分析
  • 3.4.2 指针类型的语法分析
  • 3.4.3 指针变量的使用
  • 3.5 语法分析程序的实现
  • 第四章 语义分析
  • 4.1 语义分析的基础
  • 4.1.1 语义分析内容
  • 4.1.2 标识符和类型的内部表示
  • 4.1.3 符号表的结构
  • 4.1.3.1 符号表的局部化以及建立和查找
  • 4.1.3.2 符号表的界面
  • 4.2 指针类型的语义分析
  • 4.2.1 指针类型的内部表示
  • 4.2.2 指针类型定义的语义分析
  • 4.2.3 指针变量的使用在语义上的检查
  • 4.2.4 超前声明、回填时机及回填算法
  • 4.3 类型检查
  • 4.3.1 一般类型的等价性检查
  • 4.3.2 指针类型的等价检查
  • 4.3.3 错误处理
  • 第五章 运行时环境
  • 5.1 目标机的模型
  • 5.2 目标机的指令及格式
  • 5.3 解释程序及执行
  • 5.4 解释程序执行的实例
  • 第六章 运行时的存储空间
  • 6.1 运行时的存储空间的结构
  • 6.2 运行时的存储空间的分配
  • 6.2.1 静态区的存储分配
  • 6.2.2 栈区的存储分配
  • 6.2.3 堆区的存储分配
  • 6.2.4 动态空间(堆区空间)管理
  • 6.2.4.1 概述
  • 6.2.4.2 分配和释放算法
  • 6.2.5 运行时的过程活动记录与栈区的组织结构
  • 6.2.5.1 过程的活动记录
  • 6.2.5.2 动态链(DL)
  • 6.2.5.3 变量的访问
  • 第七章 目标代码生成
  • 7.1 非指针类型的目标代码生成
  • 7.1.1 声明的处理
  • 7.1.2 赋值语句
  • 7.1.3 过程调用
  • 7.1.4 while 语句
  • 7.1.5 if 语句
  • 7.1.6 for 语句
  • 7.2 指针类型的目标代码生成
  • 第八章 实例
  • 8.1 汉诺塔例子
  • 8.2 二叉树排序
  • 第九章 总结
  • 参考文献
  • 致谢
  • 摘要
  • Abstract
  • 相关论文文献

    • [1].C语言中关于指针的教学优化研究[J]. 计算机产品与流通 2020(03)
    • [2].垂悬指针检测与防御方法[J]. 软件学报 2020(06)
    • [3].C语言指针学习必要性分析[J]. 科技风 2020(18)
    • [4].C语言指针的教学改革探索[J]. 电子元器件与信息技术 2020(05)
    • [5].C++语言中悬挂指针的研究与应用[J]. 电脑知识与技术 2016(23)
    • [6].开门见山与循序渐进:一种C语言指针教学方法[J]. 计算机教育 2017(04)
    • [7].C语言教学中指针与数组的运用分析[J]. 通讯世界 2017(09)
    • [8].浅析C指针和一维、二维数组之间的关系[J]. 电脑知识与技术 2017(28)
    • [9].读懂你的表盘——指针的设计学问(上)[J]. 钟表 2015(05)
    • [10].中风偏瘫患者家属对朱琏指针点按疗法认知程度的调查分析[J]. 护理实践与研究 2016(10)
    • [11].深入解析C++指针类型[J]. 齐齐哈尔大学学报(自然科学版) 2016(05)
    • [12].C指针在嵌入式系统开发中的方法研究[J]. 大众科技 2014(10)
    • [13].C语言中指针教学的研究与探讨[J]. 电脑知识与技术 2014(31)
    • [14].浅析C语言中指针的应用[J]. 科技经济市场 2014(08)
    • [15].C语言中指针用法解析[J]. 中国新通信 2014(22)
    • [16].日美新防卫指针指向何方[J]. 中国经贸导刊 2014(36)
    • [17].试析C++中的悬挂指针问题[J]. 电脑编程技巧与维护 2014(24)
    • [18].基于C语言指针教学的研究分析[J]. 才智 2015(07)
    • [19].浅析新版《日美防卫合作指针》[J]. 商 2015(21)
    • [20].动态认时,让指针在孩子心中转起来——“认识钟表”教学实践与思考[J]. 中小学数学(小学版) 2019(12)
    • [21].C语言指针与自增自减运算解析[J]. 数码世界 2020(03)
    • [22].C语言的多级指针案例教学探讨[J]. 人才培养与教学改革-浙江工商大学教学改革论文集 2013(00)
    • [23].指针的奥秘人人能解[J]. 芭莎珠宝 2015(02)
    • [24].指针(节选)[J]. 天涯 2015(04)
    • [25].C语言指针应用[J]. 考试周刊 2014(24)
    • [26].C语言中的指针[J]. 福建电脑 2013(12)
    • [27].C语言中指针与数组的恩怨浅析[J]. 电脑知识与技术 2013(34)
    • [28].浅谈C语言的指针[J]. 神州 2012(32)
    • [29].C语言教学中指针教学问题的研究[J]. 魅力中国 2010(05)
    • [30].C语言中指针应用的常见问题[J]. 考试周刊 2010(42)

    标签:;  ;  ;  ;  

    指针类型在SNL语言中的实现
    下载Doc文档

    猜你喜欢