adlint 2.6.14 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (401) hide show
  1. data/AUTHORS +1 -3
  2. data/ChangeLog +511 -0
  3. data/INSTALL +1 -1
  4. data/MANIFEST +57 -37
  5. data/NEWS +36 -7
  6. data/README +2 -2
  7. data/Rakefile +6 -6
  8. data/TODO +1 -1
  9. data/bin/adlint +25 -16
  10. data/bin/adlint_chk +22 -12
  11. data/bin/adlint_cma +17 -12
  12. data/bin/adlint_sma +22 -12
  13. data/bin/adlintize +98 -17
  14. data/etc/conf.d/fallback/cinit.erb +1 -1
  15. data/etc/conf.d/fallback/traits.erb +37 -37
  16. data/etc/conf.d/i686-cygwin/cinit-gcc_4.3.4.erb +1 -1
  17. data/etc/conf.d/i686-cygwin/traits-gcc_4.3.4.erb +41 -41
  18. data/etc/conf.d/i686-devkit/cinit-gcc_4.5.2.erb +1 -1
  19. data/etc/conf.d/i686-devkit/traits-gcc_4.5.2.erb +40 -40
  20. data/etc/conf.d/i686-linux/cinit-gcc_4.5.1.erb +1 -1
  21. data/etc/conf.d/i686-linux/traits-gcc_4.5.1.erb +40 -40
  22. data/etc/conf.d/i686-mingw/cinit-gcc_4.6.1.erb +1 -1
  23. data/etc/conf.d/i686-mingw/traits-gcc_4.6.1.erb +40 -40
  24. data/etc/conf.d/noarch/GNUmakefile.erb +1 -1
  25. data/etc/conf.d/noarch/adlint_all_bat.erb +1 -1
  26. data/etc/conf.d/noarch/adlint_all_sh.erb +1 -1
  27. data/etc/conf.d/noarch/pinit.erb +1 -1
  28. data/etc/conf.d/x86_64-ubuntu_12.04/cinit-gcc_4.6.3.erb +1 -1
  29. data/etc/conf.d/x86_64-ubuntu_12.04/traits-gcc_4.6.3.erb +42 -42
  30. data/etc/mesg.d/c_builtin/en_US/messages.yml +33 -33
  31. data/etc/mesg.d/c_builtin/ja_JP/messages.yml +5 -5
  32. data/etc/mesg.d/core/en_US/messages.yml +2 -2
  33. data/etc/mesg.d/core/ja_JP/messages.yml +2 -2
  34. data/features/code_check/W0018.feature +197 -0
  35. data/features/code_check/W0019.feature +79 -0
  36. data/features/code_check/W0021.feature +81 -0
  37. data/features/code_check/W0023.feature +203 -0
  38. data/features/code_check/W0024.feature +226 -0
  39. data/features/code_check/W0025.feature +5 -0
  40. data/features/code_check/W0088.feature +2 -2
  41. data/features/code_check/W0109.feature +2 -2
  42. data/features/code_check/W0477.feature +0 -3
  43. data/features/code_check/W0478.feature +0 -1
  44. data/features/code_check/W0582.feature +3 -3
  45. data/features/code_check/W0583.feature +4 -7
  46. data/features/code_check/W0646.feature +0 -1
  47. data/features/code_check/W0695.feature +0 -1
  48. data/features/code_check/W0705.feature +8 -0
  49. data/features/code_check/W0723.feature +0 -1
  50. data/features/code_check/W0745.feature +1 -0
  51. data/features/code_check/W0781.feature +1 -0
  52. data/features/code_check/W1057.feature +141 -0
  53. data/features/code_check/W1058.feature +93 -0
  54. data/features/code_check/W1059.feature +86 -0
  55. data/features/code_check/W1060.feature +77 -0
  56. data/features/code_check/W1061.feature +143 -0
  57. data/features/code_check/W1062.feature +162 -0
  58. data/features/code_check/W1063.feature +123 -0
  59. data/features/code_check/W1064.feature +83 -0
  60. data/features/code_check/W1065.feature +82 -0
  61. data/features/code_check/W9003.feature +2 -0
  62. data/features/step_definitions/code_check_steps.rb +1 -0
  63. data/features/support/env.rb +16 -13
  64. data/lib/adlint.rb +7 -4
  65. data/lib/adlint/analyzer.rb +131 -157
  66. data/lib/adlint/annot.rb +149 -0
  67. data/lib/adlint/cc1.rb +57 -0
  68. data/lib/adlint/{c → cc1}/branch.rb +74 -62
  69. data/lib/adlint/{c → cc1}/builtin.rb +21 -21
  70. data/lib/adlint/{c → cc1}/const.rb +119 -117
  71. data/lib/adlint/{c → cc1}/conv.rb +76 -78
  72. data/lib/adlint/{c → cc1}/ctrlexpr.rb +69 -86
  73. data/lib/adlint/cc1/domain.rb +8103 -0
  74. data/lib/adlint/{c → cc1}/enum.rb +3 -3
  75. data/lib/adlint/{c → cc1}/environ.rb +21 -21
  76. data/lib/adlint/{c → cc1}/expr.rb +232 -218
  77. data/lib/adlint/{c → cc1}/format.rb +305 -342
  78. data/lib/adlint/{c → cc1}/interp.rb +269 -220
  79. data/lib/adlint/cc1/lexer.rb +246 -0
  80. data/lib/adlint/{c → cc1}/mediator.rb +78 -84
  81. data/lib/adlint/{c → cc1}/object.rb +261 -264
  82. data/lib/adlint/{c → cc1}/operator.rb +7 -7
  83. data/lib/adlint/{c → cc1}/option.rb +4 -3
  84. data/lib/adlint/{c → cc1}/parser.rb +274 -506
  85. data/lib/adlint/{c → cc1}/parser.y +69 -301
  86. data/lib/adlint/cc1/phase.rb +138 -0
  87. data/lib/adlint/{c → cc1}/resolver.rb +66 -78
  88. data/lib/adlint/{c → cc1}/scanner.rb +57 -49
  89. data/lib/adlint/{c → cc1}/scope.rb +3 -3
  90. data/lib/adlint/{c → cc1}/seqp.rb +13 -5
  91. data/lib/adlint/{c → cc1}/syntax.rb +819 -1122
  92. data/lib/adlint/{c → cc1}/type.rb +1498 -1479
  93. data/lib/adlint/{c → cc1}/util.rb +20 -12
  94. data/lib/adlint/{c → cc1}/value.rb +699 -642
  95. data/lib/adlint/code.rb +163 -164
  96. data/lib/adlint/cpp.rb +2 -2
  97. data/lib/adlint/cpp/asm.rb +13 -14
  98. data/lib/adlint/cpp/constexpr.rb +42 -38
  99. data/lib/adlint/cpp/constexpr.y +44 -40
  100. data/lib/adlint/cpp/eval.rb +435 -435
  101. data/lib/adlint/cpp/lexer.rb +343 -340
  102. data/lib/adlint/cpp/macro.rb +188 -190
  103. data/lib/adlint/cpp/phase.rb +66 -45
  104. data/lib/adlint/cpp/scanner.rb +14 -17
  105. data/lib/adlint/cpp/source.rb +49 -55
  106. data/lib/adlint/cpp/subst.rb +65 -65
  107. data/lib/adlint/cpp/syntax.rb +155 -275
  108. data/lib/adlint/cpp/util.rb +22 -19
  109. data/lib/adlint/driver.rb +86 -93
  110. data/lib/adlint/error.rb +33 -52
  111. data/lib/adlint/exam.rb +158 -24
  112. data/lib/adlint/exam/c_builtin.rb +7 -7
  113. data/lib/adlint/exam/c_builtin/cc1_check.rb +20522 -0
  114. data/lib/adlint/exam/c_builtin/cc1_check_shima.rb +957 -0
  115. data/lib/adlint/exam/c_builtin/cc1_code.rb +459 -0
  116. data/lib/adlint/exam/c_builtin/cc1_metric.rb +794 -0
  117. data/lib/adlint/exam/c_builtin/cpp_check.rb +486 -441
  118. data/lib/adlint/exam/c_builtin/cpp_check_shima.rb +36 -39
  119. data/lib/adlint/exam/c_builtin/cpp_code.rb +63 -65
  120. data/lib/adlint/exam/c_builtin/ld_check.rb +136 -129
  121. data/lib/adlint/exam/c_builtin/ld_metric.rb +11 -11
  122. data/lib/adlint/lang.rb +25 -25
  123. data/lib/adlint/ld.rb +2 -2
  124. data/lib/adlint/ld/object.rb +220 -188
  125. data/lib/adlint/ld/phase.rb +94 -63
  126. data/lib/adlint/ld/typedef.rb +22 -11
  127. data/lib/adlint/ld/util.rb +43 -35
  128. data/lib/adlint/lexer.rb +59 -56
  129. data/lib/adlint/location.rb +140 -0
  130. data/lib/adlint/memo.rb +157 -0
  131. data/lib/adlint/message.rb +207 -156
  132. data/lib/adlint/metric.rb +139 -217
  133. data/lib/adlint/monitor.rb +45 -43
  134. data/lib/adlint/phase.rb +56 -29
  135. data/lib/adlint/prelude.rb +66 -54
  136. data/lib/adlint/report.rb +253 -332
  137. data/lib/adlint/source.rb +26 -27
  138. data/lib/adlint/supp.rb +131 -0
  139. data/lib/adlint/symbol.rb +14 -16
  140. data/lib/adlint/token.rb +19 -91
  141. data/lib/adlint/traits.rb +242 -226
  142. data/lib/adlint/util.rb +116 -205
  143. data/lib/adlint/version.rb +8 -8
  144. data/share/HEADER +2 -2
  145. data/share/doc/developers_guide_ja.html +148 -19
  146. data/share/doc/developers_guide_ja.texi +141 -11
  147. data/share/doc/samples/GNUmakefile +1 -1
  148. data/share/doc/samples/adlint_traits.yml +45 -36
  149. data/share/doc/users_guide_en.html +1321 -1252
  150. data/share/doc/users_guide_en.texi +475 -408
  151. data/share/doc/users_guide_ja.html +1932 -1878
  152. data/share/doc/users_guide_ja.texi +324 -273
  153. data/share/sample/bison-2.5/adlint/GNUmakefile +5 -1
  154. data/share/sample/bison-2.5/adlint/adlint_traits.yml +38 -38
  155. data/share/sample/bison-2.5/adlint/lib/GNUmakefile +1 -1
  156. data/share/sample/bison-2.5/adlint/lib/adlint_cinit.h +1 -1
  157. data/share/sample/bison-2.5/adlint/lib/adlint_pinit.h +1 -1
  158. data/share/sample/bison-2.5/adlint/lib/adlint_traits.yml +50 -42
  159. data/share/sample/bison-2.5/adlint/src/GNUmakefile +1 -1
  160. data/share/sample/bison-2.5/adlint/src/adlint_cinit.h +1 -1
  161. data/share/sample/bison-2.5/adlint/src/adlint_pinit.h +1 -1
  162. data/share/sample/bison-2.5/adlint/src/adlint_traits.yml +50 -42
  163. data/share/sample/ctags-5.8/adlint/GNUmakefile +1 -1
  164. data/share/sample/ctags-5.8/adlint/adlint_cinit.h +1 -1
  165. data/share/sample/ctags-5.8/adlint/adlint_pinit.h +1 -1
  166. data/share/sample/ctags-5.8/adlint/adlint_traits.yml +50 -42
  167. data/share/sample/flex-2.5.35/adlint/GNUmakefile +1 -1
  168. data/share/sample/flex-2.5.35/adlint/adlint_cinit.h +1 -1
  169. data/share/sample/flex-2.5.35/adlint/adlint_pinit.h +1 -1
  170. data/share/sample/flex-2.5.35/adlint/adlint_traits.yml +50 -42
  171. data/share/sample/ruby-1.9.3-p0/adlint/GNUmakefile +1 -1
  172. data/share/sample/ruby-1.9.3-p0/adlint/adlint_traits.yml +46 -38
  173. data/share/sample/ruby-1.9.3-p0/adlint/core/GNUmakefile +1 -1
  174. data/share/sample/ruby-1.9.3-p0/adlint/core/adlint_cinit.h +1 -1
  175. data/share/sample/ruby-1.9.3-p0/adlint/core/adlint_pinit.h +1 -1
  176. data/share/sample/ruby-1.9.3-p0/adlint/core/adlint_traits.yml +50 -42
  177. data/share/sample/ruby-1.9.3-p0/adlint/enc-trans/GNUmakefile +1 -1
  178. data/share/sample/ruby-1.9.3-p0/adlint/enc-trans/adlint_cinit.h +1 -1
  179. data/share/sample/ruby-1.9.3-p0/adlint/enc-trans/adlint_pinit.h +1 -1
  180. data/share/sample/ruby-1.9.3-p0/adlint/enc-trans/adlint_traits.yml +50 -42
  181. data/share/sample/ruby-1.9.3-p0/adlint/enc/GNUmakefile +1 -1
  182. data/share/sample/ruby-1.9.3-p0/adlint/enc/adlint_cinit.h +1 -1
  183. data/share/sample/ruby-1.9.3-p0/adlint/enc/adlint_pinit.h +1 -1
  184. data/share/sample/ruby-1.9.3-p0/adlint/enc/adlint_traits.yml +50 -42
  185. data/share/sample/ruby-1.9.3-p0/adlint/ext-bigdecimal/GNUmakefile +1 -1
  186. data/share/sample/ruby-1.9.3-p0/adlint/ext-bigdecimal/adlint_cinit.h +1 -1
  187. data/share/sample/ruby-1.9.3-p0/adlint/ext-bigdecimal/adlint_pinit.h +1 -1
  188. data/share/sample/ruby-1.9.3-p0/adlint/ext-bigdecimal/adlint_traits.yml +50 -42
  189. data/share/sample/ruby-1.9.3-p0/adlint/ext-continuation/GNUmakefile +1 -1
  190. data/share/sample/ruby-1.9.3-p0/adlint/ext-continuation/adlint_cinit.h +1 -1
  191. data/share/sample/ruby-1.9.3-p0/adlint/ext-continuation/adlint_pinit.h +1 -1
  192. data/share/sample/ruby-1.9.3-p0/adlint/ext-continuation/adlint_traits.yml +50 -42
  193. data/share/sample/ruby-1.9.3-p0/adlint/ext-coverage/GNUmakefile +1 -1
  194. data/share/sample/ruby-1.9.3-p0/adlint/ext-coverage/adlint_cinit.h +1 -1
  195. data/share/sample/ruby-1.9.3-p0/adlint/ext-coverage/adlint_pinit.h +1 -1
  196. data/share/sample/ruby-1.9.3-p0/adlint/ext-coverage/adlint_traits.yml +50 -42
  197. data/share/sample/ruby-1.9.3-p0/adlint/ext-curses/GNUmakefile +1 -1
  198. data/share/sample/ruby-1.9.3-p0/adlint/ext-curses/adlint_cinit.h +1 -1
  199. data/share/sample/ruby-1.9.3-p0/adlint/ext-curses/adlint_pinit.h +1 -1
  200. data/share/sample/ruby-1.9.3-p0/adlint/ext-curses/adlint_traits.yml +50 -42
  201. data/share/sample/ruby-1.9.3-p0/adlint/ext-date/GNUmakefile +1 -1
  202. data/share/sample/ruby-1.9.3-p0/adlint/ext-date/adlint_cinit.h +1 -1
  203. data/share/sample/ruby-1.9.3-p0/adlint/ext-date/adlint_pinit.h +1 -1
  204. data/share/sample/ruby-1.9.3-p0/adlint/ext-date/adlint_traits.yml +50 -42
  205. data/share/sample/ruby-1.9.3-p0/adlint/ext-dbm/GNUmakefile +1 -1
  206. data/share/sample/ruby-1.9.3-p0/adlint/ext-dbm/adlint_cinit.h +1 -1
  207. data/share/sample/ruby-1.9.3-p0/adlint/ext-dbm/adlint_pinit.h +1 -1
  208. data/share/sample/ruby-1.9.3-p0/adlint/ext-dbm/adlint_traits.yml +50 -42
  209. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-bubblebabble/GNUmakefile +1 -1
  210. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-bubblebabble/adlint_cinit.h +1 -1
  211. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-bubblebabble/adlint_pinit.h +1 -1
  212. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-bubblebabble/adlint_traits.yml +50 -42
  213. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-md5/GNUmakefile +1 -1
  214. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-md5/adlint_cinit.h +1 -1
  215. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-md5/adlint_pinit.h +1 -1
  216. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-md5/adlint_traits.yml +50 -42
  217. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-rmd160/GNUmakefile +1 -1
  218. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-rmd160/adlint_cinit.h +1 -1
  219. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-rmd160/adlint_pinit.h +1 -1
  220. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-rmd160/adlint_traits.yml +50 -42
  221. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha1/GNUmakefile +1 -1
  222. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha1/adlint_cinit.h +1 -1
  223. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha1/adlint_pinit.h +1 -1
  224. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha1/adlint_traits.yml +50 -42
  225. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha2/GNUmakefile +1 -1
  226. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha2/adlint_cinit.h +1 -1
  227. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha2/adlint_pinit.h +1 -1
  228. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha2/adlint_traits.yml +50 -42
  229. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest/GNUmakefile +1 -1
  230. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest/adlint_cinit.h +1 -1
  231. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest/adlint_pinit.h +1 -1
  232. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest/adlint_traits.yml +50 -42
  233. data/share/sample/ruby-1.9.3-p0/adlint/ext-dl-callback/GNUmakefile +1 -1
  234. data/share/sample/ruby-1.9.3-p0/adlint/ext-dl-callback/adlint_cinit.h +1 -1
  235. data/share/sample/ruby-1.9.3-p0/adlint/ext-dl-callback/adlint_pinit.h +1 -1
  236. data/share/sample/ruby-1.9.3-p0/adlint/ext-dl-callback/adlint_traits.yml +50 -42
  237. data/share/sample/ruby-1.9.3-p0/adlint/ext-dl/GNUmakefile +1 -1
  238. data/share/sample/ruby-1.9.3-p0/adlint/ext-dl/adlint_cinit.h +1 -1
  239. data/share/sample/ruby-1.9.3-p0/adlint/ext-dl/adlint_pinit.h +1 -1
  240. data/share/sample/ruby-1.9.3-p0/adlint/ext-dl/adlint_traits.yml +50 -42
  241. data/share/sample/ruby-1.9.3-p0/adlint/ext-etc/GNUmakefile +1 -1
  242. data/share/sample/ruby-1.9.3-p0/adlint/ext-etc/adlint_cinit.h +1 -1
  243. data/share/sample/ruby-1.9.3-p0/adlint/ext-etc/adlint_pinit.h +1 -1
  244. data/share/sample/ruby-1.9.3-p0/adlint/ext-etc/adlint_traits.yml +50 -42
  245. data/share/sample/ruby-1.9.3-p0/adlint/ext-fcntl/GNUmakefile +1 -1
  246. data/share/sample/ruby-1.9.3-p0/adlint/ext-fcntl/adlint_cinit.h +1 -1
  247. data/share/sample/ruby-1.9.3-p0/adlint/ext-fcntl/adlint_pinit.h +1 -1
  248. data/share/sample/ruby-1.9.3-p0/adlint/ext-fcntl/adlint_traits.yml +50 -42
  249. data/share/sample/ruby-1.9.3-p0/adlint/ext-fiber/GNUmakefile +1 -1
  250. data/share/sample/ruby-1.9.3-p0/adlint/ext-fiber/adlint_cinit.h +1 -1
  251. data/share/sample/ruby-1.9.3-p0/adlint/ext-fiber/adlint_pinit.h +1 -1
  252. data/share/sample/ruby-1.9.3-p0/adlint/ext-fiber/adlint_traits.yml +50 -42
  253. data/share/sample/ruby-1.9.3-p0/adlint/ext-fiddle/GNUmakefile +1 -1
  254. data/share/sample/ruby-1.9.3-p0/adlint/ext-fiddle/adlint_cinit.h +1 -1
  255. data/share/sample/ruby-1.9.3-p0/adlint/ext-fiddle/adlint_pinit.h +1 -1
  256. data/share/sample/ruby-1.9.3-p0/adlint/ext-fiddle/adlint_traits.yml +50 -42
  257. data/share/sample/ruby-1.9.3-p0/adlint/ext-gdbm/GNUmakefile +1 -1
  258. data/share/sample/ruby-1.9.3-p0/adlint/ext-gdbm/adlint_cinit.h +1 -1
  259. data/share/sample/ruby-1.9.3-p0/adlint/ext-gdbm/adlint_pinit.h +1 -1
  260. data/share/sample/ruby-1.9.3-p0/adlint/ext-gdbm/adlint_traits.yml +50 -42
  261. data/share/sample/ruby-1.9.3-p0/adlint/ext-iconv/GNUmakefile +1 -1
  262. data/share/sample/ruby-1.9.3-p0/adlint/ext-iconv/adlint_cinit.h +1 -1
  263. data/share/sample/ruby-1.9.3-p0/adlint/ext-iconv/adlint_pinit.h +1 -1
  264. data/share/sample/ruby-1.9.3-p0/adlint/ext-iconv/adlint_traits.yml +50 -42
  265. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-console/GNUmakefile +1 -1
  266. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-console/adlint_cinit.h +1 -1
  267. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-console/adlint_pinit.h +1 -1
  268. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-console/adlint_traits.yml +50 -42
  269. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-nonblock/GNUmakefile +1 -1
  270. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-nonblock/adlint_cinit.h +1 -1
  271. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-nonblock/adlint_pinit.h +1 -1
  272. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-nonblock/adlint_traits.yml +50 -42
  273. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-wait/GNUmakefile +1 -1
  274. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-wait/adlint_cinit.h +1 -1
  275. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-wait/adlint_pinit.h +1 -1
  276. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-wait/adlint_traits.yml +50 -42
  277. data/share/sample/ruby-1.9.3-p0/adlint/ext-json-generator/GNUmakefile +1 -1
  278. data/share/sample/ruby-1.9.3-p0/adlint/ext-json-generator/adlint_cinit.h +1 -1
  279. data/share/sample/ruby-1.9.3-p0/adlint/ext-json-generator/adlint_pinit.h +1 -1
  280. data/share/sample/ruby-1.9.3-p0/adlint/ext-json-generator/adlint_traits.yml +50 -42
  281. data/share/sample/ruby-1.9.3-p0/adlint/ext-json-parser/GNUmakefile +1 -1
  282. data/share/sample/ruby-1.9.3-p0/adlint/ext-json-parser/adlint_cinit.h +1 -1
  283. data/share/sample/ruby-1.9.3-p0/adlint/ext-json-parser/adlint_pinit.h +1 -1
  284. data/share/sample/ruby-1.9.3-p0/adlint/ext-json-parser/adlint_traits.yml +50 -42
  285. data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-complex/GNUmakefile +1 -1
  286. data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-complex/adlint_cinit.h +1 -1
  287. data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-complex/adlint_pinit.h +1 -1
  288. data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-complex/adlint_traits.yml +50 -42
  289. data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-rational/GNUmakefile +1 -1
  290. data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-rational/adlint_cinit.h +1 -1
  291. data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-rational/adlint_pinit.h +1 -1
  292. data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-rational/adlint_traits.yml +50 -42
  293. data/share/sample/ruby-1.9.3-p0/adlint/ext-nkf/GNUmakefile +1 -1
  294. data/share/sample/ruby-1.9.3-p0/adlint/ext-nkf/adlint_cinit.h +1 -1
  295. data/share/sample/ruby-1.9.3-p0/adlint/ext-nkf/adlint_pinit.h +1 -1
  296. data/share/sample/ruby-1.9.3-p0/adlint/ext-nkf/adlint_traits.yml +50 -42
  297. data/share/sample/ruby-1.9.3-p0/adlint/ext-openssl/GNUmakefile +1 -1
  298. data/share/sample/ruby-1.9.3-p0/adlint/ext-openssl/adlint_cinit.h +1 -1
  299. data/share/sample/ruby-1.9.3-p0/adlint/ext-openssl/adlint_pinit.h +1 -1
  300. data/share/sample/ruby-1.9.3-p0/adlint/ext-openssl/adlint_traits.yml +50 -42
  301. data/share/sample/ruby-1.9.3-p0/adlint/ext-pathname/GNUmakefile +1 -1
  302. data/share/sample/ruby-1.9.3-p0/adlint/ext-pathname/adlint_cinit.h +1 -1
  303. data/share/sample/ruby-1.9.3-p0/adlint/ext-pathname/adlint_pinit.h +1 -1
  304. data/share/sample/ruby-1.9.3-p0/adlint/ext-pathname/adlint_traits.yml +50 -42
  305. data/share/sample/ruby-1.9.3-p0/adlint/ext-psych/GNUmakefile +1 -1
  306. data/share/sample/ruby-1.9.3-p0/adlint/ext-psych/adlint_cinit.h +1 -1
  307. data/share/sample/ruby-1.9.3-p0/adlint/ext-psych/adlint_pinit.h +1 -1
  308. data/share/sample/ruby-1.9.3-p0/adlint/ext-psych/adlint_traits.yml +50 -42
  309. data/share/sample/ruby-1.9.3-p0/adlint/ext-pty/GNUmakefile +1 -1
  310. data/share/sample/ruby-1.9.3-p0/adlint/ext-pty/adlint_cinit.h +1 -1
  311. data/share/sample/ruby-1.9.3-p0/adlint/ext-pty/adlint_pinit.h +1 -1
  312. data/share/sample/ruby-1.9.3-p0/adlint/ext-pty/adlint_traits.yml +50 -42
  313. data/share/sample/ruby-1.9.3-p0/adlint/ext-racc-cparse/GNUmakefile +1 -1
  314. data/share/sample/ruby-1.9.3-p0/adlint/ext-racc-cparse/adlint_cinit.h +1 -1
  315. data/share/sample/ruby-1.9.3-p0/adlint/ext-racc-cparse/adlint_pinit.h +1 -1
  316. data/share/sample/ruby-1.9.3-p0/adlint/ext-racc-cparse/adlint_traits.yml +50 -42
  317. data/share/sample/ruby-1.9.3-p0/adlint/ext-readline/GNUmakefile +1 -1
  318. data/share/sample/ruby-1.9.3-p0/adlint/ext-readline/adlint_cinit.h +1 -1
  319. data/share/sample/ruby-1.9.3-p0/adlint/ext-readline/adlint_pinit.h +1 -1
  320. data/share/sample/ruby-1.9.3-p0/adlint/ext-readline/adlint_traits.yml +50 -42
  321. data/share/sample/ruby-1.9.3-p0/adlint/ext-ripper/GNUmakefile +1 -1
  322. data/share/sample/ruby-1.9.3-p0/adlint/ext-ripper/adlint_cinit.h +1 -1
  323. data/share/sample/ruby-1.9.3-p0/adlint/ext-ripper/adlint_pinit.h +1 -1
  324. data/share/sample/ruby-1.9.3-p0/adlint/ext-ripper/adlint_traits.yml +50 -42
  325. data/share/sample/ruby-1.9.3-p0/adlint/ext-sdbm/GNUmakefile +1 -1
  326. data/share/sample/ruby-1.9.3-p0/adlint/ext-sdbm/adlint_cinit.h +1 -1
  327. data/share/sample/ruby-1.9.3-p0/adlint/ext-sdbm/adlint_pinit.h +1 -1
  328. data/share/sample/ruby-1.9.3-p0/adlint/ext-sdbm/adlint_traits.yml +50 -42
  329. data/share/sample/ruby-1.9.3-p0/adlint/ext-socket/GNUmakefile +1 -1
  330. data/share/sample/ruby-1.9.3-p0/adlint/ext-socket/adlint_cinit.h +1 -1
  331. data/share/sample/ruby-1.9.3-p0/adlint/ext-socket/adlint_pinit.h +1 -1
  332. data/share/sample/ruby-1.9.3-p0/adlint/ext-socket/adlint_traits.yml +50 -42
  333. data/share/sample/ruby-1.9.3-p0/adlint/ext-stringio/GNUmakefile +1 -1
  334. data/share/sample/ruby-1.9.3-p0/adlint/ext-stringio/adlint_cinit.h +1 -1
  335. data/share/sample/ruby-1.9.3-p0/adlint/ext-stringio/adlint_pinit.h +1 -1
  336. data/share/sample/ruby-1.9.3-p0/adlint/ext-stringio/adlint_traits.yml +50 -42
  337. data/share/sample/ruby-1.9.3-p0/adlint/ext-strscan/GNUmakefile +1 -1
  338. data/share/sample/ruby-1.9.3-p0/adlint/ext-strscan/adlint_cinit.h +1 -1
  339. data/share/sample/ruby-1.9.3-p0/adlint/ext-strscan/adlint_pinit.h +1 -1
  340. data/share/sample/ruby-1.9.3-p0/adlint/ext-strscan/adlint_traits.yml +50 -42
  341. data/share/sample/ruby-1.9.3-p0/adlint/ext-syck/GNUmakefile +1 -1
  342. data/share/sample/ruby-1.9.3-p0/adlint/ext-syck/adlint_cinit.h +1 -1
  343. data/share/sample/ruby-1.9.3-p0/adlint/ext-syck/adlint_pinit.h +1 -1
  344. data/share/sample/ruby-1.9.3-p0/adlint/ext-syck/adlint_traits.yml +50 -42
  345. data/share/sample/ruby-1.9.3-p0/adlint/ext-syslog/GNUmakefile +1 -1
  346. data/share/sample/ruby-1.9.3-p0/adlint/ext-syslog/adlint_cinit.h +1 -1
  347. data/share/sample/ruby-1.9.3-p0/adlint/ext-syslog/adlint_pinit.h +1 -1
  348. data/share/sample/ruby-1.9.3-p0/adlint/ext-syslog/adlint_traits.yml +50 -42
  349. data/share/sample/ruby-1.9.3-p0/adlint/ext-zlib/GNUmakefile +1 -1
  350. data/share/sample/ruby-1.9.3-p0/adlint/ext-zlib/adlint_cinit.h +1 -1
  351. data/share/sample/ruby-1.9.3-p0/adlint/ext-zlib/adlint_pinit.h +1 -1
  352. data/share/sample/ruby-1.9.3-p0/adlint/ext-zlib/adlint_traits.yml +50 -42
  353. data/share/sample/screen-4.0.3/adlint/GNUmakefile +1 -1
  354. data/share/sample/screen-4.0.3/adlint/adlint_cinit.h +1 -1
  355. data/share/sample/screen-4.0.3/adlint/adlint_pinit.h +1 -1
  356. data/share/sample/screen-4.0.3/adlint/adlint_traits.yml +50 -42
  357. data/share/sample/vim-7.3/adlint/vim/GNUmakefile +1 -1
  358. data/share/sample/vim-7.3/adlint/vim/adlint_cinit.h +1 -1
  359. data/share/sample/vim-7.3/adlint/vim/adlint_pinit.h +1 -1
  360. data/share/sample/vim-7.3/adlint/vim/adlint_traits.yml +50 -42
  361. data/share/sample/vim-7.3/adlint/xxd/GNUmakefile +1 -1
  362. data/share/sample/vim-7.3/adlint/xxd/adlint_cinit.h +1 -1
  363. data/share/sample/vim-7.3/adlint/xxd/adlint_pinit.h +1 -1
  364. data/share/sample/vim-7.3/adlint/xxd/adlint_traits.yml +49 -41
  365. data/share/sample/zsh-4.3.15/adlint/GNUmakefile +1 -1
  366. data/share/sample/zsh-4.3.15/adlint/adlint_traits.yml +46 -38
  367. data/share/sample/zsh-4.3.15/adlint/builtins/GNUmakefile +1 -1
  368. data/share/sample/zsh-4.3.15/adlint/builtins/adlint_cinit.h +1 -1
  369. data/share/sample/zsh-4.3.15/adlint/builtins/adlint_pinit.h +1 -1
  370. data/share/sample/zsh-4.3.15/adlint/builtins/adlint_traits.yml +50 -42
  371. data/share/sample/zsh-4.3.15/adlint/core/GNUmakefile +1 -1
  372. data/share/sample/zsh-4.3.15/adlint/core/adlint_cinit.h +1 -1
  373. data/share/sample/zsh-4.3.15/adlint/core/adlint_pinit.h +1 -1
  374. data/share/sample/zsh-4.3.15/adlint/core/adlint_traits.yml +50 -42
  375. data/share/sample/zsh-4.3.15/adlint/modules/GNUmakefile +1 -1
  376. data/share/sample/zsh-4.3.15/adlint/modules/adlint_cinit.h +1 -1
  377. data/share/sample/zsh-4.3.15/adlint/modules/adlint_pinit.h +1 -1
  378. data/share/sample/zsh-4.3.15/adlint/modules/adlint_traits.yml +50 -42
  379. data/share/sample/zsh-4.3.15/adlint/zle/GNUmakefile +1 -1
  380. data/share/sample/zsh-4.3.15/adlint/zle/adlint_cinit.h +1 -1
  381. data/share/sample/zsh-4.3.15/adlint/zle/adlint_pinit.h +1 -1
  382. data/share/sample/zsh-4.3.15/adlint/zle/adlint_traits.yml +50 -42
  383. data/spec/adlint/{c → cc1}/ctrlexpr_spec.rb +51 -49
  384. data/spec/adlint/{c → cc1}/domain_spec.rb +210 -179
  385. data/spec/adlint/{c → cc1}/operator_spec.rb +3 -3
  386. data/spec/adlint/{c → cc1}/syntax_spec.rb +10 -12
  387. data/spec/adlint/{c → cc1}/type_spec.rb +61 -68
  388. data/{lib/adlint/c.rb → spec/adlint/location_spec.rb} +24 -29
  389. data/spec/conf.d/default_traits.yml +38 -37
  390. data/spec/conf.d/empty_cinit.h +1 -1
  391. data/spec/conf.d/empty_pinit.h +1 -1
  392. data/spec/conf.d/project/foo.c +0 -0
  393. data/spec/spec_helper.rb +2 -2
  394. metadata +60 -40
  395. data/lib/adlint/c/domain.rb +0 -7931
  396. data/lib/adlint/c/lexer.rb +0 -252
  397. data/lib/adlint/c/phase.rb +0 -135
  398. data/lib/adlint/exam/c_builtin/c_check.rb +0 -20745
  399. data/lib/adlint/exam/c_builtin/c_check_shima.rb +0 -983
  400. data/lib/adlint/exam/c_builtin/c_code.rb +0 -477
  401. data/lib/adlint/exam/c_builtin/c_metric.rb +0 -818
@@ -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-2012, OGIS-RI Co.,Ltd.
4
+ # Copyright:: Copyright (C) 2010-2013, 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-2012, OGIS-RI Co.,Ltd.
14
+ # /_/ |_|_____/_____/_/_/ |_/ /_/ Copyright (C) 2010-2013, OGIS-RI Co.,Ltd.
15
15
  #
16
16
  # This file is part of AdLint.
17
17
  #
@@ -30,15 +30,15 @@
30
30
  #++
31
31
 
32
32
  module AdLint #:nodoc:
33
- module C #:nodoc:
33
+ module Cc1 #:nodoc:
34
34
 
35
35
  class Operator
36
- def initialize(token_or_symbol)
37
- case token_or_symbol
36
+ def initialize(tok_or_sym)
37
+ case tok_or_sym
38
38
  when Token
39
- @sym = token_or_symbol.type.to_sym
39
+ @sym = tok_or_sym.type.to_sym
40
40
  when ::Symbol
41
- @sym = token_or_symbol
41
+ @sym = tok_or_sym
42
42
  end
43
43
  end
44
44
 
@@ -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-2012, OGIS-RI Co.,Ltd.
4
+ # Copyright:: Copyright (C) 2010-2013, 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-2012, OGIS-RI Co.,Ltd.
14
+ # /_/ |_|_____/_____/_/_/ |_/ /_/ Copyright (C) 2010-2013, OGIS-RI Co.,Ltd.
15
15
  #
16
16
  # This file is part of AdLint.
17
17
  #
@@ -30,7 +30,7 @@
30
30
  #++
31
31
 
32
32
  module AdLint #:nodoc:
33
- module C #:nodoc:
33
+ module Cc1 #:nodoc:
34
34
 
35
35
  module InterpreterOptions
36
36
  QUIET = :quiet
@@ -44,6 +44,7 @@ module C #:nodoc:
44
44
  FINAL = :final
45
45
  SMOTHER_BREAK = :smother_break
46
46
  IMPLICIT_COND = :implicit_cond
47
+ COMPLEMENTAL = :complemental
47
48
  end
48
49
 
49
50
  module BranchGroupOptions
@@ -11,24 +11,24 @@ require "adlint/error"
11
11
  require "adlint/symbol"
12
12
  require "adlint/monitor"
13
13
  require "adlint/util"
14
- require "adlint/c/lexer"
15
- require "adlint/c/syntax"
14
+ require "adlint/cc1/lexer"
15
+ require "adlint/cc1/syntax"
16
16
 
17
17
  module AdLint
18
- module C
18
+ module Cc1
19
19
  class Parser < Racc::Parser
20
20
 
21
- module_eval(<<'...end parser.y/module_eval...', 'parser.y', 2031)
21
+ module_eval(<<'...end parser.y/module_eval...', 'parser.y', 1797)
22
22
 
23
- include MonitorUtil
24
23
  include ReportUtil
24
+ include MonitorUtil
25
25
 
26
- def initialize(context)
27
- @context = context
28
- @lexer = create_lexer(context[:c_source])
29
- @symbol_table = context[:symbol_table]
26
+ def initialize(phase_ctxt)
27
+ @phase_ctxt = phase_ctxt
28
+ @lexer = create_lexer(phase_ctxt[:cc1_source])
29
+ @sym_tbl = phase_ctxt[:symbol_table]
30
30
  @token_array = []
31
- @unnamed_tag_no = 0
31
+ @anon_tag_no = 0
32
32
  end
33
33
 
34
34
  attr_reader :token_array
@@ -42,8 +42,8 @@ extend Pluggable
42
42
  def_plugin :on_string_literals_concatenated
43
43
 
44
44
  private
45
- def create_lexer(c_source)
46
- Lexer.new(c_source).tap { |lexer| attach_lexer_plugin(lexer) }
45
+ def create_lexer(pp_src)
46
+ Lexer.new(pp_src).tap { |lexer| attach_lexer_plugin(lexer) }
47
47
  end
48
48
 
49
49
  def attach_lexer_plugin(lexer)
@@ -53,47 +53,49 @@ def attach_lexer_plugin(lexer)
53
53
  end
54
54
 
55
55
  def next_token
56
- if token = @lexer.next_token
57
- @token_array.push(token)
58
- [token.type, token]
56
+ if tok = @lexer.next_token
57
+ @token_array.push(tok)
58
+ [tok.type, tok]
59
59
  else
60
60
  nil
61
61
  end
62
62
  end
63
63
 
64
- def on_error(error_token_id, error_value, value_stack)
65
- if first_token = @token_array[-2] and second_token = @token_array[-1]
66
- E(:E0008, location_of(first_token),
67
- "#{value_of(first_token)} #{value_of(second_token)}")
68
- raise ParseError.new(location_of(first_token),
69
- @context.msg_fpath, @context.log_fpath)
64
+ def on_error(err_tok, err_val, *)
65
+ if fst_tok = @token_array[-2] and snd_tok = @token_array[-1]
66
+ E(:E0008, loc_of(fst_tok), "#{val_of(fst_tok)} #{val_of(snd_tok)}")
67
+ raise ParseError.new(loc_of(fst_tok),
68
+ @phase_ctxt.msg_fpath, @phase_ctxt.log_fpath)
70
69
  else
71
- E(:E0008, location_of(error_value), value_of(error_value))
72
- raise ParseError.new(location_of(error_value),
73
- @context.msg_fpath, @context.log_fpath)
70
+ E(:E0008, loc_of(err_val), val_of(err_val))
71
+ raise ParseError.new(loc_of(err_val),
72
+ @phase_ctxt.msg_fpath, @phase_ctxt.log_fpath)
74
73
  end
75
74
  end
76
75
 
77
- def location_of(value)
78
- if value == "$"
79
- Location.new
80
- else
81
- value.location
82
- end
76
+ def loc_of(val)
77
+ val == "$" ? Location.new : val.location
83
78
  end
84
79
 
85
- def value_of(token)
86
- token == "$" ? "EOF" : token.value
80
+ def val_of(tok)
81
+ tok == "$" ? "EOF" : tok.value
87
82
  end
88
83
 
89
- def create_unnamed_tag_name(base_token)
90
- Token.new(:IDENTIFIER, "__adlint__unnamed_#{@unnamed_tag_no += 1}",
91
- base_token.location)
84
+ def create_anon_tag_name(base_tok)
85
+ Token.new(:IDENTIFIER, "__adlint__anon_#{@anon_tag_no += 1}",
86
+ base_tok.location)
92
87
  end
93
88
 
94
- def report
95
- @context.report
96
- end
89
+ extend Forwardable
90
+
91
+ def_delegator :@phase_ctxt, :report
92
+ private :report
93
+
94
+ def_delegator :@phase_ctxt, :message_catalog
95
+ private :message_catalog
96
+
97
+ def_delegator :@phase_ctxt, :monitor
98
+ private :monitor
97
99
 
98
100
  # vim:ft=racc:sw=2:ts=2:sts=2:et:
99
101
  ...end parser.y/module_eval...
@@ -1247,7 +1249,6 @@ Racc_debug_parser = false
1247
1249
  module_eval(<<'.,.,', 'parser.y', 90)
1248
1250
  def _reduce_1(val, _values, result)
1249
1251
  checkpoint(val[0].location)
1250
-
1251
1252
  result = ObjectSpecifier.new(val[0])
1252
1253
  result.head_token = result.tail_token = val[0]
1253
1254
 
@@ -1255,10 +1256,9 @@ module_eval(<<'.,.,', 'parser.y', 90)
1255
1256
  end
1256
1257
  .,.,
1257
1258
 
1258
- module_eval(<<'.,.,', 'parser.y', 97)
1259
+ module_eval(<<'.,.,', 'parser.y', 96)
1259
1260
  def _reduce_2(val, _values, result)
1260
1261
  checkpoint(val[0].location)
1261
-
1262
1262
  result = ConstantSpecifier.new(val[0])
1263
1263
  result.head_token = result.tail_token = val[0]
1264
1264
 
@@ -1266,10 +1266,9 @@ module_eval(<<'.,.,', 'parser.y', 97)
1266
1266
  end
1267
1267
  .,.,
1268
1268
 
1269
- module_eval(<<'.,.,', 'parser.y', 104)
1269
+ module_eval(<<'.,.,', 'parser.y', 102)
1270
1270
  def _reduce_3(val, _values, result)
1271
1271
  checkpoint(val[0].location)
1272
-
1273
1272
  result = StringLiteralSpecifier.new(val[0])
1274
1273
  result.head_token = result.tail_token = val[0]
1275
1274
 
@@ -1277,10 +1276,9 @@ module_eval(<<'.,.,', 'parser.y', 104)
1277
1276
  end
1278
1277
  .,.,
1279
1278
 
1280
- module_eval(<<'.,.,', 'parser.y', 111)
1279
+ module_eval(<<'.,.,', 'parser.y', 108)
1281
1280
  def _reduce_4(val, _values, result)
1282
1281
  checkpoint(val[0].location)
1283
-
1284
1282
  result = NullConstantSpecifier.new(val[0])
1285
1283
  result.head_token = result.tail_token = val[0]
1286
1284
 
@@ -1288,10 +1286,9 @@ module_eval(<<'.,.,', 'parser.y', 111)
1288
1286
  end
1289
1287
  .,.,
1290
1288
 
1291
- module_eval(<<'.,.,', 'parser.y', 118)
1289
+ module_eval(<<'.,.,', 'parser.y', 114)
1292
1290
  def _reduce_5(val, _values, result)
1293
1291
  checkpoint(val[0].location)
1294
-
1295
1292
  result = GroupedExpression.new(val[1])
1296
1293
  result.head_token = val[0]
1297
1294
  result.tail_token = val[2]
@@ -1300,10 +1297,9 @@ module_eval(<<'.,.,', 'parser.y', 118)
1300
1297
  end
1301
1298
  .,.,
1302
1299
 
1303
- module_eval(<<'.,.,', 'parser.y', 126)
1300
+ module_eval(<<'.,.,', 'parser.y', 121)
1304
1301
  def _reduce_6(val, _values, result)
1305
1302
  checkpoint(val[0].location)
1306
-
1307
1303
  E(:E0013, val[0].location)
1308
1304
  result = ErrorExpression.new(val[0])
1309
1305
  result.head_token = val[0]
@@ -1315,10 +1311,9 @@ module_eval(<<'.,.,', 'parser.y', 126)
1315
1311
 
1316
1312
  # reduce 7 omitted
1317
1313
 
1318
- module_eval(<<'.,.,', 'parser.y', 139)
1314
+ module_eval(<<'.,.,', 'parser.y', 133)
1319
1315
  def _reduce_8(val, _values, result)
1320
1316
  checkpoint(val[0].location)
1321
-
1322
1317
  result = ArraySubscriptExpression.new(val[0], val[2], val[1])
1323
1318
  result.head_token = val[0].head_token
1324
1319
  result.tail_token = val[3]
@@ -1327,10 +1322,9 @@ module_eval(<<'.,.,', 'parser.y', 139)
1327
1322
  end
1328
1323
  .,.,
1329
1324
 
1330
- module_eval(<<'.,.,', 'parser.y', 147)
1325
+ module_eval(<<'.,.,', 'parser.y', 140)
1331
1326
  def _reduce_9(val, _values, result)
1332
1327
  checkpoint(val[0].location)
1333
-
1334
1328
  result = FunctionCallExpression.new(val[0], [], val[1])
1335
1329
  result.head_token = val[0].head_token
1336
1330
  result.tail_token = val[2]
@@ -1339,10 +1333,9 @@ module_eval(<<'.,.,', 'parser.y', 147)
1339
1333
  end
1340
1334
  .,.,
1341
1335
 
1342
- module_eval(<<'.,.,', 'parser.y', 155)
1336
+ module_eval(<<'.,.,', 'parser.y', 147)
1343
1337
  def _reduce_10(val, _values, result)
1344
1338
  checkpoint(val[0].location)
1345
-
1346
1339
  result = FunctionCallExpression.new(val[0], val[2], val [1])
1347
1340
  result.head_token = val[0].head_token
1348
1341
  result.tail_token = val[3]
@@ -1351,10 +1344,9 @@ module_eval(<<'.,.,', 'parser.y', 155)
1351
1344
  end
1352
1345
  .,.,
1353
1346
 
1354
- module_eval(<<'.,.,', 'parser.y', 163)
1347
+ module_eval(<<'.,.,', 'parser.y', 154)
1355
1348
  def _reduce_11(val, _values, result)
1356
1349
  checkpoint(val[0].location)
1357
-
1358
1350
  result = MemberAccessByValueExpression.new(val[0], val[2], val[1])
1359
1351
  result.head_token = val[0].head_token
1360
1352
  result.tail_token = val[2]
@@ -1363,10 +1355,9 @@ module_eval(<<'.,.,', 'parser.y', 163)
1363
1355
  end
1364
1356
  .,.,
1365
1357
 
1366
- module_eval(<<'.,.,', 'parser.y', 171)
1358
+ module_eval(<<'.,.,', 'parser.y', 161)
1367
1359
  def _reduce_12(val, _values, result)
1368
1360
  checkpoint(val[0].location)
1369
-
1370
1361
  result = MemberAccessByPointerExpression.new(val[0], val[2], val[1])
1371
1362
  result.head_token = val[0].head_token
1372
1363
  result.tail_token = val[2]
@@ -1375,10 +1366,9 @@ module_eval(<<'.,.,', 'parser.y', 171)
1375
1366
  end
1376
1367
  .,.,
1377
1368
 
1378
- module_eval(<<'.,.,', 'parser.y', 179)
1369
+ module_eval(<<'.,.,', 'parser.y', 168)
1379
1370
  def _reduce_13(val, _values, result)
1380
1371
  checkpoint(val[0].location)
1381
-
1382
1372
  result = BitAccessByValueExpression.new(val[0], val[2], val[1])
1383
1373
  result.head_token = val[0].head_token
1384
1374
  result.tail_token = val[2]
@@ -1387,10 +1377,9 @@ module_eval(<<'.,.,', 'parser.y', 179)
1387
1377
  end
1388
1378
  .,.,
1389
1379
 
1390
- module_eval(<<'.,.,', 'parser.y', 187)
1380
+ module_eval(<<'.,.,', 'parser.y', 175)
1391
1381
  def _reduce_14(val, _values, result)
1392
1382
  checkpoint(val[0].location)
1393
-
1394
1383
  result = BitAccessByPointerExpression.new(val[0], val[2], val[1])
1395
1384
  result.head_token = val[0].head_token
1396
1385
  result.tail_token = val[2]
@@ -1399,10 +1388,9 @@ module_eval(<<'.,.,', 'parser.y', 187)
1399
1388
  end
1400
1389
  .,.,
1401
1390
 
1402
- module_eval(<<'.,.,', 'parser.y', 195)
1391
+ module_eval(<<'.,.,', 'parser.y', 182)
1403
1392
  def _reduce_15(val, _values, result)
1404
1393
  checkpoint(val[0].location)
1405
-
1406
1394
  result = PostfixIncrementExpression.new(val[1], val[0])
1407
1395
  result.head_token = val[0].head_token
1408
1396
  result.tail_token = val[1]
@@ -1411,10 +1399,9 @@ module_eval(<<'.,.,', 'parser.y', 195)
1411
1399
  end
1412
1400
  .,.,
1413
1401
 
1414
- module_eval(<<'.,.,', 'parser.y', 203)
1402
+ module_eval(<<'.,.,', 'parser.y', 189)
1415
1403
  def _reduce_16(val, _values, result)
1416
1404
  checkpoint(val[0].location)
1417
-
1418
1405
  result = PostfixDecrementExpression.new(val[1], val[0])
1419
1406
  result.head_token = val[0].head_token
1420
1407
  result.tail_token = val[1]
@@ -1423,10 +1410,9 @@ module_eval(<<'.,.,', 'parser.y', 203)
1423
1410
  end
1424
1411
  .,.,
1425
1412
 
1426
- module_eval(<<'.,.,', 'parser.y', 211)
1413
+ module_eval(<<'.,.,', 'parser.y', 196)
1427
1414
  def _reduce_17(val, _values, result)
1428
1415
  checkpoint(val[0].location)
1429
-
1430
1416
  result = CompoundLiteralExpression.new(val[1], val[4], val[0])
1431
1417
  result.head_token = val[0]
1432
1418
  result.tail_token = val[5]
@@ -1435,10 +1421,9 @@ module_eval(<<'.,.,', 'parser.y', 211)
1435
1421
  end
1436
1422
  .,.,
1437
1423
 
1438
- module_eval(<<'.,.,', 'parser.y', 219)
1424
+ module_eval(<<'.,.,', 'parser.y', 203)
1439
1425
  def _reduce_18(val, _values, result)
1440
1426
  checkpoint(val[0].location)
1441
-
1442
1427
  result = CompoundLiteralExpression.new(val[1], val[4], val[0])
1443
1428
  result.head_token = val[0]
1444
1429
  result.tail_token = val[6]
@@ -1447,20 +1432,18 @@ module_eval(<<'.,.,', 'parser.y', 219)
1447
1432
  end
1448
1433
  .,.,
1449
1434
 
1450
- module_eval(<<'.,.,', 'parser.y', 230)
1435
+ module_eval(<<'.,.,', 'parser.y', 213)
1451
1436
  def _reduce_19(val, _values, result)
1452
1437
  checkpoint(val[0].location)
1453
-
1454
1438
  result = val
1455
1439
 
1456
1440
  result
1457
1441
  end
1458
1442
  .,.,
1459
1443
 
1460
- module_eval(<<'.,.,', 'parser.y', 236)
1444
+ module_eval(<<'.,.,', 'parser.y', 218)
1461
1445
  def _reduce_20(val, _values, result)
1462
1446
  checkpoint(val[0].first.location)
1463
-
1464
1447
  result = val[0].push(val[2])
1465
1448
 
1466
1449
  result
@@ -1469,10 +1452,9 @@ module_eval(<<'.,.,', 'parser.y', 236)
1469
1452
 
1470
1453
  # reduce 21 omitted
1471
1454
 
1472
- module_eval(<<'.,.,', 'parser.y', 246)
1455
+ module_eval(<<'.,.,', 'parser.y', 227)
1473
1456
  def _reduce_22(val, _values, result)
1474
1457
  checkpoint(val[0].location)
1475
-
1476
1458
  result = PrefixIncrementExpression.new(val[0], val[1])
1477
1459
  result.head_token = val[0]
1478
1460
  result.tail_token = val[1].tail_token
@@ -1481,10 +1463,9 @@ module_eval(<<'.,.,', 'parser.y', 246)
1481
1463
  end
1482
1464
  .,.,
1483
1465
 
1484
- module_eval(<<'.,.,', 'parser.y', 254)
1466
+ module_eval(<<'.,.,', 'parser.y', 234)
1485
1467
  def _reduce_23(val, _values, result)
1486
1468
  checkpoint(val[0].location)
1487
-
1488
1469
  result = PrefixDecrementExpression.new(val[0], val[1])
1489
1470
  result.head_token = val[0]
1490
1471
  result.tail_token = val[1].tail_token
@@ -1493,10 +1474,9 @@ module_eval(<<'.,.,', 'parser.y', 254)
1493
1474
  end
1494
1475
  .,.,
1495
1476
 
1496
- module_eval(<<'.,.,', 'parser.y', 262)
1477
+ module_eval(<<'.,.,', 'parser.y', 241)
1497
1478
  def _reduce_24(val, _values, result)
1498
1479
  checkpoint(val[0].location)
1499
-
1500
1480
  result = AddressExpression.new(val[0], val[1])
1501
1481
  result.head_token = val[0]
1502
1482
  result.tail_token = val[1].tail_token
@@ -1505,10 +1485,9 @@ module_eval(<<'.,.,', 'parser.y', 262)
1505
1485
  end
1506
1486
  .,.,
1507
1487
 
1508
- module_eval(<<'.,.,', 'parser.y', 270)
1488
+ module_eval(<<'.,.,', 'parser.y', 248)
1509
1489
  def _reduce_25(val, _values, result)
1510
1490
  checkpoint(val[0].location)
1511
-
1512
1491
  result = IndirectionExpression.new(val[0], val[1])
1513
1492
  result.head_token = val[0]
1514
1493
  result.tail_token = val[1].tail_token
@@ -1517,10 +1496,9 @@ module_eval(<<'.,.,', 'parser.y', 270)
1517
1496
  end
1518
1497
  .,.,
1519
1498
 
1520
- module_eval(<<'.,.,', 'parser.y', 278)
1499
+ module_eval(<<'.,.,', 'parser.y', 255)
1521
1500
  def _reduce_26(val, _values, result)
1522
1501
  checkpoint(val[0].location)
1523
-
1524
1502
  result = UnaryArithmeticExpression.new(val[0], val[1])
1525
1503
  result.head_token = val[0]
1526
1504
  result.tail_token = val[1].tail_token
@@ -1529,10 +1507,9 @@ module_eval(<<'.,.,', 'parser.y', 278)
1529
1507
  end
1530
1508
  .,.,
1531
1509
 
1532
- module_eval(<<'.,.,', 'parser.y', 286)
1510
+ module_eval(<<'.,.,', 'parser.y', 262)
1533
1511
  def _reduce_27(val, _values, result)
1534
1512
  checkpoint(val[0].location)
1535
-
1536
1513
  result = SizeofExpression.new(val[0], val[1])
1537
1514
  result.head_token = val[0]
1538
1515
  result.tail_token = val[1].tail_token
@@ -1541,10 +1518,9 @@ module_eval(<<'.,.,', 'parser.y', 286)
1541
1518
  end
1542
1519
  .,.,
1543
1520
 
1544
- module_eval(<<'.,.,', 'parser.y', 294)
1521
+ module_eval(<<'.,.,', 'parser.y', 269)
1545
1522
  def _reduce_28(val, _values, result)
1546
1523
  checkpoint(val[0].location)
1547
-
1548
1524
  result = SizeofTypeExpression.new(val[0], val[2])
1549
1525
  result.head_token = val[0]
1550
1526
  result.tail_token = val[3]
@@ -1553,10 +1529,9 @@ module_eval(<<'.,.,', 'parser.y', 294)
1553
1529
  end
1554
1530
  .,.,
1555
1531
 
1556
- module_eval(<<'.,.,', 'parser.y', 302)
1532
+ module_eval(<<'.,.,', 'parser.y', 276)
1557
1533
  def _reduce_29(val, _values, result)
1558
1534
  checkpoint(val[0].location)
1559
-
1560
1535
  result = AlignofExpression.new(val[0], val[1])
1561
1536
  result.head_token = val[0]
1562
1537
  result.tail_token = val[1].tail_token
@@ -1565,10 +1540,9 @@ module_eval(<<'.,.,', 'parser.y', 302)
1565
1540
  end
1566
1541
  .,.,
1567
1542
 
1568
- module_eval(<<'.,.,', 'parser.y', 310)
1543
+ module_eval(<<'.,.,', 'parser.y', 283)
1569
1544
  def _reduce_30(val, _values, result)
1570
1545
  checkpoint(val[0].location)
1571
-
1572
1546
  result = AlignofTypeExpression.new(val[0], val[2])
1573
1547
  result.head_token = val[0]
1574
1548
  result.tail_token = val[3]
@@ -1577,10 +1551,9 @@ module_eval(<<'.,.,', 'parser.y', 310)
1577
1551
  end
1578
1552
  .,.,
1579
1553
 
1580
- module_eval(<<'.,.,', 'parser.y', 318)
1554
+ module_eval(<<'.,.,', 'parser.y', 290)
1581
1555
  def _reduce_31(val, _values, result)
1582
1556
  checkpoint(val[0].location)
1583
-
1584
1557
  E(:E0014, val[0].location, val[0].value)
1585
1558
  result = ErrorExpression.new(val[0])
1586
1559
  result.head_token = val[0]
@@ -1600,10 +1573,9 @@ module_eval(<<'.,.,', 'parser.y', 318)
1600
1573
 
1601
1574
  # reduce 36 omitted
1602
1575
 
1603
- module_eval(<<'.,.,', 'parser.y', 338)
1576
+ module_eval(<<'.,.,', 'parser.y', 309)
1604
1577
  def _reduce_37(val, _values, result)
1605
1578
  checkpoint(val[0].location)
1606
-
1607
1579
  result = CastExpression.new(val[1], val[3])
1608
1580
  result.head_token = val[0]
1609
1581
  result.tail_token = val[3].tail_token
@@ -1614,10 +1586,9 @@ module_eval(<<'.,.,', 'parser.y', 338)
1614
1586
 
1615
1587
  # reduce 38 omitted
1616
1588
 
1617
- module_eval(<<'.,.,', 'parser.y', 350)
1589
+ module_eval(<<'.,.,', 'parser.y', 320)
1618
1590
  def _reduce_39(val, _values, result)
1619
1591
  checkpoint(val[0].location)
1620
-
1621
1592
  result = MultiplicativeExpression.new(val[1], val[0], val[2])
1622
1593
  result.head_token = val[0].head_token
1623
1594
  result.tail_token = val[2].tail_token
@@ -1626,10 +1597,9 @@ module_eval(<<'.,.,', 'parser.y', 350)
1626
1597
  end
1627
1598
  .,.,
1628
1599
 
1629
- module_eval(<<'.,.,', 'parser.y', 358)
1600
+ module_eval(<<'.,.,', 'parser.y', 327)
1630
1601
  def _reduce_40(val, _values, result)
1631
1602
  checkpoint(val[0].location)
1632
-
1633
1603
  result = MultiplicativeExpression.new(val[1], val[0], val[2])
1634
1604
  result.head_token = val[0].head_token
1635
1605
  result.tail_token = val[2].tail_token
@@ -1638,10 +1608,9 @@ module_eval(<<'.,.,', 'parser.y', 358)
1638
1608
  end
1639
1609
  .,.,
1640
1610
 
1641
- module_eval(<<'.,.,', 'parser.y', 366)
1611
+ module_eval(<<'.,.,', 'parser.y', 334)
1642
1612
  def _reduce_41(val, _values, result)
1643
1613
  checkpoint(val[0].location)
1644
-
1645
1614
  result = MultiplicativeExpression.new(val[1], val[0], val[2])
1646
1615
  result.head_token = val[0].head_token
1647
1616
  result.tail_token = val[2].tail_token
@@ -1652,10 +1621,9 @@ module_eval(<<'.,.,', 'parser.y', 366)
1652
1621
 
1653
1622
  # reduce 42 omitted
1654
1623
 
1655
- module_eval(<<'.,.,', 'parser.y', 378)
1624
+ module_eval(<<'.,.,', 'parser.y', 345)
1656
1625
  def _reduce_43(val, _values, result)
1657
1626
  checkpoint(val[0].location)
1658
-
1659
1627
  result = AdditiveExpression.new(val[1], val[0], val[2])
1660
1628
  result.head_token = val[0].head_token
1661
1629
  result.tail_token = val[2].tail_token
@@ -1664,10 +1632,9 @@ module_eval(<<'.,.,', 'parser.y', 378)
1664
1632
  end
1665
1633
  .,.,
1666
1634
 
1667
- module_eval(<<'.,.,', 'parser.y', 386)
1635
+ module_eval(<<'.,.,', 'parser.y', 352)
1668
1636
  def _reduce_44(val, _values, result)
1669
1637
  checkpoint(val[0].location)
1670
-
1671
1638
  result = AdditiveExpression.new(val[1], val[0], val[2])
1672
1639
  result.head_token = val[0].head_token
1673
1640
  result.tail_token = val[2].tail_token
@@ -1678,10 +1645,9 @@ module_eval(<<'.,.,', 'parser.y', 386)
1678
1645
 
1679
1646
  # reduce 45 omitted
1680
1647
 
1681
- module_eval(<<'.,.,', 'parser.y', 398)
1648
+ module_eval(<<'.,.,', 'parser.y', 363)
1682
1649
  def _reduce_46(val, _values, result)
1683
1650
  checkpoint(val[0].location)
1684
-
1685
1651
  result = ShiftExpression.new(val[1], val[0], val[2])
1686
1652
  result.head_token = val[0].head_token
1687
1653
  result.tail_token = val[2].tail_token
@@ -1690,10 +1656,9 @@ module_eval(<<'.,.,', 'parser.y', 398)
1690
1656
  end
1691
1657
  .,.,
1692
1658
 
1693
- module_eval(<<'.,.,', 'parser.y', 406)
1659
+ module_eval(<<'.,.,', 'parser.y', 370)
1694
1660
  def _reduce_47(val, _values, result)
1695
1661
  checkpoint(val[0].location)
1696
-
1697
1662
  result = ShiftExpression.new(val[1], val[0], val[2])
1698
1663
  result.head_token = val[0].head_token
1699
1664
  result.tail_token = val[2].tail_token
@@ -1704,10 +1669,9 @@ module_eval(<<'.,.,', 'parser.y', 406)
1704
1669
 
1705
1670
  # reduce 48 omitted
1706
1671
 
1707
- module_eval(<<'.,.,', 'parser.y', 418)
1672
+ module_eval(<<'.,.,', 'parser.y', 381)
1708
1673
  def _reduce_49(val, _values, result)
1709
1674
  checkpoint(val[0].location)
1710
-
1711
1675
  result = RelationalExpression.new(val[1], val[0], val[2])
1712
1676
  result.head_token = val[0].head_token
1713
1677
  result.tail_token = val[2].tail_token
@@ -1716,10 +1680,9 @@ module_eval(<<'.,.,', 'parser.y', 418)
1716
1680
  end
1717
1681
  .,.,
1718
1682
 
1719
- module_eval(<<'.,.,', 'parser.y', 426)
1683
+ module_eval(<<'.,.,', 'parser.y', 388)
1720
1684
  def _reduce_50(val, _values, result)
1721
1685
  checkpoint(val[0].location)
1722
-
1723
1686
  result = RelationalExpression.new(val[1], val[0], val[2])
1724
1687
  result.head_token = val[0].head_token
1725
1688
  result.tail_token = val[2].tail_token
@@ -1728,10 +1691,9 @@ module_eval(<<'.,.,', 'parser.y', 426)
1728
1691
  end
1729
1692
  .,.,
1730
1693
 
1731
- module_eval(<<'.,.,', 'parser.y', 434)
1694
+ module_eval(<<'.,.,', 'parser.y', 395)
1732
1695
  def _reduce_51(val, _values, result)
1733
1696
  checkpoint(val[0].location)
1734
-
1735
1697
  result = RelationalExpression.new(val[1], val[0], val[2])
1736
1698
  result.head_token = val[0].head_token
1737
1699
  result.tail_token = val[2].tail_token
@@ -1740,10 +1702,9 @@ module_eval(<<'.,.,', 'parser.y', 434)
1740
1702
  end
1741
1703
  .,.,
1742
1704
 
1743
- module_eval(<<'.,.,', 'parser.y', 442)
1705
+ module_eval(<<'.,.,', 'parser.y', 402)
1744
1706
  def _reduce_52(val, _values, result)
1745
1707
  checkpoint(val[0].location)
1746
-
1747
1708
  result = RelationalExpression.new(val[1], val[0], val[2])
1748
1709
  result.head_token = val[0].head_token
1749
1710
  result.tail_token = val[2].tail_token
@@ -1754,10 +1715,9 @@ module_eval(<<'.,.,', 'parser.y', 442)
1754
1715
 
1755
1716
  # reduce 53 omitted
1756
1717
 
1757
- module_eval(<<'.,.,', 'parser.y', 454)
1718
+ module_eval(<<'.,.,', 'parser.y', 413)
1758
1719
  def _reduce_54(val, _values, result)
1759
1720
  checkpoint(val[0].location)
1760
-
1761
1721
  result = EqualityExpression.new(val[1], val[0], val[2])
1762
1722
  result.head_token = val[0].head_token
1763
1723
  result.tail_token = val[2].tail_token
@@ -1766,10 +1726,9 @@ module_eval(<<'.,.,', 'parser.y', 454)
1766
1726
  end
1767
1727
  .,.,
1768
1728
 
1769
- module_eval(<<'.,.,', 'parser.y', 462)
1729
+ module_eval(<<'.,.,', 'parser.y', 420)
1770
1730
  def _reduce_55(val, _values, result)
1771
1731
  checkpoint(val[0].location)
1772
-
1773
1732
  result = EqualityExpression.new(val[1], val[0], val[2])
1774
1733
  result.head_token = val[0].head_token
1775
1734
  result.tail_token = val[2].tail_token
@@ -1780,10 +1739,9 @@ module_eval(<<'.,.,', 'parser.y', 462)
1780
1739
 
1781
1740
  # reduce 56 omitted
1782
1741
 
1783
- module_eval(<<'.,.,', 'parser.y', 474)
1742
+ module_eval(<<'.,.,', 'parser.y', 431)
1784
1743
  def _reduce_57(val, _values, result)
1785
1744
  checkpoint(val[0].location)
1786
-
1787
1745
  result = AndExpression.new(val[1], val[0], val[2])
1788
1746
  result.head_token = val[0].head_token
1789
1747
  result.tail_token = val[2].tail_token
@@ -1794,10 +1752,9 @@ module_eval(<<'.,.,', 'parser.y', 474)
1794
1752
 
1795
1753
  # reduce 58 omitted
1796
1754
 
1797
- module_eval(<<'.,.,', 'parser.y', 486)
1755
+ module_eval(<<'.,.,', 'parser.y', 442)
1798
1756
  def _reduce_59(val, _values, result)
1799
1757
  checkpoint(val[0].location)
1800
-
1801
1758
  result = ExclusiveOrExpression.new(val[1], val[0], val[2])
1802
1759
  result.head_token = val[0].head_token
1803
1760
  result.tail_token = val[2].tail_token
@@ -1808,10 +1765,9 @@ module_eval(<<'.,.,', 'parser.y', 486)
1808
1765
 
1809
1766
  # reduce 60 omitted
1810
1767
 
1811
- module_eval(<<'.,.,', 'parser.y', 498)
1768
+ module_eval(<<'.,.,', 'parser.y', 453)
1812
1769
  def _reduce_61(val, _values, result)
1813
1770
  checkpoint(val[0].location)
1814
-
1815
1771
  result = InclusiveOrExpression.new(val[1], val[0], val[2])
1816
1772
  result.head_token = val[0].head_token
1817
1773
  result.tail_token = val[2].tail_token
@@ -1822,10 +1778,9 @@ module_eval(<<'.,.,', 'parser.y', 498)
1822
1778
 
1823
1779
  # reduce 62 omitted
1824
1780
 
1825
- module_eval(<<'.,.,', 'parser.y', 510)
1781
+ module_eval(<<'.,.,', 'parser.y', 464)
1826
1782
  def _reduce_63(val, _values, result)
1827
1783
  checkpoint(val[0].location)
1828
-
1829
1784
  result = LogicalAndExpression.new(val[1], val[0], val[2])
1830
1785
  result.head_token = val[0].head_token
1831
1786
  result.tail_token = val[2].tail_token
@@ -1836,10 +1791,9 @@ module_eval(<<'.,.,', 'parser.y', 510)
1836
1791
 
1837
1792
  # reduce 64 omitted
1838
1793
 
1839
- module_eval(<<'.,.,', 'parser.y', 522)
1794
+ module_eval(<<'.,.,', 'parser.y', 475)
1840
1795
  def _reduce_65(val, _values, result)
1841
1796
  checkpoint(val[0].location)
1842
-
1843
1797
  result = LogicalOrExpression.new(val[1], val[0], val[2])
1844
1798
  result.head_token = val[0].head_token
1845
1799
  result.tail_token = val[2].tail_token
@@ -1850,10 +1804,9 @@ module_eval(<<'.,.,', 'parser.y', 522)
1850
1804
 
1851
1805
  # reduce 66 omitted
1852
1806
 
1853
- module_eval(<<'.,.,', 'parser.y', 534)
1807
+ module_eval(<<'.,.,', 'parser.y', 486)
1854
1808
  def _reduce_67(val, _values, result)
1855
1809
  checkpoint(val[0].location)
1856
-
1857
1810
  result = ConditionalExpression.new(val[0], val[2], val[4], val[1])
1858
1811
  result.head_token = val[0].head_token
1859
1812
  result.tail_token = val[4].tail_token
@@ -1864,10 +1817,9 @@ module_eval(<<'.,.,', 'parser.y', 534)
1864
1817
 
1865
1818
  # reduce 68 omitted
1866
1819
 
1867
- module_eval(<<'.,.,', 'parser.y', 546)
1820
+ module_eval(<<'.,.,', 'parser.y', 497)
1868
1821
  def _reduce_69(val, _values, result)
1869
1822
  checkpoint(val[0].location)
1870
-
1871
1823
  result = SimpleAssignmentExpression.new(val[1], val[0], val[2])
1872
1824
  result.head_token = val[0].head_token
1873
1825
  result.tail_token = val[2].tail_token
@@ -1876,10 +1828,9 @@ module_eval(<<'.,.,', 'parser.y', 546)
1876
1828
  end
1877
1829
  .,.,
1878
1830
 
1879
- module_eval(<<'.,.,', 'parser.y', 554)
1831
+ module_eval(<<'.,.,', 'parser.y', 504)
1880
1832
  def _reduce_70(val, _values, result)
1881
1833
  checkpoint(val[0].location)
1882
-
1883
1834
  result = CompoundAssignmentExpression.new(val[1], val[0], val[2])
1884
1835
  result.head_token = val[0].head_token
1885
1836
  result.tail_token = val[2].tail_token
@@ -1910,18 +1861,14 @@ module_eval(<<'.,.,', 'parser.y', 554)
1910
1861
 
1911
1862
  # reduce 81 omitted
1912
1863
 
1913
- module_eval(<<'.,.,', 'parser.y', 579)
1864
+ module_eval(<<'.,.,', 'parser.y', 528)
1914
1865
  def _reduce_82(val, _values, result)
1915
1866
  checkpoint(val[0].location)
1916
-
1917
1867
  case val[0]
1918
1868
  when CommaSeparatedExpression
1919
1869
  result = val[0].push(val[2])
1920
- result.tail_token = val[2].tail_token
1921
1870
  else
1922
1871
  result = CommaSeparatedExpression.new(val[0]).push(val[2])
1923
- result.head_token = val[0].head_token
1924
- result.tail_token = val[2].tail_token
1925
1872
  end
1926
1873
 
1927
1874
  result
@@ -1930,13 +1877,11 @@ module_eval(<<'.,.,', 'parser.y', 579)
1930
1877
 
1931
1878
  # reduce 83 omitted
1932
1879
 
1933
- module_eval(<<'.,.,', 'parser.y', 603)
1880
+ module_eval(<<'.,.,', 'parser.y', 548)
1934
1881
  def _reduce_84(val, _values, result)
1935
1882
  checkpoint(val[0].location)
1936
-
1937
1883
  @lexer.start_identifier_translation
1938
-
1939
- result = Declaration.new(val[0], [], @symbol_table)
1884
+ result = Declaration.new(val[0], [], @sym_tbl)
1940
1885
  result.head_token = val[0].head_token
1941
1886
  result.tail_token = val[1]
1942
1887
 
@@ -1944,14 +1889,12 @@ module_eval(<<'.,.,', 'parser.y', 603)
1944
1889
  end
1945
1890
  .,.,
1946
1891
 
1947
- module_eval(<<'.,.,', 'parser.y', 613)
1892
+ module_eval(<<'.,.,', 'parser.y', 556)
1948
1893
  def _reduce_85(val, _values, result)
1949
1894
  checkpoint(val[0].location)
1950
-
1951
- result = Declaration.new(val[0], val[1], @symbol_table)
1895
+ result = Declaration.new(val[0], val[1], @sym_tbl)
1952
1896
  result.head_token = val[0].head_token
1953
1897
  result.tail_token = val[2]
1954
-
1955
1898
  result.items.each do |item|
1956
1899
  case item
1957
1900
  when TypedefDeclaration
@@ -1967,11 +1910,10 @@ module_eval(<<'.,.,', 'parser.y', 613)
1967
1910
 
1968
1911
  # reduce 86 omitted
1969
1912
 
1970
- module_eval(<<'.,.,', 'parser.y', 634)
1913
+ module_eval(<<'.,.,', 'parser.y', 575)
1971
1914
  def _reduce_87(val, _values, result)
1972
1915
  checkpoint(val[0].first.location)
1973
-
1974
- result = Declaration.new(nil, val[0], @symbol_table)
1916
+ result = Declaration.new(nil, val[0], @sym_tbl)
1975
1917
  result.head_token = val[0].first.head_token
1976
1918
  result.tail_token = val[1]
1977
1919
 
@@ -1979,10 +1921,9 @@ module_eval(<<'.,.,', 'parser.y', 634)
1979
1921
  end
1980
1922
  .,.,
1981
1923
 
1982
- module_eval(<<'.,.,', 'parser.y', 645)
1924
+ module_eval(<<'.,.,', 'parser.y', 585)
1983
1925
  def _reduce_88(val, _values, result)
1984
1926
  checkpoint(val[0].location)
1985
-
1986
1927
  result = DeclarationSpecifiers.new
1987
1928
  result.storage_class_specifier = val[0]
1988
1929
  result.head_token = result.tail_token = val[0]
@@ -1991,10 +1932,9 @@ module_eval(<<'.,.,', 'parser.y', 645)
1991
1932
  end
1992
1933
  .,.,
1993
1934
 
1994
- module_eval(<<'.,.,', 'parser.y', 653)
1935
+ module_eval(<<'.,.,', 'parser.y', 592)
1995
1936
  def _reduce_89(val, _values, result)
1996
1937
  checkpoint(val[0].location)
1997
-
1998
1938
  result = val[0]
1999
1939
  result.storage_class_specifier = val[1]
2000
1940
  result.tail_token = val[1]
@@ -2003,12 +1943,10 @@ module_eval(<<'.,.,', 'parser.y', 653)
2003
1943
  end
2004
1944
  .,.,
2005
1945
 
2006
- module_eval(<<'.,.,', 'parser.y', 661)
1946
+ module_eval(<<'.,.,', 'parser.y', 599)
2007
1947
  def _reduce_90(val, _values, result)
2008
1948
  checkpoint(val[0].location)
2009
-
2010
1949
  @lexer.stop_identifier_translation
2011
-
2012
1950
  result = DeclarationSpecifiers.new
2013
1951
  result.type_specifiers.push(val[0])
2014
1952
  result.head_token = val[0].head_token
@@ -2018,12 +1956,10 @@ module_eval(<<'.,.,', 'parser.y', 661)
2018
1956
  end
2019
1957
  .,.,
2020
1958
 
2021
- module_eval(<<'.,.,', 'parser.y', 672)
1959
+ module_eval(<<'.,.,', 'parser.y', 608)
2022
1960
  def _reduce_91(val, _values, result)
2023
1961
  checkpoint(val[0].location)
2024
-
2025
1962
  @lexer.stop_identifier_translation
2026
-
2027
1963
  result = val[0]
2028
1964
  result.type_specifiers.push(val[1])
2029
1965
  result.tail_token = val[1].tail_token
@@ -2032,10 +1968,9 @@ module_eval(<<'.,.,', 'parser.y', 672)
2032
1968
  end
2033
1969
  .,.,
2034
1970
 
2035
- module_eval(<<'.,.,', 'parser.y', 682)
1971
+ module_eval(<<'.,.,', 'parser.y', 616)
2036
1972
  def _reduce_92(val, _values, result)
2037
1973
  checkpoint(val[0].location)
2038
-
2039
1974
  result = DeclarationSpecifiers.new
2040
1975
  result.type_qualifiers.push(val[0])
2041
1976
  result.head_token = result.tail_token = val[0]
@@ -2044,10 +1979,9 @@ module_eval(<<'.,.,', 'parser.y', 682)
2044
1979
  end
2045
1980
  .,.,
2046
1981
 
2047
- module_eval(<<'.,.,', 'parser.y', 690)
1982
+ module_eval(<<'.,.,', 'parser.y', 623)
2048
1983
  def _reduce_93(val, _values, result)
2049
1984
  checkpoint(val[0].location)
2050
-
2051
1985
  result = val[0]
2052
1986
  result.type_qualifiers.push(val[1])
2053
1987
  result.tail_token = val[1]
@@ -2056,10 +1990,9 @@ module_eval(<<'.,.,', 'parser.y', 690)
2056
1990
  end
2057
1991
  .,.,
2058
1992
 
2059
- module_eval(<<'.,.,', 'parser.y', 698)
1993
+ module_eval(<<'.,.,', 'parser.y', 630)
2060
1994
  def _reduce_94(val, _values, result)
2061
1995
  checkpoint(val[0].location)
2062
-
2063
1996
  result = DeclarationSpecifiers.new
2064
1997
  result.function_specifier = val[0]
2065
1998
  result.head_token = result.tail_token = val[0]
@@ -2068,10 +2001,9 @@ module_eval(<<'.,.,', 'parser.y', 698)
2068
2001
  end
2069
2002
  .,.,
2070
2003
 
2071
- module_eval(<<'.,.,', 'parser.y', 706)
2004
+ module_eval(<<'.,.,', 'parser.y', 637)
2072
2005
  def _reduce_95(val, _values, result)
2073
2006
  checkpoint(val[0].location)
2074
-
2075
2007
  result = val[0]
2076
2008
  result.function_specifier = val[1]
2077
2009
  result.tail_token = val[1]
@@ -2080,30 +2012,27 @@ module_eval(<<'.,.,', 'parser.y', 706)
2080
2012
  end
2081
2013
  .,.,
2082
2014
 
2083
- module_eval(<<'.,.,', 'parser.y', 717)
2015
+ module_eval(<<'.,.,', 'parser.y', 647)
2084
2016
  def _reduce_96(val, _values, result)
2085
2017
  checkpoint(val[0].location)
2086
-
2087
2018
  result = val
2088
2019
 
2089
2020
  result
2090
2021
  end
2091
2022
  .,.,
2092
2023
 
2093
- module_eval(<<'.,.,', 'parser.y', 723)
2024
+ module_eval(<<'.,.,', 'parser.y', 652)
2094
2025
  def _reduce_97(val, _values, result)
2095
2026
  checkpoint(val[0].first.location)
2096
-
2097
2027
  result = val[0].push(val[2])
2098
2028
 
2099
2029
  result
2100
2030
  end
2101
2031
  .,.,
2102
2032
 
2103
- module_eval(<<'.,.,', 'parser.y', 732)
2033
+ module_eval(<<'.,.,', 'parser.y', 660)
2104
2034
  def _reduce_98(val, _values, result)
2105
2035
  checkpoint(val[0].location)
2106
-
2107
2036
  result = InitDeclarator.new(val[0], nil)
2108
2037
  result.head_token = val[0].head_token
2109
2038
  result.tail_token = val[0].tail_token
@@ -2112,10 +2041,9 @@ module_eval(<<'.,.,', 'parser.y', 732)
2112
2041
  end
2113
2042
  .,.,
2114
2043
 
2115
- module_eval(<<'.,.,', 'parser.y', 740)
2044
+ module_eval(<<'.,.,', 'parser.y', 667)
2116
2045
  def _reduce_99(val, _values, result)
2117
2046
  checkpoint(val[0].location)
2118
-
2119
2047
  result = InitDeclarator.new(val[0], val[2])
2120
2048
  result.head_token = val[0].head_token
2121
2049
  result.tail_token = val[2].tail_token
@@ -2134,10 +2062,9 @@ module_eval(<<'.,.,', 'parser.y', 740)
2134
2062
 
2135
2063
  # reduce 104 omitted
2136
2064
 
2137
- module_eval(<<'.,.,', 'parser.y', 759)
2065
+ module_eval(<<'.,.,', 'parser.y', 685)
2138
2066
  def _reduce_105(val, _values, result)
2139
2067
  checkpoint(val[0].location)
2140
-
2141
2068
  result = StandardTypeSpecifier.new(val[0])
2142
2069
  result.head_token = result.tail_token = val[0]
2143
2070
 
@@ -2145,10 +2072,9 @@ module_eval(<<'.,.,', 'parser.y', 759)
2145
2072
  end
2146
2073
  .,.,
2147
2074
 
2148
- module_eval(<<'.,.,', 'parser.y', 766)
2075
+ module_eval(<<'.,.,', 'parser.y', 691)
2149
2076
  def _reduce_106(val, _values, result)
2150
2077
  checkpoint(val[0].location)
2151
-
2152
2078
  result = StandardTypeSpecifier.new(val[0])
2153
2079
  result.head_token = result.tail_token = val[0]
2154
2080
 
@@ -2156,10 +2082,9 @@ module_eval(<<'.,.,', 'parser.y', 766)
2156
2082
  end
2157
2083
  .,.,
2158
2084
 
2159
- module_eval(<<'.,.,', 'parser.y', 773)
2085
+ module_eval(<<'.,.,', 'parser.y', 697)
2160
2086
  def _reduce_107(val, _values, result)
2161
2087
  checkpoint(val[0].location)
2162
-
2163
2088
  result = StandardTypeSpecifier.new(val[0])
2164
2089
  result.head_token = result.tail_token = val[0]
2165
2090
 
@@ -2167,10 +2092,9 @@ module_eval(<<'.,.,', 'parser.y', 773)
2167
2092
  end
2168
2093
  .,.,
2169
2094
 
2170
- module_eval(<<'.,.,', 'parser.y', 780)
2095
+ module_eval(<<'.,.,', 'parser.y', 703)
2171
2096
  def _reduce_108(val, _values, result)
2172
2097
  checkpoint(val[0].location)
2173
-
2174
2098
  result = StandardTypeSpecifier.new(val[0])
2175
2099
  result.head_token = result.tail_token = val[0]
2176
2100
 
@@ -2178,10 +2102,9 @@ module_eval(<<'.,.,', 'parser.y', 780)
2178
2102
  end
2179
2103
  .,.,
2180
2104
 
2181
- module_eval(<<'.,.,', 'parser.y', 787)
2105
+ module_eval(<<'.,.,', 'parser.y', 709)
2182
2106
  def _reduce_109(val, _values, result)
2183
2107
  checkpoint(val[0].location)
2184
-
2185
2108
  result = StandardTypeSpecifier.new(val[0])
2186
2109
  result.head_token = result.tail_token = val[0]
2187
2110
 
@@ -2189,10 +2112,9 @@ module_eval(<<'.,.,', 'parser.y', 787)
2189
2112
  end
2190
2113
  .,.,
2191
2114
 
2192
- module_eval(<<'.,.,', 'parser.y', 794)
2115
+ module_eval(<<'.,.,', 'parser.y', 715)
2193
2116
  def _reduce_110(val, _values, result)
2194
2117
  checkpoint(val[0].location)
2195
-
2196
2118
  result = StandardTypeSpecifier.new(val[0])
2197
2119
  result.head_token = result.tail_token = val[0]
2198
2120
 
@@ -2200,10 +2122,9 @@ module_eval(<<'.,.,', 'parser.y', 794)
2200
2122
  end
2201
2123
  .,.,
2202
2124
 
2203
- module_eval(<<'.,.,', 'parser.y', 801)
2125
+ module_eval(<<'.,.,', 'parser.y', 721)
2204
2126
  def _reduce_111(val, _values, result)
2205
2127
  checkpoint(val[0].location)
2206
-
2207
2128
  result = StandardTypeSpecifier.new(val[0])
2208
2129
  result.head_token = result.tail_token = val[0]
2209
2130
 
@@ -2211,10 +2132,9 @@ module_eval(<<'.,.,', 'parser.y', 801)
2211
2132
  end
2212
2133
  .,.,
2213
2134
 
2214
- module_eval(<<'.,.,', 'parser.y', 808)
2135
+ module_eval(<<'.,.,', 'parser.y', 727)
2215
2136
  def _reduce_112(val, _values, result)
2216
2137
  checkpoint(val[0].location)
2217
-
2218
2138
  result = StandardTypeSpecifier.new(val[0])
2219
2139
  result.head_token = result.tail_token = val[0]
2220
2140
 
@@ -2222,10 +2142,9 @@ module_eval(<<'.,.,', 'parser.y', 808)
2222
2142
  end
2223
2143
  .,.,
2224
2144
 
2225
- module_eval(<<'.,.,', 'parser.y', 815)
2145
+ module_eval(<<'.,.,', 'parser.y', 733)
2226
2146
  def _reduce_113(val, _values, result)
2227
2147
  checkpoint(val[0].location)
2228
-
2229
2148
  result = StandardTypeSpecifier.new(val[0])
2230
2149
  result.head_token = result.tail_token = val[0]
2231
2150
 
@@ -2233,10 +2152,9 @@ module_eval(<<'.,.,', 'parser.y', 815)
2233
2152
  end
2234
2153
  .,.,
2235
2154
 
2236
- module_eval(<<'.,.,', 'parser.y', 822)
2155
+ module_eval(<<'.,.,', 'parser.y', 739)
2237
2156
  def _reduce_114(val, _values, result)
2238
2157
  checkpoint(val[0].location)
2239
-
2240
2158
  result = StandardTypeSpecifier.new(val[0])
2241
2159
  result.head_token = result.tail_token = val[0]
2242
2160
 
@@ -2244,10 +2162,9 @@ module_eval(<<'.,.,', 'parser.y', 822)
2244
2162
  end
2245
2163
  .,.,
2246
2164
 
2247
- module_eval(<<'.,.,', 'parser.y', 829)
2165
+ module_eval(<<'.,.,', 'parser.y', 745)
2248
2166
  def _reduce_115(val, _values, result)
2249
2167
  checkpoint(val[0].location)
2250
-
2251
2168
  result = StandardTypeSpecifier.new(val[0])
2252
2169
  result.head_token = result.tail_token = val[0]
2253
2170
 
@@ -2255,10 +2172,9 @@ module_eval(<<'.,.,', 'parser.y', 829)
2255
2172
  end
2256
2173
  .,.,
2257
2174
 
2258
- module_eval(<<'.,.,', 'parser.y', 836)
2175
+ module_eval(<<'.,.,', 'parser.y', 751)
2259
2176
  def _reduce_116(val, _values, result)
2260
2177
  checkpoint(val[0].location)
2261
-
2262
2178
  result = StandardTypeSpecifier.new(val[0])
2263
2179
  result.head_token = result.tail_token = val[0]
2264
2180
 
@@ -2266,10 +2182,9 @@ module_eval(<<'.,.,', 'parser.y', 836)
2266
2182
  end
2267
2183
  .,.,
2268
2184
 
2269
- module_eval(<<'.,.,', 'parser.y', 843)
2185
+ module_eval(<<'.,.,', 'parser.y', 757)
2270
2186
  def _reduce_117(val, _values, result)
2271
2187
  checkpoint(val[0].location)
2272
-
2273
2188
  result = TypedefTypeSpecifier.new(val[0])
2274
2189
  result.head_token = result.tail_token = val[0]
2275
2190
 
@@ -2281,10 +2196,9 @@ module_eval(<<'.,.,', 'parser.y', 843)
2281
2196
 
2282
2197
  # reduce 119 omitted
2283
2198
 
2284
- module_eval(<<'.,.,', 'parser.y', 852)
2199
+ module_eval(<<'.,.,', 'parser.y', 765)
2285
2200
  def _reduce_120(val, _values, result)
2286
2201
  checkpoint(val[0].location)
2287
-
2288
2202
  val[2].full = true
2289
2203
  result = TypeofTypeSpecifier.new(val[2], nil)
2290
2204
  result.head_token = val[0]
@@ -2294,10 +2208,9 @@ module_eval(<<'.,.,', 'parser.y', 852)
2294
2208
  end
2295
2209
  .,.,
2296
2210
 
2297
- module_eval(<<'.,.,', 'parser.y', 861)
2211
+ module_eval(<<'.,.,', 'parser.y', 773)
2298
2212
  def _reduce_121(val, _values, result)
2299
2213
  checkpoint(val[0].location)
2300
-
2301
2214
  result = TypeofTypeSpecifier.new(nil, val[2])
2302
2215
  result.head_token = val[0]
2303
2216
  result.tail_token = val[3]
@@ -2306,10 +2219,9 @@ module_eval(<<'.,.,', 'parser.y', 861)
2306
2219
  end
2307
2220
  .,.,
2308
2221
 
2309
- module_eval(<<'.,.,', 'parser.y', 872)
2222
+ module_eval(<<'.,.,', 'parser.y', 783)
2310
2223
  def _reduce_122(val, _values, result)
2311
2224
  checkpoint(val[0].location)
2312
-
2313
2225
  result = StructSpecifier.new(val[1], val[3])
2314
2226
  result.head_token = val[0]
2315
2227
  result.tail_token = val[4]
@@ -2318,10 +2230,9 @@ module_eval(<<'.,.,', 'parser.y', 872)
2318
2230
  end
2319
2231
  .,.,
2320
2232
 
2321
- module_eval(<<'.,.,', 'parser.y', 880)
2233
+ module_eval(<<'.,.,', 'parser.y', 790)
2322
2234
  def _reduce_123(val, _values, result)
2323
2235
  checkpoint(val[0].location)
2324
-
2325
2236
  result = StructSpecifier.new(val[1], [])
2326
2237
  result.head_token = val[0]
2327
2238
  result.tail_token = val[3]
@@ -2330,10 +2241,9 @@ module_eval(<<'.,.,', 'parser.y', 880)
2330
2241
  end
2331
2242
  .,.,
2332
2243
 
2333
- module_eval(<<'.,.,', 'parser.y', 888)
2244
+ module_eval(<<'.,.,', 'parser.y', 797)
2334
2245
  def _reduce_124(val, _values, result)
2335
2246
  checkpoint(val[0].location)
2336
-
2337
2247
  result = UnionSpecifier.new(val[1], val[3])
2338
2248
  result.head_token = val[0]
2339
2249
  result.tail_token = val[4]
@@ -2342,10 +2252,9 @@ module_eval(<<'.,.,', 'parser.y', 888)
2342
2252
  end
2343
2253
  .,.,
2344
2254
 
2345
- module_eval(<<'.,.,', 'parser.y', 896)
2255
+ module_eval(<<'.,.,', 'parser.y', 804)
2346
2256
  def _reduce_125(val, _values, result)
2347
2257
  checkpoint(val[0].location)
2348
-
2349
2258
  result = UnionSpecifier.new(val[1], [])
2350
2259
  result.head_token = val[0]
2351
2260
  result.tail_token = val[3]
@@ -2354,11 +2263,10 @@ module_eval(<<'.,.,', 'parser.y', 896)
2354
2263
  end
2355
2264
  .,.,
2356
2265
 
2357
- module_eval(<<'.,.,', 'parser.y', 904)
2266
+ module_eval(<<'.,.,', 'parser.y', 811)
2358
2267
  def _reduce_126(val, _values, result)
2359
2268
  checkpoint(val[0].location)
2360
-
2361
- result = StructSpecifier.new(create_unnamed_tag_name(val[0]), val[2])
2269
+ result = StructSpecifier.new(create_anon_tag_name(val[0]), val[2])
2362
2270
  result.head_token = val[0]
2363
2271
  result.tail_token = val[3]
2364
2272
 
@@ -2366,11 +2274,10 @@ module_eval(<<'.,.,', 'parser.y', 904)
2366
2274
  end
2367
2275
  .,.,
2368
2276
 
2369
- module_eval(<<'.,.,', 'parser.y', 912)
2277
+ module_eval(<<'.,.,', 'parser.y', 818)
2370
2278
  def _reduce_127(val, _values, result)
2371
2279
  checkpoint(val[0].location)
2372
-
2373
- result = StructSpecifier.new(create_unnamed_tag_name(val[0]), [])
2280
+ result = StructSpecifier.new(create_anon_tag_name(val[0]), [])
2374
2281
  result.head_token = val[0]
2375
2282
  result.tail_token = val[2]
2376
2283
 
@@ -2378,11 +2285,10 @@ module_eval(<<'.,.,', 'parser.y', 912)
2378
2285
  end
2379
2286
  .,.,
2380
2287
 
2381
- module_eval(<<'.,.,', 'parser.y', 920)
2288
+ module_eval(<<'.,.,', 'parser.y', 825)
2382
2289
  def _reduce_128(val, _values, result)
2383
2290
  checkpoint(val[0].location)
2384
-
2385
- result = UnionSpecifier.new(create_unnamed_tag_name(val[0]), val[2])
2291
+ result = UnionSpecifier.new(create_anon_tag_name(val[0]), val[2])
2386
2292
  result.head_token = val[0]
2387
2293
  result.tail_token = val[3]
2388
2294
 
@@ -2390,11 +2296,10 @@ module_eval(<<'.,.,', 'parser.y', 920)
2390
2296
  end
2391
2297
  .,.,
2392
2298
 
2393
- module_eval(<<'.,.,', 'parser.y', 928)
2299
+ module_eval(<<'.,.,', 'parser.y', 832)
2394
2300
  def _reduce_129(val, _values, result)
2395
2301
  checkpoint(val[0].location)
2396
-
2397
- result = UnionSpecifier.new(create_unnamed_tag_name(val[0]), [])
2302
+ result = UnionSpecifier.new(create_anon_tag_name(val[0]), [])
2398
2303
  result.head_token = val[0]
2399
2304
  result.tail_token = val[2]
2400
2305
 
@@ -2402,10 +2307,9 @@ module_eval(<<'.,.,', 'parser.y', 928)
2402
2307
  end
2403
2308
  .,.,
2404
2309
 
2405
- module_eval(<<'.,.,', 'parser.y', 936)
2310
+ module_eval(<<'.,.,', 'parser.y', 839)
2406
2311
  def _reduce_130(val, _values, result)
2407
2312
  checkpoint(val[0].location)
2408
-
2409
2313
  result = StructSpecifier.new(val[1], nil)
2410
2314
  result.head_token = val[0]
2411
2315
  result.tail_token = val[1]
@@ -2414,10 +2318,9 @@ module_eval(<<'.,.,', 'parser.y', 936)
2414
2318
  end
2415
2319
  .,.,
2416
2320
 
2417
- module_eval(<<'.,.,', 'parser.y', 944)
2321
+ module_eval(<<'.,.,', 'parser.y', 846)
2418
2322
  def _reduce_131(val, _values, result)
2419
2323
  checkpoint(val[0].location)
2420
-
2421
2324
  result = UnionSpecifier.new(val[1], nil)
2422
2325
  result.head_token = val[0]
2423
2326
  result.tail_token = val[1]
@@ -2426,32 +2329,28 @@ module_eval(<<'.,.,', 'parser.y', 944)
2426
2329
  end
2427
2330
  .,.,
2428
2331
 
2429
- module_eval(<<'.,.,', 'parser.y', 955)
2332
+ module_eval(<<'.,.,', 'parser.y', 856)
2430
2333
  def _reduce_132(val, _values, result)
2431
2334
  checkpoint(val[0].location)
2432
-
2433
2335
  result = val
2434
2336
 
2435
2337
  result
2436
2338
  end
2437
2339
  .,.,
2438
2340
 
2439
- module_eval(<<'.,.,', 'parser.y', 961)
2341
+ module_eval(<<'.,.,', 'parser.y', 861)
2440
2342
  def _reduce_133(val, _values, result)
2441
2343
  checkpoint(val[0].first.location)
2442
-
2443
2344
  result = val[0].push(val[1])
2444
2345
 
2445
2346
  result
2446
2347
  end
2447
2348
  .,.,
2448
2349
 
2449
- module_eval(<<'.,.,', 'parser.y', 970)
2350
+ module_eval(<<'.,.,', 'parser.y', 869)
2450
2351
  def _reduce_134(val, _values, result)
2451
2352
  checkpoint(val[0].location)
2452
-
2453
2353
  @lexer.start_identifier_translation
2454
-
2455
2354
  result = StructDeclaration.new(val[0], [])
2456
2355
  result.head_token = val[0].head_token
2457
2356
  result.tail_token = val[1]
@@ -2460,17 +2359,16 @@ module_eval(<<'.,.,', 'parser.y', 970)
2460
2359
  end
2461
2360
  .,.,
2462
2361
 
2463
- module_eval(<<'.,.,', 'parser.y', 978)
2362
+ module_eval(<<'.,.,', 'parser.y', 875)
2464
2363
  def _reduce_135(val, _values, result)
2465
2364
  @lexer.stop_identifier_translation
2466
2365
  result
2467
2366
  end
2468
2367
  .,.,
2469
2368
 
2470
- module_eval(<<'.,.,', 'parser.y', 981)
2369
+ module_eval(<<'.,.,', 'parser.y', 878)
2471
2370
  def _reduce_136(val, _values, result)
2472
2371
  checkpoint(val[0].location)
2473
-
2474
2372
  result = StructDeclaration.new(val[0], val[2])
2475
2373
  result.head_token = val[0].head_token
2476
2374
  result.tail_token = val[3]
@@ -2479,12 +2377,10 @@ module_eval(<<'.,.,', 'parser.y', 981)
2479
2377
  end
2480
2378
  .,.,
2481
2379
 
2482
- module_eval(<<'.,.,', 'parser.y', 992)
2380
+ module_eval(<<'.,.,', 'parser.y', 888)
2483
2381
  def _reduce_137(val, _values, result)
2484
2382
  checkpoint(val[0].location)
2485
-
2486
2383
  @lexer.stop_identifier_translation
2487
-
2488
2384
  result = val[0]
2489
2385
  result.type_specifiers.push(val[1])
2490
2386
  result.tail_token = val[1].tail_token
@@ -2493,12 +2389,10 @@ module_eval(<<'.,.,', 'parser.y', 992)
2493
2389
  end
2494
2390
  .,.,
2495
2391
 
2496
- module_eval(<<'.,.,', 'parser.y', 1002)
2392
+ module_eval(<<'.,.,', 'parser.y', 896)
2497
2393
  def _reduce_138(val, _values, result)
2498
2394
  checkpoint(val[0].location)
2499
-
2500
2395
  @lexer.stop_identifier_translation
2501
-
2502
2396
  result = SpecifierQualifierList.new
2503
2397
  result.type_specifiers.push(val[0])
2504
2398
  result.head_token = val[0].head_token
@@ -2508,10 +2402,9 @@ module_eval(<<'.,.,', 'parser.y', 1002)
2508
2402
  end
2509
2403
  .,.,
2510
2404
 
2511
- module_eval(<<'.,.,', 'parser.y', 1013)
2405
+ module_eval(<<'.,.,', 'parser.y', 905)
2512
2406
  def _reduce_139(val, _values, result)
2513
2407
  checkpoint(val[0].location)
2514
-
2515
2408
  result = val[0]
2516
2409
  result.type_qualifiers.push(val[1])
2517
2410
  result.tail_token = val[1]
@@ -2520,10 +2413,9 @@ module_eval(<<'.,.,', 'parser.y', 1013)
2520
2413
  end
2521
2414
  .,.,
2522
2415
 
2523
- module_eval(<<'.,.,', 'parser.y', 1021)
2416
+ module_eval(<<'.,.,', 'parser.y', 912)
2524
2417
  def _reduce_140(val, _values, result)
2525
2418
  checkpoint(val[0].location)
2526
-
2527
2419
  result = SpecifierQualifierList.new
2528
2420
  result.type_qualifiers.push(val[0])
2529
2421
  result.head_token = result.tail_token = val[0]
@@ -2532,30 +2424,27 @@ module_eval(<<'.,.,', 'parser.y', 1021)
2532
2424
  end
2533
2425
  .,.,
2534
2426
 
2535
- module_eval(<<'.,.,', 'parser.y', 1032)
2427
+ module_eval(<<'.,.,', 'parser.y', 922)
2536
2428
  def _reduce_141(val, _values, result)
2537
2429
  checkpoint(val[0].location)
2538
-
2539
2430
  result = val
2540
2431
 
2541
2432
  result
2542
2433
  end
2543
2434
  .,.,
2544
2435
 
2545
- module_eval(<<'.,.,', 'parser.y', 1038)
2436
+ module_eval(<<'.,.,', 'parser.y', 927)
2546
2437
  def _reduce_142(val, _values, result)
2547
2438
  checkpoint(val[0].first.location)
2548
-
2549
2439
  result = val[0].push(val[2])
2550
2440
 
2551
2441
  result
2552
2442
  end
2553
2443
  .,.,
2554
2444
 
2555
- module_eval(<<'.,.,', 'parser.y', 1047)
2445
+ module_eval(<<'.,.,', 'parser.y', 935)
2556
2446
  def _reduce_143(val, _values, result)
2557
2447
  checkpoint(val[0].location)
2558
-
2559
2448
  result = StructDeclarator.new(val[0], nil)
2560
2449
  result.head_token = val[0].head_token
2561
2450
  result.tail_token = val[0].tail_token
@@ -2564,10 +2453,9 @@ module_eval(<<'.,.,', 'parser.y', 1047)
2564
2453
  end
2565
2454
  .,.,
2566
2455
 
2567
- module_eval(<<'.,.,', 'parser.y', 1055)
2456
+ module_eval(<<'.,.,', 'parser.y', 942)
2568
2457
  def _reduce_144(val, _values, result)
2569
2458
  checkpoint(val[0].location)
2570
-
2571
2459
  val[1].full = true
2572
2460
  result = StructDeclarator.new(nil, val[1])
2573
2461
  result.head_token = val[0]
@@ -2577,10 +2465,9 @@ module_eval(<<'.,.,', 'parser.y', 1055)
2577
2465
  end
2578
2466
  .,.,
2579
2467
 
2580
- module_eval(<<'.,.,', 'parser.y', 1064)
2468
+ module_eval(<<'.,.,', 'parser.y', 950)
2581
2469
  def _reduce_145(val, _values, result)
2582
2470
  checkpoint(val[0].location)
2583
-
2584
2471
  val[2].full = true
2585
2472
  result = StructDeclarator.new(val[0], val[2])
2586
2473
  result.head_token = val[0].head_token
@@ -2590,11 +2477,10 @@ module_eval(<<'.,.,', 'parser.y', 1064)
2590
2477
  end
2591
2478
  .,.,
2592
2479
 
2593
- module_eval(<<'.,.,', 'parser.y', 1076)
2480
+ module_eval(<<'.,.,', 'parser.y', 961)
2594
2481
  def _reduce_146(val, _values, result)
2595
2482
  checkpoint(val[0].location)
2596
-
2597
- result = EnumSpecifier.new(create_unnamed_tag_name(val[0]), val[2])
2483
+ result = EnumSpecifier.new(create_anon_tag_name(val[0]), val[2])
2598
2484
  result.head_token = val[0]
2599
2485
  result.tail_token = val[3]
2600
2486
 
@@ -2602,10 +2488,9 @@ module_eval(<<'.,.,', 'parser.y', 1076)
2602
2488
  end
2603
2489
  .,.,
2604
2490
 
2605
- module_eval(<<'.,.,', 'parser.y', 1084)
2491
+ module_eval(<<'.,.,', 'parser.y', 968)
2606
2492
  def _reduce_147(val, _values, result)
2607
2493
  checkpoint(val[0].location)
2608
-
2609
2494
  result = EnumSpecifier.new(val[1], val[3])
2610
2495
  result.head_token = val[0]
2611
2496
  result.tail_token = val[4]
@@ -2614,12 +2499,11 @@ module_eval(<<'.,.,', 'parser.y', 1084)
2614
2499
  end
2615
2500
  .,.,
2616
2501
 
2617
- module_eval(<<'.,.,', 'parser.y', 1092)
2502
+ module_eval(<<'.,.,', 'parser.y', 975)
2618
2503
  def _reduce_148(val, _values, result)
2619
2504
  checkpoint(val[0].location)
2620
-
2621
- result = EnumSpecifier.new(create_unnamed_tag_name(val[0]), val[2],
2622
- val[3])
2505
+ result = EnumSpecifier.new(create_anon_tag_name(val[0]),
2506
+ val[2], val[3])
2623
2507
  result.head_token = val[0]
2624
2508
  result.tail_token = val[4]
2625
2509
 
@@ -2627,10 +2511,9 @@ module_eval(<<'.,.,', 'parser.y', 1092)
2627
2511
  end
2628
2512
  .,.,
2629
2513
 
2630
- module_eval(<<'.,.,', 'parser.y', 1101)
2514
+ module_eval(<<'.,.,', 'parser.y', 983)
2631
2515
  def _reduce_149(val, _values, result)
2632
2516
  checkpoint(val[0].location)
2633
-
2634
2517
  result = EnumSpecifier.new(val[1], val[3], val[4])
2635
2518
  result.head_token = val[0]
2636
2519
  result.tail_token = val[5]
@@ -2639,10 +2522,9 @@ module_eval(<<'.,.,', 'parser.y', 1101)
2639
2522
  end
2640
2523
  .,.,
2641
2524
 
2642
- module_eval(<<'.,.,', 'parser.y', 1109)
2525
+ module_eval(<<'.,.,', 'parser.y', 990)
2643
2526
  def _reduce_150(val, _values, result)
2644
2527
  checkpoint(val[0].location)
2645
-
2646
2528
  result = EnumSpecifier.new(val[1], nil)
2647
2529
  result.head_token = val[0]
2648
2530
  result.tail_token = val[1]
@@ -2651,45 +2533,41 @@ module_eval(<<'.,.,', 'parser.y', 1109)
2651
2533
  end
2652
2534
  .,.,
2653
2535
 
2654
- module_eval(<<'.,.,', 'parser.y', 1120)
2536
+ module_eval(<<'.,.,', 'parser.y', 1000)
2655
2537
  def _reduce_151(val, _values, result)
2656
2538
  checkpoint(val[0].location)
2657
-
2658
2539
  result = val
2659
2540
 
2660
2541
  result
2661
2542
  end
2662
2543
  .,.,
2663
2544
 
2664
- module_eval(<<'.,.,', 'parser.y', 1126)
2545
+ module_eval(<<'.,.,', 'parser.y', 1005)
2665
2546
  def _reduce_152(val, _values, result)
2666
2547
  checkpoint(val[0].first.location)
2667
-
2668
2548
  result = val[0].push(val[2])
2669
2549
 
2670
2550
  result
2671
2551
  end
2672
2552
  .,.,
2673
2553
 
2674
- module_eval(<<'.,.,', 'parser.y', 1135)
2554
+ module_eval(<<'.,.,', 'parser.y', 1013)
2675
2555
  def _reduce_153(val, _values, result)
2676
2556
  checkpoint(val[0].location)
2677
-
2678
- symbol = @symbol_table.create_new_symbol(EnumeratorName, val[0])
2679
- result = Enumerator.new(val[0], nil, symbol)
2557
+ sym = @sym_tbl.create_new_symbol(EnumeratorName, val[0])
2558
+ result = Enumerator.new(val[0], nil, sym)
2680
2559
  result.head_token = result.tail_token = val[0]
2681
2560
 
2682
2561
  result
2683
2562
  end
2684
2563
  .,.,
2685
2564
 
2686
- module_eval(<<'.,.,', 'parser.y', 1143)
2565
+ module_eval(<<'.,.,', 'parser.y', 1020)
2687
2566
  def _reduce_154(val, _values, result)
2688
2567
  checkpoint(val[0].location)
2689
-
2690
2568
  val[2].full = true
2691
- symbol = @symbol_table.create_new_symbol(EnumeratorName, val[0])
2692
- result = Enumerator.new(val[0], val[2], symbol)
2569
+ sym = @sym_tbl.create_new_symbol(EnumeratorName, val[0])
2570
+ result = Enumerator.new(val[0], val[2], sym)
2693
2571
  result.head_token = val[0]
2694
2572
  result.tail_token = val[2].tail_token
2695
2573
 
@@ -2705,10 +2583,9 @@ module_eval(<<'.,.,', 'parser.y', 1143)
2705
2583
 
2706
2584
  # reduce 158 omitted
2707
2585
 
2708
- module_eval(<<'.,.,', 'parser.y', 1166)
2586
+ module_eval(<<'.,.,', 'parser.y', 1042)
2709
2587
  def _reduce_159(val, _values, result)
2710
2588
  checkpoint(val[0].first.location)
2711
-
2712
2589
  result = val[1]
2713
2590
  result.pointer = val[0]
2714
2591
  result.head_token = val[0].first
@@ -2718,10 +2595,9 @@ module_eval(<<'.,.,', 'parser.y', 1166)
2718
2595
  end
2719
2596
  .,.,
2720
2597
 
2721
- module_eval(<<'.,.,', 'parser.y', 1175)
2598
+ module_eval(<<'.,.,', 'parser.y', 1050)
2722
2599
  def _reduce_160(val, _values, result)
2723
2600
  checkpoint(val[0].location)
2724
-
2725
2601
  result = val[0]
2726
2602
  result.full = true
2727
2603
 
@@ -2729,12 +2605,10 @@ module_eval(<<'.,.,', 'parser.y', 1175)
2729
2605
  end
2730
2606
  .,.,
2731
2607
 
2732
- module_eval(<<'.,.,', 'parser.y', 1185)
2608
+ module_eval(<<'.,.,', 'parser.y', 1059)
2733
2609
  def _reduce_161(val, _values, result)
2734
2610
  checkpoint(val[0].location)
2735
-
2736
2611
  @lexer.start_identifier_translation
2737
-
2738
2612
  result = IdentifierDeclarator.new(val[0])
2739
2613
  result.head_token = result.tail_token = val[0]
2740
2614
 
@@ -2742,10 +2616,9 @@ module_eval(<<'.,.,', 'parser.y', 1185)
2742
2616
  end
2743
2617
  .,.,
2744
2618
 
2745
- module_eval(<<'.,.,', 'parser.y', 1194)
2619
+ module_eval(<<'.,.,', 'parser.y', 1066)
2746
2620
  def _reduce_162(val, _values, result)
2747
2621
  checkpoint(val[0].location)
2748
-
2749
2622
  result = GroupedDeclarator.new(val[1])
2750
2623
  result.head_token = val[0]
2751
2624
  result.tail_token = val[2]
@@ -2754,10 +2627,9 @@ module_eval(<<'.,.,', 'parser.y', 1194)
2754
2627
  end
2755
2628
  .,.,
2756
2629
 
2757
- module_eval(<<'.,.,', 'parser.y', 1202)
2630
+ module_eval(<<'.,.,', 'parser.y', 1073)
2758
2631
  def _reduce_163(val, _values, result)
2759
2632
  checkpoint(val[0].location)
2760
-
2761
2633
  val[3].full = true
2762
2634
  result = ArrayDeclarator.new(val[0], val[3])
2763
2635
  result.head_token = val[0].head_token
@@ -2767,10 +2639,9 @@ module_eval(<<'.,.,', 'parser.y', 1202)
2767
2639
  end
2768
2640
  .,.,
2769
2641
 
2770
- module_eval(<<'.,.,', 'parser.y', 1211)
2642
+ module_eval(<<'.,.,', 'parser.y', 1081)
2771
2643
  def _reduce_164(val, _values, result)
2772
2644
  checkpoint(val[0].location)
2773
-
2774
2645
  result = ArrayDeclarator.new(val[0], nil)
2775
2646
  result.head_token = val[0].head_token
2776
2647
  result.tail_token = val[3]
@@ -2779,10 +2650,9 @@ module_eval(<<'.,.,', 'parser.y', 1211)
2779
2650
  end
2780
2651
  .,.,
2781
2652
 
2782
- module_eval(<<'.,.,', 'parser.y', 1219)
2653
+ module_eval(<<'.,.,', 'parser.y', 1088)
2783
2654
  def _reduce_165(val, _values, result)
2784
2655
  checkpoint(val[0].location)
2785
-
2786
2656
  val[2].full = true
2787
2657
  result = ArrayDeclarator.new(val[0], val[2])
2788
2658
  result.head_token = val[0].head_token
@@ -2792,10 +2662,9 @@ module_eval(<<'.,.,', 'parser.y', 1219)
2792
2662
  end
2793
2663
  .,.,
2794
2664
 
2795
- module_eval(<<'.,.,', 'parser.y', 1229)
2665
+ module_eval(<<'.,.,', 'parser.y', 1097)
2796
2666
  def _reduce_166(val, _values, result)
2797
2667
  checkpoint(val[0].location)
2798
-
2799
2668
  val[4].full = true
2800
2669
  result = ArrayDeclarator.new(val[0], val[4])
2801
2670
  result.head_token = val[0].head_token
@@ -2805,10 +2674,9 @@ module_eval(<<'.,.,', 'parser.y', 1229)
2805
2674
  end
2806
2675
  .,.,
2807
2676
 
2808
- module_eval(<<'.,.,', 'parser.y', 1239)
2677
+ module_eval(<<'.,.,', 'parser.y', 1106)
2809
2678
  def _reduce_167(val, _values, result)
2810
2679
  checkpoint(val[0].location)
2811
-
2812
2680
  val[4].full = true
2813
2681
  result = ArrayDeclarator.new(val[0], val[4])
2814
2682
  result.head_token = val[0].head_token
@@ -2818,10 +2686,9 @@ module_eval(<<'.,.,', 'parser.y', 1239)
2818
2686
  end
2819
2687
  .,.,
2820
2688
 
2821
- module_eval(<<'.,.,', 'parser.y', 1248)
2689
+ module_eval(<<'.,.,', 'parser.y', 1114)
2822
2690
  def _reduce_168(val, _values, result)
2823
2691
  checkpoint(val[0].location)
2824
-
2825
2692
  result = ArrayDeclarator.new(val[0], nil)
2826
2693
  result.head_token = val[0].head_token
2827
2694
  result.tail_token = val[4]
@@ -2830,10 +2697,9 @@ module_eval(<<'.,.,', 'parser.y', 1248)
2830
2697
  end
2831
2698
  .,.,
2832
2699
 
2833
- module_eval(<<'.,.,', 'parser.y', 1256)
2700
+ module_eval(<<'.,.,', 'parser.y', 1121)
2834
2701
  def _reduce_169(val, _values, result)
2835
2702
  checkpoint(val[0].location)
2836
-
2837
2703
  result = ArrayDeclarator.new(val[0], nil)
2838
2704
  result.head_token = val[0].head_token
2839
2705
  result.tail_token = val[3]
@@ -2842,10 +2708,9 @@ module_eval(<<'.,.,', 'parser.y', 1256)
2842
2708
  end
2843
2709
  .,.,
2844
2710
 
2845
- module_eval(<<'.,.,', 'parser.y', 1264)
2711
+ module_eval(<<'.,.,', 'parser.y', 1128)
2846
2712
  def _reduce_170(val, _values, result)
2847
2713
  checkpoint(val[0].location)
2848
-
2849
2714
  result = ArrayDeclarator.new(val[0], nil)
2850
2715
  result.head_token = val[0].head_token
2851
2716
  result.tail_token = val[2]
@@ -2854,10 +2719,9 @@ module_eval(<<'.,.,', 'parser.y', 1264)
2854
2719
  end
2855
2720
  .,.,
2856
2721
 
2857
- module_eval(<<'.,.,', 'parser.y', 1272)
2722
+ module_eval(<<'.,.,', 'parser.y', 1135)
2858
2723
  def _reduce_171(val, _values, result)
2859
2724
  checkpoint(val[0].location)
2860
-
2861
2725
  result = AnsiFunctionDeclarator.new(val[0], val[2])
2862
2726
  result.head_token = val[0].head_token
2863
2727
  result.tail_token = val[3]
@@ -2866,10 +2730,9 @@ module_eval(<<'.,.,', 'parser.y', 1272)
2866
2730
  end
2867
2731
  .,.,
2868
2732
 
2869
- module_eval(<<'.,.,', 'parser.y', 1280)
2733
+ module_eval(<<'.,.,', 'parser.y', 1142)
2870
2734
  def _reduce_172(val, _values, result)
2871
2735
  checkpoint(val[0].location)
2872
-
2873
2736
  result = KandRFunctionDeclarator.new(val[0], val[2])
2874
2737
  result.head_token = val[0].head_token
2875
2738
  result.tail_token = val[3]
@@ -2878,10 +2741,9 @@ module_eval(<<'.,.,', 'parser.y', 1280)
2878
2741
  end
2879
2742
  .,.,
2880
2743
 
2881
- module_eval(<<'.,.,', 'parser.y', 1288)
2744
+ module_eval(<<'.,.,', 'parser.y', 1149)
2882
2745
  def _reduce_173(val, _values, result)
2883
2746
  checkpoint(val[0].location)
2884
-
2885
2747
  result = AbbreviatedFunctionDeclarator.new(val[0])
2886
2748
  result.head_token = val[0].head_token
2887
2749
  result.tail_token = val[2]
@@ -2890,70 +2752,63 @@ module_eval(<<'.,.,', 'parser.y', 1288)
2890
2752
  end
2891
2753
  .,.,
2892
2754
 
2893
- module_eval(<<'.,.,', 'parser.y', 1299)
2755
+ module_eval(<<'.,.,', 'parser.y', 1159)
2894
2756
  def _reduce_174(val, _values, result)
2895
2757
  checkpoint(val[0].location)
2896
-
2897
2758
  result = val
2898
2759
 
2899
2760
  result
2900
2761
  end
2901
2762
  .,.,
2902
2763
 
2903
- module_eval(<<'.,.,', 'parser.y', 1305)
2764
+ module_eval(<<'.,.,', 'parser.y', 1164)
2904
2765
  def _reduce_175(val, _values, result)
2905
2766
  checkpoint(val[0].location)
2906
-
2907
2767
  result = val[1].unshift(val[0])
2908
2768
 
2909
2769
  result
2910
2770
  end
2911
2771
  .,.,
2912
2772
 
2913
- module_eval(<<'.,.,', 'parser.y', 1311)
2773
+ module_eval(<<'.,.,', 'parser.y', 1169)
2914
2774
  def _reduce_176(val, _values, result)
2915
2775
  checkpoint(val[0].location)
2916
-
2917
2776
  result = val[1].unshift(val[0])
2918
2777
 
2919
2778
  result
2920
2779
  end
2921
2780
  .,.,
2922
2781
 
2923
- module_eval(<<'.,.,', 'parser.y', 1317)
2782
+ module_eval(<<'.,.,', 'parser.y', 1174)
2924
2783
  def _reduce_177(val, _values, result)
2925
2784
  checkpoint(val[0].location)
2926
-
2927
2785
  result = val[1].unshift(val[0]).concat(val[2])
2928
2786
 
2929
2787
  result
2930
2788
  end
2931
2789
  .,.,
2932
2790
 
2933
- module_eval(<<'.,.,', 'parser.y', 1326)
2791
+ module_eval(<<'.,.,', 'parser.y', 1182)
2934
2792
  def _reduce_178(val, _values, result)
2935
2793
  checkpoint(val[0].location)
2936
-
2937
2794
  result = val
2938
2795
 
2939
2796
  result
2940
2797
  end
2941
2798
  .,.,
2942
2799
 
2943
- module_eval(<<'.,.,', 'parser.y', 1332)
2800
+ module_eval(<<'.,.,', 'parser.y', 1187)
2944
2801
  def _reduce_179(val, _values, result)
2945
2802
  checkpoint(val[0].first.location)
2946
-
2947
2803
  result = val[0].push(val[1])
2948
2804
 
2949
2805
  result
2950
2806
  end
2951
2807
  .,.,
2952
2808
 
2953
- module_eval(<<'.,.,', 'parser.y', 1341)
2809
+ module_eval(<<'.,.,', 'parser.y', 1195)
2954
2810
  def _reduce_180(val, _values, result)
2955
2811
  checkpoint(val[0].first.location)
2956
-
2957
2812
  result = ParameterTypeList.new(val[0], false)
2958
2813
  result.head_token = val[0].first.head_token
2959
2814
  result.tail_token = val[0].last.tail_token
@@ -2962,10 +2817,9 @@ module_eval(<<'.,.,', 'parser.y', 1341)
2962
2817
  end
2963
2818
  .,.,
2964
2819
 
2965
- module_eval(<<'.,.,', 'parser.y', 1349)
2820
+ module_eval(<<'.,.,', 'parser.y', 1202)
2966
2821
  def _reduce_181(val, _values, result)
2967
2822
  checkpoint(val[0].first.location)
2968
-
2969
2823
  result = ParameterTypeList.new(val[0], true)
2970
2824
  result.head_token = val[0].first.head_token
2971
2825
  result.tail_token = val[2]
@@ -2974,30 +2828,27 @@ module_eval(<<'.,.,', 'parser.y', 1349)
2974
2828
  end
2975
2829
  .,.,
2976
2830
 
2977
- module_eval(<<'.,.,', 'parser.y', 1360)
2831
+ module_eval(<<'.,.,', 'parser.y', 1212)
2978
2832
  def _reduce_182(val, _values, result)
2979
2833
  checkpoint(val[0].location)
2980
-
2981
2834
  result = val
2982
2835
 
2983
2836
  result
2984
2837
  end
2985
2838
  .,.,
2986
2839
 
2987
- module_eval(<<'.,.,', 'parser.y', 1366)
2840
+ module_eval(<<'.,.,', 'parser.y', 1217)
2988
2841
  def _reduce_183(val, _values, result)
2989
2842
  checkpoint(val[0].first.location)
2990
-
2991
2843
  result = val[0].push(val[2])
2992
2844
 
2993
2845
  result
2994
2846
  end
2995
2847
  .,.,
2996
2848
 
2997
- module_eval(<<'.,.,', 'parser.y', 1375)
2849
+ module_eval(<<'.,.,', 'parser.y', 1225)
2998
2850
  def _reduce_184(val, _values, result)
2999
2851
  checkpoint(val[0].location)
3000
-
3001
2852
  result = ParameterDeclaration.new(val[0], val[1])
3002
2853
  result.head_token = val[0].head_token
3003
2854
  result.tail_token = val[1].tail_token
@@ -3006,10 +2857,9 @@ module_eval(<<'.,.,', 'parser.y', 1375)
3006
2857
  end
3007
2858
  .,.,
3008
2859
 
3009
- module_eval(<<'.,.,', 'parser.y', 1383)
2860
+ module_eval(<<'.,.,', 'parser.y', 1232)
3010
2861
  def _reduce_185(val, _values, result)
3011
2862
  checkpoint(val[0].location)
3012
-
3013
2863
  result = ParameterDeclaration.new(val[0], val[1])
3014
2864
  result.head_token = val[0].head_token
3015
2865
  result.tail_token = val[1].tail_token
@@ -3018,12 +2868,10 @@ module_eval(<<'.,.,', 'parser.y', 1383)
3018
2868
  end
3019
2869
  .,.,
3020
2870
 
3021
- module_eval(<<'.,.,', 'parser.y', 1391)
2871
+ module_eval(<<'.,.,', 'parser.y', 1239)
3022
2872
  def _reduce_186(val, _values, result)
3023
2873
  checkpoint(val[0].location)
3024
-
3025
2874
  @lexer.start_identifier_translation
3026
-
3027
2875
  result = ParameterDeclaration.new(val[0], nil)
3028
2876
  result.head_token = val[0].head_token
3029
2877
  result.tail_token = val[0].tail_token
@@ -3032,33 +2880,29 @@ module_eval(<<'.,.,', 'parser.y', 1391)
3032
2880
  end
3033
2881
  .,.,
3034
2882
 
3035
- module_eval(<<'.,.,', 'parser.y', 1404)
2883
+ module_eval(<<'.,.,', 'parser.y', 1250)
3036
2884
  def _reduce_187(val, _values, result)
3037
2885
  checkpoint(val[0].location)
3038
-
3039
2886
  result = val
3040
2887
 
3041
2888
  result
3042
2889
  end
3043
2890
  .,.,
3044
2891
 
3045
- module_eval(<<'.,.,', 'parser.y', 1410)
2892
+ module_eval(<<'.,.,', 'parser.y', 1255)
3046
2893
  def _reduce_188(val, _values, result)
3047
2894
  checkpoint(val[0].first.location)
3048
-
3049
2895
  result = val[0].push(val[2])
3050
2896
 
3051
2897
  result
3052
2898
  end
3053
2899
  .,.,
3054
2900
 
3055
- module_eval(<<'.,.,', 'parser.y', 1419)
2901
+ module_eval(<<'.,.,', 'parser.y', 1263)
3056
2902
  def _reduce_189(val, _values, result)
3057
2903
  checkpoint(val[0].location)
3058
-
3059
2904
  @lexer.start_identifier_translation
3060
-
3061
- result = TypeName.new(val[0], nil, @symbol_table)
2905
+ result = TypeName.new(val[0], nil, @sym_tbl)
3062
2906
  result.head_token = val[0].head_token
3063
2907
  result.tail_token = val[0].tail_token
3064
2908
 
@@ -3066,11 +2910,10 @@ module_eval(<<'.,.,', 'parser.y', 1419)
3066
2910
  end
3067
2911
  .,.,
3068
2912
 
3069
- module_eval(<<'.,.,', 'parser.y', 1429)
2913
+ module_eval(<<'.,.,', 'parser.y', 1271)
3070
2914
  def _reduce_190(val, _values, result)
3071
2915
  checkpoint(val[0].location)
3072
-
3073
- result = TypeName.new(val[0], val[1], @symbol_table)
2916
+ result = TypeName.new(val[0], val[1], @sym_tbl)
3074
2917
  result.head_token = val[0].head_token
3075
2918
  result.tail_token = val[1].tail_token
3076
2919
 
@@ -3078,12 +2921,10 @@ module_eval(<<'.,.,', 'parser.y', 1429)
3078
2921
  end
3079
2922
  .,.,
3080
2923
 
3081
- module_eval(<<'.,.,', 'parser.y', 1440)
2924
+ module_eval(<<'.,.,', 'parser.y', 1281)
3082
2925
  def _reduce_191(val, _values, result)
3083
2926
  checkpoint(val[0].first.location)
3084
-
3085
2927
  @lexer.start_identifier_translation
3086
-
3087
2928
  result = PointerAbstractDeclarator.new(nil, val[0])
3088
2929
  result.head_token = val[0].first
3089
2930
  result.tail_token = val[0].last
@@ -3093,10 +2934,9 @@ module_eval(<<'.,.,', 'parser.y', 1440)
3093
2934
  end
3094
2935
  .,.,
3095
2936
 
3096
- module_eval(<<'.,.,', 'parser.y', 1451)
2937
+ module_eval(<<'.,.,', 'parser.y', 1290)
3097
2938
  def _reduce_192(val, _values, result)
3098
2939
  checkpoint(val[0].first.location)
3099
-
3100
2940
  result = PointerAbstractDeclarator.new(val[1], val[0])
3101
2941
  result.head_token = val[0].first
3102
2942
  result.tail_token = val[1].tail_token
@@ -3106,10 +2946,9 @@ module_eval(<<'.,.,', 'parser.y', 1451)
3106
2946
  end
3107
2947
  .,.,
3108
2948
 
3109
- module_eval(<<'.,.,', 'parser.y', 1460)
2949
+ module_eval(<<'.,.,', 'parser.y', 1298)
3110
2950
  def _reduce_193(val, _values, result)
3111
2951
  checkpoint(val[0].location)
3112
-
3113
2952
  result = val[0]
3114
2953
  result.full = true
3115
2954
 
@@ -3117,12 +2956,10 @@ module_eval(<<'.,.,', 'parser.y', 1460)
3117
2956
  end
3118
2957
  .,.,
3119
2958
 
3120
- module_eval(<<'.,.,', 'parser.y', 1470)
2959
+ module_eval(<<'.,.,', 'parser.y', 1307)
3121
2960
  def _reduce_194(val, _values, result)
3122
2961
  checkpoint(val[0].location)
3123
-
3124
2962
  @lexer.start_identifier_translation
3125
-
3126
2963
  result = GroupedAbstractDeclarator.new(val[1])
3127
2964
  result.head_token = val[0]
3128
2965
  result.tail_token = val[2]
@@ -3131,12 +2968,10 @@ module_eval(<<'.,.,', 'parser.y', 1470)
3131
2968
  end
3132
2969
  .,.,
3133
2970
 
3134
- module_eval(<<'.,.,', 'parser.y', 1480)
2971
+ module_eval(<<'.,.,', 'parser.y', 1315)
3135
2972
  def _reduce_195(val, _values, result)
3136
2973
  checkpoint(val[0].location)
3137
-
3138
2974
  @lexer.start_identifier_translation
3139
-
3140
2975
  result = ArrayAbstractDeclarator.new(nil, nil)
3141
2976
  result.head_token = val[0]
3142
2977
  result.tail_token = val[1]
@@ -3145,12 +2980,10 @@ module_eval(<<'.,.,', 'parser.y', 1480)
3145
2980
  end
3146
2981
  .,.,
3147
2982
 
3148
- module_eval(<<'.,.,', 'parser.y', 1490)
2983
+ module_eval(<<'.,.,', 'parser.y', 1323)
3149
2984
  def _reduce_196(val, _values, result)
3150
2985
  checkpoint(val[0].location)
3151
-
3152
2986
  @lexer.start_identifier_translation
3153
-
3154
2987
  val[1].full = true
3155
2988
  result = ArrayAbstractDeclarator.new(nil, val[1])
3156
2989
  result.head_token = val[0]
@@ -3160,10 +2993,9 @@ module_eval(<<'.,.,', 'parser.y', 1490)
3160
2993
  end
3161
2994
  .,.,
3162
2995
 
3163
- module_eval(<<'.,.,', 'parser.y', 1501)
2996
+ module_eval(<<'.,.,', 'parser.y', 1332)
3164
2997
  def _reduce_197(val, _values, result)
3165
2998
  checkpoint(val[0].location)
3166
-
3167
2999
  result = ArrayAbstractDeclarator.new(val[0], nil)
3168
3000
  result.head_token = val[0].head_token
3169
3001
  result.tail_token = val[2]
@@ -3172,10 +3004,9 @@ module_eval(<<'.,.,', 'parser.y', 1501)
3172
3004
  end
3173
3005
  .,.,
3174
3006
 
3175
- module_eval(<<'.,.,', 'parser.y', 1509)
3007
+ module_eval(<<'.,.,', 'parser.y', 1339)
3176
3008
  def _reduce_198(val, _values, result)
3177
3009
  checkpoint(val[0].location)
3178
-
3179
3010
  val[2].full = true
3180
3011
  result = ArrayAbstractDeclarator.new(val[0], val[2])
3181
3012
  result.head_token = val[0].head_token
@@ -3185,12 +3016,10 @@ module_eval(<<'.,.,', 'parser.y', 1509)
3185
3016
  end
3186
3017
  .,.,
3187
3018
 
3188
- module_eval(<<'.,.,', 'parser.y', 1518)
3019
+ module_eval(<<'.,.,', 'parser.y', 1347)
3189
3020
  def _reduce_199(val, _values, result)
3190
3021
  checkpoint(val[0].location)
3191
-
3192
3022
  @lexer.start_identifier_translation
3193
-
3194
3023
  result = ArrayAbstractDeclarator.new(nil, nil)
3195
3024
  result.head_token = val[0]
3196
3025
  result.tail_token = val[2]
@@ -3199,10 +3028,9 @@ module_eval(<<'.,.,', 'parser.y', 1518)
3199
3028
  end
3200
3029
  .,.,
3201
3030
 
3202
- module_eval(<<'.,.,', 'parser.y', 1528)
3031
+ module_eval(<<'.,.,', 'parser.y', 1355)
3203
3032
  def _reduce_200(val, _values, result)
3204
3033
  checkpoint(val[0].location)
3205
-
3206
3034
  result = ArrayAbstractDeclarator.new(val[0], nil)
3207
3035
  result.head_token = val[0].head_token
3208
3036
  result.tail_token = val[3]
@@ -3211,12 +3039,10 @@ module_eval(<<'.,.,', 'parser.y', 1528)
3211
3039
  end
3212
3040
  .,.,
3213
3041
 
3214
- module_eval(<<'.,.,', 'parser.y', 1536)
3042
+ module_eval(<<'.,.,', 'parser.y', 1362)
3215
3043
  def _reduce_201(val, _values, result)
3216
3044
  checkpoint(val[0].location)
3217
-
3218
3045
  @lexer.start_identifier_translation
3219
-
3220
3046
  result = FunctionAbstractDeclarator.new(nil, nil)
3221
3047
  result.head_token = val[0]
3222
3048
  result.tail_token = val[1]
@@ -3225,17 +3051,16 @@ module_eval(<<'.,.,', 'parser.y', 1536)
3225
3051
  end
3226
3052
  .,.,
3227
3053
 
3228
- module_eval(<<'.,.,', 'parser.y', 1544)
3054
+ module_eval(<<'.,.,', 'parser.y', 1368)
3229
3055
  def _reduce_202(val, _values, result)
3230
3056
  @lexer.start_identifier_translation
3231
3057
  result
3232
3058
  end
3233
3059
  .,.,
3234
3060
 
3235
- module_eval(<<'.,.,', 'parser.y', 1546)
3061
+ module_eval(<<'.,.,', 'parser.y', 1370)
3236
3062
  def _reduce_203(val, _values, result)
3237
3063
  checkpoint(val[0].location)
3238
-
3239
3064
  result = FunctionAbstractDeclarator.new(nil, val[2])
3240
3065
  result.head_token = val[0]
3241
3066
  result.tail_token = val[3]
@@ -3244,12 +3069,10 @@ module_eval(<<'.,.,', 'parser.y', 1546)
3244
3069
  end
3245
3070
  .,.,
3246
3071
 
3247
- module_eval(<<'.,.,', 'parser.y', 1554)
3072
+ module_eval(<<'.,.,', 'parser.y', 1377)
3248
3073
  def _reduce_204(val, _values, result)
3249
3074
  checkpoint(val[0].location)
3250
-
3251
3075
  @lexer.start_identifier_translation
3252
-
3253
3076
  result = FunctionAbstractDeclarator.new(val[0], nil)
3254
3077
  result.head_token = val[0].head_token
3255
3078
  result.tail_token = val[2]
@@ -3258,10 +3081,9 @@ module_eval(<<'.,.,', 'parser.y', 1554)
3258
3081
  end
3259
3082
  .,.,
3260
3083
 
3261
- module_eval(<<'.,.,', 'parser.y', 1564)
3084
+ module_eval(<<'.,.,', 'parser.y', 1385)
3262
3085
  def _reduce_205(val, _values, result)
3263
3086
  checkpoint(val[0].location)
3264
-
3265
3087
  result = FunctionAbstractDeclarator.new(val[0], val[2])
3266
3088
  result.head_token = val[0].head_token
3267
3089
  result.tail_token = val[3]
@@ -3270,10 +3092,9 @@ module_eval(<<'.,.,', 'parser.y', 1564)
3270
3092
  end
3271
3093
  .,.,
3272
3094
 
3273
- module_eval(<<'.,.,', 'parser.y', 1575)
3095
+ module_eval(<<'.,.,', 'parser.y', 1395)
3274
3096
  def _reduce_206(val, _values, result)
3275
3097
  checkpoint(val[0].location)
3276
-
3277
3098
  val[0].full = true
3278
3099
  result = Initializer.new(val[0], nil)
3279
3100
  result.head_token = val[0].head_token
@@ -3283,10 +3104,9 @@ module_eval(<<'.,.,', 'parser.y', 1575)
3283
3104
  end
3284
3105
  .,.,
3285
3106
 
3286
- module_eval(<<'.,.,', 'parser.y', 1584)
3107
+ module_eval(<<'.,.,', 'parser.y', 1403)
3287
3108
  def _reduce_207(val, _values, result)
3288
3109
  checkpoint(val[0].location)
3289
-
3290
3110
  result = Initializer.new(nil, nil)
3291
3111
  result.head_token = val[0]
3292
3112
  result.tail_token = val[1]
@@ -3295,10 +3115,9 @@ module_eval(<<'.,.,', 'parser.y', 1584)
3295
3115
  end
3296
3116
  .,.,
3297
3117
 
3298
- module_eval(<<'.,.,', 'parser.y', 1592)
3118
+ module_eval(<<'.,.,', 'parser.y', 1410)
3299
3119
  def _reduce_208(val, _values, result)
3300
3120
  checkpoint(val[0].location)
3301
-
3302
3121
  result = Initializer.new(nil, val[1])
3303
3122
  result.head_token = val[0]
3304
3123
  result.tail_token = val[2]
@@ -3307,10 +3126,9 @@ module_eval(<<'.,.,', 'parser.y', 1592)
3307
3126
  end
3308
3127
  .,.,
3309
3128
 
3310
- module_eval(<<'.,.,', 'parser.y', 1600)
3129
+ module_eval(<<'.,.,', 'parser.y', 1417)
3311
3130
  def _reduce_209(val, _values, result)
3312
3131
  checkpoint(val[0].location)
3313
-
3314
3132
  result = Initializer.new(nil, val[1])
3315
3133
  result.head_token = val[0]
3316
3134
  result.tail_token = val[3]
@@ -3319,40 +3137,36 @@ module_eval(<<'.,.,', 'parser.y', 1600)
3319
3137
  end
3320
3138
  .,.,
3321
3139
 
3322
- module_eval(<<'.,.,', 'parser.y', 1611)
3140
+ module_eval(<<'.,.,', 'parser.y', 1427)
3323
3141
  def _reduce_210(val, _values, result)
3324
3142
  checkpoint(val[0].location)
3325
-
3326
3143
  result = val
3327
3144
 
3328
3145
  result
3329
3146
  end
3330
3147
  .,.,
3331
3148
 
3332
- module_eval(<<'.,.,', 'parser.y', 1617)
3149
+ module_eval(<<'.,.,', 'parser.y', 1432)
3333
3150
  def _reduce_211(val, _values, result)
3334
3151
  checkpoint(val[1].location)
3335
-
3336
3152
  result = [val[1]]
3337
3153
 
3338
3154
  result
3339
3155
  end
3340
3156
  .,.,
3341
3157
 
3342
- module_eval(<<'.,.,', 'parser.y', 1623)
3158
+ module_eval(<<'.,.,', 'parser.y', 1437)
3343
3159
  def _reduce_212(val, _values, result)
3344
3160
  checkpoint(val[0].first.location)
3345
-
3346
3161
  result = val[0].push(val[2])
3347
3162
 
3348
3163
  result
3349
3164
  end
3350
3165
  .,.,
3351
3166
 
3352
- module_eval(<<'.,.,', 'parser.y', 1629)
3167
+ module_eval(<<'.,.,', 'parser.y', 1442)
3353
3168
  def _reduce_213(val, _values, result)
3354
3169
  checkpoint(val[0].first.location)
3355
-
3356
3170
  result = val[0].push(val[3])
3357
3171
 
3358
3172
  result
@@ -3381,10 +3195,9 @@ module_eval(<<'.,.,', 'parser.y', 1629)
3381
3195
 
3382
3196
  # reduce 224 omitted
3383
3197
 
3384
- module_eval(<<'.,.,', 'parser.y', 1664)
3198
+ module_eval(<<'.,.,', 'parser.y', 1476)
3385
3199
  def _reduce_225(val, _values, result)
3386
3200
  checkpoint(val[0].location)
3387
-
3388
3201
  result = GenericLabeledStatement.new(val[0], val[2])
3389
3202
  result.head_token = val[0]
3390
3203
  result.tail_token = val[2].tail_token
@@ -3393,10 +3206,9 @@ module_eval(<<'.,.,', 'parser.y', 1664)
3393
3206
  end
3394
3207
  .,.,
3395
3208
 
3396
- module_eval(<<'.,.,', 'parser.y', 1672)
3209
+ module_eval(<<'.,.,', 'parser.y', 1483)
3397
3210
  def _reduce_226(val, _values, result)
3398
3211
  checkpoint(val[0].location)
3399
-
3400
3212
  val[1].full = true
3401
3213
  result = CaseLabeledStatement.new(val[1], val[3])
3402
3214
  result.head_token = val[0]
@@ -3406,10 +3218,9 @@ module_eval(<<'.,.,', 'parser.y', 1672)
3406
3218
  end
3407
3219
  .,.,
3408
3220
 
3409
- module_eval(<<'.,.,', 'parser.y', 1681)
3221
+ module_eval(<<'.,.,', 'parser.y', 1491)
3410
3222
  def _reduce_227(val, _values, result)
3411
3223
  checkpoint(val[0].location)
3412
-
3413
3224
  result = DefaultLabeledStatement.new(val[2])
3414
3225
  result.head_token = val[0]
3415
3226
  result.tail_token = val[2].tail_token
@@ -3418,10 +3229,9 @@ module_eval(<<'.,.,', 'parser.y', 1681)
3418
3229
  end
3419
3230
  .,.,
3420
3231
 
3421
- module_eval(<<'.,.,', 'parser.y', 1692)
3232
+ module_eval(<<'.,.,', 'parser.y', 1501)
3422
3233
  def _reduce_228(val, _values, result)
3423
3234
  checkpoint(val[0].location)
3424
-
3425
3235
  result = CompoundStatement.new([])
3426
3236
  result.head_token = val[0]
3427
3237
  result.tail_token = val[1]
@@ -3430,24 +3240,23 @@ module_eval(<<'.,.,', 'parser.y', 1692)
3430
3240
  end
3431
3241
  .,.,
3432
3242
 
3433
- module_eval(<<'.,.,', 'parser.y', 1698)
3243
+ module_eval(<<'.,.,', 'parser.y', 1506)
3434
3244
  def _reduce_229(val, _values, result)
3435
3245
  @lexer.enter_scope
3436
3246
  result
3437
3247
  end
3438
3248
  .,.,
3439
3249
 
3440
- module_eval(<<'.,.,', 'parser.y', 1698)
3250
+ module_eval(<<'.,.,', 'parser.y', 1506)
3441
3251
  def _reduce_230(val, _values, result)
3442
3252
  @lexer.leave_scope
3443
3253
  result
3444
3254
  end
3445
3255
  .,.,
3446
3256
 
3447
- module_eval(<<'.,.,', 'parser.y', 1700)
3257
+ module_eval(<<'.,.,', 'parser.y', 1508)
3448
3258
  def _reduce_231(val, _values, result)
3449
3259
  checkpoint(val[0].location)
3450
-
3451
3260
  result = CompoundStatement.new(val[2])
3452
3261
  result.head_token = val[0]
3453
3262
  result.tail_token = val[4]
@@ -3456,20 +3265,18 @@ module_eval(<<'.,.,', 'parser.y', 1700)
3456
3265
  end
3457
3266
  .,.,
3458
3267
 
3459
- module_eval(<<'.,.,', 'parser.y', 1711)
3268
+ module_eval(<<'.,.,', 'parser.y', 1518)
3460
3269
  def _reduce_232(val, _values, result)
3461
3270
  checkpoint(val[0].location)
3462
-
3463
3271
  result = val
3464
3272
 
3465
3273
  result
3466
3274
  end
3467
3275
  .,.,
3468
3276
 
3469
- module_eval(<<'.,.,', 'parser.y', 1717)
3277
+ module_eval(<<'.,.,', 'parser.y', 1523)
3470
3278
  def _reduce_233(val, _values, result)
3471
3279
  checkpoint(val[0].first.location)
3472
-
3473
3280
  result = val[0].push(val[1])
3474
3281
 
3475
3282
  result
@@ -3482,10 +3289,9 @@ module_eval(<<'.,.,', 'parser.y', 1717)
3482
3289
 
3483
3290
  # reduce 236 omitted
3484
3291
 
3485
- module_eval(<<'.,.,', 'parser.y', 1732)
3292
+ module_eval(<<'.,.,', 'parser.y', 1537)
3486
3293
  def _reduce_237(val, _values, result)
3487
3294
  checkpoint(val[0].location)
3488
-
3489
3295
  result = ExpressionStatement.new(nil)
3490
3296
  result.head_token = result.tail_token = val[0]
3491
3297
 
@@ -3493,10 +3299,9 @@ module_eval(<<'.,.,', 'parser.y', 1732)
3493
3299
  end
3494
3300
  .,.,
3495
3301
 
3496
- module_eval(<<'.,.,', 'parser.y', 1739)
3302
+ module_eval(<<'.,.,', 'parser.y', 1543)
3497
3303
  def _reduce_238(val, _values, result)
3498
3304
  checkpoint(val[0].location)
3499
-
3500
3305
  val[0].full = true
3501
3306
  result = ExpressionStatement.new(val[0])
3502
3307
  result.head_token = val[0].head_token
@@ -3506,10 +3311,9 @@ module_eval(<<'.,.,', 'parser.y', 1739)
3506
3311
  end
3507
3312
  .,.,
3508
3313
 
3509
- module_eval(<<'.,.,', 'parser.y', 1751)
3314
+ module_eval(<<'.,.,', 'parser.y', 1554)
3510
3315
  def _reduce_239(val, _values, result)
3511
3316
  checkpoint(val[0].location)
3512
-
3513
3317
  val[2].full = true
3514
3318
  result = IfStatement.new(val[2], val[4], val[3])
3515
3319
  result.head_token = val[0]
@@ -3519,10 +3323,9 @@ module_eval(<<'.,.,', 'parser.y', 1751)
3519
3323
  end
3520
3324
  .,.,
3521
3325
 
3522
- module_eval(<<'.,.,', 'parser.y', 1760)
3326
+ module_eval(<<'.,.,', 'parser.y', 1562)
3523
3327
  def _reduce_240(val, _values, result)
3524
3328
  checkpoint(val[0].location)
3525
-
3526
3329
  val[2].full = true
3527
3330
  result = IfElseStatement.new(val[2], val[4], val[6], val[3], val[5])
3528
3331
  result.head_token = val[0]
@@ -3532,10 +3335,9 @@ module_eval(<<'.,.,', 'parser.y', 1760)
3532
3335
  end
3533
3336
  .,.,
3534
3337
 
3535
- module_eval(<<'.,.,', 'parser.y', 1769)
3338
+ module_eval(<<'.,.,', 'parser.y', 1570)
3536
3339
  def _reduce_241(val, _values, result)
3537
3340
  checkpoint(val[0].location)
3538
-
3539
3341
  val[2].full = true
3540
3342
  result = SwitchStatement.new(val[2], val[4])
3541
3343
  result.head_token = val[0]
@@ -3545,10 +3347,9 @@ module_eval(<<'.,.,', 'parser.y', 1769)
3545
3347
  end
3546
3348
  .,.,
3547
3349
 
3548
- module_eval(<<'.,.,', 'parser.y', 1781)
3350
+ module_eval(<<'.,.,', 'parser.y', 1581)
3549
3351
  def _reduce_242(val, _values, result)
3550
3352
  checkpoint(val[0].location)
3551
-
3552
3353
  val[2].full = true
3553
3354
  result = WhileStatement.new(val[2], val[4], val[3])
3554
3355
  result.head_token = val[0]
@@ -3558,10 +3359,9 @@ module_eval(<<'.,.,', 'parser.y', 1781)
3558
3359
  end
3559
3360
  .,.,
3560
3361
 
3561
- module_eval(<<'.,.,', 'parser.y', 1790)
3362
+ module_eval(<<'.,.,', 'parser.y', 1589)
3562
3363
  def _reduce_243(val, _values, result)
3563
3364
  checkpoint(val[0].location)
3564
-
3565
3365
  val[4].full = true
3566
3366
  result = DoStatement.new(val[1], val[4], val[0], val[2])
3567
3367
  result.head_token = val[0]
@@ -3571,10 +3371,9 @@ module_eval(<<'.,.,', 'parser.y', 1790)
3571
3371
  end
3572
3372
  .,.,
3573
3373
 
3574
- module_eval(<<'.,.,', 'parser.y', 1799)
3374
+ module_eval(<<'.,.,', 'parser.y', 1597)
3575
3375
  def _reduce_244(val, _values, result)
3576
3376
  checkpoint(val[0].location)
3577
-
3578
3377
  result = ForStatement.new(val[2], val[3], nil, val[5], val[4])
3579
3378
  result.head_token = val[0]
3580
3379
  result.tail_token = val[5].tail_token
@@ -3583,10 +3382,9 @@ module_eval(<<'.,.,', 'parser.y', 1799)
3583
3382
  end
3584
3383
  .,.,
3585
3384
 
3586
- module_eval(<<'.,.,', 'parser.y', 1808)
3385
+ module_eval(<<'.,.,', 'parser.y', 1605)
3587
3386
  def _reduce_245(val, _values, result)
3588
3387
  checkpoint(val[0].location)
3589
-
3590
3388
  val[4].full = true
3591
3389
  result = ForStatement.new(val[2], val[3], val[4], val[6], val[5])
3592
3390
  result.head_token = val[0]
@@ -3596,10 +3394,9 @@ module_eval(<<'.,.,', 'parser.y', 1808)
3596
3394
  end
3597
3395
  .,.,
3598
3396
 
3599
- module_eval(<<'.,.,', 'parser.y', 1817)
3397
+ module_eval(<<'.,.,', 'parser.y', 1613)
3600
3398
  def _reduce_246(val, _values, result)
3601
3399
  checkpoint(val[0].location)
3602
-
3603
3400
  result = C99ForStatement.new(val[2], val[3], nil, val[5], val[4])
3604
3401
  result.head_token = val[0]
3605
3402
  result.tail_token = val[5].tail_token
@@ -3608,10 +3405,9 @@ module_eval(<<'.,.,', 'parser.y', 1817)
3608
3405
  end
3609
3406
  .,.,
3610
3407
 
3611
- module_eval(<<'.,.,', 'parser.y', 1825)
3408
+ module_eval(<<'.,.,', 'parser.y', 1620)
3612
3409
  def _reduce_247(val, _values, result)
3613
3410
  checkpoint(val[0].location)
3614
-
3615
3411
  val[4].full = true
3616
3412
  result = C99ForStatement.new(val[2], val[3], val[4], val[6], val[5])
3617
3413
  result.head_token = val[0]
@@ -3621,10 +3417,9 @@ module_eval(<<'.,.,', 'parser.y', 1825)
3621
3417
  end
3622
3418
  .,.,
3623
3419
 
3624
- module_eval(<<'.,.,', 'parser.y', 1837)
3420
+ module_eval(<<'.,.,', 'parser.y', 1631)
3625
3421
  def _reduce_248(val, _values, result)
3626
3422
  checkpoint(val[0].location)
3627
-
3628
3423
  result = GotoStatement.new(val[1])
3629
3424
  result.head_token = val[0]
3630
3425
  result.tail_token = val[2]
@@ -3633,10 +3428,9 @@ module_eval(<<'.,.,', 'parser.y', 1837)
3633
3428
  end
3634
3429
  .,.,
3635
3430
 
3636
- module_eval(<<'.,.,', 'parser.y', 1845)
3431
+ module_eval(<<'.,.,', 'parser.y', 1638)
3637
3432
  def _reduce_249(val, _values, result)
3638
3433
  checkpoint(val[0].location)
3639
-
3640
3434
  E(:E0015, val[1].location, val[1].value)
3641
3435
  result = ErrorStatement.new(val[1])
3642
3436
  result.head_token = val[0]
@@ -3646,10 +3440,9 @@ module_eval(<<'.,.,', 'parser.y', 1845)
3646
3440
  end
3647
3441
  .,.,
3648
3442
 
3649
- module_eval(<<'.,.,', 'parser.y', 1854)
3443
+ module_eval(<<'.,.,', 'parser.y', 1646)
3650
3444
  def _reduce_250(val, _values, result)
3651
3445
  checkpoint(val[0].location)
3652
-
3653
3446
  result = ContinueStatement.new
3654
3447
  result.head_token = val[0]
3655
3448
  result.tail_token = val[1]
@@ -3658,10 +3451,9 @@ module_eval(<<'.,.,', 'parser.y', 1854)
3658
3451
  end
3659
3452
  .,.,
3660
3453
 
3661
- module_eval(<<'.,.,', 'parser.y', 1862)
3454
+ module_eval(<<'.,.,', 'parser.y', 1653)
3662
3455
  def _reduce_251(val, _values, result)
3663
3456
  checkpoint(val[0].location)
3664
-
3665
3457
  result = BreakStatement.new
3666
3458
  result.head_token = val[0]
3667
3459
  result.tail_token = val[1]
@@ -3670,10 +3462,9 @@ module_eval(<<'.,.,', 'parser.y', 1862)
3670
3462
  end
3671
3463
  .,.,
3672
3464
 
3673
- module_eval(<<'.,.,', 'parser.y', 1870)
3465
+ module_eval(<<'.,.,', 'parser.y', 1660)
3674
3466
  def _reduce_252(val, _values, result)
3675
3467
  checkpoint(val[0].location)
3676
-
3677
3468
  result = ReturnStatement.new(nil)
3678
3469
  result.head_token = val[0]
3679
3470
  result.tail_token = val[1]
@@ -3682,10 +3473,9 @@ module_eval(<<'.,.,', 'parser.y', 1870)
3682
3473
  end
3683
3474
  .,.,
3684
3475
 
3685
- module_eval(<<'.,.,', 'parser.y', 1878)
3476
+ module_eval(<<'.,.,', 'parser.y', 1667)
3686
3477
  def _reduce_253(val, _values, result)
3687
3478
  checkpoint(val[0].location)
3688
-
3689
3479
  val[1].full = true
3690
3480
  result = ReturnStatement.new(val[1])
3691
3481
  result.head_token = val[0]
@@ -3695,7 +3485,7 @@ module_eval(<<'.,.,', 'parser.y', 1878)
3695
3485
  end
3696
3486
  .,.,
3697
3487
 
3698
- module_eval(<<'.,.,', 'parser.y', 1893)
3488
+ module_eval(<<'.,.,', 'parser.y', 1681)
3699
3489
  def _reduce_254(val, _values, result)
3700
3490
  result = TranslationUnit.new
3701
3491
 
@@ -3703,16 +3493,11 @@ module_eval(<<'.,.,', 'parser.y', 1893)
3703
3493
  end
3704
3494
  .,.,
3705
3495
 
3706
- module_eval(<<'.,.,', 'parser.y', 1897)
3496
+ module_eval(<<'.,.,', 'parser.y', 1685)
3707
3497
  def _reduce_255(val, _values, result)
3708
3498
  checkpoint(val[0].location)
3709
-
3710
3499
  result = val[0]
3711
- if result.external_declarations.empty?
3712
- result.head_token = val[1].head_token
3713
- end
3714
3500
  result.push(val[1])
3715
- result.tail_token = val[1].tail_token
3716
3501
 
3717
3502
  result
3718
3503
  end
@@ -3722,12 +3507,11 @@ module_eval(<<'.,.,', 'parser.y', 1897)
3722
3507
 
3723
3508
  # reduce 257 omitted
3724
3509
 
3725
- module_eval(<<'.,.,', 'parser.y', 1916)
3510
+ module_eval(<<'.,.,', 'parser.y', 1699)
3726
3511
  def _reduce_258(val, _values, result)
3727
3512
  checkpoint(val[0].location)
3728
-
3729
3513
  result = KandRFunctionDefinition.new(val[0], val[1], val[2], val[3],
3730
- @symbol_table)
3514
+ @sym_tbl)
3731
3515
  result.head_token = val[0].head_token
3732
3516
  result.tail_token = val[3].tail_token
3733
3517
 
@@ -3735,22 +3519,18 @@ module_eval(<<'.,.,', 'parser.y', 1916)
3735
3519
  end
3736
3520
  .,.,
3737
3521
 
3738
- module_eval(<<'.,.,', 'parser.y', 1925)
3522
+ module_eval(<<'.,.,', 'parser.y', 1707)
3739
3523
  def _reduce_259(val, _values, result)
3740
3524
  checkpoint(val[0].location)
3741
-
3742
3525
  case val[1]
3743
3526
  when AnsiFunctionDeclarator
3744
- result = AnsiFunctionDefinition.new(val[0], val[1], val[2],
3745
- @symbol_table)
3527
+ result = AnsiFunctionDefinition.new(val[0], val[1], val[2], @sym_tbl)
3746
3528
  when KandRFunctionDeclarator
3747
3529
  result = KandRFunctionDefinition.new(val[0], val[1], [], val[2],
3748
- @symbol_table)
3530
+ @sym_tbl)
3749
3531
  when AbbreviatedFunctionDeclarator
3750
- result = AnsiFunctionDefinition.new(val[0], val[1], val[2],
3751
- @symbol_table)
3532
+ result = AnsiFunctionDefinition.new(val[0], val[1], val[2], @sym_tbl)
3752
3533
  end
3753
-
3754
3534
  result.head_token = val[0].head_token
3755
3535
  result.tail_token = val[2].tail_token
3756
3536
 
@@ -3758,12 +3538,11 @@ module_eval(<<'.,.,', 'parser.y', 1925)
3758
3538
  end
3759
3539
  .,.,
3760
3540
 
3761
- module_eval(<<'.,.,', 'parser.y', 1944)
3541
+ module_eval(<<'.,.,', 'parser.y', 1722)
3762
3542
  def _reduce_260(val, _values, result)
3763
3543
  checkpoint(val[0].location)
3764
-
3765
3544
  result = KandRFunctionDefinition.new(nil, val[0], val[1], val[2],
3766
- @symbol_table)
3545
+ @sym_tbl)
3767
3546
  result.head_token = val[0].head_token
3768
3547
  result.tail_token = val[2].tail_token
3769
3548
 
@@ -3771,22 +3550,18 @@ module_eval(<<'.,.,', 'parser.y', 1944)
3771
3550
  end
3772
3551
  .,.,
3773
3552
 
3774
- module_eval(<<'.,.,', 'parser.y', 1953)
3553
+ module_eval(<<'.,.,', 'parser.y', 1730)
3775
3554
  def _reduce_261(val, _values, result)
3776
3555
  checkpoint(val[0].location)
3777
-
3778
3556
  case val[0]
3779
3557
  when AnsiFunctionDeclarator
3780
- result = AnsiFunctionDefinition.new(nil, val[0], val[1],
3781
- @symbol_table)
3558
+ result = AnsiFunctionDefinition.new(nil, val[0], val[1], @sym_tbl)
3782
3559
  when KandRFunctionDeclarator
3783
3560
  result = KandRFunctionDefinition.new(nil, val[0], [], val[1],
3784
- @symbol_table)
3561
+ @sym_tbl)
3785
3562
  when AbbreviatedFunctionDeclarator
3786
- result = AnsiFunctionDefinition.new(nil, val[0], val[1],
3787
- @symbol_table)
3563
+ result = AnsiFunctionDefinition.new(nil, val[0], val[1], @sym_tbl)
3788
3564
  end
3789
-
3790
3565
  result.head_token = val[0].head_token
3791
3566
  result.tail_token = val[1].tail_token
3792
3567
 
@@ -3794,12 +3569,11 @@ module_eval(<<'.,.,', 'parser.y', 1953)
3794
3569
  end
3795
3570
  .,.,
3796
3571
 
3797
- module_eval(<<'.,.,', 'parser.y', 1975)
3572
+ module_eval(<<'.,.,', 'parser.y', 1748)
3798
3573
  def _reduce_262(val, _values, result)
3799
3574
  checkpoint(val[0].location)
3800
-
3801
3575
  result = KandRFunctionDefinition.new(val[0], val[1], val[2], val[3],
3802
- @symbol_table)
3576
+ @sym_tbl)
3803
3577
  result.head_token = val[0].head_token
3804
3578
  result.tail_token = val[3].tail_token
3805
3579
 
@@ -3807,22 +3581,18 @@ module_eval(<<'.,.,', 'parser.y', 1975)
3807
3581
  end
3808
3582
  .,.,
3809
3583
 
3810
- module_eval(<<'.,.,', 'parser.y', 1984)
3584
+ module_eval(<<'.,.,', 'parser.y', 1756)
3811
3585
  def _reduce_263(val, _values, result)
3812
3586
  checkpoint(val[0].location)
3813
-
3814
3587
  case val[1]
3815
3588
  when AnsiFunctionDeclarator
3816
- result = AnsiFunctionDefinition.new(val[0], val[1], val[2],
3817
- @symbol_table)
3589
+ result = AnsiFunctionDefinition.new(val[0], val[1], val[2], @sym_tbl)
3818
3590
  when KandRFunctionDeclarator
3819
3591
  result = KandRFunctionDefinition.new(val[0], val[1], [], val[2],
3820
- @symbol_table)
3592
+ @sym_tbl)
3821
3593
  when AbbreviatedFunctionDeclarator
3822
- result = AnsiFunctionDefinition.new(val[0], val[1], val[2],
3823
- @symbol_table)
3594
+ result = AnsiFunctionDefinition.new(val[0], val[1], val[2], @sym_tbl)
3824
3595
  end
3825
-
3826
3596
  result.head_token = val[0].head_token
3827
3597
  result.tail_token = val[2].tail_token
3828
3598
 
@@ -3830,20 +3600,18 @@ module_eval(<<'.,.,', 'parser.y', 1984)
3830
3600
  end
3831
3601
  .,.,
3832
3602
 
3833
- module_eval(<<'.,.,', 'parser.y', 2006)
3603
+ module_eval(<<'.,.,', 'parser.y', 1774)
3834
3604
  def _reduce_264(val, _values, result)
3835
3605
  checkpoint(val[0].location)
3836
-
3837
3606
  result = val
3838
3607
 
3839
3608
  result
3840
3609
  end
3841
3610
  .,.,
3842
3611
 
3843
- module_eval(<<'.,.,', 'parser.y', 2012)
3612
+ module_eval(<<'.,.,', 'parser.y', 1779)
3844
3613
  def _reduce_265(val, _values, result)
3845
3614
  checkpoint(val[0].first.location)
3846
-
3847
3615
  result = val[0].push(val[1])
3848
3616
 
3849
3617
  result
@@ -3855,5 +3623,5 @@ def _reduce_none(val, _values, result)
3855
3623
  end
3856
3624
 
3857
3625
  end # class Parser
3858
- end # module C
3626
+ end # module Cc1
3859
3627
  end # module AdLint