[关闭]
@fuheimao 2020-04-06T04:25:51.000000Z 字数 892 阅读 586

编译原理作业-截止日期: 4.7

编译原理


7-2

提取的公共左因子:


消除的直接左递归:


消除的间接左递归:

消除上式的直接左递归:


综上所述,文法消除左递归并提取公共左因子后为:



7-3

消除的直接左递归:


递归下降分析过程:

  1. void S() {
  2. if (symbol == '(') {
  3. advance();
  4. L();
  5. if (symbol == ')') {
  6. advance();
  7. }
  8. else {
  9. error();
  10. }
  11. }
  12. else if (symbol == 'a') {
  13. advance();
  14. }
  15. else {
  16. error();
  17. }
  18. }
  19. void L() {
  20. S();
  21. L'();
  22. }
  23. void L'() {
  24. if (symbol == ',') {
  25. advance();
  26. S();
  27. L'();
  28. }
  29. }

7-5

消除的直接左递归:


消除的直接左递归:


综上所述,文法




非终结符

预测分析表:

从上表可以看出,文法。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注