- 1
- 0
- 约1.68万字
- 约 12页
- 2016-10-22 发布于贵州
- 举报
基于编译原理的算器设计与实现
基于编译原理的计算器
首先看一下这个计算器的功能:
CALC set a = 1; b = 2
CALC set c = 3
CALC calc (10 + pow(b, c)) * sqrt(4) - 1
35.0
CALC exit
如上所示,这个计算器的功能非常简单:
用set命令设置上下文中的变量。
用calc命令计算一个表达式的值。
用exit命令退出计算器。
我们把编译的重点放在calc命令后面的计算表达式的解析,其它的部分我们可以简单处理(如set命令可以这样简单处理:先按分号分隔得到多个赋值处理,再按等号分隔就可以在上下文中设置变量了,并不需要复杂的编译过程)。
如上的演示例子中,我们使用编译技术处理的部分是(10 + pow(b, c)) * sqrt(4) - 1,其它部分我们只使用简单的文本处理。
麻雀虽小,但五脏俱全,这个计算器包含编译技术中最必要的部分。虽然这次我们只是实现了一个计算器,但所使用的技术足以实现一个简单的脚本语言的解释器了。
这个计算器分为如下几个部分:
词法分析:把表达式的文本,解析成词法元素列表(tokenList)。
语法分析:把tokenList解析成语法树(syntaxTree)。
语义分析:把语法树转成汇编语言的代码(asm)
汇编器:把汇编代码翻译为机器码(字节码)。
虚拟机:执行字节码。
一般的编译步聚中不包
您可能关注的文档
- 地理必修三复习记(自己的笔记).doc
- 地磅带打印仪表智能型压力表价格.docx
- 地铁供电变电站动化系统的功能.doc
- 地铁直流150V供电系统保护.doc
- 地面从业安管员考复习题195道.doc
- 地面生产系统安工程.doc
- 场效应料位计在水机防堵上的应用.docx
- 坑道钻机KD-00型和双级气腿凿岩机7665价格.docx
- 地面起砂处理剂品用途及地面起砂预防.doc
- 坚持文化自觉 止过度娱乐化.doc
- 2024-2025学年湖南省邵阳市新宁县回龙寺镇人教版一年级下册期中测试数学试卷.docx
- 2024-2025学年山东省德州市平原县王杲铺中小、王凤楼中小、腰站镇中小青岛版一年级下册3月月考数学试卷.docx
- 第四单元 课题3 物质组成的表示-初中化学新教材预习学案(人教版2024九年级上册).docx
- 2024-2025学年山东省济宁市梁山县人教版一年级下册期中测试数学试卷.docx
- 2024-2025学年山东省德州市德州经济技术开发区长河小学等校青岛版一年级下册期中考试数学试卷.docx
- 2026《基于国产开源单片机GD32VF103的输变电设备物联网传感器设计》8300字.docx
- 2024年中考道德与法治真题完全解读(北京卷).docx
- 2026《基于机器视觉识别的工件边缘曲线重构方法分析》9000字.docx
- 课时9.4 物体的浮与沉【一大题型】八年级全一册物理(沪科版2024).docx
- 2024-2025学年广东省江门市开平市人教版一年级下册期中综合素养评价数学试卷.docx
最近下载
- 最新精选初中英语教师选调考试试题及答案.doc
- 2026年监理《目标控制(土建)》高频考点速记.pdf VIP
- 南京市基础地理息系统数据库设计方案.doc VIP
- 江阴长江港口综合物流园b区4号30000吨级码头散货泊位工程2.docx
- 基础地理息数据库.ppt VIP
- 2025-2030中国苦味酸市场经营策略分析及发展前景深度研究研究报告.docx
- 档案管理知识水平测试题库.docx VIP
- 小学数学教学课件:《除法有分配律吗》课件.pptx
- DB37∕T 5272-2024 工程造价电子文件数据结构标准.pdf VIP
- 2026年新能源储能系统在数据中心能源管理中的应用可行性研究.docx
原创力文档

文档评论(0)