adlint 3.2.0 → 3.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (371) hide show
  1. checksums.yaml +7 -0
  2. data/AUTHORS +1 -2
  3. data/ChangeLog +196 -5236
  4. data/INSTALL +1 -1
  5. data/MANIFEST +4 -2
  6. data/NEWS +30 -13
  7. data/README +2 -2
  8. data/Rakefile +2 -2
  9. data/TODO +1 -1
  10. data/bin/adlint +2 -2
  11. data/bin/adlint_chk +2 -2
  12. data/bin/adlint_cma +2 -2
  13. data/bin/adlint_sma +2 -2
  14. data/bin/adlintize +2 -2
  15. data/etc/conf.d/fallback/cinit.erb +1 -1
  16. data/etc/conf.d/fallback/traits.erb +1 -1
  17. data/etc/conf.d/i686-cygwin/cinit-gcc_4.3.4.erb +1 -1
  18. data/etc/conf.d/i686-cygwin/traits-gcc_4.3.4.erb +1 -1
  19. data/etc/conf.d/i686-devkit/cinit-gcc_4.5.2.erb +1 -1
  20. data/etc/conf.d/i686-devkit/traits-gcc_4.5.2.erb +1 -1
  21. data/etc/conf.d/i686-linux/cinit-gcc_4.5.1.erb +1 -1
  22. data/etc/conf.d/i686-linux/traits-gcc_4.5.1.erb +1 -1
  23. data/etc/conf.d/i686-mingw/cinit-gcc_4.6.1.erb +1 -1
  24. data/etc/conf.d/i686-mingw/traits-gcc_4.6.1.erb +1 -1
  25. data/etc/conf.d/noarch/GNUmakefile.erb +1 -1
  26. data/etc/conf.d/noarch/adlint_all_bat.erb +1 -1
  27. data/etc/conf.d/noarch/adlint_all_sh.erb +1 -1
  28. data/etc/conf.d/noarch/pinit.erb +1 -1
  29. data/etc/conf.d/x86_64-centos_6.4/cinit-gcc_4.4.7.erb +150 -0
  30. data/etc/conf.d/x86_64-centos_6.4/traits-gcc_4.4.7.erb +290 -0
  31. data/etc/conf.d/x86_64-ubuntu_12.04/cinit-gcc_4.6.3.erb +1 -1
  32. data/etc/conf.d/x86_64-ubuntu_12.04/traits-gcc_4.6.3.erb +1 -1
  33. data/etc/mesg.d/c_builtin/en_US/messages.yml +2 -2
  34. data/etc/mesg.d/c_builtin/ja_JP/messages.yml +3 -3
  35. data/etc/mesg.d/core/en_US/messages.yml +6 -2
  36. data/etc/mesg.d/core/ja_JP/messages.yml +6 -2
  37. data/features/code_check/E0008.feature +122 -0
  38. data/features/code_check/E0016.feature +49 -0
  39. data/features/code_check/E0018.feature +99 -0
  40. data/features/code_check/W0460.feature +8 -8
  41. data/lib/adlint.rb +2 -2
  42. data/lib/adlint/analyzer.rb +2 -2
  43. data/lib/adlint/annot.rb +2 -2
  44. data/lib/adlint/cc1.rb +2 -2
  45. data/lib/adlint/cc1/branch.rb +2 -2
  46. data/lib/adlint/cc1/builtin.rb +2 -2
  47. data/lib/adlint/cc1/const.rb +2 -2
  48. data/lib/adlint/cc1/conv.rb +2 -2
  49. data/lib/adlint/cc1/ctrlexpr.rb +2 -2
  50. data/lib/adlint/cc1/domain.rb +2 -2
  51. data/lib/adlint/cc1/enum.rb +2 -2
  52. data/lib/adlint/cc1/environ.rb +2 -2
  53. data/lib/adlint/cc1/expr.rb +110 -48
  54. data/lib/adlint/cc1/format.rb +2 -2
  55. data/lib/adlint/cc1/interp.rb +46 -12
  56. data/lib/adlint/cc1/lexer.rb +44 -11
  57. data/lib/adlint/cc1/mediator.rb +16 -2
  58. data/lib/adlint/cc1/object.rb +2 -2
  59. data/lib/adlint/cc1/operator.rb +2 -2
  60. data/lib/adlint/cc1/option.rb +3 -3
  61. data/lib/adlint/cc1/parser.rb +1011 -999
  62. data/lib/adlint/cc1/parser.y +20 -11
  63. data/lib/adlint/cc1/phase.rb +2 -2
  64. data/lib/adlint/cc1/resolver.rb +2 -2
  65. data/lib/adlint/cc1/scanner.rb +2 -2
  66. data/lib/adlint/cc1/scope.rb +2 -2
  67. data/lib/adlint/cc1/seqp.rb +2 -2
  68. data/lib/adlint/cc1/syntax.rb +42 -10
  69. data/lib/adlint/cc1/trace.rb +2 -2
  70. data/lib/adlint/cc1/type.rb +72 -2
  71. data/lib/adlint/cc1/util.rb +2 -2
  72. data/lib/adlint/cc1/value.rb +9 -3
  73. data/lib/adlint/code.rb +2 -2
  74. data/lib/adlint/cpp.rb +2 -2
  75. data/lib/adlint/cpp/asm.rb +2 -2
  76. data/lib/adlint/cpp/constexpr.rb +1 -1
  77. data/lib/adlint/cpp/constexpr.y +2 -2
  78. data/lib/adlint/cpp/eval.rb +2 -2
  79. data/lib/adlint/cpp/lexer.rb +13 -3
  80. data/lib/adlint/cpp/macro.rb +2 -2
  81. data/lib/adlint/cpp/phase.rb +2 -2
  82. data/lib/adlint/cpp/scanner.rb +2 -2
  83. data/lib/adlint/cpp/source.rb +2 -2
  84. data/lib/adlint/cpp/subst.rb +6 -2
  85. data/lib/adlint/cpp/syntax.rb +2 -2
  86. data/lib/adlint/cpp/util.rb +2 -2
  87. data/lib/adlint/driver.rb +2 -2
  88. data/lib/adlint/error.rb +2 -2
  89. data/lib/adlint/exam.rb +20 -8
  90. data/lib/adlint/exam/c_builtin.rb +4 -6
  91. data/lib/adlint/exam/c_builtin/cc1_check.rb +1380 -461
  92. data/lib/adlint/exam/c_builtin/cc1_code.rb +25 -25
  93. data/lib/adlint/exam/c_builtin/cc1_metric.rb +180 -209
  94. data/lib/adlint/exam/c_builtin/cpp_check.rb +211 -50
  95. data/lib/adlint/exam/c_builtin/cpp_code.rb +19 -19
  96. data/lib/adlint/exam/c_builtin/ld_check.rb +2 -2
  97. data/lib/adlint/exam/c_builtin/ld_metric.rb +2 -2
  98. data/lib/adlint/lang.rb +2 -2
  99. data/lib/adlint/ld.rb +2 -2
  100. data/lib/adlint/ld/object.rb +3 -3
  101. data/lib/adlint/ld/phase.rb +2 -2
  102. data/lib/adlint/ld/typedef.rb +2 -2
  103. data/lib/adlint/ld/util.rb +2 -2
  104. data/lib/adlint/lexer.rb +2 -2
  105. data/lib/adlint/location.rb +2 -2
  106. data/lib/adlint/memo.rb +2 -2
  107. data/lib/adlint/message.rb +2 -2
  108. data/lib/adlint/metric.rb +2 -2
  109. data/lib/adlint/monitor.rb +2 -2
  110. data/lib/adlint/phase.rb +2 -2
  111. data/lib/adlint/prelude.rb +2 -2
  112. data/lib/adlint/report.rb +4 -4
  113. data/lib/adlint/source.rb +2 -2
  114. data/lib/adlint/supp.rb +2 -2
  115. data/lib/adlint/symbol.rb +2 -2
  116. data/lib/adlint/token.rb +2 -2
  117. data/lib/adlint/traits.rb +2 -2
  118. data/lib/adlint/util.rb +2 -2
  119. data/lib/adlint/version.rb +6 -6
  120. data/share/HEADER +2 -2
  121. data/share/doc/developers_guide_ja.html +20 -9
  122. data/share/doc/developers_guide_ja.texi +18 -7
  123. data/share/doc/samples/GNUmakefile +1 -1
  124. data/share/doc/samples/adlint_traits.yml +1 -1
  125. data/share/doc/users_guide_en.html +6177 -6138
  126. data/share/doc/users_guide_en.texi +35 -5
  127. data/share/doc/users_guide_ja.html +6192 -6153
  128. data/share/doc/users_guide_ja.texi +35 -5
  129. data/share/sample/bison-2.5/adlint/GNUmakefile +1 -1
  130. data/share/sample/bison-2.5/adlint/adlint_traits.yml +1 -1
  131. data/share/sample/bison-2.5/adlint/lib/GNUmakefile +1 -1
  132. data/share/sample/bison-2.5/adlint/lib/adlint_cinit.h +1 -1
  133. data/share/sample/bison-2.5/adlint/lib/adlint_pinit.h +1 -1
  134. data/share/sample/bison-2.5/adlint/lib/adlint_traits.yml +1 -1
  135. data/share/sample/bison-2.5/adlint/src/GNUmakefile +1 -1
  136. data/share/sample/bison-2.5/adlint/src/adlint_cinit.h +1 -1
  137. data/share/sample/bison-2.5/adlint/src/adlint_pinit.h +1 -1
  138. data/share/sample/bison-2.5/adlint/src/adlint_traits.yml +1 -1
  139. data/share/sample/ctags-5.8/adlint/GNUmakefile +1 -1
  140. data/share/sample/ctags-5.8/adlint/adlint_cinit.h +1 -1
  141. data/share/sample/ctags-5.8/adlint/adlint_pinit.h +1 -1
  142. data/share/sample/ctags-5.8/adlint/adlint_traits.yml +1 -1
  143. data/share/sample/flex-2.5.35/adlint/GNUmakefile +1 -1
  144. data/share/sample/flex-2.5.35/adlint/adlint_cinit.h +1 -1
  145. data/share/sample/flex-2.5.35/adlint/adlint_pinit.h +1 -1
  146. data/share/sample/flex-2.5.35/adlint/adlint_traits.yml +1 -1
  147. data/share/sample/ruby-1.9.3-p0/adlint/GNUmakefile +1 -1
  148. data/share/sample/ruby-1.9.3-p0/adlint/adlint_traits.yml +1 -1
  149. data/share/sample/ruby-1.9.3-p0/adlint/core/GNUmakefile +1 -1
  150. data/share/sample/ruby-1.9.3-p0/adlint/core/adlint_cinit.h +1 -1
  151. data/share/sample/ruby-1.9.3-p0/adlint/core/adlint_pinit.h +1 -1
  152. data/share/sample/ruby-1.9.3-p0/adlint/core/adlint_traits.yml +1 -1
  153. data/share/sample/ruby-1.9.3-p0/adlint/enc-trans/GNUmakefile +1 -1
  154. data/share/sample/ruby-1.9.3-p0/adlint/enc-trans/adlint_cinit.h +1 -1
  155. data/share/sample/ruby-1.9.3-p0/adlint/enc-trans/adlint_pinit.h +1 -1
  156. data/share/sample/ruby-1.9.3-p0/adlint/enc-trans/adlint_traits.yml +1 -1
  157. data/share/sample/ruby-1.9.3-p0/adlint/enc/GNUmakefile +1 -1
  158. data/share/sample/ruby-1.9.3-p0/adlint/enc/adlint_cinit.h +1 -1
  159. data/share/sample/ruby-1.9.3-p0/adlint/enc/adlint_pinit.h +1 -1
  160. data/share/sample/ruby-1.9.3-p0/adlint/enc/adlint_traits.yml +1 -1
  161. data/share/sample/ruby-1.9.3-p0/adlint/ext-bigdecimal/GNUmakefile +1 -1
  162. data/share/sample/ruby-1.9.3-p0/adlint/ext-bigdecimal/adlint_cinit.h +1 -1
  163. data/share/sample/ruby-1.9.3-p0/adlint/ext-bigdecimal/adlint_pinit.h +1 -1
  164. data/share/sample/ruby-1.9.3-p0/adlint/ext-bigdecimal/adlint_traits.yml +1 -1
  165. data/share/sample/ruby-1.9.3-p0/adlint/ext-continuation/GNUmakefile +1 -1
  166. data/share/sample/ruby-1.9.3-p0/adlint/ext-continuation/adlint_cinit.h +1 -1
  167. data/share/sample/ruby-1.9.3-p0/adlint/ext-continuation/adlint_pinit.h +1 -1
  168. data/share/sample/ruby-1.9.3-p0/adlint/ext-continuation/adlint_traits.yml +1 -1
  169. data/share/sample/ruby-1.9.3-p0/adlint/ext-coverage/GNUmakefile +1 -1
  170. data/share/sample/ruby-1.9.3-p0/adlint/ext-coverage/adlint_cinit.h +1 -1
  171. data/share/sample/ruby-1.9.3-p0/adlint/ext-coverage/adlint_pinit.h +1 -1
  172. data/share/sample/ruby-1.9.3-p0/adlint/ext-coverage/adlint_traits.yml +1 -1
  173. data/share/sample/ruby-1.9.3-p0/adlint/ext-curses/GNUmakefile +1 -1
  174. data/share/sample/ruby-1.9.3-p0/adlint/ext-curses/adlint_cinit.h +1 -1
  175. data/share/sample/ruby-1.9.3-p0/adlint/ext-curses/adlint_pinit.h +1 -1
  176. data/share/sample/ruby-1.9.3-p0/adlint/ext-curses/adlint_traits.yml +1 -1
  177. data/share/sample/ruby-1.9.3-p0/adlint/ext-date/GNUmakefile +1 -1
  178. data/share/sample/ruby-1.9.3-p0/adlint/ext-date/adlint_cinit.h +1 -1
  179. data/share/sample/ruby-1.9.3-p0/adlint/ext-date/adlint_pinit.h +1 -1
  180. data/share/sample/ruby-1.9.3-p0/adlint/ext-date/adlint_traits.yml +1 -1
  181. data/share/sample/ruby-1.9.3-p0/adlint/ext-dbm/GNUmakefile +1 -1
  182. data/share/sample/ruby-1.9.3-p0/adlint/ext-dbm/adlint_cinit.h +1 -1
  183. data/share/sample/ruby-1.9.3-p0/adlint/ext-dbm/adlint_pinit.h +1 -1
  184. data/share/sample/ruby-1.9.3-p0/adlint/ext-dbm/adlint_traits.yml +1 -1
  185. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-bubblebabble/GNUmakefile +1 -1
  186. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-bubblebabble/adlint_cinit.h +1 -1
  187. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-bubblebabble/adlint_pinit.h +1 -1
  188. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-bubblebabble/adlint_traits.yml +1 -1
  189. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-md5/GNUmakefile +1 -1
  190. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-md5/adlint_cinit.h +1 -1
  191. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-md5/adlint_pinit.h +1 -1
  192. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-md5/adlint_traits.yml +1 -1
  193. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-rmd160/GNUmakefile +1 -1
  194. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-rmd160/adlint_cinit.h +1 -1
  195. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-rmd160/adlint_pinit.h +1 -1
  196. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-rmd160/adlint_traits.yml +1 -1
  197. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha1/GNUmakefile +1 -1
  198. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha1/adlint_cinit.h +1 -1
  199. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha1/adlint_pinit.h +1 -1
  200. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha1/adlint_traits.yml +1 -1
  201. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha2/GNUmakefile +1 -1
  202. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha2/adlint_cinit.h +1 -1
  203. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha2/adlint_pinit.h +1 -1
  204. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha2/adlint_traits.yml +1 -1
  205. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest/GNUmakefile +1 -1
  206. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest/adlint_cinit.h +1 -1
  207. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest/adlint_pinit.h +1 -1
  208. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest/adlint_traits.yml +1 -1
  209. data/share/sample/ruby-1.9.3-p0/adlint/ext-dl-callback/GNUmakefile +1 -1
  210. data/share/sample/ruby-1.9.3-p0/adlint/ext-dl-callback/adlint_cinit.h +1 -1
  211. data/share/sample/ruby-1.9.3-p0/adlint/ext-dl-callback/adlint_pinit.h +1 -1
  212. data/share/sample/ruby-1.9.3-p0/adlint/ext-dl-callback/adlint_traits.yml +1 -1
  213. data/share/sample/ruby-1.9.3-p0/adlint/ext-dl/GNUmakefile +1 -1
  214. data/share/sample/ruby-1.9.3-p0/adlint/ext-dl/adlint_cinit.h +1 -1
  215. data/share/sample/ruby-1.9.3-p0/adlint/ext-dl/adlint_pinit.h +1 -1
  216. data/share/sample/ruby-1.9.3-p0/adlint/ext-dl/adlint_traits.yml +1 -1
  217. data/share/sample/ruby-1.9.3-p0/adlint/ext-etc/GNUmakefile +1 -1
  218. data/share/sample/ruby-1.9.3-p0/adlint/ext-etc/adlint_cinit.h +1 -1
  219. data/share/sample/ruby-1.9.3-p0/adlint/ext-etc/adlint_pinit.h +1 -1
  220. data/share/sample/ruby-1.9.3-p0/adlint/ext-etc/adlint_traits.yml +1 -1
  221. data/share/sample/ruby-1.9.3-p0/adlint/ext-fcntl/GNUmakefile +1 -1
  222. data/share/sample/ruby-1.9.3-p0/adlint/ext-fcntl/adlint_cinit.h +1 -1
  223. data/share/sample/ruby-1.9.3-p0/adlint/ext-fcntl/adlint_pinit.h +1 -1
  224. data/share/sample/ruby-1.9.3-p0/adlint/ext-fcntl/adlint_traits.yml +1 -1
  225. data/share/sample/ruby-1.9.3-p0/adlint/ext-fiber/GNUmakefile +1 -1
  226. data/share/sample/ruby-1.9.3-p0/adlint/ext-fiber/adlint_cinit.h +1 -1
  227. data/share/sample/ruby-1.9.3-p0/adlint/ext-fiber/adlint_pinit.h +1 -1
  228. data/share/sample/ruby-1.9.3-p0/adlint/ext-fiber/adlint_traits.yml +1 -1
  229. data/share/sample/ruby-1.9.3-p0/adlint/ext-fiddle/GNUmakefile +1 -1
  230. data/share/sample/ruby-1.9.3-p0/adlint/ext-fiddle/adlint_cinit.h +1 -1
  231. data/share/sample/ruby-1.9.3-p0/adlint/ext-fiddle/adlint_pinit.h +1 -1
  232. data/share/sample/ruby-1.9.3-p0/adlint/ext-fiddle/adlint_traits.yml +1 -1
  233. data/share/sample/ruby-1.9.3-p0/adlint/ext-gdbm/GNUmakefile +1 -1
  234. data/share/sample/ruby-1.9.3-p0/adlint/ext-gdbm/adlint_cinit.h +1 -1
  235. data/share/sample/ruby-1.9.3-p0/adlint/ext-gdbm/adlint_pinit.h +1 -1
  236. data/share/sample/ruby-1.9.3-p0/adlint/ext-gdbm/adlint_traits.yml +1 -1
  237. data/share/sample/ruby-1.9.3-p0/adlint/ext-iconv/GNUmakefile +1 -1
  238. data/share/sample/ruby-1.9.3-p0/adlint/ext-iconv/adlint_cinit.h +1 -1
  239. data/share/sample/ruby-1.9.3-p0/adlint/ext-iconv/adlint_pinit.h +1 -1
  240. data/share/sample/ruby-1.9.3-p0/adlint/ext-iconv/adlint_traits.yml +1 -1
  241. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-console/GNUmakefile +1 -1
  242. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-console/adlint_cinit.h +1 -1
  243. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-console/adlint_pinit.h +1 -1
  244. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-console/adlint_traits.yml +1 -1
  245. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-nonblock/GNUmakefile +1 -1
  246. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-nonblock/adlint_cinit.h +1 -1
  247. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-nonblock/adlint_pinit.h +1 -1
  248. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-nonblock/adlint_traits.yml +1 -1
  249. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-wait/GNUmakefile +1 -1
  250. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-wait/adlint_cinit.h +1 -1
  251. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-wait/adlint_pinit.h +1 -1
  252. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-wait/adlint_traits.yml +1 -1
  253. data/share/sample/ruby-1.9.3-p0/adlint/ext-json-generator/GNUmakefile +1 -1
  254. data/share/sample/ruby-1.9.3-p0/adlint/ext-json-generator/adlint_cinit.h +1 -1
  255. data/share/sample/ruby-1.9.3-p0/adlint/ext-json-generator/adlint_pinit.h +1 -1
  256. data/share/sample/ruby-1.9.3-p0/adlint/ext-json-generator/adlint_traits.yml +1 -1
  257. data/share/sample/ruby-1.9.3-p0/adlint/ext-json-parser/GNUmakefile +1 -1
  258. data/share/sample/ruby-1.9.3-p0/adlint/ext-json-parser/adlint_cinit.h +1 -1
  259. data/share/sample/ruby-1.9.3-p0/adlint/ext-json-parser/adlint_pinit.h +1 -1
  260. data/share/sample/ruby-1.9.3-p0/adlint/ext-json-parser/adlint_traits.yml +1 -1
  261. data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-complex/GNUmakefile +1 -1
  262. data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-complex/adlint_cinit.h +1 -1
  263. data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-complex/adlint_pinit.h +1 -1
  264. data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-complex/adlint_traits.yml +1 -1
  265. data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-rational/GNUmakefile +1 -1
  266. data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-rational/adlint_cinit.h +1 -1
  267. data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-rational/adlint_pinit.h +1 -1
  268. data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-rational/adlint_traits.yml +1 -1
  269. data/share/sample/ruby-1.9.3-p0/adlint/ext-nkf/GNUmakefile +1 -1
  270. data/share/sample/ruby-1.9.3-p0/adlint/ext-nkf/adlint_cinit.h +1 -1
  271. data/share/sample/ruby-1.9.3-p0/adlint/ext-nkf/adlint_pinit.h +1 -1
  272. data/share/sample/ruby-1.9.3-p0/adlint/ext-nkf/adlint_traits.yml +1 -1
  273. data/share/sample/ruby-1.9.3-p0/adlint/ext-openssl/GNUmakefile +1 -1
  274. data/share/sample/ruby-1.9.3-p0/adlint/ext-openssl/adlint_cinit.h +1 -1
  275. data/share/sample/ruby-1.9.3-p0/adlint/ext-openssl/adlint_pinit.h +1 -1
  276. data/share/sample/ruby-1.9.3-p0/adlint/ext-openssl/adlint_traits.yml +1 -1
  277. data/share/sample/ruby-1.9.3-p0/adlint/ext-pathname/GNUmakefile +1 -1
  278. data/share/sample/ruby-1.9.3-p0/adlint/ext-pathname/adlint_cinit.h +1 -1
  279. data/share/sample/ruby-1.9.3-p0/adlint/ext-pathname/adlint_pinit.h +1 -1
  280. data/share/sample/ruby-1.9.3-p0/adlint/ext-pathname/adlint_traits.yml +1 -1
  281. data/share/sample/ruby-1.9.3-p0/adlint/ext-psych/GNUmakefile +1 -1
  282. data/share/sample/ruby-1.9.3-p0/adlint/ext-psych/adlint_cinit.h +1 -1
  283. data/share/sample/ruby-1.9.3-p0/adlint/ext-psych/adlint_pinit.h +1 -1
  284. data/share/sample/ruby-1.9.3-p0/adlint/ext-psych/adlint_traits.yml +1 -1
  285. data/share/sample/ruby-1.9.3-p0/adlint/ext-pty/GNUmakefile +1 -1
  286. data/share/sample/ruby-1.9.3-p0/adlint/ext-pty/adlint_cinit.h +1 -1
  287. data/share/sample/ruby-1.9.3-p0/adlint/ext-pty/adlint_pinit.h +1 -1
  288. data/share/sample/ruby-1.9.3-p0/adlint/ext-pty/adlint_traits.yml +1 -1
  289. data/share/sample/ruby-1.9.3-p0/adlint/ext-racc-cparse/GNUmakefile +1 -1
  290. data/share/sample/ruby-1.9.3-p0/adlint/ext-racc-cparse/adlint_cinit.h +1 -1
  291. data/share/sample/ruby-1.9.3-p0/adlint/ext-racc-cparse/adlint_pinit.h +1 -1
  292. data/share/sample/ruby-1.9.3-p0/adlint/ext-racc-cparse/adlint_traits.yml +1 -1
  293. data/share/sample/ruby-1.9.3-p0/adlint/ext-readline/GNUmakefile +1 -1
  294. data/share/sample/ruby-1.9.3-p0/adlint/ext-readline/adlint_cinit.h +1 -1
  295. data/share/sample/ruby-1.9.3-p0/adlint/ext-readline/adlint_pinit.h +1 -1
  296. data/share/sample/ruby-1.9.3-p0/adlint/ext-readline/adlint_traits.yml +1 -1
  297. data/share/sample/ruby-1.9.3-p0/adlint/ext-ripper/GNUmakefile +1 -1
  298. data/share/sample/ruby-1.9.3-p0/adlint/ext-ripper/adlint_cinit.h +1 -1
  299. data/share/sample/ruby-1.9.3-p0/adlint/ext-ripper/adlint_pinit.h +1 -1
  300. data/share/sample/ruby-1.9.3-p0/adlint/ext-ripper/adlint_traits.yml +1 -1
  301. data/share/sample/ruby-1.9.3-p0/adlint/ext-sdbm/GNUmakefile +1 -1
  302. data/share/sample/ruby-1.9.3-p0/adlint/ext-sdbm/adlint_cinit.h +1 -1
  303. data/share/sample/ruby-1.9.3-p0/adlint/ext-sdbm/adlint_pinit.h +1 -1
  304. data/share/sample/ruby-1.9.3-p0/adlint/ext-sdbm/adlint_traits.yml +1 -1
  305. data/share/sample/ruby-1.9.3-p0/adlint/ext-socket/GNUmakefile +1 -1
  306. data/share/sample/ruby-1.9.3-p0/adlint/ext-socket/adlint_cinit.h +1 -1
  307. data/share/sample/ruby-1.9.3-p0/adlint/ext-socket/adlint_pinit.h +1 -1
  308. data/share/sample/ruby-1.9.3-p0/adlint/ext-socket/adlint_traits.yml +1 -1
  309. data/share/sample/ruby-1.9.3-p0/adlint/ext-stringio/GNUmakefile +1 -1
  310. data/share/sample/ruby-1.9.3-p0/adlint/ext-stringio/adlint_cinit.h +1 -1
  311. data/share/sample/ruby-1.9.3-p0/adlint/ext-stringio/adlint_pinit.h +1 -1
  312. data/share/sample/ruby-1.9.3-p0/adlint/ext-stringio/adlint_traits.yml +1 -1
  313. data/share/sample/ruby-1.9.3-p0/adlint/ext-strscan/GNUmakefile +1 -1
  314. data/share/sample/ruby-1.9.3-p0/adlint/ext-strscan/adlint_cinit.h +1 -1
  315. data/share/sample/ruby-1.9.3-p0/adlint/ext-strscan/adlint_pinit.h +1 -1
  316. data/share/sample/ruby-1.9.3-p0/adlint/ext-strscan/adlint_traits.yml +1 -1
  317. data/share/sample/ruby-1.9.3-p0/adlint/ext-syck/GNUmakefile +1 -1
  318. data/share/sample/ruby-1.9.3-p0/adlint/ext-syck/adlint_cinit.h +1 -1
  319. data/share/sample/ruby-1.9.3-p0/adlint/ext-syck/adlint_pinit.h +1 -1
  320. data/share/sample/ruby-1.9.3-p0/adlint/ext-syck/adlint_traits.yml +1 -1
  321. data/share/sample/ruby-1.9.3-p0/adlint/ext-syslog/GNUmakefile +1 -1
  322. data/share/sample/ruby-1.9.3-p0/adlint/ext-syslog/adlint_cinit.h +1 -1
  323. data/share/sample/ruby-1.9.3-p0/adlint/ext-syslog/adlint_pinit.h +1 -1
  324. data/share/sample/ruby-1.9.3-p0/adlint/ext-syslog/adlint_traits.yml +1 -1
  325. data/share/sample/ruby-1.9.3-p0/adlint/ext-zlib/GNUmakefile +1 -1
  326. data/share/sample/ruby-1.9.3-p0/adlint/ext-zlib/adlint_cinit.h +1 -1
  327. data/share/sample/ruby-1.9.3-p0/adlint/ext-zlib/adlint_pinit.h +1 -1
  328. data/share/sample/ruby-1.9.3-p0/adlint/ext-zlib/adlint_traits.yml +1 -1
  329. data/share/sample/screen-4.0.3/adlint/GNUmakefile +1 -1
  330. data/share/sample/screen-4.0.3/adlint/adlint_cinit.h +1 -1
  331. data/share/sample/screen-4.0.3/adlint/adlint_pinit.h +1 -1
  332. data/share/sample/screen-4.0.3/adlint/adlint_traits.yml +1 -1
  333. data/share/sample/vim-7.3/adlint/vim/GNUmakefile +1 -1
  334. data/share/sample/vim-7.3/adlint/vim/adlint_cinit.h +1 -1
  335. data/share/sample/vim-7.3/adlint/vim/adlint_pinit.h +1 -1
  336. data/share/sample/vim-7.3/adlint/vim/adlint_traits.yml +1 -1
  337. data/share/sample/vim-7.3/adlint/xxd/GNUmakefile +1 -1
  338. data/share/sample/vim-7.3/adlint/xxd/adlint_cinit.h +1 -1
  339. data/share/sample/vim-7.3/adlint/xxd/adlint_pinit.h +1 -1
  340. data/share/sample/vim-7.3/adlint/xxd/adlint_traits.yml +1 -1
  341. data/share/sample/zsh-4.3.15/adlint/GNUmakefile +1 -1
  342. data/share/sample/zsh-4.3.15/adlint/adlint_traits.yml +1 -1
  343. data/share/sample/zsh-4.3.15/adlint/builtins/GNUmakefile +1 -1
  344. data/share/sample/zsh-4.3.15/adlint/builtins/adlint_cinit.h +1 -1
  345. data/share/sample/zsh-4.3.15/adlint/builtins/adlint_pinit.h +1 -1
  346. data/share/sample/zsh-4.3.15/adlint/builtins/adlint_traits.yml +1 -1
  347. data/share/sample/zsh-4.3.15/adlint/core/GNUmakefile +1 -1
  348. data/share/sample/zsh-4.3.15/adlint/core/adlint_cinit.h +1 -1
  349. data/share/sample/zsh-4.3.15/adlint/core/adlint_pinit.h +1 -1
  350. data/share/sample/zsh-4.3.15/adlint/core/adlint_traits.yml +1 -1
  351. data/share/sample/zsh-4.3.15/adlint/modules/GNUmakefile +1 -1
  352. data/share/sample/zsh-4.3.15/adlint/modules/adlint_cinit.h +1 -1
  353. data/share/sample/zsh-4.3.15/adlint/modules/adlint_pinit.h +1 -1
  354. data/share/sample/zsh-4.3.15/adlint/modules/adlint_traits.yml +1 -1
  355. data/share/sample/zsh-4.3.15/adlint/zle/GNUmakefile +1 -1
  356. data/share/sample/zsh-4.3.15/adlint/zle/adlint_cinit.h +1 -1
  357. data/share/sample/zsh-4.3.15/adlint/zle/adlint_pinit.h +1 -1
  358. data/share/sample/zsh-4.3.15/adlint/zle/adlint_traits.yml +1 -1
  359. data/spec/adlint/cc1/ctrlexpr_spec.rb +3 -3
  360. data/spec/adlint/cc1/domain_spec.rb +2 -2
  361. data/spec/adlint/cc1/operator_spec.rb +2 -2
  362. data/spec/adlint/cc1/syntax_spec.rb +4 -4
  363. data/spec/adlint/cc1/type_spec.rb +2 -2
  364. data/spec/adlint/location_spec.rb +2 -2
  365. data/spec/conf.d/default_traits.yml +1 -1
  366. data/spec/conf.d/empty_cinit.h +1 -1
  367. data/spec/conf.d/empty_pinit.h +1 -1
  368. data/spec/spec_helper.rb +2 -2
  369. metadata +29 -28
  370. data/lib/adlint/exam/c_builtin/cc1_check_shima.rb +0 -963
  371. data/lib/adlint/exam/c_builtin/cpp_check_shima.rb +0 -204
@@ -1,7 +1,7 @@
1
1
  # Format of the formatted input/output functions.
2
2
  #
3
3
  # Author:: Yutaka Yanoh <mailto:yanoh@users.sourceforge.net>
4
- # Copyright:: Copyright (C) 2010-2013, OGIS-RI Co.,Ltd.
4
+ # Copyright:: Copyright (C) 2010-2014, OGIS-RI Co.,Ltd.
5
5
  # License:: GPLv3+: GNU General Public License version 3 or later
6
6
  #
7
7
  # Owner:: Yutaka Yanoh <mailto:yanoh@users.sourceforge.net>
@@ -11,7 +11,7 @@
11
11
  # / | / _ |/ / / / | / /__ __/ Source Code Static Analyzer
12
12
  # / /| | / / / / / / / |/ / / / AdLint - Advanced Lint
13
13
  # / __ |/ /_/ / /___/ / /| / / /
14
- # /_/ |_|_____/_____/_/_/ |_/ /_/ Copyright (C) 2010-2013, OGIS-RI Co.,Ltd.
14
+ # /_/ |_|_____/_____/_/_/ |_/ /_/ Copyright (C) 2010-2014, OGIS-RI Co.,Ltd.
15
15
  #
16
16
  # This file is part of AdLint.
17
17
  #
@@ -1,7 +1,7 @@
1
1
  # Kernel of the abstract interpreter of C language.
2
2
  #
3
3
  # Author:: Yutaka Yanoh <mailto:yanoh@users.sourceforge.net>
4
- # Copyright:: Copyright (C) 2010-2013, OGIS-RI Co.,Ltd.
4
+ # Copyright:: Copyright (C) 2010-2014, OGIS-RI Co.,Ltd.
5
5
  # License:: GPLv3+: GNU General Public License version 3 or later
6
6
  #
7
7
  # Owner:: Yutaka Yanoh <mailto:yanoh@users.sourceforge.net>
@@ -11,7 +11,7 @@
11
11
  # / | / _ |/ / / / | / /__ __/ Source Code Static Analyzer
12
12
  # / /| | / / / / / / / |/ / / / AdLint - Advanced Lint
13
13
  # / __ |/ /_/ / /___/ / /| / / /
14
- # /_/ |_|_____/_____/_/_/ |_/ /_/ Copyright (C) 2010-2013, OGIS-RI Co.,Ltd.
14
+ # /_/ |_|_____/_____/_/_/ |_/ /_/ Copyright (C) 2010-2014, OGIS-RI Co.,Ltd.
15
15
  #
16
16
  # This file is part of AdLint.
17
17
  #
@@ -74,9 +74,9 @@ module Cc1 #:nodoc:
74
74
  include InterpreterOptions
75
75
  include BranchOptions
76
76
 
77
- def initialize(type_tbl)
77
+ def initialize(type_tbl, env = nil)
78
78
  @type_table = type_tbl
79
- @environment = Environment.new(type_tbl)
79
+ @environment = env || Environment.new(type_tbl)
80
80
  @type_resolver = DynamicTypeResolver.new(type_tbl, self)
81
81
 
82
82
  @sub_interpreters = [
@@ -182,12 +182,36 @@ module Cc1 #:nodoc:
182
182
  # implicit function.
183
183
  def_plugin_and_notifier :implicit_function_declared, :obj_spec, :fun
184
184
 
185
+ # NOTE: Notified when the interpreter evaluates an error-expression.
186
+ def_plugin_and_notifier :error_expr_evaled, :expr, :rslt_var
187
+
188
+ # NOTE: Notified when the interpreter evaluates an object-specifier.
189
+ def_plugin_and_notifier :object_specifier_evaled, :expr, :rslt_obj
190
+
191
+ # NOTE: Notified when the interpreter evaluates a constant-specifier.
192
+ def_plugin_and_notifier :constant_specifier_evaled, :expr, :rslt_var
193
+
194
+ # NOTE: Notified when the interpreter evaluates a string-literal-specifier.
195
+ def_plugin_and_notifier :string_literal_specifier_evaled, :expr, :rslt_var
196
+
197
+ # NOTE: Notified when the interpreter evaluates a null-constant-specifier.
198
+ def_plugin_and_notifier :null_constant_specifier_evaled, :expr, :rslt_var
199
+
185
200
  # NOTE: Notified when the interpreter evaluates a sizeof-expression.
186
201
  def_plugin_and_notifier :sizeof_expr_evaled, :expr, :ope_var, :rslt_var
187
202
 
188
203
  # NOTE: Notified when the interpreter evaluates a sizeof-type-expression.
189
204
  def_plugin_and_notifier :sizeof_type_expr_evaled, :expr, :type, :rslt_var
190
205
 
206
+ # NOTE: Notified when the interpreter evaluates an alignof-expression.
207
+ def_plugin_and_notifier :alignof_expr_evaled, :expr, :ope_var, :rslt_var
208
+
209
+ # NOTE: Notified when the interpreter evaluates an alignof-type-expression.
210
+ def_plugin_and_notifier :alignof_type_expr_evaled, :expr, :type, :rslt_var
211
+
212
+ # NOTE: Notified when the interpreter evaluates a cast-expression.
213
+ def_plugin_and_notifier :cast_expr_evaled, :expr, :ope_var, :rslt_var
214
+
191
215
  # NOTE: Notified when the interpreter evaluates a cast-expression.
192
216
  def_plugin_and_notifier :explicit_conv_performed,
193
217
  :expr, :orig_var, :rslt_var
@@ -276,6 +300,12 @@ module Cc1 #:nodoc:
276
300
  def_plugin_and_notifier :member_access_expr_evaled,
277
301
  :expr, :outer_var, :inner_var
278
302
 
303
+ # NOTE: Notified when the interpreter evaluates a
304
+ # bit-access-by-value-expression or a
305
+ # bit-access-by-pointer-expression.
306
+ def_plugin_and_notifier :bit_access_expr_evaled,
307
+ :expr, :outer_var, :inner_var
308
+
279
309
  # NOTE: Notified when the interpreter evaluates a
280
310
  # prefix-increment-expression.
281
311
  def_plugin_and_notifier :prefix_increment_expr_evaled,
@@ -296,6 +326,10 @@ module Cc1 #:nodoc:
296
326
  def_plugin_and_notifier :postfix_decrement_expr_evaled,
297
327
  :expr, :ope_var, :rslt_var
298
328
 
329
+ # NOTE: Notified when the interpreter evaluates a
330
+ # compound-literal-expression.
331
+ def_plugin_and_notifier :compound_literal_expr_evaled, :expr, :rslt_var
332
+
299
333
  # NOTE: Notified when the interpreter evaluates a
300
334
  # simple-assignment-expression or a compound-assignment-expression.
301
335
  def_plugin_and_notifier :assignment_expr_evaled, :expr, :lhs_var, :rhs_var
@@ -419,7 +453,7 @@ module Cc1 #:nodoc:
419
453
 
420
454
  def execute(node, *opts)
421
455
  @options_stack.push(cur_opts + opts)
422
- if quiet_without_side_effect?
456
+ if without_side_effects?
423
457
  rslt = nil
424
458
  branched_eval(nil, FINAL) do
425
459
  rslt = node.accept(interpreter_for(node))
@@ -435,7 +469,7 @@ module Cc1 #:nodoc:
435
469
  end
436
470
 
437
471
  def quiet?
438
- cur_opts.include?(QUIET) || cur_opts.include?(QUIET_WITHOUT_SIDE_EFFECT)
472
+ cur_opts.include?(QUIET)
439
473
  end
440
474
 
441
475
  def _quiet=(quiet)
@@ -447,16 +481,16 @@ module Cc1 #:nodoc:
447
481
  end
448
482
  end
449
483
 
450
- def quiet_without_side_effect?
451
- cur_opts.include?(QUIET_WITHOUT_SIDE_EFFECT)
484
+ def without_side_effects?
485
+ cur_opts.include?(WITHOUT_SIDE_EFFECTS)
452
486
  end
453
487
 
454
- def _quiet_without_side_effect=(quiet_without_side_effect)
488
+ def _without_side_effects=(without_side_effects)
455
489
  # NOTE: This method is called only from ExpressionEvaluator.
456
- if quiet_without_side_effect
457
- cur_opts.add(QUIET_WITHOUT_SIDE_EFFECT)
490
+ if without_side_effects
491
+ cur_opts.add(WITHOUT_SIDE_EFFECTS)
458
492
  else
459
- cur_opts.delete(QUIET_WITHOUT_SIDE_EFFECT)
493
+ cur_opts.delete(WITHOUT_SIDE_EFFECTS)
460
494
  end
461
495
  end
462
496
 
@@ -1,7 +1,7 @@
1
1
  # Lexical analyzer which retokenizes pp-tokens into c-tokens.
2
2
  #
3
3
  # Author:: Yutaka Yanoh <mailto:yanoh@users.sourceforge.net>
4
- # Copyright:: Copyright (C) 2010-2013, OGIS-RI Co.,Ltd.
4
+ # Copyright:: Copyright (C) 2010-2014, OGIS-RI Co.,Ltd.
5
5
  # License:: GPLv3+: GNU General Public License version 3 or later
6
6
  #
7
7
  # Owner:: Yutaka Yanoh <mailto:yanoh@users.sourceforge.net>
@@ -11,7 +11,7 @@
11
11
  # / | / _ |/ / / / | / /__ __/ Source Code Static Analyzer
12
12
  # / /| | / / / / / / / |/ / / / AdLint - Advanced Lint
13
13
  # / __ |/ /_/ / /___/ / /| / / /
14
- # /_/ |_|_____/_____/_/_/ |_/ /_/ Copyright (C) 2010-2013, OGIS-RI Co.,Ltd.
14
+ # /_/ |_|_____/_____/_/_/ |_/ /_/ Copyright (C) 2010-2014, OGIS-RI Co.,Ltd.
15
15
  #
16
16
  # This file is part of AdLint.
17
17
  #
@@ -40,7 +40,7 @@ module Cc1 #:nodoc:
40
40
  class Lexer < TokensRelexer
41
41
  def initialize(pp_src)
42
42
  super(pp_src.pp_tokens)
43
- @lst_tok = nil
43
+ @lst_toks = []
44
44
  @nxt_tok = nil
45
45
  @ordinary_identifiers = OrdinaryIdentifiers.new
46
46
  @identifier_translation = true
@@ -101,10 +101,12 @@ module Cc1 #:nodoc:
101
101
  when :STRING_LITERAL
102
102
  tok = concat_contiguous_string_literals(tok, lexer_ctxt)
103
103
  end
104
- @lst_tok = tok
105
- else
106
- nil
104
+ @lst_toks.shift if @lst_toks.size == 3
105
+ @lst_toks.push(tok)
106
+ patch_identifier_translation_mode!
107
107
  end
108
+
109
+ tok
108
110
  end
109
111
 
110
112
  def translate_identifier(tok, lexer_ctxt)
@@ -133,15 +135,16 @@ module Cc1 #:nodoc:
133
135
  if tok.type == :IDENTIFIER
134
136
  id_type = @ordinary_identifiers.find(tok.value)
135
137
  if id_type == :typedef
136
- unless @lst_tok and
137
- @lst_tok.type == :STRUCT || @lst_tok.type == :UNION ||
138
- @lst_tok.type == :ENUM ||
139
- @lst_tok.type == "->" || @lst_tok.type == "."
138
+ unless lst_tok = @lst_toks.last and
139
+ lst_tok.type == :STRUCT || lst_tok.type == :UNION ||
140
+ lst_tok.type == :ENUM ||
141
+ lst_tok.type == "->" || lst_tok.type == "."
140
142
  tok = tok.class.new(:TYPEDEF_NAME, tok.value, tok.location)
141
143
  end
142
144
  end
143
145
  end
144
146
  end
147
+
145
148
  tok
146
149
  end
147
150
 
@@ -162,6 +165,36 @@ module Cc1 #:nodoc:
162
165
  tok
163
166
  end
164
167
 
168
+ def patch_identifier_translation_mode!
169
+ keys = [:STRUCT, :UNION, :ENUM]
170
+ head_idx = @lst_toks.rindex { |tok| keys.include?(tok.type) }
171
+
172
+ if head_idx
173
+ toks = @lst_toks[(head_idx + 1)..-1]
174
+ case toks.size
175
+ when 1
176
+ patch_identifier_translation_mode1(*toks)
177
+ when 2
178
+ patch_identifier_translation_mode2(*toks)
179
+ end
180
+ end
181
+ end
182
+
183
+ def patch_identifier_translation_mode1(lst_tok1)
184
+ case lst_tok1.type
185
+ when :IDENTIFIER
186
+ @identifier_translation = false
187
+ when "{"
188
+ @identifier_translation = true
189
+ end
190
+ end
191
+
192
+ def patch_identifier_translation_mode2(lst_tok1, lst_tok2)
193
+ if lst_tok1.type == :IDENTIFIER && lst_tok2.type == "{"
194
+ @identifier_translation = true
195
+ end
196
+ end
197
+
165
198
  def retokenize_keyword(pp_tok, lexer_ctxt)
166
199
  if keyword = Scanner::KEYWORDS[pp_tok.value]
167
200
  pp_tok.class.new(keyword, pp_tok.value, pp_tok.location)
@@ -172,7 +205,7 @@ module Cc1 #:nodoc:
172
205
 
173
206
  def retokenize_constant(pp_tok, lexer_ctxt)
174
207
  # NOTE: For extended bit-access operators.
175
- return nil if @lst_tok && @lst_tok.type == :IDENTIFIER
208
+ return nil if lst_tok = @lst_toks.last and lst_tok.type == :IDENTIFIER
176
209
 
177
210
  case pp_tok.value
178
211
  when /\AL?'.*'\z/,
@@ -1,7 +1,7 @@
1
1
  # C interpreter mediator.
2
2
  #
3
3
  # Author:: Yutaka Yanoh <mailto:yanoh@users.sourceforge.net>
4
- # Copyright:: Copyright (C) 2010-2013, OGIS-RI Co.,Ltd.
4
+ # Copyright:: Copyright (C) 2010-2014, OGIS-RI Co.,Ltd.
5
5
  # License:: GPLv3+: GNU General Public License version 3 or later
6
6
  #
7
7
  # Owner:: Yutaka Yanoh <mailto:yanoh@users.sourceforge.net>
@@ -11,7 +11,7 @@
11
11
  # / | / _ |/ / / / | / /__ __/ Source Code Static Analyzer
12
12
  # / /| | / / / / / / / |/ / / / AdLint - Advanced Lint
13
13
  # / __ |/ /_/ / /___/ / /| / / /
14
- # /_/ |_|_____/_____/_/_/ |_/ /_/ Copyright (C) 2010-2013, OGIS-RI Co.,Ltd.
14
+ # /_/ |_|_____/_____/_/_/ |_/ /_/ Copyright (C) 2010-2014, OGIS-RI Co.,Ltd.
15
15
  #
16
16
  # This file is part of AdLint.
17
17
  #
@@ -173,8 +173,16 @@ module Cc1 #:nodoc:
173
173
  def_delegator :interpreter, :notify_variable_value_updated
174
174
  def_delegator :interpreter, :notify_function_referred
175
175
  def_delegator :interpreter, :notify_implicit_function_declared
176
+ def_delegator :interpreter, :notify_error_expr_evaled
177
+ def_delegator :interpreter, :notify_object_specifier_evaled
178
+ def_delegator :interpreter, :notify_constant_specifier_evaled
179
+ def_delegator :interpreter, :notify_string_literal_specifier_evaled
180
+ def_delegator :interpreter, :notify_null_constant_specifier_evaled
176
181
  def_delegator :interpreter, :notify_sizeof_expr_evaled
177
182
  def_delegator :interpreter, :notify_sizeof_type_expr_evaled
183
+ def_delegator :interpreter, :notify_alignof_expr_evaled
184
+ def_delegator :interpreter, :notify_alignof_type_expr_evaled
185
+ def_delegator :interpreter, :notify_cast_expr_evaled
178
186
  def_delegator :interpreter, :notify_explicit_conv_performed
179
187
  def_delegator :interpreter, :notify_implicit_conv_performed
180
188
  def_delegator :interpreter, :notify_address_derivation_performed
@@ -195,10 +203,12 @@ module Cc1 #:nodoc:
195
203
  def_delegator :interpreter, :notify_address_expr_evaled
196
204
  def_delegator :interpreter, :notify_indirection_expr_evaled
197
205
  def_delegator :interpreter, :notify_member_access_expr_evaled
206
+ def_delegator :interpreter, :notify_bit_access_expr_evaled
198
207
  def_delegator :interpreter, :notify_prefix_increment_expr_evaled
199
208
  def_delegator :interpreter, :notify_postfix_increment_expr_evaled
200
209
  def_delegator :interpreter, :notify_prefix_decrement_expr_evaled
201
210
  def_delegator :interpreter, :notify_postfix_decrement_expr_evaled
211
+ def_delegator :interpreter, :notify_compound_literal_expr_evaled
202
212
  def_delegator :interpreter, :notify_assignment_expr_evaled
203
213
  def_delegator :interpreter, :notify_expression_stmt_started
204
214
  def_delegator :interpreter, :notify_expression_stmt_ended
@@ -270,6 +280,10 @@ module Cc1 #:nodoc:
270
280
  ScalarValue.of_false(logical_right_shift?)
271
281
  end
272
282
 
283
+ def scalar_value_of_null
284
+ ScalarValue.of_null(logical_right_shift?)
285
+ end
286
+
273
287
  def scalar_value_of_arbitrary
274
288
  ScalarValue.of_arbitrary(logical_right_shift?)
275
289
  end
@@ -1,7 +1,7 @@
1
1
  # C runtime object model.
2
2
  #
3
3
  # Author:: Yutaka Yanoh <mailto:yanoh@users.sourceforge.net>
4
- # Copyright:: Copyright (C) 2010-2013, OGIS-RI Co.,Ltd.
4
+ # Copyright:: Copyright (C) 2010-2014, OGIS-RI Co.,Ltd.
5
5
  # License:: GPLv3+: GNU General Public License version 3 or later
6
6
  #
7
7
  # Owner:: Yutaka Yanoh <mailto:yanoh@users.sourceforge.net>
@@ -11,7 +11,7 @@
11
11
  # / | / _ |/ / / / | / /__ __/ Source Code Static Analyzer
12
12
  # / /| | / / / / / / / |/ / / / AdLint - Advanced Lint
13
13
  # / __ |/ /_/ / /___/ / /| / / /
14
- # /_/ |_|_____/_____/_/_/ |_/ /_/ Copyright (C) 2010-2013, OGIS-RI Co.,Ltd.
14
+ # /_/ |_|_____/_____/_/_/ |_/ /_/ Copyright (C) 2010-2014, OGIS-RI Co.,Ltd.
15
15
  #
16
16
  # This file is part of AdLint.
17
17
  #
@@ -1,7 +1,7 @@
1
1
  # Comparison operator of controlling expressions.
2
2
  #
3
3
  # Author:: Yutaka Yanoh <mailto:yanoh@users.sourceforge.net>
4
- # Copyright:: Copyright (C) 2010-2013, OGIS-RI Co.,Ltd.
4
+ # Copyright:: Copyright (C) 2010-2014, OGIS-RI Co.,Ltd.
5
5
  # License:: GPLv3+: GNU General Public License version 3 or later
6
6
  #
7
7
  # Owner:: Yutaka Yanoh <mailto:yanoh@users.sourceforge.net>
@@ -11,7 +11,7 @@
11
11
  # / | / _ |/ / / / | / /__ __/ Source Code Static Analyzer
12
12
  # / /| | / / / / / / / |/ / / / AdLint - Advanced Lint
13
13
  # / __ |/ /_/ / /___/ / /| / / /
14
- # /_/ |_|_____/_____/_/_/ |_/ /_/ Copyright (C) 2010-2013, OGIS-RI Co.,Ltd.
14
+ # /_/ |_|_____/_____/_/_/ |_/ /_/ Copyright (C) 2010-2014, OGIS-RI Co.,Ltd.
15
15
  #
16
16
  # This file is part of AdLint.
17
17
  #
@@ -1,7 +1,7 @@
1
1
  # Miscellaneous option constants.
2
2
  #
3
3
  # Author:: Yutaka Yanoh <mailto:yanoh@users.sourceforge.net>
4
- # Copyright:: Copyright (C) 2010-2013, OGIS-RI Co.,Ltd.
4
+ # Copyright:: Copyright (C) 2010-2014, OGIS-RI Co.,Ltd.
5
5
  # License:: GPLv3+: GNU General Public License version 3 or later
6
6
  #
7
7
  # Owner:: Yutaka Yanoh <mailto:yanoh@users.sourceforge.net>
@@ -11,7 +11,7 @@
11
11
  # / | / _ |/ / / / | / /__ __/ Source Code Static Analyzer
12
12
  # / /| | / / / / / / / |/ / / / AdLint - Advanced Lint
13
13
  # / __ |/ /_/ / /___/ / /| / / /
14
- # /_/ |_|_____/_____/_/_/ |_/ /_/ Copyright (C) 2010-2013, OGIS-RI Co.,Ltd.
14
+ # /_/ |_|_____/_____/_/_/ |_/ /_/ Copyright (C) 2010-2014, OGIS-RI Co.,Ltd.
15
15
  #
16
16
  # This file is part of AdLint.
17
17
  #
@@ -34,7 +34,7 @@ module Cc1 #:nodoc:
34
34
 
35
35
  module InterpreterOptions
36
36
  QUIET = :quiet
37
- QUIET_WITHOUT_SIDE_EFFECT = :quiet_without_side_effect
37
+ WITHOUT_SIDE_EFFECTS = :without_side_effects
38
38
  end
39
39
 
40
40
  module BranchOptions
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # DO NOT MODIFY!!!!
3
- # This file is automatically generated by Racc 1.4.9
3
+ # This file is automatically generated by Racc 1.4.10
4
4
  # from Racc grammer file "".
5
5
  #
6
6
 
@@ -18,7 +18,7 @@ module AdLint
18
18
  module Cc1
19
19
  class Parser < Racc::Parser
20
20
 
21
- module_eval(<<'...end parser.y/module_eval...', 'parser.y', 1847)
21
+ module_eval(<<'...end parser.y/module_eval...', 'parser.y', 1856)
22
22
 
23
23
  include ReportUtil
24
24
  include MonitorUtil
@@ -102,160 +102,160 @@ private :monitor
102
102
  ##### State transition tables begin ###
103
103
 
104
104
  clist = [
105
- '216,335,84,85,95,42,38,347,151,346,437,283,57,338,335,36,37,140,141',
106
- '65,140,141,67,42,42,70,194,195,42,227,228,235,42,236,237,238,239,240',
107
- '241,242,243,86,399,96,87,325,78,356,283,43,90,91,60,150,384,92,93,97',
108
- '98,99,100,101,216,335,84,85,95,43,43,340,416,66,43,360,68,57,370,69',
109
- '252,44,44,355,404,83,44,84,85,95,234,283,402,227,228,235,283,236,237',
110
- '238,239,240,241,242,243,86,261,96,87,380,379,56,59,385,90,91,60,283',
111
- '381,92,93,97,98,99,100,101,86,383,96,87,433,382,347,42,346,90,91,251',
112
- '452,252,92,93,97,98,99,100,101,283,42,29,194,195,234,12,13,14,15,16',
113
- '39,38,18,19,20,21,24,25,22,23,36,37,17,26,27,28,33,34,35,370,349,252',
114
- '203,189,216,335,84,85,95,190,191,44,32,408,43,214,410,215,251,349,252',
115
- '73,38,72,204,83,44,84,85,95,44,36,37,227,228,235,375,236,237,238,239',
116
- '240,241,242,243,86,321,96,87,196,197,198,199,413,90,91,60,152,49,92',
117
- '93,97,98,99,100,101,86,44,96,87,280,196,197,198,199,90,91,374,282,281',
118
- '92,93,97,98,99,100,101,283,290,29,291,373,234,12,13,14,15,16,39,38,18',
119
- '19,20,21,24,25,22,23,36,37,17,26,27,28,33,34,35,200,201,454,429,318',
120
- '319,216,335,84,85,95,283,283,32,38,189,451,427,428,140,141,190,191,36',
121
- '37,283,283,283,196,197,198,199,73,417,72,227,228,235,418,236,237,238',
122
- '239,240,241,242,243,86,189,96,87,292,205,293,190,191,90,91,60,44,419',
123
- '92,93,97,98,99,100,101,216,335,84,85,95,177,179,180,181,182,183,184',
124
- '185,186,187,188,161,393,160,142,162,163,164,165,265,266,234,438,439',
125
- '227,228,235,389,236,237,238,239,240,241,242,243,86,366,96,87,194,195',
126
- '363,364,377,90,91,60,140,141,92,93,97,98,99,100,101,200,201,194,195',
127
- '206,207,194,195,192,193,192,193,83,244,84,85,95,192,193,377,134,202',
128
- '42,29,245,129,234,12,13,14,15,16,39,38,18,19,20,21,24,25,22,23,36,37',
129
- '17,26,27,28,33,34,35,357,342,86,341,96,87,430,337,118,334,333,90,91',
130
- '32,435,43,92,93,97,98,99,100,101,332,395,205,329,44,204,327,-232,267',
131
- '-231,448,324,450,203,274,202,284,64,285,457,48,377,,,,,344,,,,,,,,,',
132
- '49,216,219,84,85,95,12,13,14,15,16,39,38,18,19,20,21,24,25,22,23,36',
133
- '37,17,26,27,28,33,34,35,227,228,235,,236,237,238,239,240,241,242,243',
134
- '86,32,96,87,,,,,,90,91,60,,,92,93,97,98,99,100,101,216,335,84,85,95',
135
- ',,,,,,,,,,,,,,,,,,,,,234,,,227,228,235,,236,237,238,239,240,241,242',
136
- '243,86,,96,87,,,,,,90,91,60,42,29,92,93,97,98,99,100,101,,,38,18,19',
137
- '20,21,24,25,22,23,36,37,17,26,27,28,33,34,35,,,,,,,234,,,,,,,32,,43',
138
- ',,,,,,,,,,,44,,,,216,335,84,85,95,,,,,,,,,,,,261,,,,,,,,,,,,257,227',
139
- '228,235,,236,237,238,239,240,241,242,243,86,,96,87,,,,,,90,91,60,,,92',
140
- '93,97,98,99,100,101,216,335,84,85,95,,,,,,,,,,,,,,,,,,,,,,234,,,227',
141
- '228,235,,236,237,238,239,240,241,242,243,86,,96,87,,,,,,90,91,60,,,92',
142
- '93,97,98,99,100,101,216,335,84,85,95,,,,,,,,,,,,,,,,,83,,84,85,95,234',
143
- ',,227,228,235,,236,237,238,239,240,241,242,243,86,,96,87,,,,,,90,91',
144
- '60,,,92,93,97,98,99,100,101,86,,96,87,,214,,215,,90,91,117,,,92,93,97',
145
- '98,99,100,101,,,,,,234,83,29,84,85,95,12,13,14,15,16,39,38,18,19,20',
146
- '21,24,25,22,23,36,37,17,26,27,28,33,34,35,,,,,,,,,,,,,86,32,96,87,,',
147
- ',,,90,91,,,,92,93,97,98,99,100,101,,,,,,,,,,,,,83,,84,85,95,,,,,,42',
148
- '29,,,234,12,13,14,15,16,39,38,18,19,20,21,24,25,22,23,36,37,17,26,27',
149
- '28,33,34,35,,,86,,96,87,,,,,,90,91,32,,43,92,93,97,98,99,100,101,,,',
150
- ',44,,,,,,,,,,,,,,,,,,,,,,234,,,,,,,,,,49,216,219,84,85,95,12,13,14,15',
151
- '16,39,38,18,19,20,21,24,25,22,23,36,37,17,26,27,28,33,34,35,227,228',
152
- '235,,236,237,238,239,240,241,242,243,86,32,96,87,,,,,,90,91,60,,,92',
153
- '93,97,98,99,100,101,83,,84,85,95,,,,,,,,,,,,,,,,,,,,,,234,,,,,,,,216',
154
- '335,84,85,95,,,86,,96,87,,,,,,90,91,,,,92,93,97,98,99,100,101,,227,228',
155
- '235,,236,237,238,239,240,241,242,243,86,,96,87,,,,,,90,91,60,,234,92',
156
- '93,97,98,99,100,101,216,335,84,85,95,,,,,,,,,,,,,,,,,,,,,,234,,,227',
157
- '228,235,,236,237,238,239,240,241,242,243,86,,96,87,,,,,,90,91,60,,,92',
158
- '93,97,98,99,100,101,216,335,84,85,95,,,,,,,,,,,,,,,,,83,,84,85,95,234',
159
- ',,227,228,235,,236,237,238,239,240,241,242,243,86,,96,87,,,,,,90,91',
160
- '60,,,92,93,97,98,99,100,101,86,,96,87,,,412,,,90,91,,,,92,93,97,98,99',
161
- '100,101,,,29,,,234,12,13,14,15,16,39,38,18,19,20,21,24,25,22,23,36,37',
162
- '17,26,27,28,33,34,35,,,,,,,,,,,,,,32,,,,,,,29,,,60,12,13,14,15,16,39',
163
- '38,18,19,20,21,24,25,22,23,36,37,17,26,27,28,33,34,35,59,,,,,,,,,,,',
164
- ',32,,,,,,,29,,,60,12,13,14,15,16,39,38,18,19,20,21,24,25,22,23,36,37',
165
- '17,26,27,28,33,34,35,59,,,,,,,,83,,84,85,95,32,,146,,,,38,,,,60,,,,',
166
- '36,37,83,,84,85,95,,,,,,,,,,,,,,59,86,,96,87,,,147,,,90,91,,,,92,143',
167
- '97,98,99,100,101,,86,,96,87,,,406,,,90,91,,,,92,405,97,98,99,100,101',
168
- '83,29,84,85,95,,,,,,,38,18,19,20,21,24,25,22,23,36,37,17,26,27,28,33',
169
- '34,35,,,,,,,,,,,,,86,32,96,87,,,,,,90,91,,359,,92,93,97,98,99,100,101',
170
- '83,29,84,85,95,,,,,,,38,18,19,20,21,24,25,22,23,36,37,17,26,27,28,33',
171
- '34,35,83,,84,85,95,,,,,,,,86,32,96,87,,,,,,90,91,60,,,92,93,97,98,99',
172
- '100,101,83,,84,85,95,,,,86,,96,87,,,,,,90,91,,,,92,93,97,98,99,100,101',
173
- '83,,84,85,95,,,,,,,,86,,96,166,,,,,,90,91,,,,92,93,97,98,99,100,101',
174
- '83,,84,85,95,,,,86,,96,166,,,,,,90,91,,,,92,93,97,98,99,100,101,83,',
175
- '84,85,95,,,,,,,,86,,96,87,,,,,,90,91,,,,92,93,97,98,99,100,101,83,,84',
176
- '85,95,,,,86,,96,87,,,,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95',
177
- ',,,,,,,86,,96,87,,,,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,',
178
- ',,86,,96,172,,,,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,,',
179
- ',,86,,96,174,,,,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,86',
180
- ',96,166,,,,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,,,,,86',
181
- ',96,87,,,,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,86,,96,87',
182
- ',,,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,,,,,86,,96,87,',
183
- ',,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,86,,96,87,,,,,,90',
184
- '91,,,,92,93,97,98,99,100,101,,,,,,,,,,,,,86,,96,87,,,,,,90,91,117,,',
185
- '92,93,97,98,99,100,101,83,29,84,85,95,,,,,,,38,18,19,20,21,24,25,22',
186
- '23,36,37,17,26,27,28,33,34,35,83,,84,85,95,,,,,,,,86,32,96,87,,,,,,90',
187
- '91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,86,,96,87,,214,,215,,90',
188
- '91,117,386,,92,93,97,98,99,100,101,83,,84,85,95,,,,,,,,86,,96,87,,,',
189
- ',,90,91,377,,,92,93,97,98,99,100,101,,83,,84,85,95,,,86,,96,87,,,,,',
190
- '90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,,,,38,,86,,96,87,,,',
191
- '36,37,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,86,,96,87,,,,,',
192
- '90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,,,,,,86,,96,87,,214',
193
- ',215,,90,91,117,208,,92,93,97,98,99,100,101,83,,84,85,95,,,86,,96,87',
194
- ',,,,,90,91,117,,,92,93,97,98,99,100,101,83,,84,85,95,,,,,,,,,86,,96',
195
- '87,,,365,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,86,,96,87',
196
- ',,,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,,,,,,86,,96,87',
197
- ',,,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,86,,96,87,,,352',
198
- ',,90,91,,,,92,351,97,98,99,100,101,83,,84,85,95,,,,,,,,,86,,96,87,,',
199
- '434,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,86,,96,87,,,,,',
200
- '90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,,,,,,86,,96,87,445,',
201
- ',,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,86,,96,87,447,,,,',
202
- '90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,,,,,,86,,96,87,,,,,',
203
- '90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,86,,96,87,,214,,215,',
204
- '90,91,117,449,,92,93,97,98,99,100,101,83,,84,85,95,,,,,,,,,86,,96,87',
205
- ',,,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,86,,96,87,,,269',
206
- ',,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,273,,,,38,,86,,96,87',
207
- ',,,36,37,90,91,117,,,92,93,97,98,99,100,101,83,,84,85,95,,,86,,96,87',
208
- ',,272,,,90,91,,,,92,270,97,98,99,100,101,83,,84,85,95,,,,,,,,,86,,96',
209
- '87,,,,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,86,,96,87,,,',
210
- ',,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,,,,,,86,,96,87,,,',
211
- ',,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,86,,96,87,,,,,,90,91',
212
- ',,,92,93,97,98,99,100,101,83,,84,85,95,,,,,,,,,86,,96,87,,,,,,90,91',
213
- ',,,92,93,97,98,99,100,101,83,,84,85,95,,,86,,96,87,,,,,,90,91,,,,92',
214
- '93,97,98,99,100,101,83,,84,85,95,,,,,,,,,86,,96,87,,,,,,90,91,,,,92',
215
- '93,97,98,99,100,101,83,,84,85,95,,,86,,96,87,287,,,,,90,91,,,,92,93',
216
- '97,98,99,100,101,83,,84,85,95,,,,,,,,,86,,96,87,,,,,,90,91,,,,92,93',
217
- '97,98,99,100,101,,,,,,,,86,,96,87,,,,,,90,91,,,,92,93,97,98,99,100,101',
218
- '83,29,84,85,95,,,,,,,38,18,19,20,21,24,25,22,23,36,37,17,26,27,28,33',
219
- '34,35,,,,,,,,,,,,,86,32,96,87,,,,,,90,91,60,,,92,93,97,98,99,100,101',
220
- '83,29,84,85,95,,,,,,,38,18,19,20,21,24,25,22,23,36,37,17,26,27,28,33',
221
- '34,35,,,,,,,,,,,,,86,32,96,87,,,,,,90,91,60,,,92,93,97,98,99,100,101',
222
- '83,29,84,85,95,,,,,,,38,18,19,20,21,24,25,22,23,36,37,17,26,27,28,33',
223
- '34,35,83,,84,85,95,,,,,,,,86,32,96,87,,,,,,90,91,60,,,92,93,97,98,99',
224
- '100,101,83,,84,85,95,,,,86,,96,87,,,,,,90,91,,,,92,93,97,98,99,100,101',
225
- '83,,84,85,95,,,,,,,,86,,96,87,,,,,,90,91,,,,92,93,97,98,99,100,101,83',
226
- ',84,85,95,,,,86,,96,87,,,,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85',
227
- '95,,,,,,,,86,,96,87,,,,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95',
228
- ',,,86,,96,87,,,,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,,',
229
- ',,86,,96,87,,,,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,86',
230
- ',96,87,,,,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,,,,,86,',
231
- '96,87,,,,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,86,,96,87',
232
- ',,,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,,,,,86,,96,87,',
233
- ',,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,86,,96,87,,,,,,90',
234
- '91,,,,92,93,97,98,99,100,101,,,,,,,,,,,,,86,,96,87,,,,,,90,91,,,,92',
235
- '93,97,98,99,100,101,2,,42,29,,,,12,13,14,15,16,39,38,18,19,20,21,24',
236
- '25,22,23,36,37,17,26,27,28,33,34,35,,,,,,,,,,,,,,32,,43,,,,,,,,42,29',
237
- ',,44,12,13,14,15,16,39,38,18,19,20,21,24,25,22,23,36,37,17,26,27,28',
238
- '33,34,35,,,,,,,,,,,,,,32,,370,,252,29,,,,,,,,,44,38,18,19,20,21,24,25',
239
- '22,23,36,37,17,26,27,28,33,34,35,,,,,,,,,,,,,,32,,251,,252,29,,,,,,',
240
- ',,44,38,18,19,20,21,24,25,22,23,36,37,17,26,27,28,33,34,35,,,,,,,,,',
241
- ',,,,32,,29,,,,,,,,,263,38,18,19,20,21,24,25,22,23,36,37,17,26,27,28',
242
- '33,34,35,,,,,,,,,,,,,,32,,29,,,,,,,,,131,38,18,19,20,21,24,25,22,23',
243
- '36,37,17,26,27,28,33,34,35,,,,,,,,,,,,,,32,,29,,,,,,,,,264,38,18,19',
244
- '20,21,24,25,22,23,36,37,17,26,27,28,33,34,35,,,,,,,,,,,,,,32,,29,,,',
245
- ',,,,,354,38,18,19,20,21,24,25,22,23,36,37,17,26,27,28,33,34,35,,,,,',
246
- ',,,,,,,,32,,29,,,,,,,,,255,38,18,19,20,21,24,25,22,23,36,37,17,26,27',
247
- '28,33,34,35,,,,,,,,,,,,,,32,,29,,,,,,,,,136,38,18,19,20,21,24,25,22',
248
- '23,36,37,17,26,27,28,33,34,35,,,,,,,,,,,,,,32,,,,,,,,29,,,254,12,13',
249
- '14,15,16,39,38,18,19,20,21,24,25,22,23,36,37,17,26,27,28,33,34,35,,',
250
- ',,,,,,,,,,,32,,,,,,,29,,,60,12,13,14,15,16,39,38,18,19,20,21,24,25,22',
251
- '23,36,37,17,26,27,28,33,34,35,,,,,,,,,,,,,,32,,,,,,,29,,,60,12,13,14',
252
- '15,16,39,38,18,19,20,21,24,25,22,23,36,37,17,26,27,28,33,34,35,,,,,',
253
- ',,,,,,,,32,,,,,,,29,,,60,12,13,14,15,16,39,38,18,19,20,21,24,25,22,23',
254
- '36,37,17,26,27,28,33,34,35,,,,,,,,,,,29,,,32,12,13,14,15,16,39,38,18',
255
- '19,20,21,24,25,22,23,36,37,17,26,27,28,33,34,35,,,,,,,,,,,29,,,32,12',
256
- '13,14,15,16,39,38,18,19,20,21,24,25,22,23,36,37,17,26,27,28,33,34,35',
257
- ',,,,,,,,,,,,,32' ]
258
- racc_action_table = arr = ::Array.new(4469, nil)
105
+ '2,43,43,30,43,43,43,13,14,15,16,17,40,39,19,20,21,22,25,26,23,24,37',
106
+ '38,18,27,28,29,34,35,36,141,142,339,336,380,217,336,85,86,96,43,284',
107
+ '204,33,44,44,66,44,44,371,350,253,141,142,71,68,45,45,43,45,45,45,400',
108
+ '152,228,229,236,58,237,238,239,240,241,242,243,244,87,284,97,88,262',
109
+ '58,357,417,44,91,92,61,341,6,93,94,98,99,100,101,102,-232,67,284,39',
110
+ '79,371,39,253,361,70,69,151,37,38,326,37,38,403,57,356,284,284,43,30',
111
+ '386,275,235,13,14,15,16,17,40,39,19,20,21,22,25,26,23,24,37,38,18,27',
112
+ '28,29,34,35,36,45,430,39,434,405,217,336,85,86,96,284,37,38,33,381,44',
113
+ '252,350,253,215,452,216,453,382,281,319,320,45,45,284,348,284,347,282',
114
+ '228,229,236,-233,237,238,239,240,241,242,243,244,87,45,97,88,322,197',
115
+ '198,199,200,91,92,61,325,50,93,94,98,99,100,101,102,217,336,85,86,96',
116
+ '178,180,181,182,183,184,185,186,187,188,189,455,396,283,428,74,409,73',
117
+ '429,411,284,235,284,284,228,229,236,284,237,238,239,240,241,242,243',
118
+ '244,87,190,97,88,195,196,190,191,192,91,92,61,191,192,93,94,98,99,100',
119
+ '101,102,217,336,85,86,96,162,328,161,190,163,164,165,166,268,191,192',
120
+ '197,198,199,200,197,198,199,200,414,74,235,73,374,228,229,236,130,237',
121
+ '238,239,240,241,242,243,244,87,246,97,88,252,348,253,347,418,91,92,61',
122
+ '201,202,93,94,98,99,100,101,102,217,336,85,86,96,293,291,294,292,141',
123
+ '142,439,440,193,194,193,194,193,194,195,196,195,196,195,196,419,235',
124
+ '201,202,228,229,236,245,237,238,239,240,241,242,243,244,87,394,97,88',
125
+ '207,208,266,267,206,91,92,61,141,142,93,94,98,99,100,101,102,217,336',
126
+ '85,86,96,195,196,364,365,205,367,378,378,378,203,285,286,390,375,330',
127
+ '333,431,206,358,334,205,235,436,335,228,229,236,438,237,238,239,240',
128
+ '241,242,243,244,87,204,97,88,385,384,60,153,135,91,92,61,383,449,93',
129
+ '94,98,99,100,101,102,217,336,85,86,96,143,451,376,119,65,343,203,342',
130
+ '458,49,338,,,,,,84,,85,86,96,235,,,228,229,236,,237,238,239,240,241',
131
+ '242,243,244,87,,97,88,,,,,,91,92,61,,,93,94,98,99,100,101,102,87,,97',
132
+ '88,,,,,,91,92,,,,93,94,98,99,100,101,102,84,,85,86,96,235,,,,,,,,,,',
133
+ ',,,,,,,,,,235,,,,,,,,217,336,85,86,96,,,87,,97,88,,,,,,91,92,,,,93,94',
134
+ '98,99,100,101,102,,228,229,236,,237,238,239,240,241,242,243,244,87,',
135
+ '97,88,,,,,,91,92,61,,235,93,94,98,99,100,101,102,,,,,,,,,,,,,,,,,,,',
136
+ ',,,,30,,,235,13,14,15,16,17,40,39,19,20,21,22,25,26,23,24,37,38,18,27',
137
+ '28,29,34,35,36,,,,,,,,,,,,,,33,84,30,85,86,96,13,14,15,16,17,40,39,19',
138
+ '20,21,22,25,26,23,24,37,38,18,27,28,29,34,35,36,,,,,,217,336,85,86,96',
139
+ ',,87,33,97,88,,420,,,,91,92,,,,93,94,98,99,100,101,102,,228,229,236',
140
+ ',237,238,239,240,241,242,243,244,87,,97,88,,,,,,91,92,61,,235,93,94',
141
+ '98,99,100,101,102,217,336,85,86,96,,,,,,,,,,,,,,,,,,,,,,235,,,228,229',
142
+ '236,,237,238,239,240,241,242,243,244,87,,97,88,,,,,,91,92,61,,,93,94',
143
+ '98,99,100,101,102,,,,,,,,,,,,,84,,85,86,96,,,,,,43,30,,,235,13,14,15',
144
+ '16,17,40,39,19,20,21,22,25,26,23,24,37,38,18,27,28,29,34,35,36,,,87',
145
+ ',97,88,,,,,,91,92,33,,44,93,94,98,99,100,101,102,,,,,45,,,,217,336,85',
146
+ '86,96,,,,,,,,,,,,,,345,,,84,,85,86,96,,,50,228,229,236,,237,238,239',
147
+ '240,241,242,243,244,87,,97,88,,,,,,91,92,61,,,93,94,98,99,100,101,102',
148
+ '87,,97,88,288,,,,,91,92,,,,93,94,98,99,100,101,102,,,,,,235,217,220',
149
+ '85,86,96,13,14,15,16,17,40,39,19,20,21,22,25,26,23,24,37,38,18,27,28',
150
+ '29,34,35,36,228,229,236,,237,238,239,240,241,242,243,244,87,33,97,88',
151
+ ',,,,,91,92,61,,,93,94,98,99,100,101,102,,,,,,,,,,,,,,,,,,,,,,,43,30',
152
+ ',,235,13,14,15,16,17,40,39,19,20,21,22,25,26,23,24,37,38,18,27,28,29',
153
+ '34,35,36,,,,,,,,,,,,,,33,,44,,,43,30,84,,85,86,96,,,45,,39,19,20,21',
154
+ '22,25,26,23,24,37,38,18,27,28,29,34,35,36,,,,,,,,,,,,,50,33,87,44,97',
155
+ '88,446,,,,,91,92,,,45,93,94,98,99,100,101,102,,,,,,,,,,,,,262,,,,,,',
156
+ ',,,,,258,217,220,85,86,96,13,14,15,16,17,40,39,19,20,21,22,25,26,23',
157
+ '24,37,38,18,27,28,29,34,35,36,228,229,236,,237,238,239,240,241,242,243',
158
+ '244,87,33,97,88,,,,,,91,92,61,,,93,94,98,99,100,101,102,217,336,85,86',
159
+ '96,,,,,,,,,,,,,,,,,84,,85,86,96,235,,,228,229,236,,237,238,239,240,241',
160
+ '242,243,244,87,,97,88,,,,,,91,92,61,,,93,94,98,99,100,101,102,87,,97',
161
+ '88,,,,,,91,92,,,,93,94,98,99,100,101,102,,,30,,,235,13,14,15,16,17,40',
162
+ '39,19,20,21,22,25,26,23,24,37,38,18,27,28,29,34,35,36,,,,,,,,,,,,,,33',
163
+ ',,,,,,30,,,61,13,14,15,16,17,40,39,19,20,21,22,25,26,23,24,37,38,18',
164
+ '27,28,29,34,35,36,60,,,,,,,,84,,85,86,96,33,,,,,,,30,,,61,13,14,15,16',
165
+ '17,40,39,19,20,21,22,25,26,23,24,37,38,18,27,28,29,34,35,36,60,87,,97',
166
+ '88,,,353,,,91,92,,33,,93,352,98,99,100,101,102,84,61,85,86,96,,,,,,',
167
+ ',,,,,,,,,,84,,85,86,96,60,,,,,,,,,,,,,,,87,,97,88,,,,,,91,92,,,,93,94',
168
+ '98,99,100,101,102,87,,97,88,,,,,,91,92,,,,93,94,98,99,100,101,102,84',
169
+ '30,85,86,96,,,,,,,39,19,20,21,22,25,26,23,24,37,38,18,27,28,29,34,35',
170
+ '36,84,,85,86,96,,,,,,,,87,33,97,88,,,,,,91,92,61,,,93,94,98,99,100,101',
171
+ '102,84,,85,86,96,,,,87,,97,88,,,,,,91,92,,,,93,94,98,99,100,101,102',
172
+ '84,,85,86,96,,,,,,,,87,,97,167,,,,,,91,92,,,,93,94,98,99,100,101,102',
173
+ '84,,85,86,96,,,,87,,97,167,,,,,,91,92,,,,93,94,98,99,100,101,102,84',
174
+ ',85,86,96,,,,,,,,87,,97,88,,,,,,91,92,,,,93,94,98,99,100,101,102,84',
175
+ ',85,86,96,,,,87,,97,88,,,,,,91,92,,,,93,94,98,99,100,101,102,84,,85',
176
+ '86,96,,,,,,,,87,,97,88,,,,,,91,92,,,,93,94,98,99,100,101,102,84,,85',
177
+ '86,96,,,,87,,97,173,,,,,,91,92,,,,93,94,98,99,100,101,102,84,,85,86',
178
+ '96,,,,,,,,87,,97,175,,,,,,91,92,,,,93,94,98,99,100,101,102,,,,,,,,,87',
179
+ ',97,167,,,,,,91,92,,,,93,94,98,99,100,101,102,84,30,85,86,96,,,,,,,39',
180
+ '19,20,21,22,25,26,23,24,37,38,18,27,28,29,34,35,36,84,,85,86,96,,,,',
181
+ ',,,87,33,97,88,,,,,,91,92,,,,93,94,98,99,100,101,102,84,,85,86,96,,',
182
+ ',87,,97,88,,,435,,,91,92,,,,93,94,98,99,100,101,102,84,,85,86,96,,,',
183
+ ',,,,87,,97,88,,,366,,,91,92,,,,93,94,98,99,100,101,102,,84,,85,86,96',
184
+ ',,87,,97,88,,,,,,91,92,,,,93,94,98,99,100,101,102,84,,85,86,96,,,,,',
185
+ ',39,,87,,97,88,,,,37,38,91,92,118,,,93,94,98,99,100,101,102,84,,85,86',
186
+ '96,,,87,,97,88,,,,,,91,92,,,,93,94,98,99,100,101,102,84,,85,86,96,,',
187
+ ',,,,,,87,,97,88,,,,,,91,92,,,,93,94,98,99,100,101,102,84,,85,86,96,',
188
+ ',87,,97,88,,,,,,91,92,,,,93,94,98,99,100,101,102,84,,85,86,96,,,,,,',
189
+ ',,87,,97,88,,215,,216,,91,92,118,,,93,94,98,99,100,101,102,84,,85,86',
190
+ '96,,,87,,97,88,,,,,,91,92,,,,93,94,98,99,100,101,102,84,,85,86,96,,',
191
+ ',,,,,,87,,97,88,,,,,,91,92,118,,,93,94,98,99,100,101,102,84,,85,86,96',
192
+ ',,87,,97,88,,215,,216,,91,92,118,209,,93,94,98,99,100,101,102,84,,85',
193
+ '86,96,,,,,,,,,87,,97,88,,,,,,91,92,,,,93,94,98,99,100,101,102,84,,85',
194
+ '86,96,,,87,,97,88,,,,,,91,92,,,,93,94,98,99,100,101,102,84,,85,86,96',
195
+ ',,,,,,,,87,,97,88,,,,,,91,92,,,,93,94,98,99,100,101,102,84,,85,86,96',
196
+ ',,87,,97,88,,,,,,91,92,,,,93,94,98,99,100,101,102,84,,85,86,96,,,,,',
197
+ ',,,87,,97,88,,,,,,91,92,,,,93,94,98,99,100,101,102,84,,85,86,96,,,87',
198
+ ',97,88,,,,,,91,92,,,,93,94,98,99,100,101,102,84,,85,86,96,,,,,,,,,87',
199
+ ',97,88,,,,,,91,92,,,,93,94,98,99,100,101,102,84,,85,86,96,,,87,,97,88',
200
+ ',,,,,91,92,,,,93,94,98,99,100,101,102,84,,85,86,96,,,,,,,,,87,,97,88',
201
+ ',,,,,91,92,,,,93,94,98,99,100,101,102,84,,85,86,96,,,87,,97,88,448,',
202
+ ',,,91,92,,,,93,94,98,99,100,101,102,84,,85,86,96,,,,,,,,,87,,97,88,',
203
+ ',413,,,91,92,,,,93,94,98,99,100,101,102,84,,85,86,96,,,87,,97,88,,,407',
204
+ ',,91,92,,,,93,406,98,99,100,101,102,84,,85,86,96,,,274,,,,39,,87,,97',
205
+ '88,,,270,37,38,91,92,,,,93,94,98,99,100,101,102,84,,85,86,96,,,87,,97',
206
+ '88,,,273,,,91,92,,,,93,271,98,99,100,101,102,84,,85,86,96,,,,,,,,,87',
207
+ ',97,88,,,,,,91,92,,,,93,94,98,99,100,101,102,84,,85,86,96,,,87,,97,88',
208
+ ',,,,,91,92,,,,93,94,98,99,100,101,102,84,,85,86,96,,,,,,,,,87,,97,88',
209
+ ',,,,,91,92,,,,93,94,98,99,100,101,102,84,,85,86,96,,,87,,97,88,,,,,',
210
+ '91,92,,,,93,94,98,99,100,101,102,84,,85,86,96,,,,,,,,,87,,97,88,,215',
211
+ ',216,,91,92,118,450,,93,94,98,99,100,101,102,84,,85,86,96,,,87,,97,88',
212
+ ',,,,,91,92,,,,93,94,98,99,100,101,102,84,,85,86,96,,,,,,,,,87,,97,88',
213
+ ',,,,,91,92,118,,,93,94,98,99,100,101,102,,,,,,,,87,,97,88,,,,,,91,92',
214
+ ',,,93,94,98,99,100,101,102,84,,85,86,96,,,147,,,,39,,,,,,,,,37,38,84',
215
+ ',85,86,96,,,,,,,,,,,,,,,87,,97,88,,,148,,,91,92,,,,93,144,98,99,100',
216
+ '101,102,,87,,97,88,,215,,216,,91,92,118,387,,93,94,98,99,100,101,102',
217
+ '84,30,85,86,96,,,,,,,39,19,20,21,22,25,26,23,24,37,38,18,27,28,29,34',
218
+ '35,36,,,,,,,,,,,,,87,33,97,88,,,,,,91,92,378,132,,93,94,98,99,100,101',
219
+ '102,84,30,85,86,96,,,,,,,39,19,20,21,22,25,26,23,24,37,38,18,27,28,29',
220
+ '34,35,36,,,,,,,,,,,,,87,33,97,88,,,,,,91,92,61,,,93,94,98,99,100,101',
221
+ '102,84,30,85,86,96,,,,,,,39,19,20,21,22,25,26,23,24,37,38,18,27,28,29',
222
+ '34,35,36,,,,,,,,,,,,,87,33,97,88,,,,,,91,92,61,,,93,94,98,99,100,101',
223
+ '102,84,30,85,86,96,,,,,,,39,19,20,21,22,25,26,23,24,37,38,18,27,28,29',
224
+ '34,35,36,84,,85,86,96,,,,,,,,87,33,97,88,,,,,,91,92,61,,,93,94,98,99',
225
+ '100,101,102,84,,85,86,96,,,,87,,97,88,,,,,,91,92,,,,93,94,98,99,100',
226
+ '101,102,84,,85,86,96,,,,,,,,87,,97,88,,,,,,91,92,,,,93,94,98,99,100',
227
+ '101,102,84,,85,86,96,,,,87,,97,88,,,,,,91,92,,,,93,94,98,99,100,101',
228
+ '102,84,,85,86,96,,,,,,,,87,,97,88,,,,,,91,92,,,,93,94,98,99,100,101',
229
+ '102,84,,85,86,96,,,,87,,97,88,,,,,,91,92,,,,93,94,98,99,100,101,102',
230
+ '84,,85,86,96,,,,,,,,87,,97,88,,,,,,91,92,,,,93,94,98,99,100,101,102',
231
+ '84,,85,86,96,,,,87,,97,88,,,,,,91,92,,,,93,94,98,99,100,101,102,84,',
232
+ '85,86,96,,,,,,,,87,,97,88,,,,,,91,92,,,,93,94,98,99,100,101,102,84,',
233
+ '85,86,96,,,,87,,97,88,,,,,,91,92,,,,93,94,98,99,100,101,102,84,,85,86',
234
+ '96,,,,,,,,87,,97,88,,,,,,91,92,,,,93,94,98,99,100,101,102,84,,85,86',
235
+ '96,,,,87,,97,88,,,,,,91,92,,,,93,94,98,99,100,101,102,84,,85,86,96,',
236
+ ',,,,,,87,,97,88,,,,,,91,92,,,,93,94,98,99,100,101,102,,,,,,,,,87,,97',
237
+ '88,,,,,,91,92,,,,93,94,98,99,100,101,102,43,30,,,,13,14,15,16,17,40',
238
+ '39,19,20,21,22,25,26,23,24,37,38,18,27,28,29,34,35,36,,,,,,,,,,,,,,33',
239
+ ',371,,253,30,,,,,,,,,45,39,19,20,21,22,25,26,23,24,37,38,18,27,28,29',
240
+ '34,35,36,,,,,,,,,,,,,,33,,252,,253,30,,,,,,,,,45,39,19,20,21,22,25,26',
241
+ '23,24,37,38,18,27,28,29,34,35,36,,,,,,,,,,,,,,33,,30,,,,,,,,,255,39',
242
+ '19,20,21,22,25,26,23,24,37,38,18,27,28,29,34,35,36,,,,,,,,,,,,,,33,',
243
+ '30,,,,,,,,,256,39,19,20,21,22,25,26,23,24,37,38,18,27,28,29,34,35,36',
244
+ ',,,,,,,,,,,,,33,,30,,,,,,,,,355,39,19,20,21,22,25,26,23,24,37,38,18',
245
+ '27,28,29,34,35,36,,,,,,,,,,,,,,33,,30,,,,,,,,,264,39,19,20,21,22,25',
246
+ '26,23,24,37,38,18,27,28,29,34,35,36,,,,,,,,,,,,,,33,,30,,,,,,,,,265',
247
+ '39,19,20,21,22,25,26,23,24,37,38,18,27,28,29,34,35,36,,,,,,,,,,,,,,33',
248
+ ',30,,,,,,,,,360,39,19,20,21,22,25,26,23,24,37,38,18,27,28,29,34,35,36',
249
+ ',,,,,,,,,,,,,33,,,,,,,,30,,,137,13,14,15,16,17,40,39,19,20,21,22,25',
250
+ '26,23,24,37,38,18,27,28,29,34,35,36,,,,,,,,,,,,,,33,,,,,,,30,,,61,13',
251
+ '14,15,16,17,40,39,19,20,21,22,25,26,23,24,37,38,18,27,28,29,34,35,36',
252
+ ',,,,,,,,,,,,,33,,,,,,,30,,,61,13,14,15,16,17,40,39,19,20,21,22,25,26',
253
+ '23,24,37,38,18,27,28,29,34,35,36,,,,,,,,,,,,,,33,,,,,,,30,,,61,13,14',
254
+ '15,16,17,40,39,19,20,21,22,25,26,23,24,37,38,18,27,28,29,34,35,36,,',
255
+ ',,,,,,,,30,,,33,13,14,15,16,17,40,39,19,20,21,22,25,26,23,24,37,38,18',
256
+ '27,28,29,34,35,36,,,,,,,,,,,30,,,33,13,14,15,16,17,40,39,19,20,21,22',
257
+ '25,26,23,24,37,38,18,27,28,29,34,35,36,,,,,,,,,,,,,,33' ]
258
+ racc_action_table = arr = ::Array.new(4450, nil)
259
259
  idx = 0
260
260
  clist.each do |str|
261
261
  str.split(',', -1).each do |i|
@@ -265,180 +265,180 @@ clist = [
265
265
  end
266
266
 
267
267
  clist = [
268
- '454,454,454,454,454,40,146,345,73,345,411,217,50,240,240,146,146,364',
269
- '364,33,266,266,34,57,43,35,309,309,356,454,454,454,369,454,454,454,454',
270
- '454,454,454,454,454,336,454,454,217,50,258,343,40,454,454,454,73,296',
271
- '454,454,454,454,454,454,454,452,452,452,452,452,57,43,240,364,33,356',
272
- '266,34,5,369,35,369,57,43,258,343,206,356,206,206,206,454,317,339,452',
273
- '452,452,403,452,452,452,452,452,452,452,452,452,356,452,452,288,286',
274
- '5,82,317,452,452,452,286,288,452,452,452,452,452,452,452,206,295,206',
275
- '206,403,294,250,370,250,206,206,249,444,249,206,206,206,206,206,206',
276
- '206,444,3,3,308,308,452,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3',
277
- '3,3,370,370,370,110,302,450,450,450,450,450,302,302,370,3,347,3,212',
278
- '348,212,251,251,251,41,44,41,111,199,3,199,199,199,251,44,44,450,450',
279
- '450,281,450,450,450,450,450,450,450,450,450,212,450,450,107,107,107',
280
- '107,353,450,450,450,74,3,450,450,450,450,450,450,450,199,44,199,199',
281
- '149,310,310,310,310,199,199,278,156,149,199,199,199,199,199,199,199',
282
- '156,162,374,162,277,450,374,374,374,374,374,374,374,374,374,374,374',
283
- '374,374,374,374,374,374,374,374,374,374,374,374,374,312,312,446,398',
284
- '209,209,447,447,447,447,447,446,398,374,75,303,443,396,397,142,142,303',
285
- '303,75,75,443,396,397,311,311,311,311,71,367,71,447,447,447,368,447',
286
- '447,447,447,447,447,447,447,447,104,447,447,163,112,163,104,104,447',
287
- '447,447,75,374,447,447,447,447,447,447,447,445,445,445,445,445,103,103',
288
- '103,103,103,103,103,103,103,103,103,89,328,89,70,89,89,89,89,137,137',
289
- '447,421,421,445,445,445,323,445,445,445,445,445,445,445,445,445,271',
290
- '445,445,307,307,268,268,382,445,445,445,69,69,445,445,445,445,445,445',
291
- '445,108,108,306,306,113,113,106,106,304,304,105,105,243,124,243,243',
292
- '243,305,305,384,67,109,218,218,125,65,445,218,218,218,218,218,218,218',
293
- '218,218,218,218,218,218,218,218,218,218,218,218,218,218,218,218,218',
294
- '260,242,243,241,243,243,399,239,60,237,236,243,243,218,407,218,243,243',
295
- '243,243,243,243,243,235,330,316,228,218,315,226,219,139,216,436,215',
296
- '440,314,145,313,157,32,158,451,2,383,,,,,243,,,,,,,,,,218,229,229,229',
297
- '229,229,229,229,229,229,229,229,229,229,229,229,229,229,229,229,229',
298
- '229,229,229,229,229,229,229,229,229,229,229,229,,229,229,229,229,229',
299
- '229,229,229,229,229,229,229,,,,,,229,229,229,,,229,229,229,229,229,229',
300
- '229,238,238,238,238,238,,,,,,,,,,,,,,,,,,,,,,229,,,238,238,238,,238',
301
- '238,238,238,238,238,238,238,238,,238,238,,,,,,238,238,238,133,133,238',
302
- '238,238,238,238,238,238,,,133,133,133,133,133,133,133,133,133,133,133',
303
- '133,133,133,133,133,133,133,,,,,,,238,,,,,,,133,,133,,,,,,,,,,,,133',
304
- ',,,429,429,429,429,429,,,,,,,,,,,,133,,,,,,,,,,,,133,429,429,429,,429',
305
- '429,429,429,429,429,429,429,429,,429,429,,,,,,429,429,429,,,429,429',
306
- '429,429,429,429,429,428,428,428,428,428,,,,,,,,,,,,,,,,,,,,,,429,,,428',
307
- '428,428,,428,428,428,428,428,428,428,428,428,,428,428,,,,,,428,428,428',
308
- ',,428,428,428,428,428,428,428,327,327,327,327,327,,,,,,,,,,,,,,,,,377',
309
- ',377,377,377,428,,,327,327,327,,327,327,327,327,327,327,327,327,327',
310
- ',327,327,,,,,,327,327,327,,,327,327,327,327,327,327,327,377,,377,377',
311
- ',377,,377,,377,377,377,,,377,377,377,377,377,377,377,,,,,,327,337,337',
312
- '337,337,337,337,337,337,337,337,337,337,337,337,337,337,337,337,337',
313
- '337,337,337,337,337,337,337,337,337,337,,,,,,,,,,,,,337,337,337,337',
314
- ',,,,,337,337,,,,337,337,337,337,337,337,337,,,,,,,,,,,,,401,,401,401',
315
- '401,,,,,,58,58,,,337,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58',
316
- '58,58,58,58,58,58,58,58,,,401,,401,401,,,,,,401,401,58,,58,401,401,401',
317
- '401,401,401,401,,,,,58,,,,,,,,,,,,,,,,,,,,,,401,,,,,,,,,,58,119,119',
318
- '119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119',
319
- '119,119,119,119,119,119,119,119,119,119,119,119,119,,119,119,119,119',
320
- '119,119,119,119,119,119,119,119,,,,,,119,119,119,,,119,119,119,119,119',
321
- '119,119,400,,400,400,400,,,,,,,,,,,,,,,,,,,,,,119,,,,,,,,329,329,329',
322
- '329,329,,,400,,400,400,,,,,,400,400,,,,400,400,400,400,400,400,400,',
323
- '329,329,329,,329,329,329,329,329,329,329,329,329,,329,329,,,,,,329,329',
324
- '329,,400,329,329,329,329,329,329,329,393,393,393,393,393,,,,,,,,,,,',
325
- ',,,,,,,,,,329,,,393,393,393,,393,393,393,393,393,393,393,393,393,,393',
326
- '393,,,,,,393,393,393,,,393,393,393,393,393,393,393,427,427,427,427,427',
327
- ',,,,,,,,,,,,,,,,351,,351,351,351,393,,,427,427,427,,427,427,427,427',
328
- '427,427,427,427,427,,427,427,,,,,,427,427,427,,,427,427,427,427,427',
329
- '427,427,351,,351,351,,,351,,,351,351,,,,351,351,351,351,351,351,351',
330
- ',,326,,,427,326,326,326,326,326,326,326,326,326,326,326,326,326,326',
331
- '326,326,326,326,326,326,326,326,326,326,,,,,,,,,,,,,,326,,,,,,,55,,',
332
- '326,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55',
333
- '55,55,326,,,,,,,,,,,,,55,,,,,,,11,,,55,11,11,11,11,11,11,11,11,11,11',
334
- '11,11,11,11,11,11,11,11,11,11,11,11,11,11,55,,,,,,,,72,,72,72,72,11',
335
- ',72,,,,72,,,,11,,,,,72,72,346,,346,346,346,,,,,,,,,,,,,,11,72,,72,72',
336
- ',,72,,,72,72,,,,72,72,72,72,72,72,72,,346,,346,346,,,346,,,346,346,',
337
- ',,346,346,346,346,346,346,346,340,262,340,340,340,,,,,,,262,262,262',
338
- '262,262,262,262,262,262,262,262,262,262,262,262,262,262,262,,,,,,,,',
339
- ',,,,340,262,340,340,,,,,,340,340,,262,,340,340,340,340,340,340,340,87',
340
- '87,87,87,87,,,,,,,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87',
341
- '87,381,,381,381,381,,,,,,,,87,87,87,87,,,,,,87,87,87,,,87,87,87,87,87',
342
- '87,87,90,,90,90,90,,,,381,,381,381,,,,,,381,381,,,,381,381,381,381,381',
343
- '381,381,91,,91,91,91,,,,,,,,90,,90,90,,,,,,90,90,,,,90,90,90,90,90,90',
344
- '90,92,,92,92,92,,,,91,,91,91,,,,,,91,91,,,,91,91,91,91,91,91,91,93,',
345
- '93,93,93,,,,,,,,92,,92,92,,,,,,92,92,,,,92,92,92,92,92,92,92,94,,94',
346
- '94,94,,,,93,,93,93,,,,,,93,93,,,,93,93,93,93,93,93,93,95,,95,95,95,',
347
- ',,,,,,94,,94,94,,,,,,94,94,,,,94,94,94,94,94,94,94,96,,96,96,96,,,,95',
348
- ',95,95,,,,,,95,95,,,,95,95,95,95,95,95,95,97,,97,97,97,,,,,,,,96,,96',
349
- '96,,,,,,96,96,,,,96,96,96,96,96,96,96,334,,334,334,334,,,,97,,97,97',
350
- ',,,,,97,97,,,,97,97,97,97,97,97,97,333,,333,333,333,,,,,,,,334,,334',
351
- '334,,,,,,334,334,,,,334,334,334,334,334,334,334,332,,332,332,332,,,',
352
- '333,,333,333,,,,,,333,333,,,,333,333,333,333,333,333,333,385,,385,385',
353
- '385,,,,,,,,332,,332,332,,,,,,332,332,,,,332,332,332,332,332,332,332',
354
- '388,,388,388,388,,,,385,,385,385,,,,,,385,385,,,,385,385,385,385,385',
355
- '385,385,,,,,,,,,,,,,388,,388,388,,,,,,388,388,388,,,388,388,388,388',
356
- '388,388,388,64,64,64,64,64,,,,,,,64,64,64,64,64,64,64,64,64,64,64,64',
357
- '64,64,64,64,64,64,319,,319,319,319,,,,,,,,64,64,64,64,,,,,,64,64,,,',
358
- '64,64,64,64,64,64,64,285,,285,285,285,,,,319,,319,319,,319,,319,,319',
359
- '319,319,319,,319,319,319,319,319,319,319,283,,283,283,283,,,,,,,,285',
360
- ',285,285,,,,,,285,285,285,,,285,285,285,285,285,285,285,,273,,273,273',
361
- '273,,,283,,283,283,,,,,,283,283,,,,283,283,283,283,283,283,283,275,',
362
- '275,275,275,,,,,,,275,,273,,273,273,,,,275,275,273,273,,,,273,273,273',
363
- '273,273,273,273,117,,117,117,117,,,275,,275,275,,,,,,275,275,,,,275',
364
- '275,275,275,275,275,275,59,,59,59,59,,,,,,,,,117,,117,117,,117,,117',
365
- ',117,117,117,117,,117,117,117,117,117,117,117,270,,270,270,270,,,59',
366
- ',59,59,,,,,,59,59,59,,,59,59,59,59,59,59,59,267,,267,267,267,,,,,,,',
367
- ',270,,270,270,,,270,,,270,270,,,,270,270,270,270,270,270,270,261,,261',
368
- '261,261,,,267,,267,267,,,,,,267,267,,,,267,267,267,267,267,267,267,252',
369
- ',252,252,252,,,,,,,,,261,,261,261,,,,,,261,261,,,,261,261,261,261,261',
370
- '261,261,405,,405,405,405,,,252,,252,252,,,252,,,252,252,,,,252,252,252',
371
- '252,252,252,252,430,,430,430,430,,,,,,,,,405,,405,405,,,405,,,405,405',
372
- ',,,405,405,405,405,405,405,405,431,,431,431,431,,,430,,430,430,,,,,',
373
- '430,430,,,,430,430,430,430,430,430,430,432,,432,432,432,,,,,,,,,431',
374
- ',431,431,431,,,,,431,431,,,,431,431,431,431,431,431,431,227,,227,227',
375
- '227,,,432,,432,432,432,,,,,432,432,,,,432,432,432,432,432,432,432,439',
376
- ',439,439,439,,,,,,,,,227,,227,227,,,,,,227,227,,,,227,227,227,227,227',
377
- '227,227,214,,214,214,214,,,439,,439,439,,439,,439,,439,439,439,439,',
378
- '439,439,439,439,439,439,439,143,,143,143,143,,,,,,,,,214,,214,214,,',
379
- ',,,214,214,,,,214,214,214,214,214,214,214,211,,211,211,211,,,143,,143',
380
- '143,,,143,,,143,143,,,,143,143,143,143,143,143,143,144,,144,144,144',
381
- ',,144,,,,144,,211,,211,211,,,,144,144,211,211,211,,,211,211,211,211',
382
- '211,211,211,207,,207,207,207,,,144,,144,144,,,144,,,144,144,,,,144,144',
383
- '144,144,144,144,144,357,,357,357,357,,,,,,,,,207,,207,207,,,,,,207,207',
384
- ',,,207,207,207,207,207,207,207,205,,205,205,205,,,357,,357,357,,,,,',
385
- '357,357,,,,357,357,357,357,357,357,357,204,,204,204,204,,,,,,,,,205',
386
- ',205,205,,,,,,205,205,,,,205,205,205,205,205,205,205,203,,203,203,203',
387
- ',,204,,204,204,,,,,,204,204,,,,204,204,204,204,204,204,204,202,,202',
388
- '202,202,,,,,,,,,203,,203,203,,,,,,203,203,,,,203,203,203,203,203,203',
389
- '203,160,,160,160,160,,,202,,202,202,,,,,,202,202,,,,202,202,202,202',
390
- '202,202,202,161,,161,161,161,,,,,,,,,160,,160,160,,,,,,160,160,,,,160',
391
- '160,160,160,160,160,160,201,,201,201,201,,,161,,161,161,161,,,,,161',
392
- '161,,,,161,161,161,161,161,161,161,200,,200,200,200,,,,,,,,,201,,201',
393
- '201,,,,,,201,201,,,,201,201,201,201,201,201,201,,,,,,,,200,,200,200',
394
- ',,,,,200,200,,,,200,200,200,200,200,200,200,166,166,166,166,166,,,,',
395
- ',,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166',
396
- '166,,,,,,,,,,,,,166,166,166,166,,,,,,166,166,166,,,166,166,166,166,166',
397
- '166,166,172,172,172,172,172,,,,,,,172,172,172,172,172,172,172,172,172',
398
- '172,172,172,172,172,172,172,172,172,,,,,,,,,,,,,172,172,172,172,,,,',
399
- ',172,172,172,,,172,172,172,172,172,172,172,174,174,174,174,174,,,,,',
400
- ',174,174,174,174,174,174,174,174,174,174,174,174,174,174,174,174,174',
401
- '174,177,,177,177,177,,,,,,,,174,174,174,174,,,,,,174,174,174,,,174,174',
402
- '174,174,174,174,174,178,,178,178,178,,,,177,,177,177,,,,,,177,177,,',
403
- ',177,177,177,177,177,177,177,189,,189,189,189,,,,,,,,178,,178,178,,',
404
- ',,,178,178,,,,178,178,178,178,178,178,178,190,,190,190,190,,,,189,,189',
405
- '189,,,,,,189,189,,,,189,189,189,189,189,189,189,191,,191,191,191,,,',
406
- ',,,,190,,190,190,,,,,,190,190,,,,190,190,190,190,190,190,190,192,,192',
407
- '192,192,,,,191,,191,191,,,,,,191,191,,,,191,191,191,191,191,191,191',
408
- '193,,193,193,193,,,,,,,,192,,192,192,,,,,,192,192,,,,192,192,192,192',
409
- '192,192,192,194,,194,194,194,,,,193,,193,193,,,,,,193,193,,,,193,193',
410
- '193,193,193,193,193,195,,195,195,195,,,,,,,,194,,194,194,,,,,,194,194',
411
- ',,,194,194,194,194,194,194,194,196,,196,196,196,,,,195,,195,195,,,,',
412
- ',195,195,,,,195,195,195,195,195,195,195,197,,197,197,197,,,,,,,,196',
413
- ',196,196,,,,,,196,196,,,,196,196,196,196,196,196,196,198,,198,198,198',
414
- ',,,197,,197,197,,,,,,197,197,,,,197,197,197,197,197,197,197,,,,,,,,',
415
- ',,,,198,,198,198,,,,,,198,198,,,,198,198,198,198,198,198,198,1,,1,1',
416
- ',,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,,,,,,,,,,,,,1,,1',
417
- ',,,,,,,276,276,,,1,276,276,276,276,276,276,276,276,276,276,276,276,276',
418
- '276,276,276,276,276,276,276,276,276,276,276,,,,,,,,,,,,,,276,,276,,276',
419
- '126,,,,,,,,,276,126,126,126,126,126,126,126,126,126,126,126,126,126',
420
- '126,126,126,126,126,,,,,,,,,,,,,,126,,126,,126,134,,,,,,,,,126,134,134',
421
- '134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,,,,',
422
- ',,,,,,,,,134,,66,,,,,,,,,134,66,66,66,66,66,66,66,66,66,66,66,66,66',
423
- '66,66,66,66,66,,,,,,,,,,,,,,66,,135,,,,,,,,,66,135,135,135,135,135,135',
424
- '135,135,135,135,135,135,135,135,135,135,135,135,,,,,,,,,,,,,,135,,253',
425
- ',,,,,,,,135,253,253,253,253,253,253,253,253,253,253,253,253,253,253',
426
- '253,253,253,253,,,,,,,,,,,,,,253,,130,,,,,,,,,253,130,130,130,130,130',
427
- '130,130,130,130,130,130,130,130,130,130,130,130,130,,,,,,,,,,,,,,130',
428
- ',68,,,,,,,,,130,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68',
429
- ',,,,,,,,,,,,,68,,129,,,,,,,,,68,129,129,129,129,129,129,129,129,129',
430
- '129,129,129,129,129,129,129,129,129,,,,,,,,,,,,,,129,,,,,,,,390,,,129',
431
- '390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390',
432
- '390,390,390,390,390,390,390,,,,,,,,,,,,,,390,,,,,,,79,,,390,79,79,79',
433
- '79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,,,,,',
434
- ',,,,,,,,79,,,,,,,61,,,79,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61',
435
- '61,61,61,61,61,61,61,61,61,,,,,,,,,,,,,,61,,,,,,,350,,,61,350,350,350',
436
- '350,350,350,350,350,350,350,350,350,350,350,350,350,350,350,350,350',
437
- '350,350,350,350,,,,,,,,,,,148,,,350,148,148,148,148,148,148,148,148',
438
- '148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,,,,',
439
- ',,,,,,409,,,148,409,409,409,409,409,409,409,409,409,409,409,409,409',
440
- '409,409,409,409,409,409,409,409,409,409,409,,,,,,,,,,,,,,409' ]
441
- racc_action_check = arr = ::Array.new(4469, nil)
268
+ '1,58,1,1,44,357,371,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1',
269
+ '365,365,241,241,287,453,453,453,453,453,41,287,111,1,58,1,34,44,357',
270
+ '371,371,371,267,267,36,35,58,1,370,44,357,371,337,74,453,453,453,51',
271
+ '453,453,453,453,453,453,453,453,453,218,453,453,357,5,259,365,41,453',
272
+ '453,453,241,1,453,453,453,453,453,453,453,217,34,318,147,51,370,76,370',
273
+ '267,36,35,74,147,147,218,76,76,340,5,259,404,344,3,3,318,146,453,3,3',
274
+ '3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,76,399,45,404,344,451,451',
275
+ '451,451,451,399,45,45,3,289,3,252,252,252,213,444,213,445,289,150,210',
276
+ '210,3,252,444,251,445,251,150,451,451,451,220,451,451,451,451,451,451',
277
+ '451,451,451,45,451,451,213,312,312,312,312,451,451,451,216,3,451,451',
278
+ '451,451,451,451,451,448,448,448,448,448,104,104,104,104,104,104,104',
279
+ '104,104,104,104,447,331,157,397,72,348,72,398,349,447,451,157,397,448',
280
+ '448,448,398,448,448,448,448,448,448,448,448,448,303,448,448,309,309',
281
+ '105,303,303,448,448,448,105,105,448,448,448,448,448,448,448,446,446',
282
+ '446,446,446,90,227,90,304,90,90,90,90,140,304,304,108,108,108,108,311',
283
+ '311,311,311,354,42,448,42,278,446,446,446,66,446,446,446,446,446,446',
284
+ '446,446,446,126,446,446,250,346,250,346,368,446,446,446,313,313,446',
285
+ '446,446,446,446,446,446,430,430,430,430,430,164,163,164,163,70,70,422',
286
+ '422,305,305,306,306,106,106,310,310,107,107,307,307,369,446,109,109',
287
+ '430,430,430,125,430,430,430,430,430,430,430,430,430,329,430,430,114',
288
+ '114,138,138,113,430,430,430,143,143,430,430,430,430,430,430,430,429',
289
+ '429,429,429,429,308,308,269,269,112,272,383,384,385,110,158,159,324',
290
+ '279,229,236,400,317,261,237,316,430,408,238,429,429,429,412,429,429',
291
+ '429,429,429,429,429,429,429,315,429,429,297,296,83,75,68,429,429,429',
292
+ '295,437,429,429,429,429,429,429,429,428,428,428,428,428,71,441,282,61',
293
+ '33,243,314,242,452,2,240,,,,,,402,,402,402,402,429,,,428,428,428,,428',
294
+ '428,428,428,428,428,428,428,428,,428,428,,,,,,428,428,428,,,428,428',
295
+ '428,428,428,428,428,402,,402,402,,,,,,402,402,,,,402,402,402,402,402',
296
+ '402,402,401,,401,401,401,428,,,,,,,,,,,,,,,,,,,,,402,,,,,,,,394,394',
297
+ '394,394,394,,,401,,401,401,,,,,,401,401,,,,401,401,401,401,401,401,401',
298
+ ',394,394,394,,394,394,394,394,394,394,394,394,394,,394,394,,,,,,394',
299
+ '394,394,,401,394,394,394,394,394,394,394,,,,,,,,,,,,,,,,,,,,,,,,375',
300
+ ',,394,375,375,375,375,375,375,375,375,375,375,375,375,375,375,375,375',
301
+ '375,375,375,375,375,375,375,375,,,,,,,,,,,,,,375,338,338,338,338,338',
302
+ '338,338,338,338,338,338,338,338,338,338,338,338,338,338,338,338,338',
303
+ '338,338,338,338,338,338,338,,,,,,330,330,330,330,330,,,338,338,338,338',
304
+ ',375,,,,338,338,,,,338,338,338,338,338,338,338,,330,330,330,,330,330',
305
+ '330,330,330,330,330,330,330,,330,330,,,,,,330,330,330,,338,330,330,330',
306
+ '330,330,330,330,328,328,328,328,328,,,,,,,,,,,,,,,,,,,,,,330,,,328,328',
307
+ '328,,328,328,328,328,328,328,328,328,328,,328,328,,,,,,328,328,328,',
308
+ ',328,328,328,328,328,328,328,,,,,,,,,,,,,244,,244,244,244,,,,,,59,59',
309
+ ',,328,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59',
310
+ '59,59,59,,,244,,244,244,,,,,,244,244,59,,59,244,244,244,244,244,244',
311
+ '244,,,,,59,,,,239,239,239,239,239,,,,,,,,,,,,,,244,,,162,,162,162,162',
312
+ ',,59,239,239,239,,239,239,239,239,239,239,239,239,239,,239,239,,,,,',
313
+ '239,239,239,,,239,239,239,239,239,239,239,162,,162,162,162,,,,,162,162',
314
+ ',,,162,162,162,162,162,162,162,,,,,,239,230,230,230,230,230,230,230',
315
+ '230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230',
316
+ '230,230,230,230,230,230,230,230,,230,230,230,230,230,230,230,230,230',
317
+ '230,230,230,,,,,,230,230,230,,,230,230,230,230,230,230,230,,,,,,,,,',
318
+ ',,,,,,,,,,,,,219,219,,,230,219,219,219,219,219,219,219,219,219,219,219',
319
+ '219,219,219,219,219,219,219,219,219,219,219,219,219,,,,,,,,,,,,,,219',
320
+ ',219,,,134,134,432,,432,432,432,,,219,,134,134,134,134,134,134,134,134',
321
+ '134,134,134,134,134,134,134,134,134,134,,,,,,,,,,,,,219,134,432,134',
322
+ '432,432,432,,,,,432,432,,,134,432,432,432,432,432,432,432,,,,,,,,,,',
323
+ ',,134,,,,,,,,,,,,134,120,120,120,120,120,120,120,120,120,120,120,120',
324
+ '120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120',
325
+ '120,120,120,,120,120,120,120,120,120,120,120,120,120,120,120,,,,,,120',
326
+ '120,120,,,120,120,120,120,120,120,120,455,455,455,455,455,,,,,,,,,,',
327
+ ',,,,,,431,,431,431,431,120,,,455,455,455,,455,455,455,455,455,455,455',
328
+ '455,455,,455,455,,,,,,455,455,455,,,455,455,455,455,455,455,455,431',
329
+ ',431,431,,,,,,431,431,,,,431,431,431,431,431,431,431,,,12,,,455,12,12',
330
+ '12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,,',
331
+ ',,,,,,,,,,,12,,,,,,,327,,,12,327,327,327,327,327,327,327,327,327,327',
332
+ '327,327,327,327,327,327,327,327,327,327,327,327,327,327,12,,,,,,,,253',
333
+ ',253,253,253,327,,,,,,,56,,,327,56,56,56,56,56,56,56,56,56,56,56,56',
334
+ '56,56,56,56,56,56,56,56,56,56,56,56,327,253,,253,253,,,253,,,253,253',
335
+ ',56,,253,253,253,253,253,253,253,262,56,262,262,262,,,,,,,,,,,,,,,,',
336
+ '228,,228,228,228,56,,,,,,,,,,,,,,,262,,262,262,,,,,,262,262,,,,262,262',
337
+ '262,262,262,262,262,228,,228,228,,,,,,228,228,,,,228,228,228,228,228',
338
+ '228,228,88,88,88,88,88,,,,,,,88,88,88,88,88,88,88,88,88,88,88,88,88',
339
+ '88,88,88,88,88,268,,268,268,268,,,,,,,,88,88,88,88,,,,,,88,88,88,,,88',
340
+ '88,88,88,88,88,88,91,,91,91,91,,,,268,,268,268,,,,,,268,268,,,,268,268',
341
+ '268,268,268,268,268,92,,92,92,92,,,,,,,,91,,91,91,,,,,,91,91,,,,91,91',
342
+ '91,91,91,91,91,93,,93,93,93,,,,92,,92,92,,,,,,92,92,,,,92,92,92,92,92',
343
+ '92,92,94,,94,94,94,,,,,,,,93,,93,93,,,,,,93,93,,,,93,93,93,93,93,93',
344
+ '93,95,,95,95,95,,,,94,,94,94,,,,,,94,94,,,,94,94,94,94,94,94,94,96,',
345
+ '96,96,96,,,,,,,,95,,95,95,,,,,,95,95,,,,95,95,95,95,95,95,95,97,,97',
346
+ '97,97,,,,96,,96,96,,,,,,96,96,,,,96,96,96,96,96,96,96,98,,98,98,98,',
347
+ ',,,,,,97,,97,97,,,,,,97,97,,,,97,97,97,97,97,97,97,,,,,,,,,98,,98,98',
348
+ ',,,,,98,98,,,,98,98,98,98,98,98,98,65,65,65,65,65,,,,,,,65,65,65,65',
349
+ '65,65,65,65,65,65,65,65,65,65,65,65,65,65,406,,406,406,406,,,,,,,,65',
350
+ '65,65,65,,,,,,65,65,,,,65,65,65,65,65,65,65,271,,271,271,271,,,,406',
351
+ ',406,406,,,406,,,406,406,,,,406,406,406,406,406,406,406,274,,274,274',
352
+ '274,,,,,,,,271,,271,271,,,271,,,271,271,,,,271,271,271,271,271,271,271',
353
+ ',389,,389,389,389,,,274,,274,274,,,,,,274,274,,,,274,274,274,274,274',
354
+ '274,274,276,,276,276,276,,,,,,,276,,389,,389,389,,,,276,276,389,389',
355
+ '389,,,389,389,389,389,389,389,389,386,,386,386,386,,,276,,276,276,,',
356
+ ',,,276,276,,,,276,276,276,276,276,276,276,382,,382,382,382,,,,,,,,,386',
357
+ ',386,386,,,,,,386,386,,,,386,386,386,386,386,386,386,378,,378,378,378',
358
+ ',,382,,382,382,,,,,,382,382,,,,382,382,382,382,382,382,382,215,,215',
359
+ '215,215,,,,,,,,,378,,378,378,,378,,378,,378,378,378,,,378,378,378,378',
360
+ '378,378,378,212,,212,212,212,,,215,,215,215,,,,,,215,215,,,,215,215',
361
+ '215,215,215,215,215,118,,118,118,118,,,,,,,,,212,,212,212,,,,,,212,212',
362
+ '212,,,212,212,212,212,212,212,212,284,,284,284,284,,,118,,118,118,,118',
363
+ ',118,,118,118,118,118,,118,118,118,118,118,118,118,208,,208,208,208',
364
+ ',,,,,,,,284,,284,284,,,,,,284,284,,,,284,284,284,284,284,284,284,207',
365
+ ',207,207,207,,,208,,208,208,,,,,,208,208,,,,208,208,208,208,208,208',
366
+ '208,206,,206,206,206,,,,,,,,,207,,207,207,,,,,,207,207,,,,207,207,207',
367
+ '207,207,207,207,205,,205,205,205,,,206,,206,206,,,,,,206,206,,,,206',
368
+ '206,206,206,206,206,206,204,,204,204,204,,,,,,,,,205,,205,205,,,,,,205',
369
+ '205,,,,205,205,205,205,205,205,205,358,,358,358,358,,,204,,204,204,',
370
+ ',,,,204,204,,,,204,204,204,204,204,204,204,203,,203,203,203,,,,,,,,',
371
+ '358,,358,358,,,,,,358,358,,,,358,358,358,358,358,358,358,202,,202,202',
372
+ '202,,,203,,203,203,,,,,,203,203,,,,203,203,203,203,203,203,203,433,',
373
+ '433,433,433,,,,,,,,,202,,202,202,,,,,,202,202,,,,202,202,202,202,202',
374
+ '202,202,352,,352,352,352,,,433,,433,433,433,,,,,433,433,,,,433,433,433',
375
+ '433,433,433,433,347,,347,347,347,,,,,,,,,352,,352,352,,,352,,,352,352',
376
+ ',,,352,352,352,352,352,352,352,144,,144,144,144,,,347,,347,347,,,347',
377
+ ',,347,347,,,,347,347,347,347,347,347,347,145,,145,145,145,,,145,,,,145',
378
+ ',144,,144,144,,,144,145,145,144,144,,,,144,144,144,144,144,144,144,341',
379
+ ',341,341,341,,,145,,145,145,,,145,,,145,145,,,,145,145,145,145,145,145',
380
+ '145,335,,335,335,335,,,,,,,,,341,,341,341,,,,,,341,341,,,,341,341,341',
381
+ '341,341,341,341,334,,334,334,334,,,335,,335,335,,,,,,335,335,,,,335',
382
+ '335,335,335,335,335,335,333,,333,333,333,,,,,,,,,334,,334,334,,,,,,334',
383
+ '334,,,,334,334,334,334,334,334,334,440,,440,440,440,,,333,,333,333,',
384
+ ',,,,333,333,,,,333,333,333,333,333,333,333,200,,200,200,200,,,,,,,,',
385
+ '440,,440,440,,440,,440,,440,440,440,440,,440,440,440,440,440,440,440',
386
+ '60,,60,60,60,,,200,,200,200,,,,,,200,200,,,,200,200,200,200,200,200',
387
+ '200,161,,161,161,161,,,,,,,,,60,,60,60,,,,,,60,60,60,,,60,60,60,60,60',
388
+ '60,60,,,,,,,,161,,161,161,,,,,,161,161,,,,161,161,161,161,161,161,161',
389
+ '73,,73,73,73,,,73,,,,73,,,,,,,,,73,73,320,,320,320,320,,,,,,,,,,,,,',
390
+ ',73,,73,73,,,73,,,73,73,,,,73,73,73,73,73,73,73,,320,,320,320,,320,',
391
+ '320,,320,320,320,320,,320,320,320,320,320,320,320,286,67,286,286,286',
392
+ ',,,,,,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,,,,,,,,',
393
+ ',,,,286,67,286,286,,,,,,286,286,286,67,,286,286,286,286,286,286,286',
394
+ '167,167,167,167,167,,,,,,,167,167,167,167,167,167,167,167,167,167,167',
395
+ '167,167,167,167,167,167,167,,,,,,,,,,,,,167,167,167,167,,,,,,167,167',
396
+ '167,,,167,167,167,167,167,167,167,173,173,173,173,173,,,,,,,173,173',
397
+ '173,173,173,173,173,173,173,173,173,173,173,173,173,173,173,173,,,,',
398
+ ',,,,,,,,173,173,173,173,,,,,,173,173,173,,,173,173,173,173,173,173,173',
399
+ '175,175,175,175,175,,,,,,,175,175,175,175,175,175,175,175,175,175,175',
400
+ '175,175,175,175,175,175,175,178,,178,178,178,,,,,,,,175,175,175,175',
401
+ ',,,,,175,175,175,,,175,175,175,175,175,175,175,179,,179,179,179,,,,178',
402
+ ',178,178,,,,,,178,178,,,,178,178,178,178,178,178,178,190,,190,190,190',
403
+ ',,,,,,,179,,179,179,,,,,,179,179,,,,179,179,179,179,179,179,179,191',
404
+ ',191,191,191,,,,190,,190,190,,,,,,190,190,,,,190,190,190,190,190,190',
405
+ '190,192,,192,192,192,,,,,,,,191,,191,191,,,,,,191,191,,,,191,191,191',
406
+ '191,191,191,191,193,,193,193,193,,,,192,,192,192,,,,,,192,192,,,,192',
407
+ '192,192,192,192,192,192,194,,194,194,194,,,,,,,,193,,193,193,,,,,,193',
408
+ '193,,,,193,193,193,193,193,193,193,195,,195,195,195,,,,194,,194,194',
409
+ ',,,,,194,194,,,,194,194,194,194,194,194,194,196,,196,196,196,,,,,,,',
410
+ '195,,195,195,,,,,,195,195,,,,195,195,195,195,195,195,195,197,,197,197',
411
+ '197,,,,196,,196,196,,,,,,196,196,,,,196,196,196,196,196,196,196,198',
412
+ ',198,198,198,,,,,,,,197,,197,197,,,,,,197,197,,,,197,197,197,197,197',
413
+ '197,197,199,,199,199,199,,,,198,,198,198,,,,,,198,198,,,,198,198,198',
414
+ '198,198,198,198,201,,201,201,201,,,,,,,,199,,199,199,,,,,,199,199,,',
415
+ ',199,199,199,199,199,199,199,,,,,,,,,201,,201,201,,,,,,201,201,,,,201',
416
+ '201,201,201,201,201,201,277,277,,,,277,277,277,277,277,277,277,277,277',
417
+ '277,277,277,277,277,277,277,277,277,277,277,277,277,277,277,,,,,,,,',
418
+ ',,,,,277,,277,,277,127,,,,,,,,,277,127,127,127,127,127,127,127,127,127',
419
+ '127,127,127,127,127,127,127,127,127,,,,,,,,,,,,,,127,,127,,127,130,',
420
+ ',,,,,,,127,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130',
421
+ '130,130,130,,,,,,,,,,,,,,130,,131,,,,,,,,,130,131,131,131,131,131,131',
422
+ '131,131,131,131,131,131,131,131,131,131,131,131,,,,,,,,,,,,,,131,,254',
423
+ ',,,,,,,,131,254,254,254,254,254,254,254,254,254,254,254,254,254,254',
424
+ '254,254,254,254,,,,,,,,,,,,,,254,,135,,,,,,,,,254,135,135,135,135,135',
425
+ '135,135,135,135,135,135,135,135,135,135,135,135,135,,,,,,,,,,,,,,135',
426
+ ',136,,,,,,,,,135,136,136,136,136,136,136,136,136,136,136,136,136,136',
427
+ '136,136,136,136,136,,,,,,,,,,,,,,136,,263,,,,,,,,,136,263,263,263,263',
428
+ '263,263,263,263,263,263,263,263,263,263,263,263,263,263,,,,,,,,,,,,',
429
+ ',263,,69,,,,,,,,,263,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69',
430
+ '69,69,,,,,,,,,,,,,,69,,,,,,,,391,,,69,391,391,391,391,391,391,391,391',
431
+ '391,391,391,391,391,391,391,391,391,391,391,391,391,391,391,391,,,,',
432
+ ',,,,,,,,,391,,,,,,,62,,,391,62,62,62,62,62,62,62,62,62,62,62,62,62,62',
433
+ '62,62,62,62,62,62,62,62,62,62,,,,,,,,,,,,,,62,,,,,,,80,,,62,80,80,80',
434
+ '80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,,,,,',
435
+ ',,,,,,,,80,,,,,,,351,,,80,351,351,351,351,351,351,351,351,351,351,351',
436
+ '351,351,351,351,351,351,351,351,351,351,351,351,351,,,,,,,,,,,410,,',
437
+ '351,410,410,410,410,410,410,410,410,410,410,410,410,410,410,410,410',
438
+ '410,410,410,410,410,410,410,410,,,,,,,,,,,149,,,410,149,149,149,149',
439
+ '149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149',
440
+ '149,149,149,,,,,,,,,,,,,,149' ]
441
+ racc_action_check = arr = ::Array.new(4450, nil)
442
442
  idx = 0
443
443
  clist.each do |str|
444
444
  str.split(',', -1).each do |i|
@@ -448,242 +448,240 @@ clist = [
448
448
  end
449
449
 
450
450
  racc_action_pointer = [
451
- nil, 3753, 517, 144, nil, 19, nil, nil, nil, nil,
452
- nil, 1493, nil, nil, nil, nil, nil, nil, nil, nil,
451
+ nil, 0, 478, 118, nil, 26, nil, nil, nil, nil,
452
+ nil, nil, 1401, nil, nil, nil, nil, nil, nil, nil,
453
453
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
454
- nil, nil, 468, 17, 20, 23, nil, nil, nil, nil,
455
- 3, 151, nil, 22, 185, nil, nil, nil, nil, nil,
456
- -44, nil, nil, nil, nil, 1445, nil, 21, 1004, 2387,
457
- 427, 4300, nil, nil, 2172, 394, 3940, 389, 4112, 412,
458
- 326, 279, 1530, 6, 186, 294, nil, nil, nil, 4252,
459
- nil, nil, 31, nil, nil, nil, nil, 1676, nil, 331,
460
- 1738, 1767, 1800, 1829, 1862, 1891, 1924, 1953, nil, nil,
461
- nil, nil, nil, 287, 283, 373, 363, 157, 351, 387,
462
- 104, 125, 286, 351, nil, nil, nil, 2359, nil, 1093,
463
- nil, nil, nil, nil, 389, 400, 3851, nil, nil, 4155,
464
- 4069, nil, nil, 647, 3897, 3983, nil, 330, nil, 426,
465
- nil, nil, 310, 2759, 2821, 462, -7, nil, 4386, 199,
466
- nil, nil, nil, nil, nil, nil, 207, 466, 468, nil,
467
- 3041, 3069, 262, 342, nil, nil, 3193, nil, nil, nil,
468
- nil, nil, 3255, nil, 3317, nil, nil, 3346, 3379, nil,
469
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 3408,
470
- 3441, 3470, 3503, 3532, 3565, 3594, 3627, 3656, 3689, 199,
471
- 3131, 3103, 3007, 2979, 2945, 2917, 81, 2855, nil, 242,
472
- nil, 2793, 143, nil, 2731, 506, 428, -45, 443, 426,
473
- nil, nil, nil, nil, nil, nil, 425, 2669, 422, 532,
474
- nil, nil, nil, nil, nil, 451, 438, 437, 594, 435,
475
- 11, 387, 385, 433, nil, nil, nil, nil, nil, 89,
476
- 84, 148, 2511, 4026, nil, nil, nil, nil, -9, nil,
477
- 396, 2483, 1614, nil, nil, nil, 18, 2449, 353, nil,
478
- 2421, 354, nil, 2297, nil, 2325, 3805, 220, 197, nil,
479
- nil, 210, nil, 2263, nil, 2234, 59, nil, 60, nil,
480
- nil, nil, nil, nil, 82, 78, 7, nil, nil, nil,
481
- nil, nil, 121, 250, 371, 380, 359, 340, 82, -40,
482
- 179, 253, 221, 455, 436, 427, 440, 33, nil, 2201,
483
- nil, nil, nil, 344, nil, nil, 1397, 831, 300, 1189,
484
- 443, nil, 2048, 2015, 1986, nil, 6, 920, nil, 0,
485
- 1614, nil, nil, -8, nil, -39, 1552, 142, 145, nil,
486
- 4348, 1334, nil, 180, nil, nil, 26, 2883, nil, nil,
487
- nil, nil, nil, nil, 15, nil, nil, 277, 282, 30,
488
- 129, nil, nil, nil, 262, nil, nil, 852, nil, nil,
489
- nil, 1705, 356, 464, 388, 2077, nil, nil, 2110, nil,
490
- 4204, nil, nil, 1251, nil, nil, 263, 264, 249, 434,
491
- 1155, 994, nil, 38, nil, 2545, nil, 439, nil, 4424,
492
- nil, -37, nil, nil, nil, nil, nil, nil, nil, nil,
493
- nil, 333, nil, nil, nil, nil, nil, 1313, 769, 707,
494
- 2573, 2607, 2635, nil, nil, nil, 460, nil, nil, 2697,
495
- 475, nil, nil, 262, 89, 359, 248, 297, nil, nil,
496
- 178, 426, 60, nil, -2, nil, nil, nil, nil, nil ]
454
+ nil, nil, nil, 427, 45, 54, 53, nil, nil, nil,
455
+ nil, 39, 257, nil, 2, 138, nil, nil, nil, nil,
456
+ nil, 12, nil, nil, nil, nil, 1497, nil, -1, 886,
457
+ 2963, 417, 4233, nil, nil, 1970, 256, 3137, 397, 4136,
458
+ 347, 415, 190, 3053, 62, 403, 91, nil, nil, nil,
459
+ 4281, nil, nil, 370, nil, nil, nil, nil, 1631, nil,
460
+ 237, 1693, 1722, 1755, 1784, 1817, 1846, 1879, 1908, nil,
461
+ nil, nil, nil, nil, 142, 205, 297, 295, 226, 295,
462
+ 359, -31, 336, 330, 309, nil, nil, nil, 2309, nil,
463
+ 1255, nil, nil, nil, nil, 325, 273, 3832, nil, nil,
464
+ 3878, 3921, nil, nil, 1166, 4007, 4050, nil, 332, nil,
465
+ 212, nil, nil, 391, 2715, 2743, 74, 88, nil, 4405,
466
+ 126, nil, nil, nil, nil, nil, nil, 187, 370, 371,
467
+ nil, 2991, 967, 344, 343, nil, nil, 3199, nil, nil,
468
+ nil, nil, nil, 3261, nil, 3323, nil, nil, 3352, 3385,
469
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
470
+ 3414, 3447, 3476, 3509, 3538, 3571, 3600, 3633, 3662, 3695,
471
+ 2929, 3724, 2591, 2557, 2495, 2467, 2433, 2405, 2371, nil,
472
+ 119, nil, 2281, 120, nil, 2247, 205, 20, 22, 1119,
473
+ 108, nil, nil, nil, nil, nil, nil, 206, 1569, 343,
474
+ 1035, nil, nil, nil, nil, nil, 376, 380, 384, 946,
475
+ 433, 31, 386, 384, 876, nil, nil, nil, nil, nil,
476
+ 277, 133, 119, 1486, 3964, nil, nil, nil, nil, 27,
477
+ nil, 347, 1548, 4093, nil, nil, nil, 51, 1660, 354,
478
+ nil, 2032, 363, nil, 2061, nil, 2123, 3786, 259, 364,
479
+ nil, nil, 469, nil, 2343, nil, 3137, -14, nil, 116,
480
+ nil, nil, nil, nil, nil, 408, 401, 400, nil, nil,
481
+ nil, nil, nil, 200, 228, 293, 295, 297, 341, 195,
482
+ 293, 230, 132, 259, 418, 370, 352, 365, 44, nil,
483
+ 3075, nil, nil, nil, 370, nil, nil, 1449, 802, 304,
484
+ 740, 178, nil, 2867, 2839, 2805, nil, 27, 706, nil,
485
+ 25, 2777, nil, nil, 63, nil, 278, 2681, 190, 193,
486
+ nil, 4329, 2653, nil, 253, nil, nil, 3, 2529, nil,
487
+ nil, nil, nil, nil, nil, 29, nil, nil, 278, 316,
488
+ 57, 4, nil, nil, nil, 663, nil, nil, 2219, nil,
489
+ nil, nil, 2185, 359, 360, 361, 2157, nil, nil, 2095,
490
+ nil, 4185, nil, nil, 579, nil, nil, 188, 192, 103,
491
+ 377, 545, 483, nil, 62, nil, 1999, nil, 380, nil,
492
+ 4367, nil, 387, nil, nil, nil, nil, nil, nil, nil,
493
+ nil, nil, 296, nil, nil, nil, nil, nil, 462, 400,
494
+ 338, 1338, 1168, 2619, nil, nil, nil, 409, nil, nil,
495
+ 2901, 436, nil, nil, 122, 124, 276, 185, 214, nil,
496
+ nil, 152, 387, 34, nil, 1317, nil, nil, nil, nil,
497
+ nil ]
497
498
 
498
499
  racc_action_default = [
499
- -259, -271, -271, -271, -86, -271, -88, -90, -92, -94,
500
- -96, -98, -100, -101, -102, -103, -104, -105, -106, -107,
500
+ -260, -272, -272, -272, -86, -272, -88, -89, -91, -93,
501
+ -95, -97, -99, -101, -102, -103, -104, -105, -106, -107,
501
502
  -108, -109, -110, -111, -112, -113, -114, -115, -116, -117,
502
- -118, -119, -271, -271, -271, -271, -156, -157, -158, -159,
503
- -271, -161, -162, -271, -176, -260, -261, -262, 460, -84,
504
- -271, -89, -91, -93, -95, -98, -87, -271, -271, -271,
505
- -234, -271, -266, -269, -271, -130, -271, -131, -271, -271,
506
- -149, -160, -271, -172, -271, -177, -178, -180, -85, -271,
507
- -264, -97, -98, -1, -2, -3, -4, -271, -7, -21,
508
- -271, -271, -271, -271, -271, -271, -271, -271, -32, -33,
509
- -34, -35, -36, -38, -42, -45, -48, -53, -56, -58,
510
- -60, -62, -64, -66, -68, -99, -209, -271, -233, -271,
511
- -265, -270, -38, -83, -271, -271, -191, -137, -139, -271,
512
- -271, -127, -132, -271, -271, -271, -129, -271, -150, -152,
513
- -154, -155, -271, -271, -271, -271, -271, -171, -271, -271,
514
- -175, -189, -163, -179, -181, -263, -271, -271, -271, -81,
515
- -271, -271, -271, -271, -15, -16, -271, -22, -23, -24,
516
- -25, -26, -271, -27, -271, -29, -31, -271, -271, -71,
517
- -72, -73, -74, -75, -76, -77, -78, -79, -80, -271,
518
- -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
519
- -271, -271, -271, -271, -271, -271, -271, -271, -210, -271,
520
- -213, -271, -271, -218, -271, -271, -1, -271, -271, -117,
521
- -222, -223, -224, -225, -226, -227, -271, -271, -271, -235,
522
- -237, -239, -240, -241, -242, -271, -271, -271, -271, -271,
523
- -271, -271, -271, -271, -120, -121, -136, -138, -192, -193,
524
- -195, -204, -271, -271, -123, -126, -133, -134, -271, -140,
525
- -142, -271, -271, -125, -128, -145, -271, -271, -271, -170,
526
- -271, -271, -165, -271, -166, -271, -188, -271, -182, -184,
527
- -174, -271, -5, -271, -6, -271, -271, -9, -271, -19,
528
- -11, -13, -12, -14, -271, -271, -271, -69, -70, -39,
529
- -40, -41, -43, -44, -46, -47, -49, -50, -51, -52,
530
- -54, -55, -57, -59, -61, -63, -65, -271, -211, -271,
531
- -214, -217, -219, -271, -221, -243, -98, -271, -271, -271,
532
- -271, -238, -271, -271, -271, -232, -271, -271, -231, -271,
533
- -271, -255, -256, -271, -257, -194, -271, -207, -271, -203,
534
- -271, -271, -197, -271, -122, -135, -271, -271, -143, -124,
535
- -147, -151, -153, -146, -271, -169, -164, -271, -271, -193,
536
- -204, -186, -187, -173, -271, -190, -82, -271, -37, -8,
537
- -10, -271, -271, -28, -30, -271, -212, -215, -271, -220,
538
- -271, -268, -228, -271, -230, -236, -271, -271, -271, -271,
539
- -271, -271, -253, -271, -258, -271, -199, -271, -206, -271,
540
- -196, -271, -201, -198, -141, -144, -148, -168, -167, -183,
541
- -185, -271, -20, -67, -216, -267, -229, -271, -271, -271,
542
- -271, -271, -271, -254, -202, -200, -271, -205, -17, -271,
543
- -244, -246, -247, -271, -271, -271, -271, -271, -208, -18,
544
- -271, -271, -271, -249, -271, -251, -245, -248, -250, -252 ]
503
+ -118, -119, -120, -272, -272, -272, -272, -157, -158, -159,
504
+ -160, -272, -162, -163, -272, -177, -261, -262, -263, 461,
505
+ -84, -272, -90, -92, -94, -96, -99, -87, -272, -272,
506
+ -272, -235, -272, -267, -270, -272, -131, -272, -132, -272,
507
+ -272, -150, -161, -272, -173, -272, -178, -179, -181, -85,
508
+ -272, -265, -98, -99, -1, -2, -3, -4, -272, -7,
509
+ -21, -272, -272, -272, -272, -272, -272, -272, -272, -32,
510
+ -33, -34, -35, -36, -38, -42, -45, -48, -53, -56,
511
+ -58, -60, -62, -64, -66, -68, -100, -210, -272, -234,
512
+ -272, -266, -271, -38, -83, -272, -272, -192, -138, -140,
513
+ -272, -272, -128, -133, -272, -272, -272, -130, -272, -151,
514
+ -153, -155, -156, -272, -272, -272, -272, -272, -172, -272,
515
+ -272, -176, -190, -164, -180, -182, -264, -272, -272, -272,
516
+ -81, -272, -272, -272, -272, -15, -16, -272, -22, -23,
517
+ -24, -25, -26, -272, -27, -272, -29, -31, -272, -272,
518
+ -71, -72, -73, -74, -75, -76, -77, -78, -79, -80,
519
+ -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
520
+ -272, -272, -272, -272, -272, -272, -272, -272, -272, -211,
521
+ -272, -214, -272, -272, -219, -272, -272, -1, -272, -272,
522
+ -118, -223, -224, -225, -226, -227, -228, -272, -272, -272,
523
+ -236, -238, -240, -241, -242, -243, -272, -272, -272, -272,
524
+ -272, -272, -272, -272, -272, -121, -122, -137, -139, -193,
525
+ -194, -196, -205, -272, -272, -124, -127, -134, -135, -272,
526
+ -141, -143, -272, -272, -126, -129, -146, -272, -272, -272,
527
+ -171, -272, -272, -166, -272, -167, -272, -189, -272, -183,
528
+ -185, -175, -272, -5, -272, -6, -272, -272, -9, -272,
529
+ -19, -11, -13, -12, -14, -272, -272, -272, -69, -70,
530
+ -39, -40, -41, -43, -44, -46, -47, -49, -50, -51,
531
+ -52, -54, -55, -57, -59, -61, -63, -65, -272, -212,
532
+ -272, -215, -218, -220, -272, -222, -244, -99, -272, -272,
533
+ -272, -272, -239, -272, -272, -272, -233, -272, -272, -232,
534
+ -272, -272, -256, -257, -272, -258, -195, -272, -208, -272,
535
+ -204, -272, -272, -198, -272, -123, -136, -272, -272, -144,
536
+ -125, -148, -152, -154, -147, -272, -170, -165, -272, -272,
537
+ -194, -205, -187, -188, -174, -272, -191, -82, -272, -37,
538
+ -8, -10, -272, -272, -28, -30, -272, -213, -216, -272,
539
+ -221, -272, -269, -229, -272, -231, -237, -272, -272, -272,
540
+ -272, -272, -272, -254, -272, -259, -272, -200, -272, -207,
541
+ -272, -197, -272, -202, -199, -142, -145, -149, -169, -168,
542
+ -184, -186, -272, -20, -67, -217, -268, -230, -272, -272,
543
+ -272, -272, -272, -272, -255, -203, -201, -272, -206, -17,
544
+ -272, -245, -247, -248, -272, -272, -272, -272, -272, -209,
545
+ -18, -272, -272, -272, -250, -272, -252, -246, -249, -251,
546
+ -253 ]
545
547
 
546
548
  racc_goto_table = [
547
- 3, 4, 115, 71, 62, 123, 116, 61, 156, 11,
548
- 209, 55, 124, 248, 75, 277, 256, 388, 76, 145,
549
- 345, 256, 230, 361, 137, 167, 168, 420, 259, 81,
550
- 173, 175, 176, 130, 54, 135, 126, 51, 47, 400,
551
- 310, 311, 144, 306, 307, 308, 309, 5, 80, 153,
552
- 178, 79, 304, 305, 120, 302, 303, 149, 148, 126,
553
- 258, 121, 316, 315, 116, 82, 82, 409, 314, 322,
554
- 313, 125, 155, 312, 339, 229, 119, 330, 288, 121,
555
- 157, 286, 45, 46, 1, nil, nil, 156, nil, 54,
556
- nil, 271, 51, 156, 158, 156, 253, 268, nil, nil,
557
- 249, 262, 431, 432, nil, nil, 122, nil, 289, nil,
558
- nil, nil, nil, nil, nil, nil, 275, nil, 218, 231,
559
- nil, 361, nil, nil, 297, 298, nil, nil, 317, nil,
560
- nil, nil, 331, nil, 169, 170, 171, 388, 126, 256,
561
- 345, 260, nil, nil, 126, nil, 126, 276, 256, nil,
562
- nil, nil, nil, nil, 320, 123, nil, nil, 116, 157,
563
- nil, nil, 323, 372, 343, 157, nil, 157, 123, nil,
564
- nil, nil, nil, 294, nil, 328, nil, nil, nil, 295,
565
- nil, 296, nil, nil, nil, 170, nil, nil, nil, nil,
566
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 353,
567
- nil, nil, 123, nil, nil, nil, nil, nil, 123, 358,
568
- nil, nil, nil, nil, nil, 362, 53, 411, nil, nil,
569
- 367, nil, 368, nil, nil, 249, 326, nil, 218, 231,
570
- 376, 299, 300, 301, 122, 122, 122, 122, 122, 122,
571
- 122, 122, 122, 122, 122, 122, 122, 122, 122, 54,
572
- 369, 414, 51, 396, 397, 398, 122, 77, nil, nil,
573
- nil, 403, 387, nil, nil, nil, 116, nil, nil, 122,
574
- 421, 53, nil, nil, nil, nil, 436, 128, 336, 128,
575
- nil, 128, nil, nil, 371, 77, nil, nil, 154, nil,
576
- nil, nil, nil, 407, nil, nil, nil, nil, 123, nil,
577
- 128, nil, nil, 122, nil, 415, nil, 54, nil, 122,
578
- 51, 52, 170, nil, nil, nil, nil, nil, nil, 391,
579
- nil, nil, 390, nil, 116, nil, 423, 378, 422, nil,
580
- nil, 424, 71, nil, nil, 116, nil, 401, nil, 247,
581
- nil, nil, 128, 128, 369, nil, 247, 128, 128, 276,
582
- nil, 443, 444, 446, nil, nil, nil, 154, nil, 77,
583
- nil, nil, nil, nil, 260, nil, 52, 392, nil, 394,
584
- nil, nil, 127, 276, 127, nil, 127, nil, nil, 128,
585
- nil, nil, 387, 425, nil, 128, 116, 128, nil, nil,
586
- 121, nil, nil, 170, nil, 127, nil, nil, nil, 122,
587
- nil, nil, nil, nil, nil, nil, nil, nil, 276, nil,
549
+ 3, 4, 116, 117, 72, 63, 12, 62, 56, 77,
550
+ 55, 157, 278, 260, 249, 52, 146, 210, 257, 362,
551
+ 389, 138, 346, 257, 231, 76, 421, 127, 82, 131,
552
+ 48, 136, 307, 308, 309, 310, 126, 401, 311, 312,
553
+ 154, 305, 306, 124, 303, 304, 5, 123, 125, 81,
554
+ 127, 80, 179, 145, 150, 121, 149, 259, 317, 159,
555
+ 316, 117, 122, 83, 83, 410, 55, 315, 323, 314,
556
+ 313, 52, 340, 156, 230, 170, 171, 172, 120, 331,
557
+ 122, 158, 289, 46, 287, 47, 1, nil, 272, nil,
558
+ 157, 250, 254, nil, 269, nil, 157, 263, 157, nil,
559
+ 432, 433, 168, 169, nil, 290, nil, 174, 176, 177,
560
+ nil, nil, nil, nil, nil, nil, nil, 362, nil, 219,
561
+ 232, 298, 299, nil, nil, nil, 171, 276, nil, 127,
562
+ nil, 318, nil, nil, 332, 127, nil, 127, 295, 261,
563
+ 389, 257, 346, 53, 296, nil, 297, nil, 277, nil,
564
+ 257, nil, nil, nil, 321, 117, nil, nil, nil, nil,
565
+ 158, nil, nil, nil, 373, nil, 158, 344, 158, nil,
566
+ nil, nil, 300, 301, 302, 123, 123, 123, 123, 123,
567
+ 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
568
+ 337, nil, nil, 124, nil, nil, 354, 123, 324, 53,
569
+ nil, nil, nil, nil, nil, 128, 124, 128, nil, 128,
570
+ 123, 329, nil, nil, 412, nil, 250, 368, nil, 369,
571
+ nil, nil, nil, nil, 327, nil, 55, 377, 128, 219,
572
+ 232, 52, nil, nil, nil, nil, 415, nil, nil, nil,
573
+ 124, 370, nil, nil, 123, 359, 124, nil, nil, nil,
574
+ 123, 363, nil, 171, nil, nil, 397, 398, 399, nil,
575
+ nil, nil, 388, 117, 404, nil, nil, 247, 379, nil,
576
+ 128, 128, nil, 437, 247, 128, 128, 422, nil, 393,
577
+ nil, 395, 372, nil, 55, nil, nil, 54, nil, 52,
578
+ 408, nil, nil, nil, nil, nil, nil, nil, nil, nil,
579
+ nil, nil, nil, nil, nil, nil, nil, 128, nil, nil,
580
+ nil, nil, nil, 128, nil, 128, nil, nil, nil, nil,
581
+ 392, 117, 391, nil, nil, 423, nil, nil, nil, 78,
582
+ nil, 425, 117, 72, 171, 370, 124, nil, 402, nil,
583
+ 123, 416, nil, 54, nil, 427, nil, nil, nil, 129,
584
+ 277, 129, nil, 129, 444, 445, 447, 78, nil, 53,
585
+ 155, nil, 261, nil, 424, nil, nil, nil, 123, nil,
586
+ nil, nil, 129, nil, 277, nil, nil, nil, nil, 441,
587
+ 442, 443, 388, 117, 426, nil, nil, nil, 171, nil,
588
+ nil, 122, nil, nil, 128, nil, nil, 454, nil, 456,
589
+ nil, nil, 457, 128, 459, nil, 460, nil, nil, 277,
590
+ nil, 248, nil, nil, 129, 129, nil, 53, 248, 129,
591
+ 129, nil, nil, nil, nil, nil, nil, nil, nil, 155,
592
+ nil, 78, nil, nil, nil, nil, nil, nil, nil, nil,
593
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
594
+ nil, 129, nil, nil, nil, nil, nil, 129, nil, 129,
588
595
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
589
- nil, nil, nil, nil, nil, nil, nil, 122, nil, nil,
590
- nil, 53, nil, 426, 246, nil, nil, 127, 127, nil,
591
- nil, 246, 127, 127, nil, nil, nil, 170, nil, nil,
592
596
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
593
- nil, nil, nil, nil, nil, nil, 128, 440, 441, 442,
594
- nil, nil, nil, nil, 127, 128, nil, nil, nil, nil,
595
- 127, nil, 127, nil, nil, 453, nil, 455, 154, 53,
596
- 456, nil, 458, nil, 459, nil, nil, nil, nil, nil,
597
597
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
598
598
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
599
- nil, nil, nil, nil, nil, nil, 52, nil, nil, nil,
599
+ nil, nil, nil, 54, nil, nil, nil, nil, nil, nil,
600
600
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
601
601
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
602
+ nil, nil, nil, nil, nil, nil, nil, nil, 129, nil,
603
+ nil, nil, nil, nil, nil, nil, nil, 129, nil, nil,
602
604
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
603
- nil, 127, nil, nil, nil, nil, nil, nil, nil, nil,
604
- 127, nil, nil, nil, nil, nil, nil, nil, nil, nil,
605
- nil, nil, nil, nil, 52 ]
605
+ 155, 54 ]
606
606
 
607
607
  racc_goto_check = [
608
- 27, 26, 36, 48, 4, 23, 9, 76, 3, 35,
609
- 8, 35, 25, 55, 49, 50, 40, 59, 47, 9,
610
- 56, 40, 72, 45, 44, 10, 10, 54, 43, 34,
611
- 10, 10, 10, 39, 33, 39, 41, 30, 29, 64,
612
- 16, 16, 49, 15, 15, 15, 15, 28, 4, 47,
613
- 24, 76, 14, 14, 4, 13, 13, 51, 52, 41,
614
- 42, 26, 21, 20, 9, 35, 35, 58, 19, 61,
615
- 18, 7, 4, 17, 68, 69, 70, 71, 6, 26,
616
- 4, 3, 74, 75, 1, nil, nil, 3, nil, 33,
617
- nil, 9, 30, 3, 7, 3, 39, 44, nil, nil,
618
- 47, 39, 64, 64, nil, nil, 11, nil, 9, nil,
619
- nil, nil, nil, nil, nil, nil, 49, nil, 27, 26,
620
- nil, 45, nil, nil, 9, 9, nil, nil, 3, nil,
621
- nil, nil, 72, nil, 11, 11, 11, 59, 41, 40,
622
- 56, 35, nil, nil, 41, nil, 41, 27, 40, nil,
623
- nil, nil, nil, nil, 36, 23, nil, nil, 9, 4,
624
- nil, nil, 25, 55, 3, 4, nil, 4, 23, nil,
625
- nil, nil, nil, 7, nil, 25, nil, nil, nil, 7,
626
- nil, 7, nil, nil, nil, 11, nil, nil, nil, nil,
627
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 9,
628
- nil, nil, 23, nil, nil, nil, nil, nil, 23, 25,
629
- nil, nil, nil, nil, nil, 25, 32, 50, nil, nil,
630
- 9, nil, 9, nil, nil, 47, 35, nil, 27, 26,
631
- 9, 11, 11, 11, 11, 11, 11, 11, 11, 11,
632
- 11, 11, 11, 11, 11, 11, 11, 11, 11, 33,
633
- 47, 43, 30, 3, 3, 3, 11, 32, nil, nil,
634
- nil, 3, 36, nil, nil, nil, 9, nil, nil, 11,
635
- 8, 32, nil, nil, nil, nil, 50, 32, 62, 32,
636
- nil, 32, nil, nil, 35, 32, nil, nil, 32, nil,
637
- nil, nil, nil, 9, nil, nil, nil, nil, 23, nil,
638
- 32, nil, nil, 11, nil, 25, nil, 33, nil, 11,
639
- 30, 31, 11, nil, nil, nil, nil, nil, nil, 4,
640
- nil, nil, 76, nil, 9, nil, 23, 11, 9, nil,
641
- nil, 36, 48, nil, nil, 9, nil, 26, nil, 32,
642
- nil, nil, 32, 32, 47, nil, 32, 32, 32, 27,
643
- nil, 3, 3, 3, nil, nil, nil, 32, nil, 32,
644
- nil, nil, nil, nil, 35, nil, 31, 62, nil, 62,
645
- nil, nil, 31, 27, 31, nil, 31, nil, nil, 32,
646
- nil, nil, 36, 4, nil, 32, 9, 32, nil, nil,
647
- 26, nil, nil, 11, nil, 31, nil, nil, nil, 11,
648
- nil, nil, nil, nil, nil, nil, nil, nil, 27, nil,
608
+ 27, 26, 36, 9, 48, 4, 35, 76, 35, 47,
609
+ 33, 3, 50, 43, 55, 30, 9, 8, 40, 45,
610
+ 59, 44, 56, 40, 72, 49, 54, 41, 34, 39,
611
+ 29, 39, 15, 15, 15, 15, 7, 64, 16, 16,
612
+ 47, 14, 14, 23, 13, 13, 28, 11, 25, 4,
613
+ 41, 76, 24, 49, 51, 4, 52, 42, 21, 7,
614
+ 20, 9, 26, 35, 35, 58, 33, 19, 61, 18,
615
+ 17, 30, 68, 4, 69, 11, 11, 11, 70, 71,
616
+ 26, 4, 6, 74, 3, 75, 1, nil, 9, nil,
617
+ 3, 47, 39, nil, 44, nil, 3, 39, 3, nil,
618
+ 64, 64, 10, 10, nil, 9, nil, 10, 10, 10,
619
+ nil, nil, nil, nil, nil, nil, nil, 45, nil, 27,
620
+ 26, 9, 9, nil, nil, nil, 11, 49, nil, 41,
621
+ nil, 3, nil, nil, 72, 41, nil, 41, 7, 35,
622
+ 59, 40, 56, 31, 7, nil, 7, nil, 27, nil,
623
+ 40, nil, nil, nil, 36, 9, nil, nil, nil, nil,
624
+ 4, nil, nil, nil, 55, nil, 4, 3, 4, nil,
625
+ nil, nil, 11, 11, 11, 11, 11, 11, 11, 11,
626
+ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
627
+ 62, nil, nil, 23, nil, nil, 9, 11, 25, 31,
628
+ nil, nil, nil, nil, nil, 31, 23, 31, nil, 31,
629
+ 11, 25, nil, nil, 50, nil, 47, 9, nil, 9,
630
+ nil, nil, nil, nil, 35, nil, 33, 9, 31, 27,
631
+ 26, 30, nil, nil, nil, nil, 43, nil, nil, nil,
632
+ 23, 47, nil, nil, 11, 25, 23, nil, nil, nil,
633
+ 11, 25, nil, 11, nil, nil, 3, 3, 3, nil,
634
+ nil, nil, 36, 9, 3, nil, nil, 31, 11, nil,
635
+ 31, 31, nil, 50, 31, 31, 31, 8, nil, 62,
636
+ nil, 62, 35, nil, 33, nil, nil, 32, nil, 30,
637
+ 9, nil, nil, nil, nil, nil, nil, nil, nil, nil,
638
+ nil, nil, nil, nil, nil, nil, nil, 31, nil, nil,
639
+ nil, nil, nil, 31, nil, 31, nil, nil, nil, nil,
640
+ 4, 9, 76, nil, nil, 9, nil, nil, nil, 32,
641
+ nil, 36, 9, 48, 11, 47, 23, nil, 26, nil,
642
+ 11, 25, nil, 32, nil, 62, nil, nil, nil, 32,
643
+ 27, 32, nil, 32, 3, 3, 3, 32, nil, 31,
644
+ 32, nil, 35, nil, 23, nil, nil, nil, 11, nil,
645
+ nil, nil, 32, nil, 27, nil, nil, nil, nil, 62,
646
+ 62, 62, 36, 9, 4, nil, nil, nil, 11, nil,
647
+ nil, 26, nil, nil, 31, nil, nil, 62, nil, 62,
648
+ nil, nil, 62, 31, 62, nil, 62, nil, nil, 27,
649
+ nil, 32, nil, nil, 32, 32, nil, 31, 32, 32,
650
+ 32, nil, nil, nil, nil, nil, nil, nil, nil, 32,
651
+ nil, 32, nil, nil, nil, nil, nil, nil, nil, nil,
652
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
653
+ nil, 32, nil, nil, nil, nil, nil, 32, nil, 32,
649
654
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
650
- nil, nil, nil, nil, nil, nil, nil, 11, nil, nil,
651
- nil, 32, nil, 62, 31, nil, nil, 31, 31, nil,
652
- nil, 31, 31, 31, nil, nil, nil, 11, nil, nil,
653
655
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
654
- nil, nil, nil, nil, nil, nil, 32, 62, 62, 62,
655
- nil, nil, nil, nil, 31, 32, nil, nil, nil, nil,
656
- 31, nil, 31, nil, nil, 62, nil, 62, 32, 32,
657
- 62, nil, 62, nil, 62, nil, nil, nil, nil, nil,
658
656
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
659
657
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
660
- nil, nil, nil, nil, nil, nil, 31, nil, nil, nil,
658
+ nil, nil, nil, 32, nil, nil, nil, nil, nil, nil,
661
659
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
662
660
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
661
+ nil, nil, nil, nil, nil, nil, nil, nil, 32, nil,
662
+ nil, nil, nil, nil, nil, nil, nil, 32, nil, nil,
663
663
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
664
- nil, 31, nil, nil, nil, nil, nil, nil, nil, nil,
665
- 31, nil, nil, nil, nil, nil, nil, nil, nil, nil,
666
- nil, nil, nil, nil, 31 ]
664
+ 32, 32 ]
667
665
 
668
666
  racc_goto_pointer = [
669
- nil, 84, nil, -79, -7, nil, -83, 7, -107, -53,
670
- -65, 42, nil, -137, -142, -153, -160, -129, -133, -136,
671
- -142, -144, nil, -59, -53, -52, 0, -1, 46, 37,
672
- 34, 308, 213, 31, -28, 8, -57, nil, nil, -33,
673
- -114, -28, -73, -105, -45, -243, nil, -26, -37, -30,
674
- -133, -16, -15, nil, -347, -113, -229, nil, -280, -302,
675
- nil, -143, 40, nil, -298, nil, nil, nil, -166, -44,
676
- 16, -152, -97, nil, 81, 82, -4 ]
667
+ nil, 86, nil, -77, -7, nil, -80, -29, -101, -57,
668
+ 11, -18, nil, -149, -154, -165, -163, -133, -135, -138,
669
+ -146, -149, nil, -22, -52, -17, 0, -1, 45, 29,
670
+ 12, 140, 284, 7, -30, 5, -58, nil, nil, -38,
671
+ -113, -38, -77, -121, -49, -248, nil, -36, -37, -20,
672
+ -137, -20, -18, nil, -349, -113, -228, nil, -283, -300,
673
+ nil, -145, -49, nil, -301, nil, nil, nil, -169, -46,
674
+ 17, -151, -96, nil, 82, 84, -5 ]
677
675
 
678
676
  racc_goto_default = [
679
- nil, nil, 88, 217, 221, 89, nil, nil, nil, 159,
680
- 102, 103, 94, 104, 105, 106, 107, 108, 109, 110,
681
- 111, 112, 113, 114, nil, nil, 63, 58, 50, nil,
682
- 6, 7, 8, 9, 10, 74, 210, 30, 31, nil,
683
- 132, 133, nil, nil, nil, 138, 139, 40, 41, nil,
684
- nil, nil, nil, 278, 279, 348, 250, 350, nil, 211,
685
- 212, 213, 232, 220, 222, 223, 224, 225, 226, nil,
686
- nil, nil, nil, 233, nil, nil, nil ]
677
+ nil, nil, 89, 218, 222, 90, nil, nil, nil, 160,
678
+ 103, 104, 95, 105, 106, 107, 108, 109, 110, 111,
679
+ 112, 113, 114, 115, nil, nil, 64, 59, 51, nil,
680
+ 7, 8, 9, 10, 11, 75, 211, 31, 32, nil,
681
+ 133, 134, nil, nil, nil, 139, 140, 41, 42, nil,
682
+ nil, nil, nil, 279, 280, 349, 251, 351, nil, 212,
683
+ 213, 214, 233, 221, 223, 224, 225, 226, 227, nil,
684
+ nil, nil, nil, 234, nil, nil, nil ]
687
685
 
688
686
  racc_reduce_table = [
689
687
  0, 0, :racc_error,
@@ -774,24 +772,24 @@ racc_reduce_table = [
774
772
  3, 118, :_reduce_85,
775
773
  1, 121, :_reduce_none,
776
774
  2, 121, :_reduce_87,
777
- 1, 119, :_reduce_88,
778
- 2, 119, :_reduce_89,
779
- 1, 119, :_reduce_90,
780
- 2, 119, :_reduce_91,
781
- 1, 119, :_reduce_92,
782
- 2, 119, :_reduce_93,
783
- 1, 119, :_reduce_94,
784
- 2, 119, :_reduce_95,
785
- 1, 120, :_reduce_96,
786
- 3, 120, :_reduce_97,
787
- 1, 126, :_reduce_98,
788
- 3, 126, :_reduce_99,
775
+ 1, 121, :_reduce_88,
776
+ 1, 119, :_reduce_89,
777
+ 2, 119, :_reduce_90,
778
+ 1, 119, :_reduce_91,
779
+ 2, 119, :_reduce_92,
780
+ 1, 119, :_reduce_93,
781
+ 2, 119, :_reduce_94,
782
+ 1, 119, :_reduce_95,
783
+ 2, 119, :_reduce_96,
784
+ 1, 120, :_reduce_97,
785
+ 3, 120, :_reduce_98,
786
+ 1, 126, :_reduce_99,
787
+ 3, 126, :_reduce_100,
789
788
  1, 122, :_reduce_none,
790
789
  1, 122, :_reduce_none,
791
790
  1, 122, :_reduce_none,
792
791
  1, 122, :_reduce_none,
793
792
  1, 122, :_reduce_none,
794
- 1, 123, :_reduce_105,
795
793
  1, 123, :_reduce_106,
796
794
  1, 123, :_reduce_107,
797
795
  1, 123, :_reduce_108,
@@ -806,103 +804,104 @@ racc_reduce_table = [
806
804
  1, 123, :_reduce_117,
807
805
  1, 123, :_reduce_118,
808
806
  1, 123, :_reduce_119,
809
- 4, 123, :_reduce_120,
807
+ 1, 123, :_reduce_120,
810
808
  4, 123, :_reduce_121,
811
- 5, 129, :_reduce_122,
812
- 4, 129, :_reduce_123,
813
- 5, 129, :_reduce_124,
814
- 4, 129, :_reduce_125,
809
+ 4, 123, :_reduce_122,
810
+ 5, 129, :_reduce_123,
811
+ 4, 129, :_reduce_124,
812
+ 5, 129, :_reduce_125,
815
813
  4, 129, :_reduce_126,
816
- 3, 129, :_reduce_127,
817
- 4, 129, :_reduce_128,
818
- 3, 129, :_reduce_129,
819
- 2, 129, :_reduce_130,
814
+ 4, 129, :_reduce_127,
815
+ 3, 129, :_reduce_128,
816
+ 4, 129, :_reduce_129,
817
+ 3, 129, :_reduce_130,
820
818
  2, 129, :_reduce_131,
821
- 1, 131, :_reduce_132,
822
- 2, 131, :_reduce_133,
823
- 2, 132, :_reduce_134,
824
- 3, 132, :_reduce_135,
825
- 2, 133, :_reduce_136,
826
- 1, 133, :_reduce_137,
827
- 2, 133, :_reduce_138,
828
- 1, 133, :_reduce_139,
829
- 1, 134, :_reduce_140,
830
- 3, 134, :_reduce_141,
831
- 1, 135, :_reduce_142,
832
- 2, 135, :_reduce_143,
833
- 3, 135, :_reduce_144,
834
- 4, 130, :_reduce_145,
835
- 5, 130, :_reduce_146,
819
+ 2, 129, :_reduce_132,
820
+ 1, 131, :_reduce_133,
821
+ 2, 131, :_reduce_134,
822
+ 2, 132, :_reduce_135,
823
+ 3, 132, :_reduce_136,
824
+ 2, 133, :_reduce_137,
825
+ 1, 133, :_reduce_138,
826
+ 2, 133, :_reduce_139,
827
+ 1, 133, :_reduce_140,
828
+ 1, 134, :_reduce_141,
829
+ 3, 134, :_reduce_142,
830
+ 1, 135, :_reduce_143,
831
+ 2, 135, :_reduce_144,
832
+ 3, 135, :_reduce_145,
833
+ 4, 130, :_reduce_146,
836
834
  5, 130, :_reduce_147,
837
- 6, 130, :_reduce_148,
838
- 2, 130, :_reduce_149,
839
- 1, 136, :_reduce_150,
840
- 3, 136, :_reduce_151,
841
- 1, 137, :_reduce_152,
842
- 3, 137, :_reduce_153,
835
+ 5, 130, :_reduce_148,
836
+ 6, 130, :_reduce_149,
837
+ 2, 130, :_reduce_150,
838
+ 1, 136, :_reduce_151,
839
+ 3, 136, :_reduce_152,
840
+ 1, 137, :_reduce_153,
841
+ 3, 137, :_reduce_154,
843
842
  1, 138, :_reduce_none,
844
- 1, 138, :_reduce_155,
843
+ 1, 138, :_reduce_156,
845
844
  1, 124, :_reduce_none,
846
845
  1, 124, :_reduce_none,
847
846
  1, 124, :_reduce_none,
848
847
  1, 125, :_reduce_none,
849
- 2, 127, :_reduce_160,
850
- 1, 127, :_reduce_161,
851
- 1, 140, :_reduce_162,
852
- 3, 140, :_reduce_163,
853
- 5, 140, :_reduce_164,
854
- 4, 140, :_reduce_165,
848
+ 2, 127, :_reduce_161,
849
+ 1, 127, :_reduce_162,
850
+ 1, 140, :_reduce_163,
851
+ 3, 140, :_reduce_164,
852
+ 5, 140, :_reduce_165,
855
853
  4, 140, :_reduce_166,
856
- 6, 140, :_reduce_167,
854
+ 4, 140, :_reduce_167,
857
855
  6, 140, :_reduce_168,
858
- 5, 140, :_reduce_169,
859
- 4, 140, :_reduce_170,
860
- 3, 140, :_reduce_171,
861
- 0, 144, :_reduce_172,
862
- 5, 140, :_reduce_173,
863
- 4, 140, :_reduce_174,
864
- 3, 140, :_reduce_175,
865
- 1, 139, :_reduce_176,
866
- 2, 139, :_reduce_177,
856
+ 6, 140, :_reduce_169,
857
+ 5, 140, :_reduce_170,
858
+ 4, 140, :_reduce_171,
859
+ 3, 140, :_reduce_172,
860
+ 0, 144, :_reduce_173,
861
+ 5, 140, :_reduce_174,
862
+ 4, 140, :_reduce_175,
863
+ 3, 140, :_reduce_176,
864
+ 1, 139, :_reduce_177,
867
865
  2, 139, :_reduce_178,
868
- 3, 139, :_reduce_179,
869
- 1, 141, :_reduce_180,
870
- 2, 141, :_reduce_181,
871
- 1, 142, :_reduce_182,
872
- 3, 142, :_reduce_183,
873
- 1, 145, :_reduce_184,
874
- 3, 145, :_reduce_185,
875
- 2, 146, :_reduce_186,
866
+ 2, 139, :_reduce_179,
867
+ 3, 139, :_reduce_180,
868
+ 1, 141, :_reduce_181,
869
+ 2, 141, :_reduce_182,
870
+ 1, 142, :_reduce_183,
871
+ 3, 142, :_reduce_184,
872
+ 1, 145, :_reduce_185,
873
+ 3, 145, :_reduce_186,
876
874
  2, 146, :_reduce_187,
877
- 1, 146, :_reduce_188,
878
- 1, 143, :_reduce_189,
879
- 3, 143, :_reduce_190,
880
- 1, 99, :_reduce_191,
881
- 2, 99, :_reduce_192,
882
- 1, 147, :_reduce_193,
883
- 2, 147, :_reduce_194,
884
- 1, 147, :_reduce_195,
885
- 3, 148, :_reduce_196,
886
- 2, 148, :_reduce_197,
887
- 3, 148, :_reduce_198,
875
+ 2, 146, :_reduce_188,
876
+ 1, 146, :_reduce_189,
877
+ 1, 143, :_reduce_190,
878
+ 3, 143, :_reduce_191,
879
+ 1, 99, :_reduce_192,
880
+ 2, 99, :_reduce_193,
881
+ 1, 147, :_reduce_194,
882
+ 2, 147, :_reduce_195,
883
+ 1, 147, :_reduce_196,
884
+ 3, 148, :_reduce_197,
885
+ 2, 148, :_reduce_198,
888
886
  3, 148, :_reduce_199,
889
- 4, 148, :_reduce_200,
890
- 3, 148, :_reduce_201,
891
- 4, 148, :_reduce_202,
892
- 2, 148, :_reduce_203,
893
- 0, 149, :_reduce_204,
894
- 4, 148, :_reduce_205,
895
- 3, 148, :_reduce_206,
896
- 0, 150, :_reduce_207,
897
- 5, 148, :_reduce_208,
898
- 1, 128, :_reduce_209,
899
- 2, 128, :_reduce_210,
900
- 3, 128, :_reduce_211,
901
- 4, 128, :_reduce_212,
902
- 1, 100, :_reduce_213,
903
- 2, 100, :_reduce_214,
904
- 3, 100, :_reduce_215,
905
- 4, 100, :_reduce_216,
887
+ 3, 148, :_reduce_200,
888
+ 4, 148, :_reduce_201,
889
+ 3, 148, :_reduce_202,
890
+ 4, 148, :_reduce_203,
891
+ 2, 148, :_reduce_204,
892
+ 0, 149, :_reduce_205,
893
+ 4, 148, :_reduce_206,
894
+ 3, 148, :_reduce_207,
895
+ 0, 150, :_reduce_208,
896
+ 5, 148, :_reduce_209,
897
+ 1, 128, :_reduce_210,
898
+ 2, 128, :_reduce_211,
899
+ 3, 128, :_reduce_212,
900
+ 4, 128, :_reduce_213,
901
+ 1, 100, :_reduce_214,
902
+ 2, 100, :_reduce_215,
903
+ 3, 100, :_reduce_216,
904
+ 4, 100, :_reduce_217,
906
905
  2, 151, :_reduce_none,
907
906
  1, 152, :_reduce_none,
908
907
  2, 152, :_reduce_none,
@@ -914,53 +913,53 @@ racc_reduce_table = [
914
913
  1, 154, :_reduce_none,
915
914
  1, 154, :_reduce_none,
916
915
  1, 154, :_reduce_none,
917
- 3, 155, :_reduce_228,
918
- 4, 155, :_reduce_229,
919
- 3, 155, :_reduce_230,
916
+ 3, 155, :_reduce_229,
917
+ 4, 155, :_reduce_230,
918
+ 3, 155, :_reduce_231,
920
919
  1, 160, :_reduce_none,
921
- 1, 160, :_reduce_232,
922
- 2, 96, :_reduce_233,
923
- 0, 162, :_reduce_234,
924
- 0, 163, :_reduce_235,
925
- 5, 96, :_reduce_236,
926
- 1, 161, :_reduce_237,
927
- 2, 161, :_reduce_238,
920
+ 1, 160, :_reduce_233,
921
+ 2, 96, :_reduce_234,
922
+ 0, 162, :_reduce_235,
923
+ 0, 163, :_reduce_236,
924
+ 5, 96, :_reduce_237,
925
+ 1, 161, :_reduce_238,
926
+ 2, 161, :_reduce_239,
928
927
  1, 164, :_reduce_none,
929
928
  1, 164, :_reduce_none,
930
929
  1, 164, :_reduce_none,
931
- 1, 156, :_reduce_242,
932
- 2, 156, :_reduce_243,
933
- 5, 157, :_reduce_244,
934
- 7, 157, :_reduce_245,
935
- 5, 157, :_reduce_246,
936
- 5, 158, :_reduce_247,
937
- 7, 158, :_reduce_248,
938
- 6, 158, :_reduce_249,
939
- 7, 158, :_reduce_250,
940
- 6, 158, :_reduce_251,
941
- 7, 158, :_reduce_252,
942
- 3, 159, :_reduce_253,
943
- 4, 159, :_reduce_254,
944
- 2, 159, :_reduce_255,
930
+ 1, 156, :_reduce_243,
931
+ 2, 156, :_reduce_244,
932
+ 5, 157, :_reduce_245,
933
+ 7, 157, :_reduce_246,
934
+ 5, 157, :_reduce_247,
935
+ 5, 158, :_reduce_248,
936
+ 7, 158, :_reduce_249,
937
+ 6, 158, :_reduce_250,
938
+ 7, 158, :_reduce_251,
939
+ 6, 158, :_reduce_252,
940
+ 7, 158, :_reduce_253,
941
+ 3, 159, :_reduce_254,
942
+ 4, 159, :_reduce_255,
945
943
  2, 159, :_reduce_256,
946
944
  2, 159, :_reduce_257,
947
- 3, 159, :_reduce_258,
948
- 0, 93, :_reduce_259,
949
- 2, 93, :_reduce_260,
945
+ 2, 159, :_reduce_258,
946
+ 3, 159, :_reduce_259,
947
+ 0, 93, :_reduce_260,
948
+ 2, 93, :_reduce_261,
950
949
  1, 166, :_reduce_none,
951
950
  1, 166, :_reduce_none,
952
- 4, 167, :_reduce_263,
953
- 3, 167, :_reduce_264,
951
+ 4, 167, :_reduce_264,
954
952
  3, 167, :_reduce_265,
955
- 2, 167, :_reduce_266,
956
- 4, 165, :_reduce_267,
957
- 3, 165, :_reduce_268,
958
- 1, 168, :_reduce_269,
959
- 2, 168, :_reduce_270 ]
953
+ 3, 167, :_reduce_266,
954
+ 2, 167, :_reduce_267,
955
+ 4, 165, :_reduce_268,
956
+ 3, 165, :_reduce_269,
957
+ 1, 168, :_reduce_270,
958
+ 2, 168, :_reduce_271 ]
960
959
 
961
- racc_reduce_n = 271
960
+ racc_reduce_n = 272
962
961
 
963
- racc_shift_n = 460
962
+ racc_shift_n = 461
964
963
 
965
964
  racc_token_table = {
966
965
  false => 0,
@@ -1929,8 +1928,18 @@ module_eval(<<'.,.,', 'parser.y', 576)
1929
1928
  end
1930
1929
  .,.,
1931
1930
 
1932
- module_eval(<<'.,.,', 'parser.y', 586)
1931
+ module_eval(<<'.,.,', 'parser.y', 583)
1933
1932
  def _reduce_88(val, _values, result)
1933
+ # NOTE: To accept extra semicolons in the global scope.
1934
+ E(:E0018, val[0].location)
1935
+ result = nil
1936
+
1937
+ result
1938
+ end
1939
+ .,.,
1940
+
1941
+ module_eval(<<'.,.,', 'parser.y', 592)
1942
+ def _reduce_89(val, _values, result)
1934
1943
  checkpoint(val[0].location)
1935
1944
  result = DeclarationSpecifiers.new
1936
1945
  result.storage_class_specifier = val[0]
@@ -1940,8 +1949,8 @@ module_eval(<<'.,.,', 'parser.y', 586)
1940
1949
  end
1941
1950
  .,.,
1942
1951
 
1943
- module_eval(<<'.,.,', 'parser.y', 593)
1944
- def _reduce_89(val, _values, result)
1952
+ module_eval(<<'.,.,', 'parser.y', 599)
1953
+ def _reduce_90(val, _values, result)
1945
1954
  checkpoint(val[0].location)
1946
1955
  result = val[0]
1947
1956
  result.storage_class_specifier = val[1]
@@ -1951,8 +1960,8 @@ module_eval(<<'.,.,', 'parser.y', 593)
1951
1960
  end
1952
1961
  .,.,
1953
1962
 
1954
- module_eval(<<'.,.,', 'parser.y', 600)
1955
- def _reduce_90(val, _values, result)
1963
+ module_eval(<<'.,.,', 'parser.y', 606)
1964
+ def _reduce_91(val, _values, result)
1956
1965
  checkpoint(val[0].location)
1957
1966
  result = DeclarationSpecifiers.new
1958
1967
  result.type_specifiers.push(val[0])
@@ -1963,8 +1972,8 @@ module_eval(<<'.,.,', 'parser.y', 600)
1963
1972
  end
1964
1973
  .,.,
1965
1974
 
1966
- module_eval(<<'.,.,', 'parser.y', 608)
1967
- def _reduce_91(val, _values, result)
1975
+ module_eval(<<'.,.,', 'parser.y', 614)
1976
+ def _reduce_92(val, _values, result)
1968
1977
  checkpoint(val[0].location)
1969
1978
  result = val[0]
1970
1979
  result.type_specifiers.push(val[1])
@@ -1974,8 +1983,8 @@ module_eval(<<'.,.,', 'parser.y', 608)
1974
1983
  end
1975
1984
  .,.,
1976
1985
 
1977
- module_eval(<<'.,.,', 'parser.y', 615)
1978
- def _reduce_92(val, _values, result)
1986
+ module_eval(<<'.,.,', 'parser.y', 621)
1987
+ def _reduce_93(val, _values, result)
1979
1988
  checkpoint(val[0].location)
1980
1989
  result = DeclarationSpecifiers.new
1981
1990
  result.type_qualifiers.push(val[0])
@@ -1985,8 +1994,8 @@ module_eval(<<'.,.,', 'parser.y', 615)
1985
1994
  end
1986
1995
  .,.,
1987
1996
 
1988
- module_eval(<<'.,.,', 'parser.y', 622)
1989
- def _reduce_93(val, _values, result)
1997
+ module_eval(<<'.,.,', 'parser.y', 628)
1998
+ def _reduce_94(val, _values, result)
1990
1999
  checkpoint(val[0].location)
1991
2000
  result = val[0]
1992
2001
  result.type_qualifiers.push(val[1])
@@ -1996,8 +2005,8 @@ module_eval(<<'.,.,', 'parser.y', 622)
1996
2005
  end
1997
2006
  .,.,
1998
2007
 
1999
- module_eval(<<'.,.,', 'parser.y', 629)
2000
- def _reduce_94(val, _values, result)
2008
+ module_eval(<<'.,.,', 'parser.y', 635)
2009
+ def _reduce_95(val, _values, result)
2001
2010
  checkpoint(val[0].location)
2002
2011
  result = DeclarationSpecifiers.new
2003
2012
  result.function_specifier = val[0]
@@ -2007,8 +2016,8 @@ module_eval(<<'.,.,', 'parser.y', 629)
2007
2016
  end
2008
2017
  .,.,
2009
2018
 
2010
- module_eval(<<'.,.,', 'parser.y', 636)
2011
- def _reduce_95(val, _values, result)
2019
+ module_eval(<<'.,.,', 'parser.y', 642)
2020
+ def _reduce_96(val, _values, result)
2012
2021
  checkpoint(val[0].location)
2013
2022
  result = val[0]
2014
2023
  result.function_specifier = val[1]
@@ -2018,28 +2027,30 @@ module_eval(<<'.,.,', 'parser.y', 636)
2018
2027
  end
2019
2028
  .,.,
2020
2029
 
2021
- module_eval(<<'.,.,', 'parser.y', 646)
2022
- def _reduce_96(val, _values, result)
2030
+ module_eval(<<'.,.,', 'parser.y', 652)
2031
+ def _reduce_97(val, _values, result)
2023
2032
  checkpoint(val[0].location)
2033
+ @lexer.disable_identifier_translation
2024
2034
  result = val
2025
2035
 
2026
2036
  result
2027
2037
  end
2028
2038
  .,.,
2029
2039
 
2030
- module_eval(<<'.,.,', 'parser.y', 651)
2031
- def _reduce_97(val, _values, result)
2040
+ module_eval(<<'.,.,', 'parser.y', 658)
2041
+ def _reduce_98(val, _values, result)
2032
2042
  checkpoint(val[0].first.location)
2043
+ @lexer.disable_identifier_translation
2033
2044
  result = val[0].push(val[2])
2034
2045
 
2035
2046
  result
2036
2047
  end
2037
2048
  .,.,
2038
2049
 
2039
- module_eval(<<'.,.,', 'parser.y', 659)
2040
- def _reduce_98(val, _values, result)
2050
+ module_eval(<<'.,.,', 'parser.y', 667)
2051
+ def _reduce_99(val, _values, result)
2041
2052
  checkpoint(val[0].location)
2042
- result = InitDeclarator.new(val[0], nil)
2053
+ result = InitDeclarator.new(val[0], nil, nil)
2043
2054
  result.head_token = val[0].head_token
2044
2055
  result.tail_token = val[0].tail_token
2045
2056
 
@@ -2047,10 +2058,10 @@ module_eval(<<'.,.,', 'parser.y', 659)
2047
2058
  end
2048
2059
  .,.,
2049
2060
 
2050
- module_eval(<<'.,.,', 'parser.y', 666)
2051
- def _reduce_99(val, _values, result)
2061
+ module_eval(<<'.,.,', 'parser.y', 674)
2062
+ def _reduce_100(val, _values, result)
2052
2063
  checkpoint(val[0].location)
2053
- result = InitDeclarator.new(val[0], val[2])
2064
+ result = InitDeclarator.new(val[0], val[2], val[1])
2054
2065
  result.head_token = val[0].head_token
2055
2066
  result.tail_token = val[2].tail_token
2056
2067
 
@@ -2058,8 +2069,6 @@ module_eval(<<'.,.,', 'parser.y', 666)
2058
2069
  end
2059
2070
  .,.,
2060
2071
 
2061
- # reduce 100 omitted
2062
-
2063
2072
  # reduce 101 omitted
2064
2073
 
2065
2074
  # reduce 102 omitted
@@ -2068,18 +2077,9 @@ module_eval(<<'.,.,', 'parser.y', 666)
2068
2077
 
2069
2078
  # reduce 104 omitted
2070
2079
 
2071
- module_eval(<<'.,.,', 'parser.y', 684)
2072
- def _reduce_105(val, _values, result)
2073
- checkpoint(val[0].location)
2074
- @lexer.disable_identifier_translation
2075
- result = StandardTypeSpecifier.new(val[0])
2076
- result.head_token = result.tail_token = val[0]
2077
-
2078
- result
2079
- end
2080
- .,.,
2080
+ # reduce 105 omitted
2081
2081
 
2082
- module_eval(<<'.,.,', 'parser.y', 691)
2082
+ module_eval(<<'.,.,', 'parser.y', 692)
2083
2083
  def _reduce_106(val, _values, result)
2084
2084
  checkpoint(val[0].location)
2085
2085
  @lexer.disable_identifier_translation
@@ -2090,7 +2090,7 @@ module_eval(<<'.,.,', 'parser.y', 691)
2090
2090
  end
2091
2091
  .,.,
2092
2092
 
2093
- module_eval(<<'.,.,', 'parser.y', 698)
2093
+ module_eval(<<'.,.,', 'parser.y', 699)
2094
2094
  def _reduce_107(val, _values, result)
2095
2095
  checkpoint(val[0].location)
2096
2096
  @lexer.disable_identifier_translation
@@ -2101,7 +2101,7 @@ module_eval(<<'.,.,', 'parser.y', 698)
2101
2101
  end
2102
2102
  .,.,
2103
2103
 
2104
- module_eval(<<'.,.,', 'parser.y', 705)
2104
+ module_eval(<<'.,.,', 'parser.y', 706)
2105
2105
  def _reduce_108(val, _values, result)
2106
2106
  checkpoint(val[0].location)
2107
2107
  @lexer.disable_identifier_translation
@@ -2112,7 +2112,7 @@ module_eval(<<'.,.,', 'parser.y', 705)
2112
2112
  end
2113
2113
  .,.,
2114
2114
 
2115
- module_eval(<<'.,.,', 'parser.y', 712)
2115
+ module_eval(<<'.,.,', 'parser.y', 713)
2116
2116
  def _reduce_109(val, _values, result)
2117
2117
  checkpoint(val[0].location)
2118
2118
  @lexer.disable_identifier_translation
@@ -2123,7 +2123,7 @@ module_eval(<<'.,.,', 'parser.y', 712)
2123
2123
  end
2124
2124
  .,.,
2125
2125
 
2126
- module_eval(<<'.,.,', 'parser.y', 719)
2126
+ module_eval(<<'.,.,', 'parser.y', 720)
2127
2127
  def _reduce_110(val, _values, result)
2128
2128
  checkpoint(val[0].location)
2129
2129
  @lexer.disable_identifier_translation
@@ -2134,7 +2134,7 @@ module_eval(<<'.,.,', 'parser.y', 719)
2134
2134
  end
2135
2135
  .,.,
2136
2136
 
2137
- module_eval(<<'.,.,', 'parser.y', 726)
2137
+ module_eval(<<'.,.,', 'parser.y', 727)
2138
2138
  def _reduce_111(val, _values, result)
2139
2139
  checkpoint(val[0].location)
2140
2140
  @lexer.disable_identifier_translation
@@ -2145,7 +2145,7 @@ module_eval(<<'.,.,', 'parser.y', 726)
2145
2145
  end
2146
2146
  .,.,
2147
2147
 
2148
- module_eval(<<'.,.,', 'parser.y', 733)
2148
+ module_eval(<<'.,.,', 'parser.y', 734)
2149
2149
  def _reduce_112(val, _values, result)
2150
2150
  checkpoint(val[0].location)
2151
2151
  @lexer.disable_identifier_translation
@@ -2156,7 +2156,7 @@ module_eval(<<'.,.,', 'parser.y', 733)
2156
2156
  end
2157
2157
  .,.,
2158
2158
 
2159
- module_eval(<<'.,.,', 'parser.y', 740)
2159
+ module_eval(<<'.,.,', 'parser.y', 741)
2160
2160
  def _reduce_113(val, _values, result)
2161
2161
  checkpoint(val[0].location)
2162
2162
  @lexer.disable_identifier_translation
@@ -2167,7 +2167,7 @@ module_eval(<<'.,.,', 'parser.y', 740)
2167
2167
  end
2168
2168
  .,.,
2169
2169
 
2170
- module_eval(<<'.,.,', 'parser.y', 747)
2170
+ module_eval(<<'.,.,', 'parser.y', 748)
2171
2171
  def _reduce_114(val, _values, result)
2172
2172
  checkpoint(val[0].location)
2173
2173
  @lexer.disable_identifier_translation
@@ -2178,7 +2178,7 @@ module_eval(<<'.,.,', 'parser.y', 747)
2178
2178
  end
2179
2179
  .,.,
2180
2180
 
2181
- module_eval(<<'.,.,', 'parser.y', 754)
2181
+ module_eval(<<'.,.,', 'parser.y', 755)
2182
2182
  def _reduce_115(val, _values, result)
2183
2183
  checkpoint(val[0].location)
2184
2184
  @lexer.disable_identifier_translation
@@ -2189,7 +2189,7 @@ module_eval(<<'.,.,', 'parser.y', 754)
2189
2189
  end
2190
2190
  .,.,
2191
2191
 
2192
- module_eval(<<'.,.,', 'parser.y', 761)
2192
+ module_eval(<<'.,.,', 'parser.y', 762)
2193
2193
  def _reduce_116(val, _values, result)
2194
2194
  checkpoint(val[0].location)
2195
2195
  @lexer.disable_identifier_translation
@@ -2200,28 +2200,29 @@ module_eval(<<'.,.,', 'parser.y', 761)
2200
2200
  end
2201
2201
  .,.,
2202
2202
 
2203
- module_eval(<<'.,.,', 'parser.y', 768)
2203
+ module_eval(<<'.,.,', 'parser.y', 769)
2204
2204
  def _reduce_117(val, _values, result)
2205
2205
  checkpoint(val[0].location)
2206
2206
  @lexer.disable_identifier_translation
2207
- result = TypedefTypeSpecifier.new(val[0])
2207
+ result = StandardTypeSpecifier.new(val[0])
2208
2208
  result.head_token = result.tail_token = val[0]
2209
2209
 
2210
2210
  result
2211
2211
  end
2212
2212
  .,.,
2213
2213
 
2214
- module_eval(<<'.,.,', 'parser.y', 775)
2214
+ module_eval(<<'.,.,', 'parser.y', 776)
2215
2215
  def _reduce_118(val, _values, result)
2216
2216
  checkpoint(val[0].location)
2217
2217
  @lexer.disable_identifier_translation
2218
- result = val[0]
2218
+ result = TypedefTypeSpecifier.new(val[0])
2219
+ result.head_token = result.tail_token = val[0]
2219
2220
 
2220
2221
  result
2221
2222
  end
2222
2223
  .,.,
2223
2224
 
2224
- module_eval(<<'.,.,', 'parser.y', 781)
2225
+ module_eval(<<'.,.,', 'parser.y', 783)
2225
2226
  def _reduce_119(val, _values, result)
2226
2227
  checkpoint(val[0].location)
2227
2228
  @lexer.disable_identifier_translation
@@ -2231,10 +2232,20 @@ module_eval(<<'.,.,', 'parser.y', 781)
2231
2232
  end
2232
2233
  .,.,
2233
2234
 
2234
- module_eval(<<'.,.,', 'parser.y', 787)
2235
+ module_eval(<<'.,.,', 'parser.y', 789)
2235
2236
  def _reduce_120(val, _values, result)
2236
2237
  checkpoint(val[0].location)
2237
2238
  @lexer.disable_identifier_translation
2239
+ result = val[0]
2240
+
2241
+ result
2242
+ end
2243
+ .,.,
2244
+
2245
+ module_eval(<<'.,.,', 'parser.y', 795)
2246
+ def _reduce_121(val, _values, result)
2247
+ checkpoint(val[0].location)
2248
+ @lexer.disable_identifier_translation
2238
2249
  val[2].full = true
2239
2250
  result = TypeofTypeSpecifier.new(val[2], nil)
2240
2251
  result.head_token = val[0]
@@ -2244,8 +2255,8 @@ module_eval(<<'.,.,', 'parser.y', 787)
2244
2255
  end
2245
2256
  .,.,
2246
2257
 
2247
- module_eval(<<'.,.,', 'parser.y', 796)
2248
- def _reduce_121(val, _values, result)
2258
+ module_eval(<<'.,.,', 'parser.y', 804)
2259
+ def _reduce_122(val, _values, result)
2249
2260
  checkpoint(val[0].location)
2250
2261
  @lexer.disable_identifier_translation
2251
2262
  result = TypeofTypeSpecifier.new(nil, val[2])
@@ -2256,8 +2267,8 @@ module_eval(<<'.,.,', 'parser.y', 796)
2256
2267
  end
2257
2268
  .,.,
2258
2269
 
2259
- module_eval(<<'.,.,', 'parser.y', 807)
2260
- def _reduce_122(val, _values, result)
2270
+ module_eval(<<'.,.,', 'parser.y', 815)
2271
+ def _reduce_123(val, _values, result)
2261
2272
  checkpoint(val[0].location)
2262
2273
  result = StructSpecifier.new(val[1], val[3])
2263
2274
  result.head_token = val[0]
@@ -2267,8 +2278,8 @@ module_eval(<<'.,.,', 'parser.y', 807)
2267
2278
  end
2268
2279
  .,.,
2269
2280
 
2270
- module_eval(<<'.,.,', 'parser.y', 814)
2271
- def _reduce_123(val, _values, result)
2281
+ module_eval(<<'.,.,', 'parser.y', 822)
2282
+ def _reduce_124(val, _values, result)
2272
2283
  checkpoint(val[0].location)
2273
2284
  result = StructSpecifier.new(val[1], [])
2274
2285
  result.head_token = val[0]
@@ -2278,8 +2289,8 @@ module_eval(<<'.,.,', 'parser.y', 814)
2278
2289
  end
2279
2290
  .,.,
2280
2291
 
2281
- module_eval(<<'.,.,', 'parser.y', 821)
2282
- def _reduce_124(val, _values, result)
2292
+ module_eval(<<'.,.,', 'parser.y', 829)
2293
+ def _reduce_125(val, _values, result)
2283
2294
  checkpoint(val[0].location)
2284
2295
  result = UnionSpecifier.new(val[1], val[3])
2285
2296
  result.head_token = val[0]
@@ -2289,8 +2300,8 @@ module_eval(<<'.,.,', 'parser.y', 821)
2289
2300
  end
2290
2301
  .,.,
2291
2302
 
2292
- module_eval(<<'.,.,', 'parser.y', 828)
2293
- def _reduce_125(val, _values, result)
2303
+ module_eval(<<'.,.,', 'parser.y', 836)
2304
+ def _reduce_126(val, _values, result)
2294
2305
  checkpoint(val[0].location)
2295
2306
  result = UnionSpecifier.new(val[1], [])
2296
2307
  result.head_token = val[0]
@@ -2300,10 +2311,10 @@ module_eval(<<'.,.,', 'parser.y', 828)
2300
2311
  end
2301
2312
  .,.,
2302
2313
 
2303
- module_eval(<<'.,.,', 'parser.y', 835)
2304
- def _reduce_126(val, _values, result)
2314
+ module_eval(<<'.,.,', 'parser.y', 843)
2315
+ def _reduce_127(val, _values, result)
2305
2316
  checkpoint(val[0].location)
2306
- result = StructSpecifier.new(create_anon_tag_name(val[0]), val[2])
2317
+ result = StructSpecifier.new(create_anon_tag_name(val[0]), val[2], true)
2307
2318
  result.head_token = val[0]
2308
2319
  result.tail_token = val[3]
2309
2320
 
@@ -2311,10 +2322,10 @@ module_eval(<<'.,.,', 'parser.y', 835)
2311
2322
  end
2312
2323
  .,.,
2313
2324
 
2314
- module_eval(<<'.,.,', 'parser.y', 842)
2315
- def _reduce_127(val, _values, result)
2325
+ module_eval(<<'.,.,', 'parser.y', 850)
2326
+ def _reduce_128(val, _values, result)
2316
2327
  checkpoint(val[0].location)
2317
- result = StructSpecifier.new(create_anon_tag_name(val[0]), [])
2328
+ result = StructSpecifier.new(create_anon_tag_name(val[0]), [], true)
2318
2329
  result.head_token = val[0]
2319
2330
  result.tail_token = val[2]
2320
2331
 
@@ -2322,10 +2333,10 @@ module_eval(<<'.,.,', 'parser.y', 842)
2322
2333
  end
2323
2334
  .,.,
2324
2335
 
2325
- module_eval(<<'.,.,', 'parser.y', 849)
2326
- def _reduce_128(val, _values, result)
2336
+ module_eval(<<'.,.,', 'parser.y', 857)
2337
+ def _reduce_129(val, _values, result)
2327
2338
  checkpoint(val[0].location)
2328
- result = UnionSpecifier.new(create_anon_tag_name(val[0]), val[2])
2339
+ result = UnionSpecifier.new(create_anon_tag_name(val[0]), val[2], true)
2329
2340
  result.head_token = val[0]
2330
2341
  result.tail_token = val[3]
2331
2342
 
@@ -2333,10 +2344,10 @@ module_eval(<<'.,.,', 'parser.y', 849)
2333
2344
  end
2334
2345
  .,.,
2335
2346
 
2336
- module_eval(<<'.,.,', 'parser.y', 856)
2337
- def _reduce_129(val, _values, result)
2347
+ module_eval(<<'.,.,', 'parser.y', 864)
2348
+ def _reduce_130(val, _values, result)
2338
2349
  checkpoint(val[0].location)
2339
- result = UnionSpecifier.new(create_anon_tag_name(val[0]), [])
2350
+ result = UnionSpecifier.new(create_anon_tag_name(val[0]), [], true)
2340
2351
  result.head_token = val[0]
2341
2352
  result.tail_token = val[2]
2342
2353
 
@@ -2344,8 +2355,8 @@ module_eval(<<'.,.,', 'parser.y', 856)
2344
2355
  end
2345
2356
  .,.,
2346
2357
 
2347
- module_eval(<<'.,.,', 'parser.y', 863)
2348
- def _reduce_130(val, _values, result)
2358
+ module_eval(<<'.,.,', 'parser.y', 871)
2359
+ def _reduce_131(val, _values, result)
2349
2360
  checkpoint(val[0].location)
2350
2361
  result = StructSpecifier.new(val[1], nil)
2351
2362
  result.head_token = val[0]
@@ -2355,8 +2366,8 @@ module_eval(<<'.,.,', 'parser.y', 863)
2355
2366
  end
2356
2367
  .,.,
2357
2368
 
2358
- module_eval(<<'.,.,', 'parser.y', 870)
2359
- def _reduce_131(val, _values, result)
2369
+ module_eval(<<'.,.,', 'parser.y', 878)
2370
+ def _reduce_132(val, _values, result)
2360
2371
  checkpoint(val[0].location)
2361
2372
  result = UnionSpecifier.new(val[1], nil)
2362
2373
  result.head_token = val[0]
@@ -2366,8 +2377,8 @@ module_eval(<<'.,.,', 'parser.y', 870)
2366
2377
  end
2367
2378
  .,.,
2368
2379
 
2369
- module_eval(<<'.,.,', 'parser.y', 880)
2370
- def _reduce_132(val, _values, result)
2380
+ module_eval(<<'.,.,', 'parser.y', 888)
2381
+ def _reduce_133(val, _values, result)
2371
2382
  checkpoint(val[0].location)
2372
2383
  @lexer.enable_identifier_translation
2373
2384
  result = val
@@ -2376,8 +2387,8 @@ module_eval(<<'.,.,', 'parser.y', 880)
2376
2387
  end
2377
2388
  .,.,
2378
2389
 
2379
- module_eval(<<'.,.,', 'parser.y', 886)
2380
- def _reduce_133(val, _values, result)
2390
+ module_eval(<<'.,.,', 'parser.y', 894)
2391
+ def _reduce_134(val, _values, result)
2381
2392
  checkpoint(val[0].first.location)
2382
2393
  @lexer.enable_identifier_translation
2383
2394
  result = val[0].push(val[1])
@@ -2386,8 +2397,8 @@ module_eval(<<'.,.,', 'parser.y', 886)
2386
2397
  end
2387
2398
  .,.,
2388
2399
 
2389
- module_eval(<<'.,.,', 'parser.y', 895)
2390
- def _reduce_134(val, _values, result)
2400
+ module_eval(<<'.,.,', 'parser.y', 903)
2401
+ def _reduce_135(val, _values, result)
2391
2402
  checkpoint(val[0].location)
2392
2403
  result = StructDeclaration.new(val[0], [])
2393
2404
  result.head_token = val[0].head_token
@@ -2397,8 +2408,8 @@ module_eval(<<'.,.,', 'parser.y', 895)
2397
2408
  end
2398
2409
  .,.,
2399
2410
 
2400
- module_eval(<<'.,.,', 'parser.y', 902)
2401
- def _reduce_135(val, _values, result)
2411
+ module_eval(<<'.,.,', 'parser.y', 910)
2412
+ def _reduce_136(val, _values, result)
2402
2413
  checkpoint(val[0].location)
2403
2414
  result = StructDeclaration.new(val[0], val[1])
2404
2415
  result.head_token = val[0].head_token
@@ -2408,8 +2419,8 @@ module_eval(<<'.,.,', 'parser.y', 902)
2408
2419
  end
2409
2420
  .,.,
2410
2421
 
2411
- module_eval(<<'.,.,', 'parser.y', 912)
2412
- def _reduce_136(val, _values, result)
2422
+ module_eval(<<'.,.,', 'parser.y', 920)
2423
+ def _reduce_137(val, _values, result)
2413
2424
  checkpoint(val[0].location)
2414
2425
  result = val[0]
2415
2426
  result.type_specifiers.push(val[1])
@@ -2419,8 +2430,8 @@ module_eval(<<'.,.,', 'parser.y', 912)
2419
2430
  end
2420
2431
  .,.,
2421
2432
 
2422
- module_eval(<<'.,.,', 'parser.y', 919)
2423
- def _reduce_137(val, _values, result)
2433
+ module_eval(<<'.,.,', 'parser.y', 927)
2434
+ def _reduce_138(val, _values, result)
2424
2435
  checkpoint(val[0].location)
2425
2436
  result = SpecifierQualifierList.new
2426
2437
  result.type_specifiers.push(val[0])
@@ -2431,8 +2442,8 @@ module_eval(<<'.,.,', 'parser.y', 919)
2431
2442
  end
2432
2443
  .,.,
2433
2444
 
2434
- module_eval(<<'.,.,', 'parser.y', 927)
2435
- def _reduce_138(val, _values, result)
2445
+ module_eval(<<'.,.,', 'parser.y', 935)
2446
+ def _reduce_139(val, _values, result)
2436
2447
  checkpoint(val[0].location)
2437
2448
  result = val[0]
2438
2449
  result.type_qualifiers.push(val[1])
@@ -2442,8 +2453,8 @@ module_eval(<<'.,.,', 'parser.y', 927)
2442
2453
  end
2443
2454
  .,.,
2444
2455
 
2445
- module_eval(<<'.,.,', 'parser.y', 934)
2446
- def _reduce_139(val, _values, result)
2456
+ module_eval(<<'.,.,', 'parser.y', 942)
2457
+ def _reduce_140(val, _values, result)
2447
2458
  checkpoint(val[0].location)
2448
2459
  result = SpecifierQualifierList.new
2449
2460
  result.type_qualifiers.push(val[0])
@@ -2453,8 +2464,8 @@ module_eval(<<'.,.,', 'parser.y', 934)
2453
2464
  end
2454
2465
  .,.,
2455
2466
 
2456
- module_eval(<<'.,.,', 'parser.y', 944)
2457
- def _reduce_140(val, _values, result)
2467
+ module_eval(<<'.,.,', 'parser.y', 952)
2468
+ def _reduce_141(val, _values, result)
2458
2469
  checkpoint(val[0].location)
2459
2470
  result = val
2460
2471
 
@@ -2462,8 +2473,8 @@ module_eval(<<'.,.,', 'parser.y', 944)
2462
2473
  end
2463
2474
  .,.,
2464
2475
 
2465
- module_eval(<<'.,.,', 'parser.y', 949)
2466
- def _reduce_141(val, _values, result)
2476
+ module_eval(<<'.,.,', 'parser.y', 957)
2477
+ def _reduce_142(val, _values, result)
2467
2478
  checkpoint(val[0].first.location)
2468
2479
  result = val[0].push(val[2])
2469
2480
 
@@ -2471,8 +2482,8 @@ module_eval(<<'.,.,', 'parser.y', 949)
2471
2482
  end
2472
2483
  .,.,
2473
2484
 
2474
- module_eval(<<'.,.,', 'parser.y', 957)
2475
- def _reduce_142(val, _values, result)
2485
+ module_eval(<<'.,.,', 'parser.y', 965)
2486
+ def _reduce_143(val, _values, result)
2476
2487
  checkpoint(val[0].location)
2477
2488
  result = StructDeclarator.new(val[0], nil)
2478
2489
  result.head_token = val[0].head_token
@@ -2482,8 +2493,8 @@ module_eval(<<'.,.,', 'parser.y', 957)
2482
2493
  end
2483
2494
  .,.,
2484
2495
 
2485
- module_eval(<<'.,.,', 'parser.y', 964)
2486
- def _reduce_143(val, _values, result)
2496
+ module_eval(<<'.,.,', 'parser.y', 972)
2497
+ def _reduce_144(val, _values, result)
2487
2498
  checkpoint(val[0].location)
2488
2499
  val[1].full = true
2489
2500
  result = StructDeclarator.new(nil, val[1])
@@ -2494,8 +2505,8 @@ module_eval(<<'.,.,', 'parser.y', 964)
2494
2505
  end
2495
2506
  .,.,
2496
2507
 
2497
- module_eval(<<'.,.,', 'parser.y', 972)
2498
- def _reduce_144(val, _values, result)
2508
+ module_eval(<<'.,.,', 'parser.y', 980)
2509
+ def _reduce_145(val, _values, result)
2499
2510
  checkpoint(val[0].location)
2500
2511
  val[2].full = true
2501
2512
  result = StructDeclarator.new(val[0], val[2])
@@ -2506,10 +2517,11 @@ module_eval(<<'.,.,', 'parser.y', 972)
2506
2517
  end
2507
2518
  .,.,
2508
2519
 
2509
- module_eval(<<'.,.,', 'parser.y', 983)
2510
- def _reduce_145(val, _values, result)
2520
+ module_eval(<<'.,.,', 'parser.y', 991)
2521
+ def _reduce_146(val, _values, result)
2511
2522
  checkpoint(val[0].location)
2512
- result = EnumSpecifier.new(create_anon_tag_name(val[0]), val[2])
2523
+ result = EnumSpecifier.new(create_anon_tag_name(val[0]),
2524
+ val[2], nil, true)
2513
2525
  result.head_token = val[0]
2514
2526
  result.tail_token = val[3]
2515
2527
  result.enumerators.each do |enum|
@@ -2520,8 +2532,8 @@ module_eval(<<'.,.,', 'parser.y', 983)
2520
2532
  end
2521
2533
  .,.,
2522
2534
 
2523
- module_eval(<<'.,.,', 'parser.y', 993)
2524
- def _reduce_146(val, _values, result)
2535
+ module_eval(<<'.,.,', 'parser.y', 1002)
2536
+ def _reduce_147(val, _values, result)
2525
2537
  checkpoint(val[0].location)
2526
2538
  result = EnumSpecifier.new(val[1], val[3])
2527
2539
  result.head_token = val[0]
@@ -2534,11 +2546,11 @@ module_eval(<<'.,.,', 'parser.y', 993)
2534
2546
  end
2535
2547
  .,.,
2536
2548
 
2537
- module_eval(<<'.,.,', 'parser.y', 1003)
2538
- def _reduce_147(val, _values, result)
2549
+ module_eval(<<'.,.,', 'parser.y', 1012)
2550
+ def _reduce_148(val, _values, result)
2539
2551
  checkpoint(val[0].location)
2540
2552
  result = EnumSpecifier.new(create_anon_tag_name(val[0]),
2541
- val[2], val[3])
2553
+ val[2], val[3], true)
2542
2554
  result.head_token = val[0]
2543
2555
  result.tail_token = val[4]
2544
2556
  result.enumerators.each do |enum|
@@ -2549,8 +2561,8 @@ module_eval(<<'.,.,', 'parser.y', 1003)
2549
2561
  end
2550
2562
  .,.,
2551
2563
 
2552
- module_eval(<<'.,.,', 'parser.y', 1014)
2553
- def _reduce_148(val, _values, result)
2564
+ module_eval(<<'.,.,', 'parser.y', 1023)
2565
+ def _reduce_149(val, _values, result)
2554
2566
  checkpoint(val[0].location)
2555
2567
  result = EnumSpecifier.new(val[1], val[3], val[4])
2556
2568
  result.head_token = val[0]
@@ -2563,8 +2575,8 @@ module_eval(<<'.,.,', 'parser.y', 1014)
2563
2575
  end
2564
2576
  .,.,
2565
2577
 
2566
- module_eval(<<'.,.,', 'parser.y', 1024)
2567
- def _reduce_149(val, _values, result)
2578
+ module_eval(<<'.,.,', 'parser.y', 1033)
2579
+ def _reduce_150(val, _values, result)
2568
2580
  checkpoint(val[0].location)
2569
2581
  result = EnumSpecifier.new(val[1], nil)
2570
2582
  result.head_token = val[0]
@@ -2574,8 +2586,8 @@ module_eval(<<'.,.,', 'parser.y', 1024)
2574
2586
  end
2575
2587
  .,.,
2576
2588
 
2577
- module_eval(<<'.,.,', 'parser.y', 1034)
2578
- def _reduce_150(val, _values, result)
2589
+ module_eval(<<'.,.,', 'parser.y', 1043)
2590
+ def _reduce_151(val, _values, result)
2579
2591
  checkpoint(val[0].location)
2580
2592
  result = val
2581
2593
 
@@ -2583,8 +2595,8 @@ module_eval(<<'.,.,', 'parser.y', 1034)
2583
2595
  end
2584
2596
  .,.,
2585
2597
 
2586
- module_eval(<<'.,.,', 'parser.y', 1039)
2587
- def _reduce_151(val, _values, result)
2598
+ module_eval(<<'.,.,', 'parser.y', 1048)
2599
+ def _reduce_152(val, _values, result)
2588
2600
  checkpoint(val[0].first.location)
2589
2601
  result = val[0].push(val[2])
2590
2602
 
@@ -2592,8 +2604,8 @@ module_eval(<<'.,.,', 'parser.y', 1039)
2592
2604
  end
2593
2605
  .,.,
2594
2606
 
2595
- module_eval(<<'.,.,', 'parser.y', 1047)
2596
- def _reduce_152(val, _values, result)
2607
+ module_eval(<<'.,.,', 'parser.y', 1056)
2608
+ def _reduce_153(val, _values, result)
2597
2609
  checkpoint(val[0].location)
2598
2610
  sym = @sym_tbl.create_new_symbol(EnumeratorName, val[0])
2599
2611
  result = Enumerator.new(val[0], nil, sym)
@@ -2603,8 +2615,8 @@ module_eval(<<'.,.,', 'parser.y', 1047)
2603
2615
  end
2604
2616
  .,.,
2605
2617
 
2606
- module_eval(<<'.,.,', 'parser.y', 1054)
2607
- def _reduce_153(val, _values, result)
2618
+ module_eval(<<'.,.,', 'parser.y', 1063)
2619
+ def _reduce_154(val, _values, result)
2608
2620
  checkpoint(val[0].location)
2609
2621
  val[2].full = true
2610
2622
  sym = @sym_tbl.create_new_symbol(EnumeratorName, val[0])
@@ -2616,26 +2628,26 @@ module_eval(<<'.,.,', 'parser.y', 1054)
2616
2628
  end
2617
2629
  .,.,
2618
2630
 
2619
- # reduce 154 omitted
2631
+ # reduce 155 omitted
2620
2632
 
2621
- module_eval(<<'.,.,', 'parser.y', 1067)
2622
- def _reduce_155(val, _values, result)
2633
+ module_eval(<<'.,.,', 'parser.y', 1076)
2634
+ def _reduce_156(val, _values, result)
2623
2635
  result = val[0].class.new(:IDENTIFIER, val[0].value, val[0].location)
2624
2636
 
2625
2637
  result
2626
2638
  end
2627
2639
  .,.,
2628
2640
 
2629
- # reduce 156 omitted
2630
-
2631
2641
  # reduce 157 omitted
2632
2642
 
2633
2643
  # reduce 158 omitted
2634
2644
 
2635
2645
  # reduce 159 omitted
2636
2646
 
2637
- module_eval(<<'.,.,', 'parser.y', 1084)
2638
- def _reduce_160(val, _values, result)
2647
+ # reduce 160 omitted
2648
+
2649
+ module_eval(<<'.,.,', 'parser.y', 1093)
2650
+ def _reduce_161(val, _values, result)
2639
2651
  checkpoint(val[0].first.location)
2640
2652
  result = val[1]
2641
2653
  result.pointer = val[0]
@@ -2646,8 +2658,8 @@ module_eval(<<'.,.,', 'parser.y', 1084)
2646
2658
  end
2647
2659
  .,.,
2648
2660
 
2649
- module_eval(<<'.,.,', 'parser.y', 1092)
2650
- def _reduce_161(val, _values, result)
2661
+ module_eval(<<'.,.,', 'parser.y', 1101)
2662
+ def _reduce_162(val, _values, result)
2651
2663
  checkpoint(val[0].location)
2652
2664
  result = val[0]
2653
2665
  result.full = true
@@ -2656,8 +2668,8 @@ module_eval(<<'.,.,', 'parser.y', 1092)
2656
2668
  end
2657
2669
  .,.,
2658
2670
 
2659
- module_eval(<<'.,.,', 'parser.y', 1101)
2660
- def _reduce_162(val, _values, result)
2671
+ module_eval(<<'.,.,', 'parser.y', 1110)
2672
+ def _reduce_163(val, _values, result)
2661
2673
  checkpoint(val[0].location)
2662
2674
  @lexer.enable_identifier_translation
2663
2675
  result = IdentifierDeclarator.new(val[0])
@@ -2667,8 +2679,8 @@ module_eval(<<'.,.,', 'parser.y', 1101)
2667
2679
  end
2668
2680
  .,.,
2669
2681
 
2670
- module_eval(<<'.,.,', 'parser.y', 1108)
2671
- def _reduce_163(val, _values, result)
2682
+ module_eval(<<'.,.,', 'parser.y', 1117)
2683
+ def _reduce_164(val, _values, result)
2672
2684
  checkpoint(val[0].location)
2673
2685
  result = GroupedDeclarator.new(val[1])
2674
2686
  result.head_token = val[0]
@@ -2678,8 +2690,8 @@ module_eval(<<'.,.,', 'parser.y', 1108)
2678
2690
  end
2679
2691
  .,.,
2680
2692
 
2681
- module_eval(<<'.,.,', 'parser.y', 1115)
2682
- def _reduce_164(val, _values, result)
2693
+ module_eval(<<'.,.,', 'parser.y', 1124)
2694
+ def _reduce_165(val, _values, result)
2683
2695
  checkpoint(val[0].location)
2684
2696
  val[3].full = true
2685
2697
  result = ArrayDeclarator.new(val[0], val[3])
@@ -2690,8 +2702,8 @@ module_eval(<<'.,.,', 'parser.y', 1115)
2690
2702
  end
2691
2703
  .,.,
2692
2704
 
2693
- module_eval(<<'.,.,', 'parser.y', 1123)
2694
- def _reduce_165(val, _values, result)
2705
+ module_eval(<<'.,.,', 'parser.y', 1132)
2706
+ def _reduce_166(val, _values, result)
2695
2707
  checkpoint(val[0].location)
2696
2708
  result = ArrayDeclarator.new(val[0], nil)
2697
2709
  result.head_token = val[0].head_token
@@ -2701,8 +2713,8 @@ module_eval(<<'.,.,', 'parser.y', 1123)
2701
2713
  end
2702
2714
  .,.,
2703
2715
 
2704
- module_eval(<<'.,.,', 'parser.y', 1130)
2705
- def _reduce_166(val, _values, result)
2716
+ module_eval(<<'.,.,', 'parser.y', 1139)
2717
+ def _reduce_167(val, _values, result)
2706
2718
  checkpoint(val[0].location)
2707
2719
  val[2].full = true
2708
2720
  result = ArrayDeclarator.new(val[0], val[2])
@@ -2713,8 +2725,8 @@ module_eval(<<'.,.,', 'parser.y', 1130)
2713
2725
  end
2714
2726
  .,.,
2715
2727
 
2716
- module_eval(<<'.,.,', 'parser.y', 1139)
2717
- def _reduce_167(val, _values, result)
2728
+ module_eval(<<'.,.,', 'parser.y', 1148)
2729
+ def _reduce_168(val, _values, result)
2718
2730
  checkpoint(val[0].location)
2719
2731
  val[4].full = true
2720
2732
  result = ArrayDeclarator.new(val[0], val[4])
@@ -2725,8 +2737,8 @@ module_eval(<<'.,.,', 'parser.y', 1139)
2725
2737
  end
2726
2738
  .,.,
2727
2739
 
2728
- module_eval(<<'.,.,', 'parser.y', 1148)
2729
- def _reduce_168(val, _values, result)
2740
+ module_eval(<<'.,.,', 'parser.y', 1157)
2741
+ def _reduce_169(val, _values, result)
2730
2742
  checkpoint(val[0].location)
2731
2743
  val[4].full = true
2732
2744
  result = ArrayDeclarator.new(val[0], val[4])
@@ -2737,8 +2749,8 @@ module_eval(<<'.,.,', 'parser.y', 1148)
2737
2749
  end
2738
2750
  .,.,
2739
2751
 
2740
- module_eval(<<'.,.,', 'parser.y', 1156)
2741
- def _reduce_169(val, _values, result)
2752
+ module_eval(<<'.,.,', 'parser.y', 1165)
2753
+ def _reduce_170(val, _values, result)
2742
2754
  checkpoint(val[0].location)
2743
2755
  result = ArrayDeclarator.new(val[0], nil)
2744
2756
  result.head_token = val[0].head_token
@@ -2748,8 +2760,8 @@ module_eval(<<'.,.,', 'parser.y', 1156)
2748
2760
  end
2749
2761
  .,.,
2750
2762
 
2751
- module_eval(<<'.,.,', 'parser.y', 1163)
2752
- def _reduce_170(val, _values, result)
2763
+ module_eval(<<'.,.,', 'parser.y', 1172)
2764
+ def _reduce_171(val, _values, result)
2753
2765
  checkpoint(val[0].location)
2754
2766
  result = ArrayDeclarator.new(val[0], nil)
2755
2767
  result.head_token = val[0].head_token
@@ -2759,8 +2771,8 @@ module_eval(<<'.,.,', 'parser.y', 1163)
2759
2771
  end
2760
2772
  .,.,
2761
2773
 
2762
- module_eval(<<'.,.,', 'parser.y', 1170)
2763
- def _reduce_171(val, _values, result)
2774
+ module_eval(<<'.,.,', 'parser.y', 1179)
2775
+ def _reduce_172(val, _values, result)
2764
2776
  checkpoint(val[0].location)
2765
2777
  result = ArrayDeclarator.new(val[0], nil)
2766
2778
  result.head_token = val[0].head_token
@@ -2770,15 +2782,15 @@ module_eval(<<'.,.,', 'parser.y', 1170)
2770
2782
  end
2771
2783
  .,.,
2772
2784
 
2773
- module_eval(<<'.,.,', 'parser.y', 1175)
2774
- def _reduce_172(val, _values, result)
2785
+ module_eval(<<'.,.,', 'parser.y', 1184)
2786
+ def _reduce_173(val, _values, result)
2775
2787
  @lexer.enable_identifier_translation
2776
2788
  result
2777
2789
  end
2778
2790
  .,.,
2779
2791
 
2780
- module_eval(<<'.,.,', 'parser.y', 1178)
2781
- def _reduce_173(val, _values, result)
2792
+ module_eval(<<'.,.,', 'parser.y', 1187)
2793
+ def _reduce_174(val, _values, result)
2782
2794
  checkpoint(val[0].location)
2783
2795
  result = AnsiFunctionDeclarator.new(val[0], val[3])
2784
2796
  result.head_token = val[0].head_token
@@ -2788,8 +2800,8 @@ module_eval(<<'.,.,', 'parser.y', 1178)
2788
2800
  end
2789
2801
  .,.,
2790
2802
 
2791
- module_eval(<<'.,.,', 'parser.y', 1185)
2792
- def _reduce_174(val, _values, result)
2803
+ module_eval(<<'.,.,', 'parser.y', 1194)
2804
+ def _reduce_175(val, _values, result)
2793
2805
  checkpoint(val[0].location)
2794
2806
  result = KandRFunctionDeclarator.new(val[0], val[2])
2795
2807
  result.head_token = val[0].head_token
@@ -2799,8 +2811,8 @@ module_eval(<<'.,.,', 'parser.y', 1185)
2799
2811
  end
2800
2812
  .,.,
2801
2813
 
2802
- module_eval(<<'.,.,', 'parser.y', 1192)
2803
- def _reduce_175(val, _values, result)
2814
+ module_eval(<<'.,.,', 'parser.y', 1201)
2815
+ def _reduce_176(val, _values, result)
2804
2816
  checkpoint(val[0].location)
2805
2817
  result = AbbreviatedFunctionDeclarator.new(val[0])
2806
2818
  result.head_token = val[0].head_token
@@ -2810,8 +2822,8 @@ module_eval(<<'.,.,', 'parser.y', 1192)
2810
2822
  end
2811
2823
  .,.,
2812
2824
 
2813
- module_eval(<<'.,.,', 'parser.y', 1202)
2814
- def _reduce_176(val, _values, result)
2825
+ module_eval(<<'.,.,', 'parser.y', 1211)
2826
+ def _reduce_177(val, _values, result)
2815
2827
  checkpoint(val[0].location)
2816
2828
  result = val
2817
2829
 
@@ -2819,8 +2831,8 @@ module_eval(<<'.,.,', 'parser.y', 1202)
2819
2831
  end
2820
2832
  .,.,
2821
2833
 
2822
- module_eval(<<'.,.,', 'parser.y', 1207)
2823
- def _reduce_177(val, _values, result)
2834
+ module_eval(<<'.,.,', 'parser.y', 1216)
2835
+ def _reduce_178(val, _values, result)
2824
2836
  checkpoint(val[0].location)
2825
2837
  result = val[1].unshift(val[0])
2826
2838
 
@@ -2828,8 +2840,8 @@ module_eval(<<'.,.,', 'parser.y', 1207)
2828
2840
  end
2829
2841
  .,.,
2830
2842
 
2831
- module_eval(<<'.,.,', 'parser.y', 1212)
2832
- def _reduce_178(val, _values, result)
2843
+ module_eval(<<'.,.,', 'parser.y', 1221)
2844
+ def _reduce_179(val, _values, result)
2833
2845
  checkpoint(val[0].location)
2834
2846
  result = val[1].unshift(val[0])
2835
2847
 
@@ -2837,8 +2849,8 @@ module_eval(<<'.,.,', 'parser.y', 1212)
2837
2849
  end
2838
2850
  .,.,
2839
2851
 
2840
- module_eval(<<'.,.,', 'parser.y', 1217)
2841
- def _reduce_179(val, _values, result)
2852
+ module_eval(<<'.,.,', 'parser.y', 1226)
2853
+ def _reduce_180(val, _values, result)
2842
2854
  checkpoint(val[0].location)
2843
2855
  result = val[1].unshift(val[0]).concat(val[2])
2844
2856
 
@@ -2846,8 +2858,8 @@ module_eval(<<'.,.,', 'parser.y', 1217)
2846
2858
  end
2847
2859
  .,.,
2848
2860
 
2849
- module_eval(<<'.,.,', 'parser.y', 1225)
2850
- def _reduce_180(val, _values, result)
2861
+ module_eval(<<'.,.,', 'parser.y', 1234)
2862
+ def _reduce_181(val, _values, result)
2851
2863
  checkpoint(val[0].location)
2852
2864
  result = val
2853
2865
 
@@ -2855,8 +2867,8 @@ module_eval(<<'.,.,', 'parser.y', 1225)
2855
2867
  end
2856
2868
  .,.,
2857
2869
 
2858
- module_eval(<<'.,.,', 'parser.y', 1230)
2859
- def _reduce_181(val, _values, result)
2870
+ module_eval(<<'.,.,', 'parser.y', 1239)
2871
+ def _reduce_182(val, _values, result)
2860
2872
  checkpoint(val[0].first.location)
2861
2873
  result = val[0].push(val[1])
2862
2874
 
@@ -2864,8 +2876,8 @@ module_eval(<<'.,.,', 'parser.y', 1230)
2864
2876
  end
2865
2877
  .,.,
2866
2878
 
2867
- module_eval(<<'.,.,', 'parser.y', 1238)
2868
- def _reduce_182(val, _values, result)
2879
+ module_eval(<<'.,.,', 'parser.y', 1247)
2880
+ def _reduce_183(val, _values, result)
2869
2881
  checkpoint(val[0].first.location)
2870
2882
  result = ParameterTypeList.new(val[0], false)
2871
2883
  result.head_token = val[0].first.head_token
@@ -2875,8 +2887,8 @@ module_eval(<<'.,.,', 'parser.y', 1238)
2875
2887
  end
2876
2888
  .,.,
2877
2889
 
2878
- module_eval(<<'.,.,', 'parser.y', 1245)
2879
- def _reduce_183(val, _values, result)
2890
+ module_eval(<<'.,.,', 'parser.y', 1254)
2891
+ def _reduce_184(val, _values, result)
2880
2892
  checkpoint(val[0].first.location)
2881
2893
  result = ParameterTypeList.new(val[0], true)
2882
2894
  result.head_token = val[0].first.head_token
@@ -2886,8 +2898,8 @@ module_eval(<<'.,.,', 'parser.y', 1245)
2886
2898
  end
2887
2899
  .,.,
2888
2900
 
2889
- module_eval(<<'.,.,', 'parser.y', 1255)
2890
- def _reduce_184(val, _values, result)
2901
+ module_eval(<<'.,.,', 'parser.y', 1264)
2902
+ def _reduce_185(val, _values, result)
2891
2903
  checkpoint(val[0].location)
2892
2904
  result = val
2893
2905
 
@@ -2895,8 +2907,8 @@ module_eval(<<'.,.,', 'parser.y', 1255)
2895
2907
  end
2896
2908
  .,.,
2897
2909
 
2898
- module_eval(<<'.,.,', 'parser.y', 1260)
2899
- def _reduce_185(val, _values, result)
2910
+ module_eval(<<'.,.,', 'parser.y', 1269)
2911
+ def _reduce_186(val, _values, result)
2900
2912
  checkpoint(val[0].first.location)
2901
2913
  result = val[0].push(val[2])
2902
2914
 
@@ -2904,8 +2916,8 @@ module_eval(<<'.,.,', 'parser.y', 1260)
2904
2916
  end
2905
2917
  .,.,
2906
2918
 
2907
- module_eval(<<'.,.,', 'parser.y', 1268)
2908
- def _reduce_186(val, _values, result)
2919
+ module_eval(<<'.,.,', 'parser.y', 1277)
2920
+ def _reduce_187(val, _values, result)
2909
2921
  checkpoint(val[0].location)
2910
2922
  @lexer.enable_identifier_translation
2911
2923
  result = ParameterDeclaration.new(val[0], val[1])
@@ -2916,8 +2928,8 @@ module_eval(<<'.,.,', 'parser.y', 1268)
2916
2928
  end
2917
2929
  .,.,
2918
2930
 
2919
- module_eval(<<'.,.,', 'parser.y', 1276)
2920
- def _reduce_187(val, _values, result)
2931
+ module_eval(<<'.,.,', 'parser.y', 1285)
2932
+ def _reduce_188(val, _values, result)
2921
2933
  checkpoint(val[0].location)
2922
2934
  @lexer.enable_identifier_translation
2923
2935
  result = ParameterDeclaration.new(val[0], val[1])
@@ -2928,8 +2940,8 @@ module_eval(<<'.,.,', 'parser.y', 1276)
2928
2940
  end
2929
2941
  .,.,
2930
2942
 
2931
- module_eval(<<'.,.,', 'parser.y', 1284)
2932
- def _reduce_188(val, _values, result)
2943
+ module_eval(<<'.,.,', 'parser.y', 1293)
2944
+ def _reduce_189(val, _values, result)
2933
2945
  checkpoint(val[0].location)
2934
2946
  @lexer.enable_identifier_translation
2935
2947
  result = ParameterDeclaration.new(val[0], nil)
@@ -2940,8 +2952,8 @@ module_eval(<<'.,.,', 'parser.y', 1284)
2940
2952
  end
2941
2953
  .,.,
2942
2954
 
2943
- module_eval(<<'.,.,', 'parser.y', 1295)
2944
- def _reduce_189(val, _values, result)
2955
+ module_eval(<<'.,.,', 'parser.y', 1304)
2956
+ def _reduce_190(val, _values, result)
2945
2957
  checkpoint(val[0].location)
2946
2958
  result = val
2947
2959
 
@@ -2949,8 +2961,8 @@ module_eval(<<'.,.,', 'parser.y', 1295)
2949
2961
  end
2950
2962
  .,.,
2951
2963
 
2952
- module_eval(<<'.,.,', 'parser.y', 1300)
2953
- def _reduce_190(val, _values, result)
2964
+ module_eval(<<'.,.,', 'parser.y', 1309)
2965
+ def _reduce_191(val, _values, result)
2954
2966
  checkpoint(val[0].first.location)
2955
2967
  result = val[0].push(val[2])
2956
2968
 
@@ -2958,8 +2970,8 @@ module_eval(<<'.,.,', 'parser.y', 1300)
2958
2970
  end
2959
2971
  .,.,
2960
2972
 
2961
- module_eval(<<'.,.,', 'parser.y', 1308)
2962
- def _reduce_191(val, _values, result)
2973
+ module_eval(<<'.,.,', 'parser.y', 1317)
2974
+ def _reduce_192(val, _values, result)
2963
2975
  checkpoint(val[0].location)
2964
2976
  @lexer.enable_identifier_translation
2965
2977
  result = TypeName.new(val[0], nil, @sym_tbl)
@@ -2970,8 +2982,8 @@ module_eval(<<'.,.,', 'parser.y', 1308)
2970
2982
  end
2971
2983
  .,.,
2972
2984
 
2973
- module_eval(<<'.,.,', 'parser.y', 1316)
2974
- def _reduce_192(val, _values, result)
2985
+ module_eval(<<'.,.,', 'parser.y', 1325)
2986
+ def _reduce_193(val, _values, result)
2975
2987
  checkpoint(val[0].location)
2976
2988
  @lexer.enable_identifier_translation
2977
2989
  result = TypeName.new(val[0], val[1], @sym_tbl)
@@ -2982,8 +2994,8 @@ module_eval(<<'.,.,', 'parser.y', 1316)
2982
2994
  end
2983
2995
  .,.,
2984
2996
 
2985
- module_eval(<<'.,.,', 'parser.y', 1327)
2986
- def _reduce_193(val, _values, result)
2997
+ module_eval(<<'.,.,', 'parser.y', 1336)
2998
+ def _reduce_194(val, _values, result)
2987
2999
  checkpoint(val[0].first.location)
2988
3000
  @lexer.enable_identifier_translation
2989
3001
  result = PointerAbstractDeclarator.new(nil, val[0])
@@ -2995,8 +3007,8 @@ module_eval(<<'.,.,', 'parser.y', 1327)
2995
3007
  end
2996
3008
  .,.,
2997
3009
 
2998
- module_eval(<<'.,.,', 'parser.y', 1336)
2999
- def _reduce_194(val, _values, result)
3010
+ module_eval(<<'.,.,', 'parser.y', 1345)
3011
+ def _reduce_195(val, _values, result)
3000
3012
  checkpoint(val[0].first.location)
3001
3013
  @lexer.enable_identifier_translation
3002
3014
  result = PointerAbstractDeclarator.new(val[1], val[0])
@@ -3008,8 +3020,8 @@ module_eval(<<'.,.,', 'parser.y', 1336)
3008
3020
  end
3009
3021
  .,.,
3010
3022
 
3011
- module_eval(<<'.,.,', 'parser.y', 1345)
3012
- def _reduce_195(val, _values, result)
3023
+ module_eval(<<'.,.,', 'parser.y', 1354)
3024
+ def _reduce_196(val, _values, result)
3013
3025
  checkpoint(val[0].location)
3014
3026
  result = val[0]
3015
3027
  result.full = true
@@ -3018,8 +3030,8 @@ module_eval(<<'.,.,', 'parser.y', 1345)
3018
3030
  end
3019
3031
  .,.,
3020
3032
 
3021
- module_eval(<<'.,.,', 'parser.y', 1354)
3022
- def _reduce_196(val, _values, result)
3033
+ module_eval(<<'.,.,', 'parser.y', 1363)
3034
+ def _reduce_197(val, _values, result)
3023
3035
  checkpoint(val[0].location)
3024
3036
  result = GroupedAbstractDeclarator.new(val[1])
3025
3037
  result.head_token = val[0]
@@ -3029,8 +3041,8 @@ module_eval(<<'.,.,', 'parser.y', 1354)
3029
3041
  end
3030
3042
  .,.,
3031
3043
 
3032
- module_eval(<<'.,.,', 'parser.y', 1361)
3033
- def _reduce_197(val, _values, result)
3044
+ module_eval(<<'.,.,', 'parser.y', 1370)
3045
+ def _reduce_198(val, _values, result)
3034
3046
  checkpoint(val[0].location)
3035
3047
  result = ArrayAbstractDeclarator.new(nil, nil)
3036
3048
  result.head_token = val[0]
@@ -3040,8 +3052,8 @@ module_eval(<<'.,.,', 'parser.y', 1361)
3040
3052
  end
3041
3053
  .,.,
3042
3054
 
3043
- module_eval(<<'.,.,', 'parser.y', 1368)
3044
- def _reduce_198(val, _values, result)
3055
+ module_eval(<<'.,.,', 'parser.y', 1377)
3056
+ def _reduce_199(val, _values, result)
3045
3057
  checkpoint(val[0].location)
3046
3058
  val[1].full = true
3047
3059
  result = ArrayAbstractDeclarator.new(nil, val[1])
@@ -3052,8 +3064,8 @@ module_eval(<<'.,.,', 'parser.y', 1368)
3052
3064
  end
3053
3065
  .,.,
3054
3066
 
3055
- module_eval(<<'.,.,', 'parser.y', 1376)
3056
- def _reduce_199(val, _values, result)
3067
+ module_eval(<<'.,.,', 'parser.y', 1385)
3068
+ def _reduce_200(val, _values, result)
3057
3069
  checkpoint(val[0].location)
3058
3070
  result = ArrayAbstractDeclarator.new(val[0], nil)
3059
3071
  result.head_token = val[0].head_token
@@ -3063,8 +3075,8 @@ module_eval(<<'.,.,', 'parser.y', 1376)
3063
3075
  end
3064
3076
  .,.,
3065
3077
 
3066
- module_eval(<<'.,.,', 'parser.y', 1383)
3067
- def _reduce_200(val, _values, result)
3078
+ module_eval(<<'.,.,', 'parser.y', 1392)
3079
+ def _reduce_201(val, _values, result)
3068
3080
  checkpoint(val[0].location)
3069
3081
  val[2].full = true
3070
3082
  result = ArrayAbstractDeclarator.new(val[0], val[2])
@@ -3075,8 +3087,8 @@ module_eval(<<'.,.,', 'parser.y', 1383)
3075
3087
  end
3076
3088
  .,.,
3077
3089
 
3078
- module_eval(<<'.,.,', 'parser.y', 1391)
3079
- def _reduce_201(val, _values, result)
3090
+ module_eval(<<'.,.,', 'parser.y', 1400)
3091
+ def _reduce_202(val, _values, result)
3080
3092
  checkpoint(val[0].location)
3081
3093
  result = ArrayAbstractDeclarator.new(nil, nil)
3082
3094
  result.head_token = val[0]
@@ -3086,8 +3098,8 @@ module_eval(<<'.,.,', 'parser.y', 1391)
3086
3098
  end
3087
3099
  .,.,
3088
3100
 
3089
- module_eval(<<'.,.,', 'parser.y', 1398)
3090
- def _reduce_202(val, _values, result)
3101
+ module_eval(<<'.,.,', 'parser.y', 1407)
3102
+ def _reduce_203(val, _values, result)
3091
3103
  checkpoint(val[0].location)
3092
3104
  result = ArrayAbstractDeclarator.new(val[0], nil)
3093
3105
  result.head_token = val[0].head_token
@@ -3097,8 +3109,8 @@ module_eval(<<'.,.,', 'parser.y', 1398)
3097
3109
  end
3098
3110
  .,.,
3099
3111
 
3100
- module_eval(<<'.,.,', 'parser.y', 1405)
3101
- def _reduce_203(val, _values, result)
3112
+ module_eval(<<'.,.,', 'parser.y', 1414)
3113
+ def _reduce_204(val, _values, result)
3102
3114
  checkpoint(val[0].location)
3103
3115
  result = FunctionAbstractDeclarator.new(nil, nil)
3104
3116
  result.head_token = val[0]
@@ -3108,15 +3120,15 @@ module_eval(<<'.,.,', 'parser.y', 1405)
3108
3120
  end
3109
3121
  .,.,
3110
3122
 
3111
- module_eval(<<'.,.,', 'parser.y', 1410)
3112
- def _reduce_204(val, _values, result)
3123
+ module_eval(<<'.,.,', 'parser.y', 1419)
3124
+ def _reduce_205(val, _values, result)
3113
3125
  @lexer.enable_identifier_translation
3114
3126
  result
3115
3127
  end
3116
3128
  .,.,
3117
3129
 
3118
- module_eval(<<'.,.,', 'parser.y', 1412)
3119
- def _reduce_205(val, _values, result)
3130
+ module_eval(<<'.,.,', 'parser.y', 1421)
3131
+ def _reduce_206(val, _values, result)
3120
3132
  checkpoint(val[0].location)
3121
3133
  result = FunctionAbstractDeclarator.new(nil, val[2])
3122
3134
  result.head_token = val[0]
@@ -3126,8 +3138,8 @@ module_eval(<<'.,.,', 'parser.y', 1412)
3126
3138
  end
3127
3139
  .,.,
3128
3140
 
3129
- module_eval(<<'.,.,', 'parser.y', 1419)
3130
- def _reduce_206(val, _values, result)
3141
+ module_eval(<<'.,.,', 'parser.y', 1428)
3142
+ def _reduce_207(val, _values, result)
3131
3143
  checkpoint(val[0].location)
3132
3144
  result = FunctionAbstractDeclarator.new(val[0], nil)
3133
3145
  result.head_token = val[0].head_token
@@ -3137,15 +3149,15 @@ module_eval(<<'.,.,', 'parser.y', 1419)
3137
3149
  end
3138
3150
  .,.,
3139
3151
 
3140
- module_eval(<<'.,.,', 'parser.y', 1424)
3141
- def _reduce_207(val, _values, result)
3152
+ module_eval(<<'.,.,', 'parser.y', 1433)
3153
+ def _reduce_208(val, _values, result)
3142
3154
  @lexer.enable_identifier_translation
3143
3155
  result
3144
3156
  end
3145
3157
  .,.,
3146
3158
 
3147
- module_eval(<<'.,.,', 'parser.y', 1427)
3148
- def _reduce_208(val, _values, result)
3159
+ module_eval(<<'.,.,', 'parser.y', 1436)
3160
+ def _reduce_209(val, _values, result)
3149
3161
  checkpoint(val[0].location)
3150
3162
  result = FunctionAbstractDeclarator.new(val[0], val[3])
3151
3163
  result.head_token = val[0].head_token
@@ -3155,8 +3167,8 @@ module_eval(<<'.,.,', 'parser.y', 1427)
3155
3167
  end
3156
3168
  .,.,
3157
3169
 
3158
- module_eval(<<'.,.,', 'parser.y', 1437)
3159
- def _reduce_209(val, _values, result)
3170
+ module_eval(<<'.,.,', 'parser.y', 1446)
3171
+ def _reduce_210(val, _values, result)
3160
3172
  checkpoint(val[0].location)
3161
3173
  val[0].full = true
3162
3174
  result = Initializer.new(val[0], nil)
@@ -3167,8 +3179,8 @@ module_eval(<<'.,.,', 'parser.y', 1437)
3167
3179
  end
3168
3180
  .,.,
3169
3181
 
3170
- module_eval(<<'.,.,', 'parser.y', 1445)
3171
- def _reduce_210(val, _values, result)
3182
+ module_eval(<<'.,.,', 'parser.y', 1454)
3183
+ def _reduce_211(val, _values, result)
3172
3184
  checkpoint(val[0].location)
3173
3185
  result = Initializer.new(nil, nil)
3174
3186
  result.head_token = val[0]
@@ -3178,8 +3190,8 @@ module_eval(<<'.,.,', 'parser.y', 1445)
3178
3190
  end
3179
3191
  .,.,
3180
3192
 
3181
- module_eval(<<'.,.,', 'parser.y', 1452)
3182
- def _reduce_211(val, _values, result)
3193
+ module_eval(<<'.,.,', 'parser.y', 1461)
3194
+ def _reduce_212(val, _values, result)
3183
3195
  checkpoint(val[0].location)
3184
3196
  result = Initializer.new(nil, val[1])
3185
3197
  result.head_token = val[0]
@@ -3189,8 +3201,8 @@ module_eval(<<'.,.,', 'parser.y', 1452)
3189
3201
  end
3190
3202
  .,.,
3191
3203
 
3192
- module_eval(<<'.,.,', 'parser.y', 1459)
3193
- def _reduce_212(val, _values, result)
3204
+ module_eval(<<'.,.,', 'parser.y', 1468)
3205
+ def _reduce_213(val, _values, result)
3194
3206
  checkpoint(val[0].location)
3195
3207
  result = Initializer.new(nil, val[1])
3196
3208
  result.head_token = val[0]
@@ -3200,8 +3212,8 @@ module_eval(<<'.,.,', 'parser.y', 1459)
3200
3212
  end
3201
3213
  .,.,
3202
3214
 
3203
- module_eval(<<'.,.,', 'parser.y', 1469)
3204
- def _reduce_213(val, _values, result)
3215
+ module_eval(<<'.,.,', 'parser.y', 1478)
3216
+ def _reduce_214(val, _values, result)
3205
3217
  checkpoint(val[0].location)
3206
3218
  result = val
3207
3219
 
@@ -3209,8 +3221,8 @@ module_eval(<<'.,.,', 'parser.y', 1469)
3209
3221
  end
3210
3222
  .,.,
3211
3223
 
3212
- module_eval(<<'.,.,', 'parser.y', 1474)
3213
- def _reduce_214(val, _values, result)
3224
+ module_eval(<<'.,.,', 'parser.y', 1483)
3225
+ def _reduce_215(val, _values, result)
3214
3226
  checkpoint(val[1].location)
3215
3227
  result = [val[1]]
3216
3228
 
@@ -3218,8 +3230,8 @@ module_eval(<<'.,.,', 'parser.y', 1474)
3218
3230
  end
3219
3231
  .,.,
3220
3232
 
3221
- module_eval(<<'.,.,', 'parser.y', 1479)
3222
- def _reduce_215(val, _values, result)
3233
+ module_eval(<<'.,.,', 'parser.y', 1488)
3234
+ def _reduce_216(val, _values, result)
3223
3235
  checkpoint(val[0].first.location)
3224
3236
  result = val[0].push(val[2])
3225
3237
 
@@ -3227,8 +3239,8 @@ module_eval(<<'.,.,', 'parser.y', 1479)
3227
3239
  end
3228
3240
  .,.,
3229
3241
 
3230
- module_eval(<<'.,.,', 'parser.y', 1484)
3231
- def _reduce_216(val, _values, result)
3242
+ module_eval(<<'.,.,', 'parser.y', 1493)
3243
+ def _reduce_217(val, _values, result)
3232
3244
  checkpoint(val[0].first.location)
3233
3245
  result = val[0].push(val[3])
3234
3246
 
@@ -3236,8 +3248,6 @@ module_eval(<<'.,.,', 'parser.y', 1484)
3236
3248
  end
3237
3249
  .,.,
3238
3250
 
3239
- # reduce 217 omitted
3240
-
3241
3251
  # reduce 218 omitted
3242
3252
 
3243
3253
  # reduce 219 omitted
@@ -3258,8 +3268,10 @@ module_eval(<<'.,.,', 'parser.y', 1484)
3258
3268
 
3259
3269
  # reduce 227 omitted
3260
3270
 
3261
- module_eval(<<'.,.,', 'parser.y', 1518)
3262
- def _reduce_228(val, _values, result)
3271
+ # reduce 228 omitted
3272
+
3273
+ module_eval(<<'.,.,', 'parser.y', 1527)
3274
+ def _reduce_229(val, _values, result)
3263
3275
  checkpoint(val[0].location)
3264
3276
  result = GenericLabeledStatement.new(val[0], val[2])
3265
3277
  result.head_token = val[0]
@@ -3269,8 +3281,8 @@ module_eval(<<'.,.,', 'parser.y', 1518)
3269
3281
  end
3270
3282
  .,.,
3271
3283
 
3272
- module_eval(<<'.,.,', 'parser.y', 1525)
3273
- def _reduce_229(val, _values, result)
3284
+ module_eval(<<'.,.,', 'parser.y', 1534)
3285
+ def _reduce_230(val, _values, result)
3274
3286
  checkpoint(val[0].location)
3275
3287
  val[1].full = true
3276
3288
  result = CaseLabeledStatement.new(val[1], val[3])
@@ -3281,8 +3293,8 @@ module_eval(<<'.,.,', 'parser.y', 1525)
3281
3293
  end
3282
3294
  .,.,
3283
3295
 
3284
- module_eval(<<'.,.,', 'parser.y', 1533)
3285
- def _reduce_230(val, _values, result)
3296
+ module_eval(<<'.,.,', 'parser.y', 1542)
3297
+ def _reduce_231(val, _values, result)
3286
3298
  checkpoint(val[0].location)
3287
3299
  result = DefaultLabeledStatement.new(val[2])
3288
3300
  result.head_token = val[0]
@@ -3292,18 +3304,18 @@ module_eval(<<'.,.,', 'parser.y', 1533)
3292
3304
  end
3293
3305
  .,.,
3294
3306
 
3295
- # reduce 231 omitted
3307
+ # reduce 232 omitted
3296
3308
 
3297
- module_eval(<<'.,.,', 'parser.y', 1544)
3298
- def _reduce_232(val, _values, result)
3309
+ module_eval(<<'.,.,', 'parser.y', 1553)
3310
+ def _reduce_233(val, _values, result)
3299
3311
  result = val[0].class.new(:IDENTIFIER, val[0].value, val[0].location)
3300
3312
 
3301
3313
  result
3302
3314
  end
3303
3315
  .,.,
3304
3316
 
3305
- module_eval(<<'.,.,', 'parser.y', 1551)
3306
- def _reduce_233(val, _values, result)
3317
+ module_eval(<<'.,.,', 'parser.y', 1560)
3318
+ def _reduce_234(val, _values, result)
3307
3319
  checkpoint(val[0].location)
3308
3320
  result = CompoundStatement.new([])
3309
3321
  result.head_token = val[0]
@@ -3313,22 +3325,22 @@ module_eval(<<'.,.,', 'parser.y', 1551)
3313
3325
  end
3314
3326
  .,.,
3315
3327
 
3316
- module_eval(<<'.,.,', 'parser.y', 1556)
3317
- def _reduce_234(val, _values, result)
3328
+ module_eval(<<'.,.,', 'parser.y', 1565)
3329
+ def _reduce_235(val, _values, result)
3318
3330
  @lexer.enter_scope
3319
3331
  result
3320
3332
  end
3321
3333
  .,.,
3322
3334
 
3323
- module_eval(<<'.,.,', 'parser.y', 1556)
3324
- def _reduce_235(val, _values, result)
3335
+ module_eval(<<'.,.,', 'parser.y', 1565)
3336
+ def _reduce_236(val, _values, result)
3325
3337
  @lexer.leave_scope
3326
3338
  result
3327
3339
  end
3328
3340
  .,.,
3329
3341
 
3330
- module_eval(<<'.,.,', 'parser.y', 1558)
3331
- def _reduce_236(val, _values, result)
3342
+ module_eval(<<'.,.,', 'parser.y', 1567)
3343
+ def _reduce_237(val, _values, result)
3332
3344
  checkpoint(val[0].location)
3333
3345
  result = CompoundStatement.new(val[2])
3334
3346
  result.head_token = val[0]
@@ -3338,8 +3350,8 @@ module_eval(<<'.,.,', 'parser.y', 1558)
3338
3350
  end
3339
3351
  .,.,
3340
3352
 
3341
- module_eval(<<'.,.,', 'parser.y', 1568)
3342
- def _reduce_237(val, _values, result)
3353
+ module_eval(<<'.,.,', 'parser.y', 1577)
3354
+ def _reduce_238(val, _values, result)
3343
3355
  checkpoint(val[0].location)
3344
3356
  result = val
3345
3357
 
@@ -3347,8 +3359,8 @@ module_eval(<<'.,.,', 'parser.y', 1568)
3347
3359
  end
3348
3360
  .,.,
3349
3361
 
3350
- module_eval(<<'.,.,', 'parser.y', 1573)
3351
- def _reduce_238(val, _values, result)
3362
+ module_eval(<<'.,.,', 'parser.y', 1582)
3363
+ def _reduce_239(val, _values, result)
3352
3364
  checkpoint(val[0].first.location)
3353
3365
  result = val[0].push(val[1])
3354
3366
 
@@ -3356,14 +3368,14 @@ module_eval(<<'.,.,', 'parser.y', 1573)
3356
3368
  end
3357
3369
  .,.,
3358
3370
 
3359
- # reduce 239 omitted
3360
-
3361
3371
  # reduce 240 omitted
3362
3372
 
3363
3373
  # reduce 241 omitted
3364
3374
 
3365
- module_eval(<<'.,.,', 'parser.y', 1587)
3366
- def _reduce_242(val, _values, result)
3375
+ # reduce 242 omitted
3376
+
3377
+ module_eval(<<'.,.,', 'parser.y', 1596)
3378
+ def _reduce_243(val, _values, result)
3367
3379
  checkpoint(val[0].location)
3368
3380
  result = ExpressionStatement.new(nil)
3369
3381
  result.head_token = result.tail_token = val[0]
@@ -3372,8 +3384,8 @@ module_eval(<<'.,.,', 'parser.y', 1587)
3372
3384
  end
3373
3385
  .,.,
3374
3386
 
3375
- module_eval(<<'.,.,', 'parser.y', 1593)
3376
- def _reduce_243(val, _values, result)
3387
+ module_eval(<<'.,.,', 'parser.y', 1602)
3388
+ def _reduce_244(val, _values, result)
3377
3389
  checkpoint(val[0].location)
3378
3390
  val[0].full = true
3379
3391
  result = ExpressionStatement.new(val[0])
@@ -3384,8 +3396,8 @@ module_eval(<<'.,.,', 'parser.y', 1593)
3384
3396
  end
3385
3397
  .,.,
3386
3398
 
3387
- module_eval(<<'.,.,', 'parser.y', 1604)
3388
- def _reduce_244(val, _values, result)
3399
+ module_eval(<<'.,.,', 'parser.y', 1613)
3400
+ def _reduce_245(val, _values, result)
3389
3401
  checkpoint(val[0].location)
3390
3402
  val[2].full = true
3391
3403
  result = IfStatement.new(val[2], val[4], val[3])
@@ -3396,8 +3408,8 @@ module_eval(<<'.,.,', 'parser.y', 1604)
3396
3408
  end
3397
3409
  .,.,
3398
3410
 
3399
- module_eval(<<'.,.,', 'parser.y', 1612)
3400
- def _reduce_245(val, _values, result)
3411
+ module_eval(<<'.,.,', 'parser.y', 1621)
3412
+ def _reduce_246(val, _values, result)
3401
3413
  checkpoint(val[0].location)
3402
3414
  val[2].full = true
3403
3415
  result = IfElseStatement.new(val[2], val[4], val[6], val[3], val[5])
@@ -3408,8 +3420,8 @@ module_eval(<<'.,.,', 'parser.y', 1612)
3408
3420
  end
3409
3421
  .,.,
3410
3422
 
3411
- module_eval(<<'.,.,', 'parser.y', 1620)
3412
- def _reduce_246(val, _values, result)
3423
+ module_eval(<<'.,.,', 'parser.y', 1629)
3424
+ def _reduce_247(val, _values, result)
3413
3425
  checkpoint(val[0].location)
3414
3426
  val[2].full = true
3415
3427
  result = SwitchStatement.new(val[2], val[4])
@@ -3420,8 +3432,8 @@ module_eval(<<'.,.,', 'parser.y', 1620)
3420
3432
  end
3421
3433
  .,.,
3422
3434
 
3423
- module_eval(<<'.,.,', 'parser.y', 1631)
3424
- def _reduce_247(val, _values, result)
3435
+ module_eval(<<'.,.,', 'parser.y', 1640)
3436
+ def _reduce_248(val, _values, result)
3425
3437
  checkpoint(val[0].location)
3426
3438
  val[2].full = true
3427
3439
  result = WhileStatement.new(val[2], val[4], val[3])
@@ -3432,8 +3444,8 @@ module_eval(<<'.,.,', 'parser.y', 1631)
3432
3444
  end
3433
3445
  .,.,
3434
3446
 
3435
- module_eval(<<'.,.,', 'parser.y', 1639)
3436
- def _reduce_248(val, _values, result)
3447
+ module_eval(<<'.,.,', 'parser.y', 1648)
3448
+ def _reduce_249(val, _values, result)
3437
3449
  checkpoint(val[0].location)
3438
3450
  val[4].full = true
3439
3451
  result = DoStatement.new(val[1], val[4], val[0], val[2])
@@ -3444,8 +3456,8 @@ module_eval(<<'.,.,', 'parser.y', 1639)
3444
3456
  end
3445
3457
  .,.,
3446
3458
 
3447
- module_eval(<<'.,.,', 'parser.y', 1647)
3448
- def _reduce_249(val, _values, result)
3459
+ module_eval(<<'.,.,', 'parser.y', 1656)
3460
+ def _reduce_250(val, _values, result)
3449
3461
  checkpoint(val[0].location)
3450
3462
  result = ForStatement.new(val[2], val[3], nil, val[5], val[4])
3451
3463
  result.head_token = val[0]
@@ -3455,8 +3467,8 @@ module_eval(<<'.,.,', 'parser.y', 1647)
3455
3467
  end
3456
3468
  .,.,
3457
3469
 
3458
- module_eval(<<'.,.,', 'parser.y', 1655)
3459
- def _reduce_250(val, _values, result)
3470
+ module_eval(<<'.,.,', 'parser.y', 1664)
3471
+ def _reduce_251(val, _values, result)
3460
3472
  checkpoint(val[0].location)
3461
3473
  val[4].full = true
3462
3474
  result = ForStatement.new(val[2], val[3], val[4], val[6], val[5])
@@ -3467,8 +3479,8 @@ module_eval(<<'.,.,', 'parser.y', 1655)
3467
3479
  end
3468
3480
  .,.,
3469
3481
 
3470
- module_eval(<<'.,.,', 'parser.y', 1663)
3471
- def _reduce_251(val, _values, result)
3482
+ module_eval(<<'.,.,', 'parser.y', 1672)
3483
+ def _reduce_252(val, _values, result)
3472
3484
  checkpoint(val[0].location)
3473
3485
  result = C99ForStatement.new(val[2], val[3], nil, val[5], val[4])
3474
3486
  result.head_token = val[0]
@@ -3478,8 +3490,8 @@ module_eval(<<'.,.,', 'parser.y', 1663)
3478
3490
  end
3479
3491
  .,.,
3480
3492
 
3481
- module_eval(<<'.,.,', 'parser.y', 1670)
3482
- def _reduce_252(val, _values, result)
3493
+ module_eval(<<'.,.,', 'parser.y', 1679)
3494
+ def _reduce_253(val, _values, result)
3483
3495
  checkpoint(val[0].location)
3484
3496
  val[4].full = true
3485
3497
  result = C99ForStatement.new(val[2], val[3], val[4], val[6], val[5])
@@ -3490,8 +3502,8 @@ module_eval(<<'.,.,', 'parser.y', 1670)
3490
3502
  end
3491
3503
  .,.,
3492
3504
 
3493
- module_eval(<<'.,.,', 'parser.y', 1681)
3494
- def _reduce_253(val, _values, result)
3505
+ module_eval(<<'.,.,', 'parser.y', 1690)
3506
+ def _reduce_254(val, _values, result)
3495
3507
  checkpoint(val[0].location)
3496
3508
  result = GotoStatement.new(val[1])
3497
3509
  result.head_token = val[0]
@@ -3501,8 +3513,8 @@ module_eval(<<'.,.,', 'parser.y', 1681)
3501
3513
  end
3502
3514
  .,.,
3503
3515
 
3504
- module_eval(<<'.,.,', 'parser.y', 1688)
3505
- def _reduce_254(val, _values, result)
3516
+ module_eval(<<'.,.,', 'parser.y', 1697)
3517
+ def _reduce_255(val, _values, result)
3506
3518
  checkpoint(val[0].location)
3507
3519
  E(:E0015, val[1].location, val[1].value)
3508
3520
  result = ErrorStatement.new(val[1])
@@ -3513,8 +3525,8 @@ module_eval(<<'.,.,', 'parser.y', 1688)
3513
3525
  end
3514
3526
  .,.,
3515
3527
 
3516
- module_eval(<<'.,.,', 'parser.y', 1696)
3517
- def _reduce_255(val, _values, result)
3528
+ module_eval(<<'.,.,', 'parser.y', 1705)
3529
+ def _reduce_256(val, _values, result)
3518
3530
  checkpoint(val[0].location)
3519
3531
  result = ContinueStatement.new
3520
3532
  result.head_token = val[0]
@@ -3524,8 +3536,8 @@ module_eval(<<'.,.,', 'parser.y', 1696)
3524
3536
  end
3525
3537
  .,.,
3526
3538
 
3527
- module_eval(<<'.,.,', 'parser.y', 1703)
3528
- def _reduce_256(val, _values, result)
3539
+ module_eval(<<'.,.,', 'parser.y', 1712)
3540
+ def _reduce_257(val, _values, result)
3529
3541
  checkpoint(val[0].location)
3530
3542
  result = BreakStatement.new
3531
3543
  result.head_token = val[0]
@@ -3535,8 +3547,8 @@ module_eval(<<'.,.,', 'parser.y', 1703)
3535
3547
  end
3536
3548
  .,.,
3537
3549
 
3538
- module_eval(<<'.,.,', 'parser.y', 1710)
3539
- def _reduce_257(val, _values, result)
3550
+ module_eval(<<'.,.,', 'parser.y', 1719)
3551
+ def _reduce_258(val, _values, result)
3540
3552
  checkpoint(val[0].location)
3541
3553
  result = ReturnStatement.new(nil)
3542
3554
  result.head_token = val[0]
@@ -3546,8 +3558,8 @@ module_eval(<<'.,.,', 'parser.y', 1710)
3546
3558
  end
3547
3559
  .,.,
3548
3560
 
3549
- module_eval(<<'.,.,', 'parser.y', 1717)
3550
- def _reduce_258(val, _values, result)
3561
+ module_eval(<<'.,.,', 'parser.y', 1726)
3562
+ def _reduce_259(val, _values, result)
3551
3563
  checkpoint(val[0].location)
3552
3564
  val[1].full = true
3553
3565
  result = ReturnStatement.new(val[1])
@@ -3558,30 +3570,30 @@ module_eval(<<'.,.,', 'parser.y', 1717)
3558
3570
  end
3559
3571
  .,.,
3560
3572
 
3561
- module_eval(<<'.,.,', 'parser.y', 1731)
3562
- def _reduce_259(val, _values, result)
3573
+ module_eval(<<'.,.,', 'parser.y', 1740)
3574
+ def _reduce_260(val, _values, result)
3563
3575
  result = TranslationUnit.new
3564
3576
 
3565
3577
  result
3566
3578
  end
3567
3579
  .,.,
3568
3580
 
3569
- module_eval(<<'.,.,', 'parser.y', 1735)
3570
- def _reduce_260(val, _values, result)
3581
+ module_eval(<<'.,.,', 'parser.y', 1744)
3582
+ def _reduce_261(val, _values, result)
3571
3583
  checkpoint(val[0].location)
3572
3584
  result = val[0]
3573
- result.push(val[1])
3585
+ val[1] and result.push(val[1])
3574
3586
 
3575
3587
  result
3576
3588
  end
3577
3589
  .,.,
3578
3590
 
3579
- # reduce 261 omitted
3580
-
3581
3591
  # reduce 262 omitted
3582
3592
 
3583
- module_eval(<<'.,.,', 'parser.y', 1749)
3584
- def _reduce_263(val, _values, result)
3593
+ # reduce 263 omitted
3594
+
3595
+ module_eval(<<'.,.,', 'parser.y', 1758)
3596
+ def _reduce_264(val, _values, result)
3585
3597
  checkpoint(val[0].location)
3586
3598
  result = KandRFunctionDefinition.new(val[0], val[1], val[2], val[3],
3587
3599
  @sym_tbl)
@@ -3592,8 +3604,8 @@ module_eval(<<'.,.,', 'parser.y', 1749)
3592
3604
  end
3593
3605
  .,.,
3594
3606
 
3595
- module_eval(<<'.,.,', 'parser.y', 1757)
3596
- def _reduce_264(val, _values, result)
3607
+ module_eval(<<'.,.,', 'parser.y', 1766)
3608
+ def _reduce_265(val, _values, result)
3597
3609
  checkpoint(val[0].location)
3598
3610
  case val[1]
3599
3611
  when AnsiFunctionDeclarator
@@ -3611,8 +3623,8 @@ module_eval(<<'.,.,', 'parser.y', 1757)
3611
3623
  end
3612
3624
  .,.,
3613
3625
 
3614
- module_eval(<<'.,.,', 'parser.y', 1772)
3615
- def _reduce_265(val, _values, result)
3626
+ module_eval(<<'.,.,', 'parser.y', 1781)
3627
+ def _reduce_266(val, _values, result)
3616
3628
  checkpoint(val[0].location)
3617
3629
  result = KandRFunctionDefinition.new(nil, val[0], val[1], val[2],
3618
3630
  @sym_tbl)
@@ -3623,8 +3635,8 @@ module_eval(<<'.,.,', 'parser.y', 1772)
3623
3635
  end
3624
3636
  .,.,
3625
3637
 
3626
- module_eval(<<'.,.,', 'parser.y', 1780)
3627
- def _reduce_266(val, _values, result)
3638
+ module_eval(<<'.,.,', 'parser.y', 1789)
3639
+ def _reduce_267(val, _values, result)
3628
3640
  checkpoint(val[0].location)
3629
3641
  case val[0]
3630
3642
  when AnsiFunctionDeclarator
@@ -3642,8 +3654,8 @@ module_eval(<<'.,.,', 'parser.y', 1780)
3642
3654
  end
3643
3655
  .,.,
3644
3656
 
3645
- module_eval(<<'.,.,', 'parser.y', 1798)
3646
- def _reduce_267(val, _values, result)
3657
+ module_eval(<<'.,.,', 'parser.y', 1807)
3658
+ def _reduce_268(val, _values, result)
3647
3659
  checkpoint(val[0].location)
3648
3660
  result = KandRFunctionDefinition.new(val[0], val[1], val[2], val[3],
3649
3661
  @sym_tbl)
@@ -3654,8 +3666,8 @@ module_eval(<<'.,.,', 'parser.y', 1798)
3654
3666
  end
3655
3667
  .,.,
3656
3668
 
3657
- module_eval(<<'.,.,', 'parser.y', 1806)
3658
- def _reduce_268(val, _values, result)
3669
+ module_eval(<<'.,.,', 'parser.y', 1815)
3670
+ def _reduce_269(val, _values, result)
3659
3671
  checkpoint(val[0].location)
3660
3672
  case val[1]
3661
3673
  when AnsiFunctionDeclarator
@@ -3673,8 +3685,8 @@ module_eval(<<'.,.,', 'parser.y', 1806)
3673
3685
  end
3674
3686
  .,.,
3675
3687
 
3676
- module_eval(<<'.,.,', 'parser.y', 1824)
3677
- def _reduce_269(val, _values, result)
3688
+ module_eval(<<'.,.,', 'parser.y', 1833)
3689
+ def _reduce_270(val, _values, result)
3678
3690
  checkpoint(val[0].location)
3679
3691
  result = val
3680
3692
 
@@ -3682,8 +3694,8 @@ module_eval(<<'.,.,', 'parser.y', 1824)
3682
3694
  end
3683
3695
  .,.,
3684
3696
 
3685
- module_eval(<<'.,.,', 'parser.y', 1829)
3686
- def _reduce_270(val, _values, result)
3697
+ module_eval(<<'.,.,', 'parser.y', 1838)
3698
+ def _reduce_271(val, _values, result)
3687
3699
  checkpoint(val[0].first.location)
3688
3700
  result = val[0].push(val[1])
3689
3701