A PL/0(X0) language compiler, written in CPP. Originally for ECNUCS compiler course.
bonus required:
- 增加运算符(各2分)
- ☑求余运算符%
- ☑异或运算符XOR
- ☑判断整数的奇偶ODD
- ☑自增++,自减--
- 增加语句,语法参照C语言
- ☑for语句(5分)
- 增加基本数据类型
- 增加常量(const)的定义与使用(4分)
- ☑区分变量与常量,可以参考PL/0语言中的实现方法
- 扩充成多维数组(10分左右,视实际情况给分)
- ☑增加由任何数据类型构造的多维数组,允许定义数组、对数组元素赋值、在表达式中引用数组元素等。
- 允许调用(call)过程(8分左右,视实际情况给分)
- ☑可以参考PL/0语言中的实现方法,也可以参考C语言中的实现方法
- 扩充带参数、返回值的过程
other bonus:
- 支持单行与多行注释 /**/与//
g++ -o test my.cpp main.cpp -std=c++11
./test
把输入代码写在同目录的input.txt里