学习编译原理写出的一个简单计算器。结果取两位小数。
计算器接受四则运算表达式为输入。如果表达式语法正确,则输出计算结果,否则报错,指出错误位置及原因。
- 每个语句需要以“;”结束;
- 涉及的操作符只要求加减乘除;支持括号;
- 操作数为整数或浮点数;
- 变量不需要先声明,可直接赋值,它的类型由右边表达式的类型决定;每个变量在使用之前必须要已经有赋值;
- 变量名可以是由数字和字母组成,但首字符必须是字母;
- 输出语句使用
print()
函数,输出并换行; print()
函数不仅可以输出变量,还可以直接输出表达式的值,例如print(1+2)
;- 接受一个源文件路径为命令行参数。
java -jar calculator.jar [sourceFile]
test
开头的为测试成功的文件。
error
开头的为会报错的文件。
除数为 0 时不能确定错误发生行中的具体位置。