软件体系结构的第二次实验(解释器风格与管道过滤器风格)java
1、实验目的函数
1.熟悉体系结构的风格的概念翻译
2.理解和应用管道过滤器型的风格。3d
三、理解解释器的原理orm
四、理解编译器模型blog
2、实验环境ip
硬件: rem
软件:Python或任何一种本身喜欢的语言字符串
3、实验内容get
一、实现“四则运算”的简易翻译器。
结果要求:
1)实现加减乘除四则运算,容许同时又多个操做数,如:2+3*5-6 结果是11
2)被操做数为整数,整数能够有多位
3)处理空格
4)输入错误显示错误提示,并返回命令状态“CALC”
图1 实验结果示例
增强练习:
一、有能力的同窗,能够尝试实现赋值语句,例如x=2+3*5-6,返回x=11。(注意:要实现解释器的功能,而不是只是显示)
二、尝试实现自增和自减符号,例如x++
三、采用管道-过滤器(Pipes and Filters)风格实现解释器
图2 管道-过滤器风格
图 3 编译器模型示意图
本实验,实现的是词法分析和语法分析两个部分。
4、实验步骤:
代码以下:
结果以下:
对应结构图: