编译技术课程设计--变量检查工具.pdfVIP

编译技术课程设计--变量检查工具.pdf

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课程设计报告 ( 2011--2012年度第一学期) 名 称:编译技术课程设计 题 目:变量检查工具 院 系: 班 级: 学 号: 学生姓名: 指导教师: 设计周数:一 成 绩: 2012 1 3 日期: 年 月 日 课程设计报告 1 课程设计的目的和要求 1.1 课程设计的目的 进一步培养自己对编译器设计的思想的了解,加深对编译原理和应用程序的理解,针对 编译过程的重点和难点内容进行编程,独立完成有一定工作量的程序设计任务,同时强调好 的程序设计风格。 1.2 课程设计的要求 实现对C语言中全局变量和共享变量的检查。 要求: 检查全局变量是否是必须的。包括:该全局变量是否被引用过;全局变量是否只在 1 个 函数内被引用。 若某一全局变量从来没有被引用过,则可以将其删除 若某一全局变量只在一个函数内被引用和定值,是否可以将其修改为局部变量 当全局变量仅用于1个文档中,是否可以将其修改为静态全局变量 提示:可以通过符号表对变量的存储类别的定义,来讨论变量的使用点,从而确定这些 变量是否应该为局部变量、静态全局变量或全局变量。 2 系统描述 本次实验在win 7 环境下利用vs2010 开发实现,通过Ribbon 界面编程,利用文件列表和 输出面板模拟VC++编译器。通过单次扫描源程序,在一趟便利过程中完成对符号表的创建、 登陆、查找等操作,最后遍历符号表,通过综合分析某一ID的相关变量(如:声明位置、首 次使用位置、再次使用位置)等,给出综合处理意见,如删除不未使用过的全局变量。 在程序中,通过在可编辑区域输入源程序(或直接打开)后,点击编译单个文件,开始 对当前活文件进行变量检查,检查结束后,结果自动出现在程序窗口下方输出面板的列表中。 若当前应用程序窗口中有多个文档,点击编译全部文件,在各各文档中惊醒变量检查, 如某些全局变量只用于一个文档中,则提示改为静态全局变量。 2.1 符号表的描述 编译程序在执行的过程中,为了完成源程序到目标代码的翻译,需要不断收集、记录和 使用源程序中一些语法符号的类型、特征和属性等相关信息。通常这些信息利用一些表格来 保存,如常数表、变量名表、数组名表、过程或子程序名表以及标号表等。习惯上,将这些 表格统称为符号表。 符号表的每一登记项,将填入名字标识符以及与该名字相关联的一些信息。这些信息全 1 课程设计报告 面反映了各个符号的属性及它们在编译过程中的特征。在编译程序工作的全部过程中,都需 要频繁对符号表进行访问。有时填写信息,有时是查找信息。 为完成本次实验要求,设计如下符号表。 表2-1 符号表 ID 定义位置 首次使用位置 定义文件 再次定义位置 局部? 静态? 各对于符号表中各项的说明: � ID :变量名; � 定义位置 :为空表示全局变量; � 首次使用位置 :为空表示未使用; � 定义文件 :定义改变量的文件,全局变量有效; � 再次定义位置 :全局变量与局部变量重名时使用; � 是否变为局部 :默认为真,当前函数与首次使用位置不等时为假; � 是否变为静态 :默认为真,当前文件与定义文件不等时为假; 2.2 符号表的使用 在编译过程中,通过不断登记、查找、修改符号表完成对相关信息的记录。在结束时, 通过遍历符号表,给出处理意见。 表2-2 处理结果对照 处理结果

文档评论(0)

ze122230743 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档