adlint 2.6.14 → 3.0.0

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