编译原理课程设计--Pascal语言词法、语法分析器设计
-
资源ID:1449630
资源大小:292KB
全文页数:45页
- 资源格式: DOC
下载积分:100金币
快捷下载

账号登录下载
三方登录下载:
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
|
编译原理课程设计--Pascal语言词法、语法分析器设计
1、 编译原理编译原理课程设计课程设计 题 目: Pascal 语言词法、语法分析器设计 姓 名: 学 院: 专 业: 班 级: 学 号: 指导教师: 职称: 副教授 2014 年 06 月 09 日 目录 1 1 实验设计 . 3 1.11.1 系统整体框架 3 1.21.2 实验目的 . 3 1.31.3 系统设计构思. 3 2 2 词法分析程序 4 2.1 模块设计 . 4 2.2 具体功能设计 6 3 3 语法分析程序 7 3.1 流程图设计 . 7 3.2 模块设计 . 8 3.3 具体功能设计 .10 4 4 结果及测试 11 4.14.1 总程序 . 11 4.24.2 测试平台 1
2、3 4.34.3 测试案例.13 4.44.4 测试过程及结果 .13 4.54.5 测试分析 18 5 5 总结 .19 5.15.1 不足 .19 5.25.2 心得 .19 5.35.3 分工 .19 附录 1.程序清单 mylex.l myyacc.y code.h table.h 2. 测试报告 Pascal 语言词法、语法分析器设计 1 1 实验设计 编译程序是现代计算机系统的基本组成部分之一,而且多数计算机系统都配有不止一 个高级语言的编译程序,对有些高级语言甚至配置了几个性能不同的编译程序。 1 为了能够更好地掌握编译原理的基本理论和编译程序构造的基本方法及技巧,通过对 Pas
3、cal 语言词法、语法分析器的设计,对于提高我小组设计的能力,加深对编译理论知识 的理解与应用有很重要的作用。 1 1.1.1 系统整体框架 图 1:系统整体框架 1 1.2.2 实验目的 1)完成词法分析器并通过测试; 2)完成语法分析器并通过测试。 3)利用九组测试文件对程序进行测试并撰写测试报告,完成实验报告。 1 1. .3 3 系统设计构思 PL/0 语言的编译过程采用一趟扫描方式,以语法语义分析程序为核心,词法分析程序 和代码生成程序都作为一个独立的过程,当语法分析需要读单词时就调用词法分析程序, 当语法分析程序需要生成中间代码时就调用代码生成程序。此外用表格管理程序建立标 量、常
4、量和过程标识符的说明与引用之间的信息联系。用出错处理程序对词法和语法分析 遇到的错误给出在源程序中出错的位置和性质1。 本小组所设计词法分析与语法分析器,参考了 PL/0 编译器的设计思路。与 PL/0 编译 主程序 语法分析 程序 词法分析 程序 器不同的是,表格管理程序与出错处理程序被综合在语法分析程序中,且缺少中间代码的 解释执行程序。 词法分析器每读到一个单词都会执行入单词表操作 enterWordtable()操作,并给出单 词的属性,值以及 id 号,以备后面输出词法分析结果。语法分析器调用词法分析器获取一 个单词之后,分析单词的类别。如果是标识符则需要调用表格管理程序的 positon ()函数, 查看此单词在 table 表中位置。 如果语法分析器当前分析的语句是变量声明或常量声明或过 程声明,且标识符在 table 中已存在则转出错处理 eorror() ,否则,如果是常量、变量或 过程名引用且标识符在 table 表中不