代码遵从C++14标准,忙着别的事潦草的完成,还有许多需要优化的地方。
预测表里面的数:-1代表这有报错,其他数字拆开十位代表行,个位代表列;
行:给出文法的行,从0开始,如:E→TE’是第0行;因为只需要到了右半部分所以只保留了右半部分
列:为什么会出现列呢?因为很多文法右半部分是或的关系,如:T’ →*FT’ |/ FT’ |%FT’|ε 依次的行列是(3,0),(3,1),(3,2),(3,3)所以预测表里存储的是30,31,32,33
其他部分看代码的注释即可,有问题可以留言或加我QQ讨论