编译原理-可编程计算器
9页1、郑州大学软件学院可编程计算器(项目报告)专 业: 计算机辅助设计专业 院(系): 软件学院 学生姓名: 古双军 学号:20097720219 学生姓名: 孔德汉 学号:20097720225 学生姓名: 孟晓帆 学号:20097720240 学生姓名: 周 干 学号:20097720267 完成时间: 2012年6月 18日 年 月 日1、编译器的功能 支持数值运算、逻辑运算和字符串运算,不区分大小写。 其中优先级定义 + - * / % mod = = = = != & & | | and or not xor sin cos min max left right abs if round pi 可实现自顶向下的词法运算。 1)词法分析TokenKeywordFactory:用于处理关键字TokenSymbolFactory:用于处理运算符TokenStringFactory:用于处理字符串TokenNumberFactory:用于处理数字这里的处理过程是1.取字符“1”,转到TokenNumberFactory,把分析取到的字符串“123.3”转换为TokenNumber并存到To
2、kenList中2.取字符“*”,转到TokenSymbolFactory,把“*”转换成TokenMultiply并存到TokenList中3.取字符“2”,转到TokenNumberFactory,把分析取到的字符串“2”转换为TokenNumber并存到TokenList中4.取字符“- ”,转到TokenSymbolFactory,把“-”转换成TokenMinus并存到TokenList中5.取字符“( ”,转到TokenSymbolFactory,把“(”转换成TokenLeftBracket并存到TokenList中6.取字符“2”,转到TokenNumberFactory,把分析取到的字符串“24”转换为TokenNumber并存到TokenList中7.取字符“+”,转到TokenSymbolFactory,把“+”转换成TokenPlus并存到TokenList中8.取字符“3”,转到TokenNumberFactory,把分析取到的字符串“34”转换为TokenNumber并存到TokenList中9.取字符“) ”,转到TokenSymbolFactory,把“
3、)”转换成TokenRightBracket并存到TokenList中 2)语法分析1. 列表分析状态:TokenValue(3)TokenMultiplayTokenValue(7).TokenValue(3)栈底堆栈分析:当前堆栈为空,将当前分析的TokenRecord压栈。对应列表 2. 列表分析状态:TokenValue(3)TokenMultiplyTokenValue(7).TokenMultiply栈底堆栈分析:栈顶为TokenValue,当前TokenRecord为TokenMultiply,TokenValue优先级最高。遵循高出低入原则,将TokenValue弹栈并添加到TokenMultiply的ChildList中,然后将TokenMultiplay压栈。3. 列表分析状态.TokenMultiplyTokenValue(7)TokenPlus.堆栈分析:栈顶为TokenMultiplay,当前TokenRecord为TokenValue,TokenMultiply优先级高于TokenValue,则将TokenValue加入TokenMultiplay的Chil
《编译原理-可编程计算器》由会员re****.1分享,可在线阅读,更多相关《编译原理-可编程计算器》请在金锄头文库上搜索。
学校教导处工作计划范文.doc
春季“校门清”工作总结.doc
2021全国道德模范先进事迹心得体会.docx
定向运动基础知识
上市咨询服务协议书.doc
小学一年级第二学期音乐教学计划精选5篇
八年级春季物理期中试卷.doc
报废汽车回收拆解企业申报初审流程
2015届高考数学总复习第2章函数与导数第5课时函数的图象课时训练含解析.doc
设计优化的成本控制
超高曲面墙体ALC隔墙板施工工法
健脾养胃的食物
【母亲节礼物学校作文】 母亲节送礼物作文.docx
2021—2021学年度第二学期班主任工作总结.doc
学校卫生安全工作责任书.doc
硬质阳极氧化
个人房屋装修合同参考样本(5篇).doc
山东省淄博市2014-2015学年高二化学下学期期中试题扫描版新人教版.doc
信息安全基础试题及答案
四年级月考试卷.doc
2023-04-01 2页
2023-07-09 10页
2022-10-30 10页
2023-02-18 4页
2023-08-15 11页
2024-02-08 3页
2023-07-30 11页
2023-10-16 8页
2023-08-19 6页
2023-12-13 6页