adlint 3.2.0 → 3.2.6

Sign up to get free protection for your applications and to get access to all the features.
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