| 设计 任务书 文档 开题 答辩 说明书 格式 模板 外文 翻译 范文 资料 作品 文献 课程 实习 指导 调研 下载 网络教育 计算机 网站 网页 小程序 商城 购物 订餐 电影 安卓 Android Html Html5 SSM SSH Python 爬虫 大数据 管理系统 图书 校园网 考试 选题 网络安全 推荐系统 机械 模具 夹具 自动化 数控 车床 汽车 故障 诊断 电机 建模 机械手 去壳机 千斤顶 变速器 减速器 图纸 电气 变电站 电子 Stm32 单片机 物联网 监控 密码锁 Plc 组态 控制 智能 Matlab 土木 建筑 结构 框架 教学楼 住宅楼 造价 施工 办公楼 给水 排水 桥梁 刚构桥 水利 重力坝 水库 采矿 环境 化工 固废 工厂 视觉传达 室内设计 产品设计 电子商务 物流 盈利 案例 分析 评估 报告 营销 报销 会计 | |||||
|
|||||
|
|||||
|
|||||
目录1.引言 21.1问题描述 21.2需求与技术现状分析 22.程序总体设计 32.1设计目的 32.2设计要求 32.3总体程序设计思路 42.4流程图 43.数据结构和算法详细设计 53.1词法分析设计 53.2语法分析设计 73.3保存文件设计 74. 系统实现和测试 84.1词法分析 84.1语法分析 94.3保存文件设计 134.4.系统测试 145. 总结与展望 235.1全文总结 235.2工作展望 236.体会 246.1总结 246.2特色 246.3不足 25参考文献 25附录 26附录1: 26附录2: 701.引言1.1问题描述抽象语法树(abstract syntax code, AST) 是源代码的抽象语法结构的树状表示,树上的每个节点都表示源代码中的一种结构, 这所以说是抽象的,是因为抽象语法树并不会表示出真实语法出现的每一个细节, 比如说,嵌套括号被隐含在树的结构中,并没有以节点的形式呈现。抽象语法树并不依赖于源语言的语法,也就是说语法分析阶段所采用的上下文无文文法,因为在写文法时,经常会对文法进行等价的转换(消除左递归,回溯,二义性等) , 这样会给文法分析引入一些多余的成分,对后续阶段造成不利影响,甚至会使合个阶段变得混乱。因些,很多编译器经常要独立地构造语法分析树为前端,后端建立一个清晰的接口。1.2需求与技术现状分析抽象语法树(Abstract Syntax Tree ,AST)作为程序的一种中间表示形式,在程序分析等诸多领域有广泛的应用.利用抽象语法树可以方便地实现多种源程序处理工具,比如源程序浏览器、智能编辑器、语言翻译器等。通常是作为编译器或解释器的组件出现的,它的作用是进行语法检查、并构建由输入的单词组成的数据结构(一般是语法分析树、抽象语法树等层次化的数据结构)。语法分析器通常使用一个独立的词法分析器从输入字符流中分离出一个个的“单词”,并将单词流作为其输入。实际开发中,语法分析器可以手工编写,也可以使用工具(半)自动生成。个人通过对源程序的实现,发现各种编译器的中间表示就是语法分析树,AST,感觉本次实验的最终目的就是编译出来一个简单的语言编译器,所以我认为语法分析树目前的现状就是编译器的内部原理,现在实现的程序比较简单,词法识别和语法识别还不够全面,只能够识别比较简单的较为基本的源程序。






















毕业66资料站 biye66.com ©2015-2026 版权所有 | 微信:15573586651 QQ:3903700237
本站毕业设计和毕业论文资料均属原创者所有,仅供学习交流之用,请勿转载并做其他非法用途.如有侵犯您的版权有损您的利益,请联系我们会立即改正或删除有关内容!