- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于语法分析数学公式分析器设计
摘要
本论文研究编译原理,使用LEXYACC工具,编写数学公式分析器。
编译原理是计算机专业的一门重要专业课,通过编写数学公式分析器,加深对专业知识的理解。
本论文编写的数学公式分析器,可以进行算数运算分析,变量运算,变量名可以是字母,也可以是单词。
关键词: 词法分析; 语法分析; 产生式;
Abstract
abstract
This paper studies the compiler principle, using LEXYACC tools to write mathematical formula analyzer.
The compiler principle is an important professional course for computer majors. It helps to deepen the understanding of professional knowledge by writing mathematical formulas and analyzers.
The mathematical formula analyzer written in this paper can do arithmetic analysis, variable operations, variable names can be letters, or they can be words.
Key words: LEXical analysis; grammatical analysis; production type;
摘要 I
Abstract I
第1章 研究背景与国内外现状 1
第2章 设计思路 1
2.1 设计依据 1
2.1.1 编译过程 1
2.1.2 词法分析 1
2.1.3 语法分析 2
2.1.4 语义分析 2
2.1.5 代码优化 3
2.1.6 项目设计方案 3
第3章 LEXYACC简介与其语法结构 4
3.1 LEX简介 4
3.2 LEX格式 4
3.3 LEX识别规则 5
3.3.1 LEX用的正规式 5
3.4 YACC简介 6
3.5 YACC源程序说明部分的写法 7
3.4 实现词法分析的思路分析 9
3.4.1 无意义字符的识别 9
3.4.2 标识符、数字、字符和字符串的识别 9
第4章 语法分析中的产生式 11
4.1 产生式简介 11
4.2 左递归的消除 11
4.3 算数运算产生式 11
??? 14
第5章 基于语法分析的数学公式分析器的设计 15
5.1 实现简单算数运算 15
5.2 保存运算符与变量 15
5.3 支持多字符变量 15
5.4 编译运行程序: 15
5.5 总结 16
参考文献 18
第1章 研究背景与国内外现状
LEXYACC是20世纪70年代由贝尔实验室开发,已经成为标准的UNIX实用程序。
LEXYACC既适合编译程序,解释程序的专业编译程序编写用户。也适合非编译程序编写许多应用程序。LEXYACC使用范围包括,应用在输入中茶盅模式的应用程序,也可以应用在输入或命令语言的应用程序
LEXYACC的源程序经过LEX处理后生成的词法分析程序与YACC处理后生成的语法分析程序,可以用C语言描述,可以使用C编译器编译,与其他目标文件或命令文件连接。
目前国内外应用LEXYACC最多的方向是编写软PLC的编译器。使用LEXYACC编写的程序与用户的手动编写的词法分析语法分析程序相比较,可以大大的降低编码量提升速度和提高质量。
第2章 设计思路
2.1 设计依据
2.1.1 编译过程
编译实现的是由源程序到可执行程序之间的转换。首先源程序经编译后以机器码的形式存储在代码区中,随着程序的逐条执行,不断进行着执行指令、压栈、出栈、清栈(管理栈空间)的操作,不断在代码区、静态数据区和动态数据区跳转,完成程序的执行。
2.1.2 词法分析
计算机存储的源代码,与我们直接写出的程序是不相同的。计算机中所有的数据均已0和1的形式存储在存储单元中,源代码也一样。
我们输入源程序,对构成源程序的字符串从左到右一个字符一个字符地进行扫描和分解,依据词法规则(或构词规则)识别出一个个的单词(单词符号或符号),转换成机器容易识别的内码形式。内码用二元式(种别码,属性值)表示。我们的?输入是字符串。我们的输出序对是(种别码,属性值)。?属性值是单词的机内表示是最初级的语法分析 单词种类我们可以分为两类。一类是特殊的单词,如保留字、运算符、分界符等,这些都是源语言所提供的;另一类是普通单词,如用户在源程序中定义的标识符、常数等。
图2-1:计算机中某段程序的16进制表示
例如:程序段
您可能关注的文档
- 基于单片机漏电保护器研究3.doc
- 基于单片机温湿监测系统设计---毕业设计(论文).doc
- 基于单片机火灾报警器设计毕业论文.doc
- 基于单片机火灾自动报警系统设计与开发-本科毕业设计开题报告.doc
- 基于单片机火灾自动报警系统设计-申报表及任务书.doc
- 基于单片机火灾自动报警系统设计与研究--本科毕业论文.doc
- 基于单片机点阵LED汉字显示设计报告.doc
- 基于单片机烟雾检测设计说明书.doc
- 基于单片机煤气报警器设计-本科毕业论文.docx
- 基于单片机照明控制系统设计毕业论文开题报告.doc
- 基于设备共享技术个性化资料输出服务创业计划书.docx
- 基于视觉导航两轮平衡车设计毕业论文.docx
- 基于蚁群算法物流车辆路径优化问题研究硕士论文.pptx
- 基于语料库高中英语同义词教学实验研究-硕士论文开题报告.doc
- 基于说话认识技术敏感人物身份确认系统开题报告.docx
- 基于西门子PLC五路抢答器设计-职业学院毕业论文.doc
- 基于西蔓色彩理论四季女性职业形象设计-职业学院毕业论文.doc
- 基于辅导员视角谈问题学生教育研究-学生工作科研申报书.doc
- 基于语音识别机车防带电过分相系统研制毕业设计报告.doc
- 基于连锁经营京口区丰鲜季语果蔬超市库存控制策略分析-本科生毕业论文开题报告.doc
最近下载
- 黄芪商品规格等级标准.doc VIP
- 光伏项目地质灾害危险性评估报告(内审稿).docx
- 基于毫米波的工业5G创新应用白皮书(2024)v2.1.pdf VIP
- 工程有限公司叉车安全风险分级管控清单.docx VIP
- 配送人员组织架构及分工职责描述.docx VIP
- T∕CACM 1021.6-2018 中药材商品规格等级 甘草.docx VIP
- DBJ61_T 186-2021 二次供水工程技术规程.pdf
- (2025秋新版)人教版三年级数学上册《第三单元 毫米、分米和千米》PPT课件.pptx
- 注册会计师财务成本管理《本量利分析微信做题》模拟练习卷.doc VIP
- 呼吸系统感染的防控和护理要点PPT.pptx VIP
文档评论(0)