- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、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进制表示
例如:程序段
i
您可能关注的文档
- 基于单片机的超声波测距系统-开题报告教案.doc
- 基于单片机的远程抄表系统的设计-学士论文精品.doc
- 基于单片机的转速表设计推荐.doc
- 基于单片机的酒精浓度检测仪设计推荐.doc
- 基于单片机的远程液位实时监测系统_通信工程本科毕业论文推荐.doc
- 基于单片机的频率计设计管理.doc
- 基于受迫振动的连续结构的拓扑设计课件.docx
- 基于微课形式的小学数学低年段教学实践研究-申报表教案.docx
- 基于大数据的油田生产挖掘平台架构的研究及应用开题报告管理.ppt
- 基于因子分析和新陈代谢GM(1_1)的中国能源安全评价推荐.ppt
- 2025年网络文学平台版权运营模式创新与版权保护体系构建.docx
- 数字藏品市场运营策略洞察:2025年市场风险与应对策略分析.docx
- 全球新能源汽车产业政策法规与市场前景白皮书.docx
- 工业互联网平台安全标准制定:安全防护与合规性监管策略.docx
- 剧本杀剧本创作审核标准2025年优化与行业自律.docx
- 2025年新能源电动巡逻车在城市安防中的应用对城市环境的影响分析.docx
- 全渠道零售案例精选:2025年行业创新实践报告.docx
- 2025年网约车司乘纠纷处理机制优化与行业可持续发展报告.docx
- 2025年宠物烘焙食品市场法规政策解读:合规经营与风险规避.docx
- 2025年宠物行业数据安全监管政策影响分析报告.docx
最近下载
- 《常考题》初中八年级数学上册第十三章《轴对称》习题(含答案解析).docx VIP
- 《事件相关电位入门》课件.ppt VIP
- 《儿童骨科疾病诊断》课件.ppt VIP
- 公司战略与风险管理 第3版 吕文栋 教学大纲+教案1--3.doc
- 12SG121-1 施工图结构设计总说明(混凝土结构) .docx VIP
- 一种实验室危化品试剂进出库智能化管控系统及管控方法.pdf VIP
- 专练08:读后续写-2020-2021学年高一英语下学期期末题型专项训练.docx VIP
- 动脉血标本采集技术操作考核及评分标准.docx
- AI驱动的知识图谱:混合式教学模式创新研究.docx VIP
- AI辅助混合式教学设计实践与效果评估.docx VIP
文档评论(0)