Open Magic-Bytes opened 7 years ago
如果不要的话那么类似"-1+2"这种表达式的话就会报错,我之前想了一下发现这种需要支持,所以加了上去。
这是因为你的预处理不充分 ,你应该扫描整个式子,发现加号或者减号前面不是数字的话,就补0,例如-1+2
就变成0-1+2
,这样就可以让文法看起来比较简洁
另外想问一问,我同学说预测表的生成需要处理几十个项集?问你是怎么做的?
(1)使用LL文法的好处之一就是不需要进行预处理,因为可以直接从左到右扫描,一次性分析完成。 (2)那个项集是LR文法的解决方案,不是LL文法的,这个计算器也可以用LR文法写,但是那个的确是需要写出来很多项集,所以比较麻烦。
是时候改Web 2.0作业了<( ̄ˇ ̄)/
666,打算上完课再改
感觉最后的
factor => -factor
不是必要的