今晚在别人的基础上改了一个支持变量的命令行计算器。
源码:
http://pan.baidu.com/s/1dDmvPhJ
学习了lex和yacc的基本知识。主要难点是记录变量名,用stack搞定;二则,记录变量名对应的数值,用map搞定。这也是为什么要将生成的.c文件重命名为.cpp进行编译的原因。
lex和yacc还是十分强大的,将编写编译器一下子变得十分简单了。加油,争取写出一个lua解释器来~~
今晚在别人的基础上改了一个支持变量的命令行计算器。
源码:
http://pan.baidu.com/s/1dDmvPhJ
学习了lex和yacc的基本知识。主要难点是记录变量名,用stack搞定;二则,记录变量名对应的数值,用map搞定。这也是为什么要将生成的.c文件重命名为.cpp进行编译的原因。
lex和yacc还是十分强大的,将编写编译器一下子变得十分简单了。加油,争取写出一个lua解释器来~~