y.output 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
  1. state 0
  2. $accept: .top $end
  3. '+' shift 4
  4. '-' shift 5
  5. '(' shift 9
  6. NUM shift 8
  7. . error
  8. expr goto 2
  9. expr1 goto 3
  10. expr2 goto 6
  11. expr3 goto 7
  12. top goto 1
  13. state 1
  14. $accept: top.$end
  15. $end accept
  16. . error
  17. state 2
  18. top: expr. (1)
  19. . reduce 1 (src line 41)
  20. state 3
  21. expr: expr1. (2)
  22. expr1: expr1.'+' expr2
  23. expr1: expr1.'-' expr2
  24. '+' shift 10
  25. '-' shift 11
  26. . reduce 2 (src line 51)
  27. state 4
  28. expr: '+'.expr
  29. '+' shift 4
  30. '-' shift 5
  31. '(' shift 9
  32. NUM shift 8
  33. . error
  34. expr goto 12
  35. expr1 goto 3
  36. expr2 goto 6
  37. expr3 goto 7
  38. state 5
  39. expr: '-'.expr
  40. '+' shift 4
  41. '-' shift 5
  42. '(' shift 9
  43. NUM shift 8
  44. . error
  45. expr goto 13
  46. expr1 goto 3
  47. expr2 goto 6
  48. expr3 goto 7
  49. state 6
  50. expr1: expr2. (5)
  51. expr2: expr2.'*' expr3
  52. expr2: expr2.'/' expr3
  53. '*' shift 14
  54. '/' shift 15
  55. . reduce 5 (src line 62)
  56. state 7
  57. expr2: expr3. (8)
  58. . reduce 8 (src line 73)
  59. state 8
  60. expr3: NUM. (11)
  61. . reduce 11 (src line 84)
  62. state 9
  63. expr3: '('.expr ')'
  64. '+' shift 4
  65. '-' shift 5
  66. '(' shift 9
  67. NUM shift 8
  68. . error
  69. expr goto 16
  70. expr1 goto 3
  71. expr2 goto 6
  72. expr3 goto 7
  73. state 10
  74. expr1: expr1 '+'.expr2
  75. '(' shift 9
  76. NUM shift 8
  77. . error
  78. expr2 goto 17
  79. expr3 goto 7
  80. state 11
  81. expr1: expr1 '-'.expr2
  82. '(' shift 9
  83. NUM shift 8
  84. . error
  85. expr2 goto 18
  86. expr3 goto 7
  87. state 12
  88. expr: '+' expr. (3)
  89. . reduce 3 (src line 53)
  90. state 13
  91. expr: '-' expr. (4)
  92. . reduce 4 (src line 57)
  93. state 14
  94. expr2: expr2 '*'.expr3
  95. '(' shift 9
  96. NUM shift 8
  97. . error
  98. expr3 goto 19
  99. state 15
  100. expr2: expr2 '/'.expr3
  101. '(' shift 9
  102. NUM shift 8
  103. . error
  104. expr3 goto 20
  105. state 16
  106. expr3: '(' expr.')'
  107. ')' shift 21
  108. . error
  109. state 17
  110. expr1: expr1 '+' expr2. (6)
  111. expr2: expr2.'*' expr3
  112. expr2: expr2.'/' expr3
  113. '*' shift 14
  114. '/' shift 15
  115. . reduce 6 (src line 64)
  116. state 18
  117. expr1: expr1 '-' expr2. (7)
  118. expr2: expr2.'*' expr3
  119. expr2: expr2.'/' expr3
  120. '*' shift 14
  121. '/' shift 15
  122. . reduce 7 (src line 68)
  123. state 19
  124. expr2: expr2 '*' expr3. (9)
  125. . reduce 9 (src line 75)
  126. state 20
  127. expr2: expr2 '/' expr3. (10)
  128. . reduce 10 (src line 79)
  129. state 21
  130. expr3: '(' expr ')'. (12)
  131. . reduce 12 (src line 86)
  132. 10 terminals, 6 nonterminals
  133. 13 grammar rules, 22/8000 states
  134. 0 shift/reduce, 0 reduce/reduce conflicts reported
  135. 55 working sets used
  136. memory: parser 22/120000
  137. 19 extra closures
  138. 33 shift entries, 1 exceptions
  139. 12 goto entries
  140. 11 entries saved by goto default
  141. Optimizer space used: output 23/120000
  142. 23 table entries, 0 zero
  143. maximum spread: 10, maximum offset: 15