tecscde 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (237) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +12 -0
  3. data/.rubocop.yml +125 -0
  4. data/.rubocop_todo.yml +188 -0
  5. data/CHANGELOG.md +3 -0
  6. data/Gemfile +6 -0
  7. data/LICENSE +46 -0
  8. data/LICENSE.ja +32 -0
  9. data/README.ja.md +200 -0
  10. data/README.md +35 -0
  11. data/Rakefile +27 -0
  12. data/bin/tecscde +64 -0
  13. data/glade/tecscde-cell-property.glade +205 -0
  14. data/glade/tecscde-celltype-property.glade +172 -0
  15. data/glade/tecscde-celltype.glade +414 -0
  16. data/glade/tecscde-export.glade +161 -0
  17. data/glade/test-cell-plugin.rb +51 -0
  18. data/glade/test-cell-property.rb +35 -0
  19. data/glade/test-export.rb +35 -0
  20. data/glade/test-palette.rb +26 -0
  21. data/lib/tcflow.rb +148 -0
  22. data/lib/tecscde.rb +65 -0
  23. data/lib/tecscde/NewCell.png +0 -0
  24. data/lib/tecscde/SelectArrow.png +0 -0
  25. data/lib/tecscde/attr_tree_view.rb +253 -0
  26. data/lib/tecscde/cell_plugin_dialog.glade +294 -0
  27. data/lib/tecscde/cell_plugin_dialog.rb +89 -0
  28. data/lib/tecscde/celltype_tree_view.rb +105 -0
  29. data/lib/tecscde/change_set_control.rb +35 -0
  30. data/lib/tecscde/change_set_control/change_set.rb +32 -0
  31. data/lib/tecscde/change_set_control/change_set_manager.rb +62 -0
  32. data/lib/tecscde/command.rb +35 -0
  33. data/lib/tecscde/control.rb +491 -0
  34. data/lib/tecscde/highlighted_objects.rb +180 -0
  35. data/lib/tecscde/logger.rb +74 -0
  36. data/lib/tecscde/main_view_and_model.rb +80 -0
  37. data/lib/tecscde/palette.glade +553 -0
  38. data/lib/tecscde/palette.rb +174 -0
  39. data/lib/tecscde/preferences.glade +117 -0
  40. data/lib/tecscde/preferences.rb +44 -0
  41. data/lib/tecscde/tecs_model.rb +1137 -0
  42. data/lib/tecscde/tecs_model/hbar.rb +68 -0
  43. data/lib/tecscde/tecs_model/tm_c_port.rb +122 -0
  44. data/lib/tecscde/tecs_model/tm_c_port_array.rb +98 -0
  45. data/lib/tecscde/tecs_model/tm_cell.rb +496 -0
  46. data/lib/tecscde/tecs_model/tm_e_port.rb +126 -0
  47. data/lib/tecscde/tecs_model/tm_e_port_array.rb +78 -0
  48. data/lib/tecscde/tecs_model/tm_join.rb +293 -0
  49. data/lib/tecscde/tecs_model/tm_join_bar.rb +146 -0
  50. data/lib/tecscde/tecs_model/tm_port.rb +238 -0
  51. data/lib/tecscde/tecs_model/tm_port_array.rb +246 -0
  52. data/lib/tecscde/tecs_model/tm_region.rb +107 -0
  53. data/lib/tecscde/tecs_model/tm_uneditable.rb +68 -0
  54. data/lib/tecscde/tecs_model/vbar.rb +68 -0
  55. data/lib/tecscde/templates/_cell_info.cde.erb +15 -0
  56. data/lib/tecscde/templates/_join_info.cde.erb +28 -0
  57. data/lib/tecscde/templates/main.cde.erb +49 -0
  58. data/lib/tecscde/tm_object.rb +91 -0
  59. data/lib/tecscde/version.rb +4 -0
  60. data/lib/tecscde/view.rb +58 -0
  61. data/lib/tecscde/view/cairo_matrix.rb +90 -0
  62. data/lib/tecscde/view/canvas.rb +59 -0
  63. data/lib/tecscde/view/constants.rb +114 -0
  64. data/lib/tecscde/view/main_view.rb +1245 -0
  65. data/lib/tecsflow.rb +475 -0
  66. data/lib/tecsflow/C_parser.tab.rb +2471 -0
  67. data/lib/tecsflow/C_parser.y.rb +1087 -0
  68. data/lib/tecsflow/classes.rb +421 -0
  69. data/lib/tecsgen.rb +581 -0
  70. data/lib/tecsgen/core/C_parser.tab.rb +2477 -0
  71. data/lib/tecsgen/core/C_parser.y +1032 -0
  72. data/lib/tecsgen/core/bnf-deb.tab.rb +5193 -0
  73. data/lib/tecsgen/core/bnf.tab.rb +5193 -0
  74. data/lib/tecsgen/core/bnf.y +2211 -0
  75. data/lib/tecsgen/core/componentobj.rb +7901 -0
  76. data/lib/tecsgen/core/ctypes.rb +226 -0
  77. data/lib/tecsgen/core/expression.rb +1031 -0
  78. data/lib/tecsgen/core/gen_xml.rb +374 -0
  79. data/lib/tecsgen/core/generate.rb +5206 -0
  80. data/lib/tecsgen/core/location.rb +116 -0
  81. data/lib/tecsgen/core/messages.rb +101 -0
  82. data/lib/tecsgen/core/optimize.rb +456 -0
  83. data/lib/tecsgen/core/plugin.rb +332 -0
  84. data/lib/tecsgen/core/pluginModule.rb +165 -0
  85. data/lib/tecsgen/core/syntaxobj.rb +1234 -0
  86. data/lib/tecsgen/core/tecs_lang.rb +306 -0
  87. data/lib/tecsgen/core/tecsgen.rb +453 -0
  88. data/lib/tecsgen/core/tecsinfo.rb +860 -0
  89. data/lib/tecsgen/core/tool_info.rb +258 -0
  90. data/lib/tecsgen/core/types.rb +1632 -0
  91. data/lib/tecsgen/core/unjoin_plugin.rb +218 -0
  92. data/lib/tecsgen/core/value.rb +650 -0
  93. data/lib/tecsgen/messages/messages_console_en_US.rb +1171 -0
  94. data/lib/tecsgen/messages/messages_console_ja_JP.rb +1171 -0
  95. data/lib/tecsgen/messages/messages_file_en_US.rb +334 -0
  96. data/lib/tecsgen/messages/messages_file_ja_JP.rb +163 -0
  97. data/lib/tecsgen/plugin/ATK1AlarmPlugin.rb +196 -0
  98. data/lib/tecsgen/plugin/ATK1DelayTaskPlugin.rb +106 -0
  99. data/lib/tecsgen/plugin/ATK1EventPlugin.rb +147 -0
  100. data/lib/tecsgen/plugin/ATK1ISRPlugin.rb +174 -0
  101. data/lib/tecsgen/plugin/ATK1KernelPlugin.rb +287 -0
  102. data/lib/tecsgen/plugin/ATK1ResourcePlugin.rb +124 -0
  103. data/lib/tecsgen/plugin/ATK1TaskPlugin.rb +220 -0
  104. data/lib/tecsgen/plugin/C2TECSBridgePlugin.rb +210 -0
  105. data/lib/tecsgen/plugin/CellPlugin.rb +61 -0
  106. data/lib/tecsgen/plugin/CelltypePlugin.rb +72 -0
  107. data/lib/tecsgen/plugin/CompositePlugin.rb +66 -0
  108. data/lib/tecsgen/plugin/DomainPlugin.rb +89 -0
  109. data/lib/tecsgen/plugin/HRP2AlarmHandlerPlugin.rb +76 -0
  110. data/lib/tecsgen/plugin/HRP2Cache.rb +1 -0
  111. data/lib/tecsgen/plugin/HRP2CyclicHandlerPlugin.rb +75 -0
  112. data/lib/tecsgen/plugin/HRP2DataqueuePlugin.rb +68 -0
  113. data/lib/tecsgen/plugin/HRP2EventflagPlugin.rb +68 -0
  114. data/lib/tecsgen/plugin/HRP2FixedSizeMemoryPoolPlugin.rb +68 -0
  115. data/lib/tecsgen/plugin/HRP2HandlerPlugin.rb +117 -0
  116. data/lib/tecsgen/plugin/HRP2KernelObjectPlugin.rb +372 -0
  117. data/lib/tecsgen/plugin/HRP2ObjectPlugin.rb +94 -0
  118. data/lib/tecsgen/plugin/HRP2Plugin.rb +140 -0
  119. data/lib/tecsgen/plugin/HRP2PostHook.rb +111 -0
  120. data/lib/tecsgen/plugin/HRP2PriorityDataqueuePlugin.rb +66 -0
  121. data/lib/tecsgen/plugin/HRP2RPCPlugin.rb +319 -0
  122. data/lib/tecsgen/plugin/HRP2SVCPlugin.rb +473 -0
  123. data/lib/tecsgen/plugin/HRP2SemaphorePlugin.rb +67 -0
  124. data/lib/tecsgen/plugin/HRP2TaskPlugin.rb +200 -0
  125. data/lib/tecsgen/plugin/HRPHandlerPlugin.rb +125 -0
  126. data/lib/tecsgen/plugin/HRPKernelObjectManager.rb +72 -0
  127. data/lib/tecsgen/plugin/HRPKernelObjectPlugin.rb +333 -0
  128. data/lib/tecsgen/plugin/HRPObjectPlugin.rb +93 -0
  129. data/lib/tecsgen/plugin/HRPPlugin.rb +356 -0
  130. data/lib/tecsgen/plugin/HRPRPCPlugin.rb +407 -0
  131. data/lib/tecsgen/plugin/HRPSVCPlugin.rb +859 -0
  132. data/lib/tecsgen/plugin/HRPTaskPlugin.rb +107 -0
  133. data/lib/tecsgen/plugin/Mruby2CBridgePlugin.rb +86 -0
  134. data/lib/tecsgen/plugin/MrubyBridgeCellPlugin.rb +264 -0
  135. data/lib/tecsgen/plugin/MrubyBridgeCelltypePlugin.rb +293 -0
  136. data/lib/tecsgen/plugin/MrubyBridgeCompositePlugin.rb +49 -0
  137. data/lib/tecsgen/plugin/MrubyBridgePlugin.rb +67 -0
  138. data/lib/tecsgen/plugin/MrubyBridgeSignaturePlugin.rb +1307 -0
  139. data/lib/tecsgen/plugin/MrubyInfoBridgePlugin.rb +14 -0
  140. data/lib/tecsgen/plugin/MrubyInfoBridgeSignaturePlugin.rb +994 -0
  141. data/lib/tecsgen/plugin/MultiPlugin.rb +57 -0
  142. data/lib/tecsgen/plugin/NotifierPlugin.rb +1217 -0
  143. data/lib/tecsgen/plugin/OpaqueMarshalerPlugin.rb +81 -0
  144. data/lib/tecsgen/plugin/OpaqueRPCPlugin.rb +323 -0
  145. data/lib/tecsgen/plugin/RPCPlugin.rb +266 -0
  146. data/lib/tecsgen/plugin/RepeatCellPlugin.rb +166 -0
  147. data/lib/tecsgen/plugin/RepeatJoinPlugin.rb +130 -0
  148. data/lib/tecsgen/plugin/SharedOpaqueRPCPlugin.rb +357 -0
  149. data/lib/tecsgen/plugin/SharedRPCPlugin.rb +329 -0
  150. data/lib/tecsgen/plugin/SignaturePlugin.rb +77 -0
  151. data/lib/tecsgen/plugin/TECS2CBridgePlugin.rb +178 -0
  152. data/lib/tecsgen/plugin/TECSInfoPlugin.rb +280 -0
  153. data/lib/tecsgen/plugin/ThroughPlugin.rb +333 -0
  154. data/lib/tecsgen/plugin/TracePlugin.rb +484 -0
  155. data/lib/tecsgen/plugin/lib/GenHRP2Marshaler.rb +761 -0
  156. data/lib/tecsgen/plugin/lib/GenOpaqueMarshaler.rb +1107 -0
  157. data/lib/tecsgen/plugin/lib/GenParamCopy.rb +365 -0
  158. data/lib/tecsgen/plugin/lib/GenTransparentMarshaler.rb +683 -0
  159. data/lib/tecsgen/plugin/lib/MrubyBridgeCelltypePluginModule.rb +283 -0
  160. data/lib/tecsgen/plugin/lib/MrubyBridgeSignaturePluginModule.rb +277 -0
  161. data/lib/tecsgen/version.rb +6 -0
  162. data/samples/FigureSamples/active/active.cde +104 -0
  163. data/samples/FigureSamples/active/active.cdl +20 -0
  164. data/samples/FigureSamples/active/active.pdf +0 -0
  165. data/samples/FigureSamples/active/active.png +0 -0
  166. data/samples/FigureSamples/active/gen/tmp_C_src.c +36 -0
  167. data/samples/FigureSamples/active/gen/tmp_cygwin_tecs.h +1908 -0
  168. data/samples/FigureSamples/active/gen/tmp_plugin_post_code.cdl +0 -0
  169. data/samples/FigureSamples/allocator/allocator-internal.png +0 -0
  170. data/samples/FigureSamples/allocator/allocator.cde +171 -0
  171. data/samples/FigureSamples/allocator/allocator.cdl +58 -0
  172. data/samples/FigureSamples/allocator/allocator.png +0 -0
  173. data/samples/FigureSamples/basic/Makefile +87 -0
  174. data/samples/FigureSamples/basic/SimpleSample-trace.cdl +50 -0
  175. data/samples/FigureSamples/basic/SimpleSample.cde +91 -0
  176. data/samples/FigureSamples/basic/SimpleSample.cdl +47 -0
  177. data/samples/FigureSamples/basic/basic.cde +93 -0
  178. data/samples/FigureSamples/basic/basic.cdl +46 -0
  179. data/samples/FigureSamples/basic/basic.png +0 -0
  180. data/samples/FigureSamples/callback/callback.cde +130 -0
  181. data/samples/FigureSamples/callback/callback.cdl +29 -0
  182. data/samples/FigureSamples/callback/callback.png +0 -0
  183. data/samples/FigureSamples/carray/carray.cde +144 -0
  184. data/samples/FigureSamples/carray/carray.cdl +38 -0
  185. data/samples/FigureSamples/carray/carray.png +0 -0
  186. data/samples/FigureSamples/cearray/cearray.cde +314 -0
  187. data/samples/FigureSamples/cearray/cearray.cdl +60 -0
  188. data/samples/FigureSamples/cearray/cearray.png +0 -0
  189. data/samples/FigureSamples/composite/composite-internal.png +0 -0
  190. data/samples/FigureSamples/composite/composite.cde +216 -0
  191. data/samples/FigureSamples/composite/composite.cdl +95 -0
  192. data/samples/FigureSamples/composite/composite.png +0 -0
  193. data/samples/FigureSamples/earray/earray.cde +142 -0
  194. data/samples/FigureSamples/earray/earray.cdl +38 -0
  195. data/samples/FigureSamples/earray/earray.png +0 -0
  196. data/samples/FigureSamples/join/Makefile +87 -0
  197. data/samples/FigureSamples/join/join.cde +132 -0
  198. data/samples/FigureSamples/join/join.cdl +40 -0
  199. data/samples/FigureSamples/join/join.png +0 -0
  200. data/samples/FigureSamples/relay/Makefile +99 -0
  201. data/samples/FigureSamples/relay/relay-internal.png +0 -0
  202. data/samples/FigureSamples/relay/relay.cde +284 -0
  203. data/samples/FigureSamples/relay/relay.cdl +52 -0
  204. data/samples/FigureSamples/relay/relay.png +0 -0
  205. data/samples/FigureSamples/rpc/Makefile +123 -0
  206. data/samples/FigureSamples/rpc/rpc-expand.png +0 -0
  207. data/samples/FigureSamples/rpc/rpc.cde +245 -0
  208. data/samples/FigureSamples/rpc/rpc.png +0 -0
  209. data/samples/FigureSamples/rpc/rpc_sample.cdl +53 -0
  210. data/samples/SimpleSample/Makefile +25 -0
  211. data/samples/SimpleSample/SimpleSample/Makefile +86 -0
  212. data/samples/SimpleSample/SimpleSample/Makefile-trace +91 -0
  213. data/samples/SimpleSample/SimpleSample/README.txt +106 -0
  214. data/samples/SimpleSample/SimpleSample/SimpleSample-trace.cdl +50 -0
  215. data/samples/SimpleSample/SimpleSample/SimpleSample.cdl +45 -0
  216. data/samples/SimpleSample/SimpleSample/src/tSample.c +77 -0
  217. data/samples/SimpleSample/SimpleSample/src/tSimple.c +48 -0
  218. data/samples/SimpleSample/SimpleSample/src/tecs-types.h +27 -0
  219. data/samples/SimpleSample/SimpleSampleOpaqueRPC/Makefile +51 -0
  220. data/samples/SimpleSample/SimpleSampleOpaqueRPC/Makefile-trace +91 -0
  221. data/samples/SimpleSample/SimpleSampleOpaqueRPC/README.txt +106 -0
  222. data/samples/SimpleSample/SimpleSampleOpaqueRPC/SimpleSample-trace.cdl +80 -0
  223. data/samples/SimpleSample/SimpleSampleOpaqueRPC/SimpleSample.cdl +77 -0
  224. data/samples/SimpleSample/SimpleSampleOpaqueRPC/rSample/Makefile +112 -0
  225. data/samples/SimpleSample/SimpleSampleOpaqueRPC/rSimple/Makefile +109 -0
  226. data/samples/SimpleSample/SimpleSampleOpaqueRPC/src/tSample.c +80 -0
  227. data/samples/SimpleSample/SimpleSampleOpaqueRPC/src/tSimple.c +47 -0
  228. data/samples/SimpleSample/SimpleSampleOpaqueRPC/src/tTaskMain.c +66 -0
  229. data/samples/SimpleSample/SimpleSampleOpaqueRPC/src/tecs-types.h +27 -0
  230. data/samples/SimpleSample/SimpleSampleTransparentRPC/Makefile +125 -0
  231. data/samples/SimpleSample/SimpleSampleTransparentRPC/Makefile-trace +130 -0
  232. data/samples/SimpleSample/SimpleSampleTransparentRPC/SimpleSample-trace.cdl +54 -0
  233. data/samples/SimpleSample/SimpleSampleTransparentRPC/SimpleSample.cdl +53 -0
  234. data/samples/SimpleSample/SimpleSampleTransparentRPC/src/tSample.c +80 -0
  235. data/samples/SimpleSample/SimpleSampleTransparentRPC/src/tSimple.c +54 -0
  236. data/tecscde.gemspec +41 -0
  237. metadata +353 -0
@@ -0,0 +1,2477 @@
1
+ #
2
+ # DO NOT MODIFY!!!!
3
+ # This file is automatically generated by Racc 1.4.14
4
+ # from Racc grammer file "".
5
+ #
6
+
7
+ require 'racc/parser.rb'
8
+ class C_parser < Racc::Parser
9
+
10
+ module_eval(<<'...end C_parser.y/module_eval...', 'C_parser.y', 744)
11
+
12
+ RESERVED = {
13
+ # keyword
14
+ 'typedef' => :TYPEDEF,
15
+ 'struct' => :STRUCT,
16
+ 'union' => :UNION,
17
+ 'sizeof' => :SIZEOF,
18
+ 'throw' => :THROW,
19
+
20
+ # specifier
21
+ # types
22
+ 'void' => :VOID,
23
+ 'char' => :CHAR,
24
+ 'short' => :SHORT,
25
+
26
+ 'volatile'=> :VOLATILE,
27
+ 'const' => :CONST,
28
+ 'extern' => :EXTERN,
29
+
30
+ 'long' => :LONG,
31
+ 'float' => :FLOAT,
32
+ 'double' => :DOUBLE,
33
+ 'signed' => :SIGNED,
34
+ 'unsigned'=> :UNSIGNED,
35
+
36
+ 'int' => :INT,
37
+ 'enum' => :ENUM,
38
+
39
+ 'if' => :IF,
40
+ 'else' => :ELSE,
41
+ 'while' => :WHILE,
42
+ 'do' => :DO,
43
+ 'for' => :FOR,
44
+ 'case' => :CASE,
45
+ 'default' => :DEFAULT,
46
+ 'goto' => :GOTO,
47
+ 'continue' => :CONTINUE,
48
+ 'break' => :BREAK,
49
+ 'return' => :RETURN,
50
+ '__inline__' => :__INLINE__,
51
+ 'inline' => :INLINE,
52
+ '__inline' => :__INLINE,
53
+ 'Inline' => :CINLINE, # inline starting with Capital letter
54
+ 'static' => :STATIC,
55
+ 'register' => :REGISTER,
56
+ 'auto' => :AUTO,
57
+ '__extension__' => :EXTENSION,
58
+ '__asm__' => :_ASM
59
+
60
+ }
61
+
62
+ @@generator_nest = -1
63
+ @@generator_stack = []
64
+ @@current_locale = []
65
+
66
+ def finalize
67
+
68
+ # mikan Namespace.pop
69
+ Celltype.pop
70
+ Cell.pop
71
+ CompositeCelltype.pop
72
+ Region.pop
73
+
74
+ end
75
+
76
+ def set_plugin( plugin )
77
+ @plugin = plugin
78
+ end
79
+
80
+ def self.get_plugin
81
+ @@generator_stack[@@generator_nest].get_plugin
82
+ end
83
+
84
+ def get_plugin
85
+ @plugin
86
+ end
87
+
88
+ def parse(files)
89
+
90
+ # mikan Namespace.push
91
+ Celltype.push
92
+ Cell.push
93
+ CompositeCelltype.push
94
+ Region.push
95
+
96
+ @@generator_nest += 1
97
+ @@generator_stack[@@generator_nest] = self
98
+ @b_no_type_name = false
99
+
100
+ begin
101
+
102
+ @q = []
103
+ comment = false
104
+ # b_asm = false
105
+
106
+ # 800U, 0xffLL など (整数リテラルに共通の修飾子)
107
+ integer_qualifier = "([Uu][Ll][Ll]|[Uu][Ll]|[Uu]|[Ll][Ll]|[Ll])?"
108
+
109
+ files.each {|file|
110
+ lineno = 1
111
+ begin
112
+ #2.0 IO.foreach(file) {|line|
113
+ TECSIO.foreach(file) {|line|
114
+ col = 1
115
+ line.rstrip!
116
+
117
+ until line.empty?
118
+
119
+ if comment
120
+ case line
121
+ # コメント終了
122
+ when /\A\*\//
123
+ comment = false
124
+ when /\A./
125
+ ;
126
+ end
127
+ else
128
+ case line
129
+ # 空白、プリプロセスディレクティブ
130
+ when /\A\s+/
131
+ ;
132
+ # 識別子
133
+ when /\A[a-zA-Z_]\w*/
134
+ word = $&
135
+ @q << [RESERVED[word] || :IDENTIFIER, Token.new(word.intern, file, lineno, col)]
136
+ # 16 進数定数
137
+ when /\A0x[0-9A-Fa-f]+#{integer_qualifier}/
138
+ @q << [:HEX_CONSTANT, Token.new($&, file, lineno, col)]
139
+ # 8 進数定数
140
+ when /\A0[0-7]+#{integer_qualifier}/
141
+ @q << [:OCTAL_CONSTANT, Token.new($&, file, lineno, col)]
142
+ # 浮動小数定数
143
+ when /\A[0-9]+\.([0-9]*)?([Ee][+-]?[0-9]+)?/
144
+ @q << [:FLOATING_CONSTANT, Token.new($&, file, lineno, col)]
145
+ # 整数定数
146
+ when /\A\d+#{integer_qualifier}/
147
+ # when /\A\d+/
148
+ @q << [:INTEGER_CONSTANT, Token.new($&.to_i, file, lineno, col)]
149
+ # 文字
150
+ when /\A'(?:[^'\\]|\\.)'/
151
+ @q << [:CHARACTER_LITERAL, Token.new($&, file, lineno, col)]
152
+ # 文字列
153
+ # "#include #include #include \"../systask/logtask.cfg\" 最後の " 忘れ)で無限ループ
154
+ # when /\A"(?:[^"\\]+|\\.)*"/
155
+ when /\A"(?:[^"\\]|\\.)*"/ # これはうまく行くようだ
156
+ @q << [:STRING_LITERAL, Token.new($&, file, lineno, col)]
157
+ # 行コメント
158
+ when /\A\/\/.*$/
159
+ # 読み飛ばすだけ
160
+ # コメント開始
161
+ when /\A\/\*/
162
+ comment = true
163
+ when /\A>>=/, /\A<<=/, /\A>>/, /\A<</
164
+ @q << [$&, Token.new($&, file, lineno, col)]
165
+ when /\A\+=/, /\A\-=/, /\A\*=/, /\A\/=/, /\A%=/, /\A&=/, /\A\|=/, /\A\^=/
166
+ @q << [$&, Token.new($&, file, lineno, col)]
167
+ when /\A::/, /\A==/, /\A!=/, /\A>=/, /\A<=/, /\A\->/, /\A\+\+/, /\A\-\-/
168
+ @q << [$&, Token.new($&, file, lineno, col)]
169
+ when /\A./
170
+ @q << [$&, Token.new($&, file, lineno, col)]
171
+ else
172
+ raise
173
+ end
174
+ end
175
+
176
+ line = $'
177
+ col += $&.length
178
+ end
179
+
180
+ lineno += 1
181
+ }
182
+
183
+ rescue => evar
184
+ Generator.error( "B1002 while open or reading \'$1\'" , file )
185
+ print_exception( evar )
186
+ end
187
+ }
188
+
189
+ # 終了の印
190
+ @q << nil
191
+
192
+ @yydebug = true
193
+ do_parse
194
+
195
+ ensure
196
+ @@generator_nest -= 1
197
+ end
198
+
199
+ end
200
+
201
+
202
+ def next_token
203
+ token = @q.shift
204
+
205
+ if token then
206
+ @@current_locale[@@generator_nest] = token[1].locale
207
+
208
+ case token[1].val
209
+ when ";", ":", ",", "(", ")", "{", "}"
210
+ set_no_type_name false
211
+ when ".", "->"
212
+ set_no_type_name true
213
+ end
214
+
215
+ # TYPE_NAME トークンへ置き換え
216
+ if @b_no_type_name == false
217
+ if token[0] == :IDENTIFIER && Namespace.is_typename?( token[1].val ) then
218
+ token[0] = :TYPE_NAME
219
+ locale = @@current_locale[@@generator_nest]
220
+ #print( "#{locale[0]}: line #{locale[1]} : #{token[0]} '#{token[1].val}: type_name'\n" )
221
+ end
222
+ end
223
+
224
+ if $debug then # 070107 token 無効時ここを通さないようした (through 対応 -d の時に例外発生)
225
+ locale = @@current_locale[@@generator_nest]
226
+ if token then
227
+ print( "#{locale[0]}: line #{locale[1]} : #{token[0]} '#{token[1].val}'\n" )
228
+ else
229
+ print( "#{locale[0]}: line #{locale[1]} : EOF\n" )
230
+ end
231
+ end
232
+ end
233
+
234
+ token
235
+ end
236
+
237
+ def on_error(t, v, vstack)
238
+ if v == "$" then
239
+ Generator.error( "B1003 Unexpected EOF" )
240
+ else
241
+ Generator.error( "B1004 syntax error near \'$1\'" , v.val )
242
+ end
243
+
244
+ end
245
+
246
+ def self.current_locale
247
+ @@current_locale[ @@generator_nest ]
248
+ end
249
+
250
+ @@n_error = 0
251
+ @@n_warning = 0
252
+ @@n_info = 0
253
+
254
+ # このメソッドは構文解析、意味解析からのみ呼出し可(コード生成でエラー発生は不適切)
255
+ def self.error( msg )
256
+ @@n_error += 1
257
+ locale = @@current_locale[ @@generator_nest ]
258
+
259
+ if locale then
260
+ Console.puts "error: #{locale[0]}: line #{locale[1]} #{msg}"
261
+ else
262
+ Console.puts "error: #{msg}"
263
+ end
264
+ end
265
+
266
+ # このメソッドは構文解析、意味解析からのみ呼出し可(コード生成でウォーニング発生は不適切)
267
+ def self.warning( msg )
268
+ @@n_warning += 1
269
+ locale = @@current_locale[ @@generator_nest ]
270
+ Console.puts "warning: #{locale[0]}: line #{locale[1]} #{msg}"
271
+ end
272
+
273
+ # このメソッドは構文解析、意味解析からのみ呼出し可
274
+ def self.info( msg )
275
+ @@n_info += 1
276
+ locale = @@current_locale[ @@generator_nest ]
277
+ Console.puts "info: #{locale[0]}: line #{locale[1]} #{msg}"
278
+ end
279
+
280
+ def self.get_n_error
281
+ @@n_error
282
+ end
283
+
284
+ def self.get_n_warning
285
+ @@n_warning
286
+ end
287
+
288
+ def self.get_nest
289
+ @@generator_nest
290
+ end
291
+
292
+ def set_no_type_name b_no_type_name
293
+ locale = @@current_locale[ @@generator_nest ]
294
+ #print "b_no_type_name=#{b_no_type_name} #{locale[0]}: line #{locale[1]}\n"
295
+ @b_no_type_name = b_no_type_name
296
+ end
297
+
298
+ ...end C_parser.y/module_eval...
299
+ ##### State transition tables begin ###
300
+
301
+ clist = [
302
+ '106,107,108,109,110,112,76,113,181,174,266,238,273,118,119,273,117,120',
303
+ '121,122,123,124,125,272,3,77,83,68,83,82,75,82,273,173,265,345,319,79',
304
+ '354,232,308,8,9,10,11,15,16,17,18,19,20,21,79,241,23,25,27,28,29,344',
305
+ '28,29,233,70,234,235,236,237,67,239,240,242,243,244,245,309,310,311',
306
+ '312,313,314,315,316,317,318,39,40,41,42,43,44,45,46,144,246,106,107',
307
+ '108,109,110,112,273,113,273,69,47,238,61,118,119,170,117,120,121,122',
308
+ '123,124,125,54,349,197,198,62,251,53,368,255,381,350,53,273,55,273,65',
309
+ '232,170,8,9,10,11,15,16,17,18,19,20,21,79,169,23,25,27,28,29,385,87',
310
+ '398,233,81,234,235,236,237,81,239,240,242,243,244,245,28,29,183,269',
311
+ '184,305,185,186,187,88,39,40,41,42,43,44,45,46,144,246,106,107,108,109',
312
+ '110,112,379,113,89,340,97,238,339,118,119,350,117,120,121,122,123,124',
313
+ '125,304,54,54,382,54,352,277,53,53,255,53,273,273,98,55,55,232,55,8',
314
+ '9,10,11,15,16,17,18,19,20,21,79,153,23,25,27,28,29,383,340,55,233,339',
315
+ '234,235,236,237,273,239,240,242,243,244,245,386,194,201,202,203,204',
316
+ '195,196,162,273,39,40,41,42,43,44,45,46,144,246,106,107,108,109,110',
317
+ '112,397,113,199,200,163,238,171,118,119,273,117,120,121,122,123,124',
318
+ '125,54,54,251,402,54,255,53,53,53,97,53,77,273,55,55,55,232,55,8,9,10',
319
+ '11,15,16,17,18,19,20,21,79,175,23,25,27,28,29,205,206,176,233,207,234',
320
+ '235,236,237,208,239,240,242,243,244,245,194,209,194,211,212,195,196',
321
+ '195,196,210,39,40,41,42,43,44,45,46,144,246,106,107,108,109,110,112',
322
+ '215,113,197,198,216,238,277,118,119,255,117,120,121,122,123,124,125',
323
+ '54,54,55,247,54,248,53,53,197,198,53,199,200,55,55,249,232,55,8,9,10',
324
+ '11,15,16,17,18,19,20,21,79,257,23,25,27,28,29,199,200,258,233,97,234',
325
+ '235,236,237,271,239,240,242,243,244,245,201,202,203,204,201,202,203',
326
+ '204,199,200,39,40,41,42,43,44,45,46,144,246,106,107,108,109,110,112',
327
+ '274,113,199,200,280,238,282,118,119,283,117,120,121,122,123,124,125',
328
+ '54,205,206,306,320,321,53,323,324,325,327,328,329,55,330,273,232,353',
329
+ '8,9,10,11,15,16,17,18,19,20,21,79,207,23,25,27,28,29,208,209,210,233',
330
+ '357,234,235,236,237,361,239,240,242,243,244,245,365,367,369,370,371',
331
+ '376,384,388,389,390,39,40,41,42,43,44,45,46,144,246,106,107,108,109',
332
+ '110,112,273,113,395,396,400,238,,118,119,,117,120,121,122,123,124,125',
333
+ ',,,,,,,,,,,,,,,,232,,8,9,10,11,15,16,17,18,19,20,21,79,,23,25,27,28',
334
+ '29,,,,233,,234,235,236,237,,239,240,242,243,244,245,,,,,,,,,,,39,40',
335
+ '41,42,43,44,45,46,144,246,106,107,108,109,110,112,,113,,,,238,,118,119',
336
+ ',117,120,121,122,123,124,125,,,,,,,,,,,,,,,,,232,,8,9,10,11,15,16,17',
337
+ '18,19,20,21,79,,23,25,27,28,29,,,,233,,234,235,236,237,,239,240,242',
338
+ '243,244,245,,,,,,,,,,,39,40,41,42,43,44,45,46,144,246,106,107,108,109',
339
+ '110,112,,113,,,,238,,118,119,,117,120,121,122,123,124,125,,,,,,,,,,',
340
+ ',,,,,,232,,8,9,10,11,15,16,17,18,19,20,21,79,,23,25,27,28,29,37,,,233',
341
+ ',234,235,236,237,,239,240,242,243,244,245,,,,,,,,37,,,39,40,41,42,43',
342
+ '44,45,46,144,246,,,,,36,,8,9,10,11,15,16,17,18,19,20,21,,,23,25,27,28',
343
+ '29,,32,38,36,,8,9,10,11,15,16,17,18,19,20,21,,,23,25,27,28,29,,,38,39',
344
+ '40,41,42,43,44,45,46,,,,,,,,,,,,,,,,39,40,41,42,43,44,45,46,106,107',
345
+ '108,109,110,112,,113,,,,143,,118,119,,117,120,121,122,123,124,125,106',
346
+ '107,108,109,110,112,,113,,147,,143,,118,119,,117,120,121,122,123,124',
347
+ '125,,,,,,,141,106,107,108,109,110,112,142,113,,,,143,,118,119,,117,120',
348
+ '121,122,123,124,125,,,,,,,,,,,,,,,,,,144,8,9,10,11,15,16,17,18,19,20',
349
+ '21,,,23,25,27,28,29,,,,,144,106,107,108,109,110,112,,113,,,,143,,118',
350
+ '119,,117,120,121,122,123,124,125,106,107,108,109,110,189,144,113,,,',
351
+ '143,,118,119,,117,120,121,122,123,124,125,106,107,108,109,110,191,,113',
352
+ ',,,143,,118,119,,117,120,121,122,123,124,125,106,107,108,109,110,191',
353
+ ',113,,,,143,,118,119,,117,120,121,122,123,124,125,,144,,,,,,,,106,107',
354
+ '108,109,110,112,,113,,,,143,,118,119,144,117,120,121,122,123,124,125',
355
+ '106,107,108,109,110,112,,113,,,,143,,118,119,144,117,120,121,122,123',
356
+ '124,125,,,,,,,141,106,107,108,109,110,112,142,113,144,,,143,,118,119',
357
+ ',117,120,121,122,123,124,125,,,106,107,108,109,110,112,,113,,,,143,',
358
+ '118,119,144,117,120,121,122,123,124,125,,,,,,106,107,108,109,110,112',
359
+ ',113,,,144,143,,118,119,,117,120,121,122,123,124,125,,,,,,,,,,,,,,,',
360
+ ',,144,8,9,10,11,15,16,17,18,19,20,21,,,23,25,27,28,29,106,107,108,109',
361
+ '110,112,144,113,,,,143,,118,119,,117,120,121,122,123,124,125,,106,107',
362
+ '108,109,110,112,,113,,,144,143,,118,119,,117,120,121,122,123,124,125',
363
+ '106,107,108,109,110,112,,113,,,,143,,118,119,,117,120,121,122,123,124',
364
+ '125,106,107,108,109,110,112,,113,,,,143,,118,119,,117,120,121,122,123',
365
+ '124,125,144,106,107,108,109,110,112,,113,,,,143,,118,119,,117,120,121',
366
+ '122,123,124,125,144,,,,,,,,106,107,108,109,110,112,,113,,,,143,,118',
367
+ '119,144,117,120,121,122,123,124,125,106,107,108,109,110,112,,113,,,',
368
+ '143,,118,119,144,117,120,121,122,123,124,125,,106,107,108,109,110,112',
369
+ ',113,,,,143,,118,119,144,117,120,121,122,123,124,125,106,107,108,109',
370
+ '110,112,,113,,,,143,,118,119,,117,120,121,122,123,124,125,144,,,,,,',
371
+ ',106,107,108,109,110,112,,113,,,,143,,118,119,144,117,120,121,122,123',
372
+ '124,125,,106,107,108,109,110,112,,113,,,,143,,118,119,144,117,120,121',
373
+ '122,123,124,125,106,107,108,109,110,112,,113,,,,143,,118,119,144,117',
374
+ '120,121,122,123,124,125,106,107,108,109,110,112,,113,,,,143,,118,119',
375
+ ',117,120,121,122,123,124,125,144,106,107,108,109,110,112,,113,,,,143',
376
+ ',118,119,,117,120,121,122,123,124,125,144,,,,,,,,106,107,108,109,110',
377
+ '112,,113,,,,143,,118,119,144,117,120,121,122,123,124,125,106,107,108',
378
+ '109,110,112,,113,,,,143,,118,119,144,117,120,121,122,123,124,125,,106',
379
+ '107,108,109,110,112,,113,,,,143,,118,119,144,117,120,121,122,123,124',
380
+ '125,106,107,108,109,110,112,,113,,,,143,,118,119,,117,120,121,122,123',
381
+ '124,125,144,,,,,,,,106,107,108,109,110,112,,113,,,,143,,118,119,144',
382
+ '117,120,121,122,123,124,125,,106,107,108,109,110,112,,113,,,,143,,118',
383
+ '119,144,117,120,121,122,123,124,125,106,107,108,109,110,112,,113,,,',
384
+ '143,,118,119,144,117,120,121,122,123,124,125,106,107,108,109,110,112',
385
+ ',113,,,,143,,118,119,,117,120,121,122,123,124,125,144,106,107,108,109',
386
+ '110,112,,113,,341,,143,,118,119,332,117,120,121,122,123,124,125,144',
387
+ ',,,,,,,106,107,108,109,110,112,,113,,,,143,,118,119,144,117,120,121',
388
+ '122,123,124,125,106,107,108,109,110,112,,113,,,,143,,118,119,144,117',
389
+ '120,121,122,123,124,125,,106,107,108,109,110,112,,113,,,,143,,118,119',
390
+ '144,117,120,121,122,123,124,125,106,107,108,109,110,112,,113,,,,143',
391
+ ',118,119,,117,120,121,122,123,124,125,144,8,9,10,11,15,16,17,18,19,20',
392
+ '21,,,23,25,27,28,29,,,,,144,,,,,,141,355,,,,,,142,106,107,108,109,110',
393
+ '112,,113,,,144,143,,118,119,,117,120,121,122,123,124,125,106,107,108',
394
+ '109,110,112,,113,,,144,143,,118,119,,117,120,121,122,123,124,125,106',
395
+ '107,108,109,110,112,,113,,,,143,,118,119,,117,120,121,122,123,124,125',
396
+ '106,107,108,109,110,112,,113,,,,143,,118,119,,117,120,121,122,123,124',
397
+ '125,,144,,,,,,,,106,107,108,109,110,112,,113,,,,143,,118,119,144,117',
398
+ '120,121,122,123,124,125,106,107,108,109,110,112,,113,,372,,143,,118',
399
+ '119,144,117,120,121,122,123,124,125,106,107,108,109,110,112,,113,,,',
400
+ '143,,118,119,144,117,120,121,122,123,124,125,106,107,108,109,110,112',
401
+ ',113,,,,143,,118,119,,117,120,121,122,123,124,125,,144,,,,,,,,106,107',
402
+ '108,109,110,112,,113,,,,143,,118,119,144,117,120,121,122,123,124,125',
403
+ '106,107,108,109,110,112,,113,,,,143,,118,119,144,117,120,121,122,123',
404
+ '124,125,106,107,108,109,110,112,,113,,,,143,,118,119,144,117,120,121',
405
+ '122,123,124,125,251,337,,255,,,53,,,,,,,55,,,,,,,,,277,337,144,255,',
406
+ ',,,,,,,,55,8,9,10,11,15,16,17,18,19,20,21,144,,23,25,27,28,29,,,,,8',
407
+ '9,10,11,15,16,17,18,19,20,21,,144,23,25,27,28,29,149,,,,39,40,41,42',
408
+ '43,44,45,46,,,,,,,374,,,,,,,,39,40,41,42,43,44,45,46,,8,9,10,11,15,16',
409
+ '17,18,19,20,21,,,23,25,27,28,29,8,9,10,11,15,16,17,18,19,20,21,,,23',
410
+ '25,27,28,29,,,,333,,,,,39,40,41,42,43,44,45,46,,,,,,,,,,,39,40,41,42',
411
+ '43,44,45,46,8,9,10,11,15,16,17,18,19,20,21,,,23,25,27,28,29,8,9,10,11',
412
+ '15,16,17,18,19,20,21,,,23,25,27,28,29,,,,,,,,,39,40,41,42,43,44,45,46',
413
+ ',,,,,,,,,,39,40,41,42,43,44,45,46,8,9,10,11,15,16,17,18,19,20,21,,,23',
414
+ '25,27,28,29,8,9,10,11,15,16,17,18,19,20,21,,,23,25,27,28,29,,,,,,,,',
415
+ '39,40,41,42,43,44,45,46,,,,,,,,,,,39,40,41,42,43,44,45,46,8,9,10,11',
416
+ '15,16,17,18,19,20,21,,,23,25,27,28,29,8,9,10,11,15,16,17,18,19,20,21',
417
+ ',,23,25,27,28,29,,,,,,,,,39,40,41,42,43,44,45,46,,,,,,,,,,,39,40,41',
418
+ '42,43,44,45,46,8,9,10,11,15,16,17,18,19,20,21,,,23,25,27,28,29,8,9,10',
419
+ '11,15,16,17,18,19,20,21,,164,23,25,27,28,29,,,,,,,,,39,40,41,42,43,44',
420
+ '45,46,,,,,,,,,,,39,40,41,42,43,44,45,46,8,9,10,11,15,16,17,18,19,20',
421
+ '21,,,23,25,27,28,29,8,9,10,11,15,16,17,18,19,20,21,,259,23,25,27,28',
422
+ '29,,,,,,,,,39,40,41,42,43,44,45,46,,,,,,,,,,,39,40,41,42,43,44,45,46',
423
+ '8,9,10,11,15,16,17,18,19,20,21,,264,23,25,27,28,29,8,9,10,11,15,16,17',
424
+ '18,19,20,21,,343,23,25,27,28,29,,,,,,,,,39,40,41,42,43,44,45,46,,,,',
425
+ ',,,,,,39,40,41,42,43,44,45,46,8,9,10,11,15,16,17,18,19,20,21,,,23,25',
426
+ '27,28,29,8,9,10,11,15,16,17,18,19,20,21,,,23,25,27,28,29' ]
427
+ racc_action_table = arr = ::Array.new(2934, nil)
428
+ idx = 0
429
+ clist.each do |str|
430
+ str.split(',', -1).each do |i|
431
+ arr[idx] = i.to_i unless i.empty?
432
+ idx += 1
433
+ end
434
+ end
435
+
436
+ clist = [
437
+ '145,145,145,145,145,145,48,145,114,101,166,145,218,145,145,303,145,145',
438
+ '145,145,145,145,145,177,1,50,52,24,80,52,48,80,177,101,166,261,218,50',
439
+ '303,145,217,145,145,145,145,145,145,145,145,145,145,145,145,145,145',
440
+ '145,145,145,145,261,114,114,145,26,145,145,145,145,24,145,145,145,145',
441
+ '145,145,217,217,217,217,217,217,217,217,217,217,145,145,145,145,145',
442
+ '145,145,145,145,145,235,235,235,235,235,235,331,235,358,26,3,235,12',
443
+ '235,235,95,235,235,235,235,235,235,235,51,278,129,129,14,250,51,331',
444
+ '250,358,278,250,362,55,394,22,235,172,235,235,235,235,235,235,235,235',
445
+ '235,235,235,235,95,235,235,235,235,235,362,63,394,235,51,235,235,235',
446
+ '235,250,235,235,235,235,235,235,55,55,115,172,115,213,115,115,115,64',
447
+ '235,235,235,235,235,235,235,235,235,235,325,325,325,325,325,325,351',
448
+ '325,66,254,69,325,254,325,325,351,325,325,325,325,325,325,325,213,4',
449
+ '54,359,74,281,276,4,54,276,74,281,359,70,4,54,325,74,325,325,325,325',
450
+ '325,325,325,325,325,325,325,325,84,325,325,325,325,325,360,335,85,325',
451
+ '335,325,325,325,325,360,325,325,325,325,325,325,363,128,131,131,131',
452
+ '131,128,128,90,363,325,325,325,325,325,325,325,325,325,325,327,327,327',
453
+ '327,327,327,393,327,130,130,91,327,97,327,327,393,327,327,327,327,327',
454
+ '327,327,76,94,152,401,160,152,76,94,152,98,160,104,401,76,94,152,327',
455
+ '160,327,327,327,327,327,327,327,327,327,327,327,327,105,327,327,327',
456
+ '327,327,132,132,111,327,133,327,327,327,327,134,327,327,327,327,327',
457
+ '327,288,135,289,137,137,288,288,289,289,136,327,327,327,327,327,327',
458
+ '327,327,327,327,365,365,365,365,365,365,142,365,290,290,144,365,180',
459
+ '365,365,180,365,365,365,365,365,365,365,174,219,180,146,266,148,174',
460
+ '219,291,291,266,292,292,174,219,150,365,266,365,365,365,365,365,365',
461
+ '365,365,365,365,365,365,156,365,365,365,365,365,293,293,157,365,170',
462
+ '365,365,365,365,175,365,365,365,365,365,365,296,296,296,296,297,297',
463
+ '297,297,294,294,365,365,365,365,365,365,365,365,365,365,382,382,382',
464
+ '382,382,382,178,382,295,295,182,382,184,382,382,185,382,382,382,382',
465
+ '382,382,382,345,298,298,215,233,234,345,236,237,238,240,242,243,345',
466
+ '244,279,382,284,382,382,382,382,382,382,382,382,382,382,382,382,299',
467
+ '382,382,382,382,382,300,301,302,382,306,382,382,382,382,322,382,382',
468
+ '382,382,382,382,326,328,333,336,338,342,361,369,373,375,382,382,382',
469
+ '382,382,382,382,382,382,382,383,383,383,383,383,383,378,383,386,391',
470
+ '397,383,,383,383,,383,383,383,383,383,383,383,,,,,,,,,,,,,,,,,383,,383',
471
+ '383,383,383,383,383,383,383,383,383,383,383,,383,383,383,383,383,,,',
472
+ '383,,383,383,383,383,,383,383,383,383,383,383,,,,,,,,,,,383,383,383',
473
+ '383,383,383,383,383,383,383,396,396,396,396,396,396,,396,,,,396,,396',
474
+ '396,,396,396,396,396,396,396,396,,,,,,,,,,,,,,,,,396,,396,396,396,396',
475
+ '396,396,396,396,396,396,396,396,,396,396,396,396,396,,,,396,,396,396',
476
+ '396,396,,396,396,396,396,396,396,,,,,,,,,,,396,396,396,396,396,396,396',
477
+ '396,396,396,402,402,402,402,402,402,,402,,,,402,,402,402,,402,402,402',
478
+ '402,402,402,402,,,,,,,,,,,,,,,,,402,,402,402,402,402,402,402,402,402',
479
+ '402,402,402,402,,402,402,402,402,402,2,,,402,,402,402,402,402,,402,402',
480
+ '402,402,402,402,,,,,,,,32,,,402,402,402,402,402,402,402,402,402,402',
481
+ ',,,,2,,2,2,2,2,2,2,2,2,2,2,2,,,2,2,2,2,2,,2,2,32,,32,32,32,32,32,32',
482
+ '32,32,32,32,32,,,32,32,32,32,32,,,32,2,2,2,2,2,2,2,2,,,,,,,,,,,,,,,',
483
+ '32,32,32,32,32,32,32,32,77,77,77,77,77,77,,77,,,,77,,77,77,,77,77,77',
484
+ '77,77,77,77,82,82,82,82,82,82,,82,,82,,82,,82,82,,82,82,82,82,82,82',
485
+ '82,,,,,,,77,112,112,112,112,112,112,77,112,,,,112,,112,112,,112,112',
486
+ '112,112,112,112,112,,,,,,,,,,,,,,,,,,77,112,112,112,112,112,112,112',
487
+ '112,112,112,112,,,112,112,112,112,112,,,,,82,116,116,116,116,116,116',
488
+ ',116,,,,116,,116,116,,116,116,116,116,116,116,116,117,117,117,117,117',
489
+ '117,112,117,,,,117,,117,117,,117,117,117,117,117,117,117,118,118,118',
490
+ '118,118,118,,118,,,,118,,118,118,,118,118,118,118,118,118,118,119,119',
491
+ '119,119,119,119,,119,,,,119,,119,119,,119,119,119,119,119,119,119,,116',
492
+ ',,,,,,,141,141,141,141,141,141,,141,,,,141,,141,141,117,141,141,141',
493
+ '141,141,141,141,171,171,171,171,171,171,,171,,,,171,,171,171,118,171',
494
+ '171,171,171,171,171,171,,,,,,,141,181,181,181,181,181,181,141,181,119',
495
+ ',,181,,181,181,,181,181,181,181,181,181,181,,,183,183,183,183,183,183',
496
+ ',183,,,,183,,183,183,141,183,183,183,183,183,183,183,,,,,,189,189,189',
497
+ '189,189,189,,189,,,171,189,,189,189,,189,189,189,189,189,189,189,,,',
498
+ ',,,,,,,,,,,,,,181,189,189,189,189,189,189,189,189,189,189,189,,,189',
499
+ '189,189,189,189,191,191,191,191,191,191,183,191,,,,191,,191,191,,191',
500
+ '191,191,191,191,191,191,,194,194,194,194,194,194,,194,,,189,194,,194',
501
+ '194,,194,194,194,194,194,194,194,195,195,195,195,195,195,,195,,,,195',
502
+ ',195,195,,195,195,195,195,195,195,195,196,196,196,196,196,196,,196,',
503
+ ',,196,,196,196,,196,196,196,196,196,196,196,191,197,197,197,197,197',
504
+ '197,,197,,,,197,,197,197,,197,197,197,197,197,197,197,194,,,,,,,,198',
505
+ '198,198,198,198,198,,198,,,,198,,198,198,195,198,198,198,198,198,198',
506
+ '198,199,199,199,199,199,199,,199,,,,199,,199,199,196,199,199,199,199',
507
+ '199,199,199,,200,200,200,200,200,200,,200,,,,200,,200,200,197,200,200',
508
+ '200,200,200,200,200,201,201,201,201,201,201,,201,,,,201,,201,201,,201',
509
+ '201,201,201,201,201,201,198,,,,,,,,202,202,202,202,202,202,,202,,,,202',
510
+ ',202,202,199,202,202,202,202,202,202,202,,203,203,203,203,203,203,,203',
511
+ ',,,203,,203,203,200,203,203,203,203,203,203,203,204,204,204,204,204',
512
+ '204,,204,,,,204,,204,204,201,204,204,204,204,204,204,204,205,205,205',
513
+ '205,205,205,,205,,,,205,,205,205,,205,205,205,205,205,205,205,202,206',
514
+ '206,206,206,206,206,,206,,,,206,,206,206,,206,206,206,206,206,206,206',
515
+ '203,,,,,,,,207,207,207,207,207,207,,207,,,,207,,207,207,204,207,207',
516
+ '207,207,207,207,207,208,208,208,208,208,208,,208,,,,208,,208,208,205',
517
+ '208,208,208,208,208,208,208,,209,209,209,209,209,209,,209,,,,209,,209',
518
+ '209,206,209,209,209,209,209,209,209,210,210,210,210,210,210,,210,,,',
519
+ '210,,210,210,,210,210,210,210,210,210,210,207,,,,,,,,211,211,211,211',
520
+ '211,211,,211,,,,211,,211,211,208,211,211,211,211,211,211,211,,212,212',
521
+ '212,212,212,212,,212,,,,212,,212,212,209,212,212,212,212,212,212,212',
522
+ '239,239,239,239,239,239,,239,,,,239,,239,239,210,239,239,239,239,239',
523
+ '239,239,245,245,245,245,245,245,,245,,,,245,,245,245,,245,245,245,245',
524
+ '245,245,245,211,255,255,255,255,255,255,,255,,255,,255,,255,255,245',
525
+ '255,255,255,255,255,255,255,212,,,,,,,,273,273,273,273,273,273,,273',
526
+ ',,,273,,273,273,239,273,273,273,273,273,273,273,274,274,274,274,274',
527
+ '274,,274,,,,274,,274,274,245,274,274,274,274,274,274,274,,280,280,280',
528
+ '280,280,280,,280,,,,280,,280,280,255,280,280,280,280,280,280,280,305',
529
+ '305,305,305,305,305,,305,,,,305,,305,305,,305,305,305,305,305,305,305',
530
+ '273,38,38,38,38,38,38,38,38,38,38,38,,,38,38,38,38,38,,,,,274,,,,,,305',
531
+ '305,,,,,,305,307,307,307,307,307,307,,307,,,280,307,,307,307,,307,307',
532
+ '307,307,307,307,307,320,320,320,320,320,320,,320,,,305,320,,320,320',
533
+ ',320,320,320,320,320,320,320,321,321,321,321,321,321,,321,,,,321,,321',
534
+ '321,,321,321,321,321,321,321,321,323,323,323,323,323,323,,323,,,,323',
535
+ ',323,323,,323,323,323,323,323,323,323,,307,,,,,,,,324,324,324,324,324',
536
+ '324,,324,,,,324,,324,324,320,324,324,324,324,324,324,324,339,339,339',
537
+ '339,339,339,,339,,339,,339,,339,339,321,339,339,339,339,339,339,339',
538
+ '350,350,350,350,350,350,,350,,,,350,,350,350,323,350,350,350,350,350',
539
+ '350,350,354,354,354,354,354,354,,354,,,,354,,354,354,,354,354,354,354',
540
+ '354,354,354,,324,,,,,,,,384,384,384,384,384,384,,384,,,,384,,384,384',
541
+ '339,384,384,384,384,384,384,384,385,385,385,385,385,385,,385,,,,385',
542
+ ',385,385,350,385,385,385,385,385,385,385,398,398,398,398,398,398,,398',
543
+ ',,,398,,398,398,354,398,398,398,398,398,398,398,251,251,,251,,,251,',
544
+ ',,,,,251,,,,,,,,,277,277,384,277,,,,,,,,,,277,251,251,251,251,251,251',
545
+ '251,251,251,251,251,385,,251,251,251,251,251,,,,,277,277,277,277,277',
546
+ '277,277,277,277,277,277,,398,277,277,277,277,277,83,,,,251,251,251,251',
547
+ '251,251,251,251,,,,,,,340,,,,,,,,277,277,277,277,277,277,277,277,,83',
548
+ '83,83,83,83,83,83,83,83,83,83,,,83,83,83,83,83,340,340,340,340,340,340',
549
+ '340,340,340,340,340,,,340,340,340,340,340,,,,249,,,,,83,83,83,83,83',
550
+ '83,83,83,,,,,,,,,,,340,340,340,340,340,340,340,340,249,249,249,249,249',
551
+ '249,249,249,249,249,249,,,249,249,249,249,249,5,5,5,5,5,5,5,5,5,5,5',
552
+ ',,5,5,5,5,5,,,,,,,,,249,249,249,249,249,249,249,249,,,,,,,,,,,5,5,5',
553
+ '5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,,,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,,',
554
+ '7,7,7,7,7,,,,,,,,,6,6,6,6,6,6,6,6,,,,,,,,,,,7,7,7,7,7,7,7,7,67,67,67',
555
+ '67,67,67,67,67,67,67,67,,,67,67,67,67,67,88,88,88,88,88,88,88,88,88',
556
+ '88,88,,,88,88,88,88,88,,,,,,,,,67,67,67,67,67,67,67,67,,,,,,,,,,,88',
557
+ '88,88,88,88,88,88,88,89,89,89,89,89,89,89,89,89,89,89,,,89,89,89,89',
558
+ '89,92,92,92,92,92,92,92,92,92,92,92,,92,92,92,92,92,92,,,,,,,,,89,89',
559
+ '89,89,89,89,89,89,,,,,,,,,,,92,92,92,92,92,92,92,92,155,155,155,155',
560
+ '155,155,155,155,155,155,155,,,155,155,155,155,155,158,158,158,158,158',
561
+ '158,158,158,158,158,158,,158,158,158,158,158,158,,,,,,,,,155,155,155',
562
+ '155,155,155,155,155,,,,,,,,,,,158,158,158,158,158,158,158,158,161,161',
563
+ '161,161,161,161,161,161,161,161,161,,161,161,161,161,161,161,256,256',
564
+ '256,256,256,256,256,256,256,256,256,,256,256,256,256,256,256,,,,,,,',
565
+ ',161,161,161,161,161,161,161,161,,,,,,,,,,,256,256,256,256,256,256,256',
566
+ '256,72,72,72,72,72,72,72,72,72,72,72,,,72,72,72,72,72,73,73,73,73,73',
567
+ '73,73,73,73,73,73,,,73,73,73,73,73' ]
568
+ racc_action_check = arr = ::Array.new(2934, nil)
569
+ idx = 0
570
+ clist.each do |str|
571
+ str.split(',', -1).each do |i|
572
+ arr[idx] = i.to_i unless i.empty?
573
+ idx += 1
574
+ end
575
+ end
576
+
577
+ racc_action_pointer = [
578
+ nil, 24, 818, 105, 207, 2453, 2505, 2523, nil, nil,
579
+ nil, nil, 66, nil, 81, nil, nil, nil, nil, nil,
580
+ nil, nil, 120, nil, 14, nil, 50, nil, nil, nil,
581
+ nil, nil, 841, nil, nil, nil, nil, nil, 1947, nil,
582
+ nil, nil, nil, nil, nil, nil, nil, nil, -11, nil,
583
+ -17, 111, 19, nil, 208, 111, nil, nil, nil, nil,
584
+ nil, nil, nil, 101, 125, nil, 144, 2575, nil, 187,
585
+ 172, nil, 2855, 2873, 210, nil, 301, 934, nil, nil,
586
+ 21, nil, 957, 2365, 235, 231, nil, nil, 2593, 2645,
587
+ 232, 254, 2663, nil, 302, 93, nil, 255, 304, nil,
588
+ nil, -8, nil, nil, 277, 243, nil, nil, nil, nil,
589
+ nil, 337, 987, nil, 1, 162, 1051, 1074, 1097, 1120,
590
+ nil, nil, nil, nil, nil, nil, nil, nil, 246, 99,
591
+ 266, 238, 311, 329, 318, 325, 332, 325, nil, nil,
592
+ nil, 1152, 379, nil, 377, -2, 395, nil, 400, nil,
593
+ 401, nil, 303, nil, nil, 2715, 392, 400, 2733, nil,
594
+ 305, 2785, nil, nil, nil, nil, -7, nil, nil, nil,
595
+ 430, 1175, 118, nil, 396, 435, nil, 15, 473, nil,
596
+ 385, 1205, 478, 1230, 474, 477, nil, nil, nil, 1258,
597
+ nil, 1317, nil, nil, 1341, 1364, 1387, 1411, 1442, 1465,
598
+ 1489, 1512, 1543, 1567, 1590, 1613, 1637, 1668, 1691, 1715,
599
+ 1738, 1769, 1793, 158, nil, 492, nil, -2, -5, 397,
600
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
601
+ nil, nil, nil, 495, 496, 93, 498, 499, 467, 1816,
602
+ 468, nil, 496, 469, 471, 1839, nil, nil, nil, 2435,
603
+ 116, 2290, nil, nil, 192, 1863, 2803, nil, nil, nil,
604
+ nil, 18, nil, nil, nil, nil, 400, nil, nil, nil,
605
+ nil, nil, nil, 1894, 1917, nil, 212, 2312, 111, 496,
606
+ 1941, 207, nil, nil, 507, nil, nil, nil, 340, 342,
607
+ 367, 390, 387, 412, 436, 456, 426, 430, 466, 509,
608
+ 499, 499, 499, -2, nil, 1964, 530, 2024, nil, nil,
609
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
610
+ 2047, 2070, 477, 2093, 2125, 188, 510, 283, 510, nil,
611
+ nil, 84, nil, 540, nil, 243, 545, nil, 546, 2148,
612
+ 2383, nil, 544, nil, nil, 491, nil, nil, nil, nil,
613
+ 2171, 188, nil, nil, 2194, nil, nil, nil, 86, 208,
614
+ 241, 549, 113, 257, nil, 378, nil, nil, nil, 545,
615
+ nil, nil, nil, 547, nil, 551, nil, nil, 559, nil,
616
+ nil, nil, 473, 568, 2226, 2249, 508, nil, nil, nil,
617
+ nil, 514, nil, 283, 115, nil, 663, 539, 2272, nil,
618
+ nil, 303, 758, nil ]
619
+
620
+ racc_action_default = [
621
+ -177, -246, -1, -246, -246, -71, -72, -73, -81, -82,
622
+ -83, -84, -85, -86, -87, -88, -89, -90, -91, -92,
623
+ -93, -94, -97, -100, -246, -117, -246, -130, -135, -136,
624
+ -178, -179, -246, -181, -182, -185, -186, -187, -246, -234,
625
+ -235, -236, -237, -238, -239, -240, -241, 404, -246, -77,
626
+ -79, -246, -138, -140, -246, -146, -74, -85, -87, -75,
627
+ -76, -184, -183, -99, -246, -103, -116, -246, -120, -246,
628
+ -129, -180, -107, -109, -246, -70, -246, -246, -191, -192,
629
+ -137, -139, -246, -246, -246, -147, -148, -95, -246, -246,
630
+ -85, -86, -246, -118, -246, -246, -131, -133, -246, -108,
631
+ -110, -246, -189, -78, -79, -2, -3, -4, -5, -6,
632
+ -7, -8, -246, -10, -12, -23, -246, -246, -246, -246,
633
+ -29, -30, -31, -32, -33, -34, -35, -37, -41, -44,
634
+ -47, -52, -55, -57, -59, -61, -63, -65, -69, -80,
635
+ -171, -246, -246, -242, -246, -246, -246, -143, -246, -145,
636
+ -150, -152, -156, -141, -149, -246, -85, -86, -246, -101,
637
+ -246, -246, -123, -122, -115, -119, -246, -124, -126, -127,
638
+ -246, -246, -246, -188, -246, -246, -11, -246, -246, -67,
639
+ -157, -20, -246, -246, -246, -246, -18, -19, -24, -246,
640
+ -25, -246, -27, -28, -246, -246, -246, -246, -246, -246,
641
+ -246, -246, -246, -246, -246, -246, -246, -246, -246, -246,
642
+ -246, -246, -246, -246, -175, -246, -243, -35, -246, -246,
643
+ -193, -194, -195, -196, -197, -198, -199, -200, -201, -202,
644
+ -203, -204, -205, -246, -246, -246, -246, -246, -242, -246,
645
+ -246, -215, -246, -246, -246, -246, -245, -142, -144, -246,
646
+ -159, -246, -154, -155, -160, -246, -246, -106, -105, -98,
647
+ -102, -246, -111, -113, -114, -121, -246, -132, -134, -128,
648
+ -190, -244, -9, -246, -246, -158, -159, -246, -246, -21,
649
+ -20, -246, -16, -17, -246, -38, -39, -40, -42, -43,
650
+ -45, -46, -48, -49, -50, -51, -53, -54, -56, -58,
651
+ -60, -62, -64, -246, -172, -246, -246, -246, -223, -224,
652
+ -225, -226, -227, -228, -229, -230, -231, -232, -233, -221,
653
+ -246, -246, -246, -246, -246, -246, -246, -246, -246, -217,
654
+ -218, -246, -220, -246, -153, -161, -246, -167, -246, -246,
655
+ -246, -163, -246, -96, -104, -246, -125, -68, -36, -13,
656
+ -246, -246, -15, -26, -246, -173, -176, -174, -246, -246,
657
+ -246, -246, -246, -246, -212, -246, -214, -216, -219, -246,
658
+ -162, -168, -165, -246, -169, -246, -164, -112, -22, -14,
659
+ -66, -222, -246, -246, -246, -246, -246, -213, -151, -166,
660
+ -170, -206, -208, -246, -246, -211, -246, -246, -246, -207,
661
+ -209, -246, -246, -210 ]
662
+
663
+ racc_goto_table = [
664
+ 50, 4, 148, 139, 56, 59, 60, 138, 190, 192,
665
+ 193, 146, 138, 262, 80, 167, 86, 158, 91, 278,
666
+ 220, 12, 260, 165, 72, 177, 178, 35, 253, 74,
667
+ 14, 4, 95, 92, 1, 31, 217, 188, 2, 157,
668
+ 91, 298, 335, 91, 299, 73, 154, 292, 293, 294,
669
+ 295, 12, 288, 289, 300, 161, 275, 35, 72, 72,
670
+ 14, 172, 85, 99, 100, 71, 94, 214, 335, 301,
671
+ 102, 138, 104, 290, 291, 296, 297, 302, 103, 73,
672
+ 73, 63, 152, 155, 256, 64, 90, 160, 94, 261,
673
+ 168, 94, 165, 66, 279, 166, 281, 267, 72, 334,
674
+ 268, 138, 177, 284, 177, 213, 157, 156, 90, 157,
675
+ 322, 90, 91, 250, 30, 285, 286, 287, 351, 73,
676
+ 260, 182, 101, 78, 145, 303, 217, 307, nil, nil,
677
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
678
+ nil, 276, nil, nil, nil, nil, nil, nil, 252, nil,
679
+ nil, nil, nil, nil, 160, nil, 263, 160, 331, nil,
680
+ 94, nil, nil, nil, nil, nil, nil, nil, 326, 138,
681
+ 270, nil, nil, nil, 156, 72, nil, 156, nil, nil,
682
+ 90, nil, nil, nil, 342, 138, nil, 346, nil, nil,
683
+ nil, nil, nil, 279, nil, 348, 73, nil, 377, nil,
684
+ 364, nil, 366, 347, nil, nil, nil, 157, nil, nil,
685
+ nil, nil, 250, 80, nil, 104, 217, nil, 217, nil,
686
+ 358, nil, nil, nil, nil, nil, nil, nil, nil, nil,
687
+ nil, 356, nil, 359, 360, 138, 362, 363, 276, nil,
688
+ 387, nil, nil, nil, nil, nil, nil, nil, 152, nil,
689
+ 152, nil, nil, nil, nil, 160, 217, 391, 392, 375,
690
+ nil, nil, 168, 378, nil, nil, nil, nil, 373, 138,
691
+ nil, 399, nil, 217, 217, 156, 152, 403, nil, nil,
692
+ nil, nil, nil, nil, 380, nil, nil, 217, nil, nil,
693
+ nil, nil, nil, 217, nil, nil, nil, 393, 394, nil,
694
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
695
+ nil, 401, nil, nil, nil, nil, nil, nil, nil, nil,
696
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
697
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 152,
698
+ nil, 263 ]
699
+
700
+ racc_goto_check = [
701
+ 32, 27, 57, 33, 27, 27, 27, 24, 10, 10,
702
+ 10, 25, 24, 45, 56, 51, 55, 39, 35, 8,
703
+ 70, 34, 42, 49, 30, 6, 13, 26, 60, 44,
704
+ 36, 27, 53, 48, 1, 64, 10, 12, 2, 35,
705
+ 35, 18, 61, 35, 19, 9, 55, 16, 16, 16,
706
+ 16, 34, 14, 14, 20, 48, 60, 26, 30, 30,
707
+ 36, 53, 9, 44, 44, 64, 27, 33, 61, 21,
708
+ 32, 24, 32, 15, 15, 17, 17, 22, 31, 9,
709
+ 9, 38, 27, 40, 39, 41, 34, 27, 27, 43,
710
+ 32, 27, 49, 47, 6, 50, 6, 54, 30, 59,
711
+ 25, 24, 6, 13, 6, 62, 35, 34, 34, 35,
712
+ 70, 34, 35, 55, 63, 12, 12, 12, 8, 9,
713
+ 42, 9, 67, 68, 69, 6, 10, 80, nil, nil,
714
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
715
+ nil, 55, nil, nil, nil, nil, nil, nil, 32, nil,
716
+ nil, nil, nil, nil, 27, nil, 32, 27, 6, nil,
717
+ 27, nil, nil, nil, nil, nil, nil, nil, 25, 24,
718
+ 32, nil, nil, nil, 34, 30, nil, 34, nil, nil,
719
+ 34, nil, nil, nil, 25, 24, nil, 51, nil, nil,
720
+ nil, nil, nil, 6, nil, 12, 9, nil, 45, nil,
721
+ 70, nil, 70, 24, nil, nil, nil, 35, nil, nil,
722
+ nil, nil, 55, 56, nil, 32, 10, nil, 10, nil,
723
+ 6, nil, nil, nil, nil, nil, nil, nil, nil, nil,
724
+ nil, 33, nil, 6, 6, 24, 6, 6, 55, nil,
725
+ 70, nil, nil, nil, nil, nil, nil, nil, 27, nil,
726
+ 27, nil, nil, nil, nil, 27, 10, 70, 70, 57,
727
+ nil, nil, 32, 6, nil, nil, nil, nil, 25, 24,
728
+ nil, 70, nil, 10, 10, 34, 27, 70, nil, nil,
729
+ nil, nil, nil, nil, 24, nil, nil, 10, nil, nil,
730
+ nil, nil, nil, 10, nil, nil, nil, 6, 6, nil,
731
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
732
+ nil, 6, nil, nil, nil, nil, nil, nil, nil, nil,
733
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
734
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 27,
735
+ nil, 32 ]
736
+
737
+ racc_goto_pointer = [
738
+ nil, 34, 38, nil, nil, nil, -87, nil, -162, 7,
739
+ -109, nil, -79, -86, -145, -126, -154, -130, -166, -164,
740
+ -155, -141, -134, nil, -70, -71, 25, -1, nil, nil,
741
+ -14, 2, -4, -74, 19, -49, 28, nil, 59, -71,
742
+ -4, 63, -136, -71, -9, -147, nil, 69, -34, -69,
743
+ 1, -79, nil, -37, -73, -39, -37, -81, nil, -150,
744
+ -124, -208, -36, 112, 33, nil, nil, 48, 73, 45,
745
+ -125, nil, nil, nil, nil, nil, nil, nil, nil, nil,
746
+ -90 ]
747
+
748
+ racc_goto_default = [
749
+ nil, nil, nil, 114, 105, 111, 218, 115, nil, 7,
750
+ 126, 116, 127, nil, 128, 129, 130, 131, 132, 133,
751
+ 134, 135, 136, 137, 179, 140, 221, 219, 48, 5,
752
+ 6, 49, 84, nil, 57, 13, 58, 22, nil, nil,
753
+ nil, nil, 159, nil, 180, nil, 24, nil, nil, 93,
754
+ nil, nil, 26, nil, 96, 51, 52, 338, 150, 151,
755
+ 336, 254, nil, nil, nil, 33, 34, nil, 228, nil,
756
+ nil, 222, 223, 224, 225, 226, 227, 229, 230, 231,
757
+ nil ]
758
+
759
+ racc_reduce_table = [
760
+ 0, 0, :racc_error,
761
+ 1, 98, :_reduce_none,
762
+ 1, 100, :_reduce_2,
763
+ 1, 100, :_reduce_3,
764
+ 1, 100, :_reduce_4,
765
+ 1, 100, :_reduce_5,
766
+ 1, 100, :_reduce_6,
767
+ 1, 100, :_reduce_7,
768
+ 1, 100, :_reduce_8,
769
+ 3, 100, :_reduce_9,
770
+ 1, 102, :_reduce_10,
771
+ 2, 102, :_reduce_11,
772
+ 1, 104, :_reduce_none,
773
+ 4, 104, :_reduce_none,
774
+ 5, 104, :_reduce_none,
775
+ 4, 104, :_reduce_15,
776
+ 3, 104, :_reduce_16,
777
+ 3, 104, :_reduce_17,
778
+ 2, 104, :_reduce_18,
779
+ 2, 104, :_reduce_19,
780
+ 0, 105, :_reduce_none,
781
+ 1, 105, :_reduce_none,
782
+ 3, 105, :_reduce_none,
783
+ 1, 107, :_reduce_none,
784
+ 2, 107, :_reduce_24,
785
+ 2, 107, :_reduce_25,
786
+ 4, 107, :_reduce_26,
787
+ 2, 107, :_reduce_27,
788
+ 2, 107, :_reduce_28,
789
+ 1, 108, :_reduce_29,
790
+ 1, 108, :_reduce_30,
791
+ 1, 108, :_reduce_31,
792
+ 1, 108, :_reduce_32,
793
+ 1, 108, :_reduce_33,
794
+ 1, 108, :_reduce_34,
795
+ 1, 109, :_reduce_none,
796
+ 4, 109, :_reduce_36,
797
+ 1, 111, :_reduce_none,
798
+ 3, 111, :_reduce_38,
799
+ 3, 111, :_reduce_39,
800
+ 3, 111, :_reduce_40,
801
+ 1, 112, :_reduce_none,
802
+ 3, 112, :_reduce_42,
803
+ 3, 112, :_reduce_43,
804
+ 1, 113, :_reduce_none,
805
+ 3, 113, :_reduce_45,
806
+ 3, 113, :_reduce_46,
807
+ 1, 114, :_reduce_none,
808
+ 3, 114, :_reduce_48,
809
+ 3, 114, :_reduce_49,
810
+ 3, 114, :_reduce_50,
811
+ 3, 114, :_reduce_51,
812
+ 1, 115, :_reduce_none,
813
+ 3, 115, :_reduce_53,
814
+ 3, 115, :_reduce_54,
815
+ 1, 116, :_reduce_none,
816
+ 3, 116, :_reduce_56,
817
+ 1, 117, :_reduce_none,
818
+ 3, 117, :_reduce_58,
819
+ 1, 118, :_reduce_none,
820
+ 3, 118, :_reduce_60,
821
+ 1, 119, :_reduce_none,
822
+ 3, 119, :_reduce_62,
823
+ 1, 120, :_reduce_none,
824
+ 3, 120, :_reduce_64,
825
+ 1, 121, :_reduce_none,
826
+ 5, 121, :_reduce_66,
827
+ 1, 103, :_reduce_67,
828
+ 3, 103, :_reduce_68,
829
+ 1, 122, :_reduce_69,
830
+ 3, 123, :_reduce_none,
831
+ 1, 124, :_reduce_71,
832
+ 1, 124, :_reduce_none,
833
+ 1, 124, :_reduce_73,
834
+ 2, 124, :_reduce_74,
835
+ 2, 124, :_reduce_75,
836
+ 2, 124, :_reduce_76,
837
+ 1, 125, :_reduce_77,
838
+ 3, 125, :_reduce_78,
839
+ 1, 128, :_reduce_none,
840
+ 3, 128, :_reduce_80,
841
+ 1, 127, :_reduce_81,
842
+ 1, 127, :_reduce_82,
843
+ 1, 127, :_reduce_83,
844
+ 1, 127, :_reduce_84,
845
+ 1, 127, :_reduce_85,
846
+ 1, 127, :_reduce_86,
847
+ 1, 127, :_reduce_87,
848
+ 1, 127, :_reduce_88,
849
+ 1, 127, :_reduce_89,
850
+ 1, 127, :_reduce_90,
851
+ 1, 127, :_reduce_91,
852
+ 1, 127, :_reduce_92,
853
+ 1, 127, :_reduce_93,
854
+ 1, 127, :_reduce_94,
855
+ 0, 137, :_reduce_95,
856
+ 6, 131, :_reduce_96,
857
+ 0, 138, :_reduce_97,
858
+ 5, 131, :_reduce_98,
859
+ 2, 131, :_reduce_99,
860
+ 1, 134, :_reduce_100,
861
+ 1, 136, :_reduce_none,
862
+ 2, 136, :_reduce_none,
863
+ 1, 135, :_reduce_103,
864
+ 3, 139, :_reduce_104,
865
+ 2, 139, :_reduce_none,
866
+ 2, 139, :_reduce_none,
867
+ 1, 141, :_reduce_none,
868
+ 2, 141, :_reduce_108,
869
+ 1, 141, :_reduce_109,
870
+ 2, 141, :_reduce_110,
871
+ 1, 140, :_reduce_111,
872
+ 3, 140, :_reduce_112,
873
+ 1, 142, :_reduce_none,
874
+ 5, 132, :_reduce_none,
875
+ 4, 132, :_reduce_none,
876
+ 2, 132, :_reduce_none,
877
+ 1, 143, :_reduce_117,
878
+ 1, 145, :_reduce_none,
879
+ 2, 145, :_reduce_none,
880
+ 1, 144, :_reduce_none,
881
+ 3, 146, :_reduce_none,
882
+ 2, 146, :_reduce_none,
883
+ 2, 146, :_reduce_none,
884
+ 1, 147, :_reduce_none,
885
+ 3, 147, :_reduce_none,
886
+ 1, 148, :_reduce_none,
887
+ 4, 133, :_reduce_none,
888
+ 5, 133, :_reduce_none,
889
+ 2, 133, :_reduce_none,
890
+ 1, 149, :_reduce_130,
891
+ 1, 150, :_reduce_none,
892
+ 3, 150, :_reduce_none,
893
+ 1, 151, :_reduce_none,
894
+ 3, 151, :_reduce_none,
895
+ 1, 106, :_reduce_135,
896
+ 1, 106, :_reduce_136,
897
+ 2, 129, :_reduce_137,
898
+ 1, 129, :_reduce_none,
899
+ 2, 129, :_reduce_139,
900
+ 1, 153, :_reduce_140,
901
+ 3, 153, :_reduce_141,
902
+ 4, 153, :_reduce_142,
903
+ 3, 153, :_reduce_143,
904
+ 4, 153, :_reduce_144,
905
+ 3, 153, :_reduce_145,
906
+ 1, 152, :_reduce_146,
907
+ 2, 152, :_reduce_147,
908
+ 2, 152, :_reduce_148,
909
+ 3, 152, :_reduce_149,
910
+ 1, 154, :_reduce_none,
911
+ 5, 154, :_reduce_none,
912
+ 1, 155, :_reduce_none,
913
+ 3, 155, :_reduce_none,
914
+ 2, 156, :_reduce_none,
915
+ 2, 156, :_reduce_none,
916
+ 1, 156, :_reduce_none,
917
+ 1, 110, :_reduce_none,
918
+ 2, 110, :_reduce_none,
919
+ 1, 157, :_reduce_none,
920
+ 1, 157, :_reduce_none,
921
+ 2, 157, :_reduce_none,
922
+ 3, 158, :_reduce_none,
923
+ 2, 158, :_reduce_none,
924
+ 3, 158, :_reduce_none,
925
+ 3, 158, :_reduce_none,
926
+ 4, 158, :_reduce_none,
927
+ 2, 158, :_reduce_167,
928
+ 3, 158, :_reduce_none,
929
+ 3, 158, :_reduce_169,
930
+ 4, 158, :_reduce_none,
931
+ 1, 130, :_reduce_171,
932
+ 3, 130, :_reduce_172,
933
+ 4, 130, :_reduce_173,
934
+ 4, 130, :_reduce_174,
935
+ 1, 159, :_reduce_175,
936
+ 3, 159, :_reduce_176,
937
+ 0, 99, :_reduce_none,
938
+ 2, 99, :_reduce_none,
939
+ 1, 160, :_reduce_none,
940
+ 2, 160, :_reduce_none,
941
+ 1, 161, :_reduce_none,
942
+ 1, 161, :_reduce_none,
943
+ 2, 161, :_reduce_none,
944
+ 2, 161, :_reduce_none,
945
+ 1, 161, :_reduce_none,
946
+ 1, 161, :_reduce_none,
947
+ 1, 161, :_reduce_none,
948
+ 4, 162, :_reduce_188,
949
+ 1, 164, :_reduce_189,
950
+ 3, 164, :_reduce_190,
951
+ 3, 163, :_reduce_none,
952
+ 0, 166, :_reduce_none,
953
+ 2, 166, :_reduce_none,
954
+ 1, 167, :_reduce_none,
955
+ 1, 167, :_reduce_none,
956
+ 1, 167, :_reduce_none,
957
+ 1, 167, :_reduce_none,
958
+ 1, 167, :_reduce_none,
959
+ 1, 167, :_reduce_none,
960
+ 1, 167, :_reduce_none,
961
+ 1, 167, :_reduce_none,
962
+ 1, 167, :_reduce_none,
963
+ 1, 167, :_reduce_none,
964
+ 1, 167, :_reduce_none,
965
+ 1, 167, :_reduce_none,
966
+ 5, 168, :_reduce_none,
967
+ 7, 168, :_reduce_none,
968
+ 5, 169, :_reduce_none,
969
+ 7, 170, :_reduce_none,
970
+ 9, 171, :_reduce_none,
971
+ 5, 172, :_reduce_none,
972
+ 3, 173, :_reduce_none,
973
+ 4, 173, :_reduce_none,
974
+ 3, 173, :_reduce_none,
975
+ 3, 165, :_reduce_none,
976
+ 3, 174, :_reduce_none,
977
+ 2, 174, :_reduce_none,
978
+ 2, 174, :_reduce_none,
979
+ 3, 174, :_reduce_none,
980
+ 2, 174, :_reduce_none,
981
+ 2, 175, :_reduce_none,
982
+ 4, 175, :_reduce_none,
983
+ 1, 177, :_reduce_none,
984
+ 1, 177, :_reduce_none,
985
+ 1, 177, :_reduce_none,
986
+ 1, 177, :_reduce_none,
987
+ 1, 177, :_reduce_none,
988
+ 1, 177, :_reduce_none,
989
+ 1, 177, :_reduce_none,
990
+ 1, 177, :_reduce_none,
991
+ 1, 177, :_reduce_none,
992
+ 1, 177, :_reduce_none,
993
+ 1, 177, :_reduce_none,
994
+ 1, 126, :_reduce_none,
995
+ 1, 126, :_reduce_none,
996
+ 1, 126, :_reduce_none,
997
+ 1, 126, :_reduce_none,
998
+ 1, 126, :_reduce_none,
999
+ 1, 126, :_reduce_none,
1000
+ 1, 126, :_reduce_none,
1001
+ 1, 126, :_reduce_none,
1002
+ 1, 101, :_reduce_242,
1003
+ 2, 101, :_reduce_243,
1004
+ 3, 101, :_reduce_244,
1005
+ 1, 176, :_reduce_245 ]
1006
+
1007
+ racc_reduce_n = 246
1008
+
1009
+ racc_shift_n = 404
1010
+
1011
+ racc_token_table = {
1012
+ false => 0,
1013
+ :error => 1,
1014
+ :INTEGER_CONSTANT => 2,
1015
+ :FLOATING_CONSTANT => 3,
1016
+ :OCTAL_CONSTANT => 4,
1017
+ :HEX_CONSTANT => 5,
1018
+ :CHARACTER_LITERAL => 6,
1019
+ "(" => 7,
1020
+ ")" => 8,
1021
+ :STRING_LITERAL => 9,
1022
+ "[" => 10,
1023
+ "]" => 11,
1024
+ "." => 12,
1025
+ :IDENTIFIER => 13,
1026
+ "->" => 14,
1027
+ "++" => 15,
1028
+ "--" => 16,
1029
+ "," => 17,
1030
+ :SIZEOF => 18,
1031
+ "&" => 19,
1032
+ "*" => 20,
1033
+ "+" => 21,
1034
+ "-" => 22,
1035
+ "~" => 23,
1036
+ "!" => 24,
1037
+ "/" => 25,
1038
+ "%" => 26,
1039
+ "<<" => 27,
1040
+ ">>" => 28,
1041
+ "<" => 29,
1042
+ ">" => 30,
1043
+ "<=" => 31,
1044
+ ">=" => 32,
1045
+ "==" => 33,
1046
+ "!=" => 34,
1047
+ "^" => 35,
1048
+ "|" => 36,
1049
+ "&&" => 37,
1050
+ "||" => 38,
1051
+ "?" => 39,
1052
+ ":" => 40,
1053
+ ";" => 41,
1054
+ "=" => 42,
1055
+ :VOID => 43,
1056
+ :FLOAT => 44,
1057
+ :DOUBLE => 45,
1058
+ :BOOL => 46,
1059
+ :TYPE_NAME => 47,
1060
+ :CHAR => 48,
1061
+ :SHORT => 49,
1062
+ :INT => 50,
1063
+ :LONG => 51,
1064
+ :SIGNED => 52,
1065
+ :UNSIGNED => 53,
1066
+ "{" => 54,
1067
+ "}" => 55,
1068
+ :STRUCT => 56,
1069
+ :UNION => 57,
1070
+ :ENUM => 58,
1071
+ :CONST => 59,
1072
+ :VOLATILE => 60,
1073
+ :C_EXP => 61,
1074
+ :EXTENSION => 62,
1075
+ :TYPEDEF => 63,
1076
+ :IF => 64,
1077
+ :ELSE => 65,
1078
+ :WHILE => 66,
1079
+ :DO => 67,
1080
+ :FOR => 68,
1081
+ :SWITCH => 69,
1082
+ :infunc_statment => 70,
1083
+ :CASE => 71,
1084
+ :DEFAULT => 72,
1085
+ :GOTO => 73,
1086
+ :CONTINUE => 74,
1087
+ :BREAK => 75,
1088
+ :RETURN => 76,
1089
+ "+=" => 77,
1090
+ "-=" => 78,
1091
+ "*=" => 79,
1092
+ "/=" => 80,
1093
+ "%=" => 81,
1094
+ "<<=" => 82,
1095
+ ">>=" => 83,
1096
+ "&=" => 84,
1097
+ "|=" => 85,
1098
+ "^=" => 86,
1099
+ :__INLINE__ => 87,
1100
+ :INLINE => 88,
1101
+ :__INLINE => 89,
1102
+ :CINLINE => 90,
1103
+ :EXTERN => 91,
1104
+ :STATIC => 92,
1105
+ :AUTO => 93,
1106
+ :REGISTER => 94,
1107
+ "::" => 95,
1108
+ :_ASM => 96 }
1109
+
1110
+ racc_nt_base = 97
1111
+
1112
+ racc_use_result_var = true
1113
+
1114
+ Racc_arg = [
1115
+ racc_action_table,
1116
+ racc_action_check,
1117
+ racc_action_default,
1118
+ racc_action_pointer,
1119
+ racc_goto_table,
1120
+ racc_goto_check,
1121
+ racc_goto_default,
1122
+ racc_goto_pointer,
1123
+ racc_nt_base,
1124
+ racc_reduce_table,
1125
+ racc_token_table,
1126
+ racc_shift_n,
1127
+ racc_reduce_n,
1128
+ racc_use_result_var ]
1129
+
1130
+ Racc_token_to_s_table = [
1131
+ "$end",
1132
+ "error",
1133
+ "INTEGER_CONSTANT",
1134
+ "FLOATING_CONSTANT",
1135
+ "OCTAL_CONSTANT",
1136
+ "HEX_CONSTANT",
1137
+ "CHARACTER_LITERAL",
1138
+ "\"(\"",
1139
+ "\")\"",
1140
+ "STRING_LITERAL",
1141
+ "\"[\"",
1142
+ "\"]\"",
1143
+ "\".\"",
1144
+ "IDENTIFIER",
1145
+ "\"->\"",
1146
+ "\"++\"",
1147
+ "\"--\"",
1148
+ "\",\"",
1149
+ "SIZEOF",
1150
+ "\"&\"",
1151
+ "\"*\"",
1152
+ "\"+\"",
1153
+ "\"-\"",
1154
+ "\"~\"",
1155
+ "\"!\"",
1156
+ "\"/\"",
1157
+ "\"%\"",
1158
+ "\"<<\"",
1159
+ "\">>\"",
1160
+ "\"<\"",
1161
+ "\">\"",
1162
+ "\"<=\"",
1163
+ "\">=\"",
1164
+ "\"==\"",
1165
+ "\"!=\"",
1166
+ "\"^\"",
1167
+ "\"|\"",
1168
+ "\"&&\"",
1169
+ "\"||\"",
1170
+ "\"?\"",
1171
+ "\":\"",
1172
+ "\";\"",
1173
+ "\"=\"",
1174
+ "VOID",
1175
+ "FLOAT",
1176
+ "DOUBLE",
1177
+ "BOOL",
1178
+ "TYPE_NAME",
1179
+ "CHAR",
1180
+ "SHORT",
1181
+ "INT",
1182
+ "LONG",
1183
+ "SIGNED",
1184
+ "UNSIGNED",
1185
+ "\"{\"",
1186
+ "\"}\"",
1187
+ "STRUCT",
1188
+ "UNION",
1189
+ "ENUM",
1190
+ "CONST",
1191
+ "VOLATILE",
1192
+ "C_EXP",
1193
+ "EXTENSION",
1194
+ "TYPEDEF",
1195
+ "IF",
1196
+ "ELSE",
1197
+ "WHILE",
1198
+ "DO",
1199
+ "FOR",
1200
+ "SWITCH",
1201
+ "infunc_statment",
1202
+ "CASE",
1203
+ "DEFAULT",
1204
+ "GOTO",
1205
+ "CONTINUE",
1206
+ "BREAK",
1207
+ "RETURN",
1208
+ "\"+=\"",
1209
+ "\"-=\"",
1210
+ "\"*=\"",
1211
+ "\"/=\"",
1212
+ "\"%=\"",
1213
+ "\"<<=\"",
1214
+ "\">>=\"",
1215
+ "\"&=\"",
1216
+ "\"|=\"",
1217
+ "\"^=\"",
1218
+ "__INLINE__",
1219
+ "INLINE",
1220
+ "__INLINE",
1221
+ "CINLINE",
1222
+ "EXTERN",
1223
+ "STATIC",
1224
+ "AUTO",
1225
+ "REGISTER",
1226
+ "\"::\"",
1227
+ "_ASM",
1228
+ "$start",
1229
+ "all",
1230
+ "C_parser",
1231
+ "primary_expression",
1232
+ "namespace_identifier",
1233
+ "string_literal_list",
1234
+ "expression",
1235
+ "postfix_expression",
1236
+ "argument_list",
1237
+ "type_qualifier",
1238
+ "unary_expression",
1239
+ "unary_operator",
1240
+ "cast_expression",
1241
+ "type_name",
1242
+ "multiplicative_expression",
1243
+ "additive_expression",
1244
+ "shift_expression",
1245
+ "relational_expression",
1246
+ "equality_expression",
1247
+ "and_expression",
1248
+ "exclusive_or_expression",
1249
+ "inclusive_or_expression",
1250
+ "logical_and_expression",
1251
+ "logical_or_expression",
1252
+ "conditional_expression",
1253
+ "constant_expression",
1254
+ "declaration",
1255
+ "declaration_specifiers",
1256
+ "init_declarator_list",
1257
+ "storage_class",
1258
+ "type_specifier",
1259
+ "init_declarator",
1260
+ "declarator",
1261
+ "initializer",
1262
+ "struct_specifier",
1263
+ "union_specifier",
1264
+ "enum_specifier",
1265
+ "struct_term",
1266
+ "struct_tag",
1267
+ "struct_declaration_list",
1268
+ "@1",
1269
+ "@2",
1270
+ "struct_declaration",
1271
+ "struct_declarator_list",
1272
+ "type_specifier_qualifier_list",
1273
+ "struct_declarator",
1274
+ "union_term",
1275
+ "union_tag",
1276
+ "union_declaration_list",
1277
+ "union_declaration",
1278
+ "union_declarator_list",
1279
+ "union_declarator",
1280
+ "enum_type",
1281
+ "enumerator_list",
1282
+ "enumerator",
1283
+ "pointer",
1284
+ "direct_declarator",
1285
+ "parameter_type_list",
1286
+ "parameter_list",
1287
+ "parameter_declaration",
1288
+ "abstract_declarator",
1289
+ "direct_abstract_declarator",
1290
+ "initializer_list",
1291
+ "extension_statement",
1292
+ "statement",
1293
+ "typedef",
1294
+ "func_def",
1295
+ "declarator_list",
1296
+ "compoundstatement",
1297
+ "infunc_statement_list",
1298
+ "infunc_statement",
1299
+ "ifstatement",
1300
+ "whilestatement",
1301
+ "dowhilestatement",
1302
+ "forstatement",
1303
+ "switchstatement",
1304
+ "labelstatement",
1305
+ "gotostatement",
1306
+ "expressionstatement",
1307
+ "asm_statement",
1308
+ "assignment_operator" ]
1309
+
1310
+ Racc_debug_parser = false
1311
+
1312
+ ##### State transition tables end #####
1313
+
1314
+ # reduce 0 omitted
1315
+
1316
+ # reduce 1 omitted
1317
+
1318
+ module_eval(<<'.,.,', 'C_parser.y', 51)
1319
+ def _reduce_2(val, _values, result)
1320
+ result = [ :IDENTIFIER, val[0] ]
1321
+ result
1322
+ end
1323
+ .,.,
1324
+
1325
+ module_eval(<<'.,.,', 'C_parser.y', 59)
1326
+ def _reduce_3(val, _values, result)
1327
+ result = [ :INTEGER_CONSTANT, val[0] ]
1328
+ result
1329
+ end
1330
+ .,.,
1331
+
1332
+ module_eval(<<'.,.,', 'C_parser.y', 61)
1333
+ def _reduce_4(val, _values, result)
1334
+ result = [ :FLOATING_CONSTANT, val[0] ]
1335
+ result
1336
+ end
1337
+ .,.,
1338
+
1339
+ module_eval(<<'.,.,', 'C_parser.y', 63)
1340
+ def _reduce_5(val, _values, result)
1341
+ result = [ :OCTAL_CONSTANT, val[0] ]
1342
+ result
1343
+ end
1344
+ .,.,
1345
+
1346
+ module_eval(<<'.,.,', 'C_parser.y', 65)
1347
+ def _reduce_6(val, _values, result)
1348
+ result = [ :HEX_CONSTANT, val[0] ]
1349
+ result
1350
+ end
1351
+ .,.,
1352
+
1353
+ module_eval(<<'.,.,', 'C_parser.y', 67)
1354
+ def _reduce_7(val, _values, result)
1355
+ result = [ :CHARACTER_LITERAL, val[0] ]
1356
+ result
1357
+ end
1358
+ .,.,
1359
+
1360
+ module_eval(<<'.,.,', 'C_parser.y', 69)
1361
+ def _reduce_8(val, _values, result)
1362
+ result = [ :STRING_LITERAL_LIST, val[0] ]
1363
+ result
1364
+ end
1365
+ .,.,
1366
+
1367
+ module_eval(<<'.,.,', 'C_parser.y', 71)
1368
+ def _reduce_9(val, _values, result)
1369
+ result = [ :PARENTHESES, val[1].get_elements ]
1370
+ result
1371
+ end
1372
+ .,.,
1373
+
1374
+ module_eval(<<'.,.,', 'C_parser.y', 75)
1375
+ def _reduce_10(val, _values, result)
1376
+ result = [val[0]]
1377
+ result
1378
+ end
1379
+ .,.,
1380
+
1381
+ module_eval(<<'.,.,', 'C_parser.y', 77)
1382
+ def _reduce_11(val, _values, result)
1383
+ result << val[1]
1384
+ result
1385
+ end
1386
+ .,.,
1387
+
1388
+ # reduce 12 omitted
1389
+
1390
+ # reduce 13 omitted
1391
+
1392
+ # reduce 14 omitted
1393
+
1394
+ module_eval(<<'.,.,', 'C_parser.y', 85)
1395
+ def _reduce_15(val, _values, result)
1396
+ result = [ :OP_SUBSC, val[0], val[2] ]
1397
+ result
1398
+ end
1399
+ .,.,
1400
+
1401
+ module_eval(<<'.,.,', 'C_parser.y', 87)
1402
+ def _reduce_16(val, _values, result)
1403
+ result = [ :OP_DOT, val[0], val[2] ]
1404
+ result
1405
+ end
1406
+ .,.,
1407
+
1408
+ module_eval(<<'.,.,', 'C_parser.y', 89)
1409
+ def _reduce_17(val, _values, result)
1410
+ result = [ :OP_REF, val[0], val[2] ]
1411
+ result
1412
+ end
1413
+ .,.,
1414
+
1415
+ module_eval(<<'.,.,', 'C_parser.y', 90)
1416
+ def _reduce_18(val, _values, result)
1417
+ result = val[0]
1418
+ result
1419
+ end
1420
+ .,.,
1421
+
1422
+ module_eval(<<'.,.,', 'C_parser.y', 91)
1423
+ def _reduce_19(val, _values, result)
1424
+ result = val[0]
1425
+ result
1426
+ end
1427
+ .,.,
1428
+
1429
+ # reduce 20 omitted
1430
+
1431
+ # reduce 21 omitted
1432
+
1433
+ # reduce 22 omitted
1434
+
1435
+ # reduce 23 omitted
1436
+
1437
+ module_eval(<<'.,.,', 'C_parser.y', 103)
1438
+ def _reduce_24(val, _values, result)
1439
+ result = [ val[0], val[1] ]
1440
+ result
1441
+ end
1442
+ .,.,
1443
+
1444
+ module_eval(<<'.,.,', 'C_parser.y', 105)
1445
+ def _reduce_25(val, _values, result)
1446
+ result = [ :OP_SIZEOF_EXPR, val[1] ]
1447
+ result
1448
+ end
1449
+ .,.,
1450
+
1451
+ module_eval(<<'.,.,', 'C_parser.y', 107)
1452
+ def _reduce_26(val, _values, result)
1453
+ result = [ :OP_SIZEOF_TYPE, val[1] ]
1454
+ result
1455
+ end
1456
+ .,.,
1457
+
1458
+ module_eval(<<'.,.,', 'C_parser.y', 108)
1459
+ def _reduce_27(val, _values, result)
1460
+ result = val[1]
1461
+ result
1462
+ end
1463
+ .,.,
1464
+
1465
+ module_eval(<<'.,.,', 'C_parser.y', 109)
1466
+ def _reduce_28(val, _values, result)
1467
+ result = val[1]
1468
+ result
1469
+ end
1470
+ .,.,
1471
+
1472
+ module_eval(<<'.,.,', 'C_parser.y', 112)
1473
+ def _reduce_29(val, _values, result)
1474
+ result = :OP_U_AMP
1475
+ result
1476
+ end
1477
+ .,.,
1478
+
1479
+ module_eval(<<'.,.,', 'C_parser.y', 113)
1480
+ def _reduce_30(val, _values, result)
1481
+ result = :OP_U_ASTER
1482
+ result
1483
+ end
1484
+ .,.,
1485
+
1486
+ module_eval(<<'.,.,', 'C_parser.y', 114)
1487
+ def _reduce_31(val, _values, result)
1488
+ result = :OP_U_PLUS
1489
+ result
1490
+ end
1491
+ .,.,
1492
+
1493
+ module_eval(<<'.,.,', 'C_parser.y', 115)
1494
+ def _reduce_32(val, _values, result)
1495
+ result = :OP_U_MINUS
1496
+ result
1497
+ end
1498
+ .,.,
1499
+
1500
+ module_eval(<<'.,.,', 'C_parser.y', 116)
1501
+ def _reduce_33(val, _values, result)
1502
+ result = :OP_U_TILDE
1503
+ result
1504
+ end
1505
+ .,.,
1506
+
1507
+ module_eval(<<'.,.,', 'C_parser.y', 117)
1508
+ def _reduce_34(val, _values, result)
1509
+ result = :OP_U_EXCLAM
1510
+ result
1511
+ end
1512
+ .,.,
1513
+
1514
+ # reduce 35 omitted
1515
+
1516
+ module_eval(<<'.,.,', 'C_parser.y', 122)
1517
+ def _reduce_36(val, _values, result)
1518
+ result = [ :CAST, val[1], val[3] ]
1519
+ result
1520
+ end
1521
+ .,.,
1522
+
1523
+ # reduce 37 omitted
1524
+
1525
+ module_eval(<<'.,.,', 'C_parser.y', 127)
1526
+ def _reduce_38(val, _values, result)
1527
+ result = [ :OP_MULT, val[0], val[2] ]
1528
+ result
1529
+ end
1530
+ .,.,
1531
+
1532
+ module_eval(<<'.,.,', 'C_parser.y', 129)
1533
+ def _reduce_39(val, _values, result)
1534
+ result = [ :OP_DIV, val[0], val[2] ]
1535
+ result
1536
+ end
1537
+ .,.,
1538
+
1539
+ module_eval(<<'.,.,', 'C_parser.y', 131)
1540
+ def _reduce_40(val, _values, result)
1541
+ result = [ :OP_REMAIN, val[0], val[2] ]
1542
+ result
1543
+ end
1544
+ .,.,
1545
+
1546
+ # reduce 41 omitted
1547
+
1548
+ module_eval(<<'.,.,', 'C_parser.y', 136)
1549
+ def _reduce_42(val, _values, result)
1550
+ result = [ :OP_ADD, val[0], val[2] ]
1551
+ result
1552
+ end
1553
+ .,.,
1554
+
1555
+ module_eval(<<'.,.,', 'C_parser.y', 138)
1556
+ def _reduce_43(val, _values, result)
1557
+ result = [ :OP_SUB, val[0], val[2] ]
1558
+ result
1559
+ end
1560
+ .,.,
1561
+
1562
+ # reduce 44 omitted
1563
+
1564
+ module_eval(<<'.,.,', 'C_parser.y', 143)
1565
+ def _reduce_45(val, _values, result)
1566
+ result = [ :OP_LSFT, val[0], val[2] ]
1567
+ result
1568
+ end
1569
+ .,.,
1570
+
1571
+ module_eval(<<'.,.,', 'C_parser.y', 145)
1572
+ def _reduce_46(val, _values, result)
1573
+ result = [ :OP_RSFT, val[0], val[2] ]
1574
+ result
1575
+ end
1576
+ .,.,
1577
+
1578
+ # reduce 47 omitted
1579
+
1580
+ module_eval(<<'.,.,', 'C_parser.y', 150)
1581
+ def _reduce_48(val, _values, result)
1582
+ result = [ :OP_LT, val[0], val[2] ]
1583
+ result
1584
+ end
1585
+ .,.,
1586
+
1587
+ module_eval(<<'.,.,', 'C_parser.y', 152)
1588
+ def _reduce_49(val, _values, result)
1589
+ result = [ :OP_GT, val[0], val[2] ]
1590
+ result
1591
+ end
1592
+ .,.,
1593
+
1594
+ module_eval(<<'.,.,', 'C_parser.y', 154)
1595
+ def _reduce_50(val, _values, result)
1596
+ result = [ :OP_LE, val[0], val[2] ]
1597
+ result
1598
+ end
1599
+ .,.,
1600
+
1601
+ module_eval(<<'.,.,', 'C_parser.y', 156)
1602
+ def _reduce_51(val, _values, result)
1603
+ result = [ :OP_GE, val[0], val[2] ]
1604
+ result
1605
+ end
1606
+ .,.,
1607
+
1608
+ # reduce 52 omitted
1609
+
1610
+ module_eval(<<'.,.,', 'C_parser.y', 161)
1611
+ def _reduce_53(val, _values, result)
1612
+ result = [ :OP_EQ, val[0], val[2] ]
1613
+ result
1614
+ end
1615
+ .,.,
1616
+
1617
+ module_eval(<<'.,.,', 'C_parser.y', 163)
1618
+ def _reduce_54(val, _values, result)
1619
+ result = [ :OP_NE, val[0], val[2] ]
1620
+ result
1621
+ end
1622
+ .,.,
1623
+
1624
+ # reduce 55 omitted
1625
+
1626
+ module_eval(<<'.,.,', 'C_parser.y', 168)
1627
+ def _reduce_56(val, _values, result)
1628
+ result = [ :OP_AND, val[0], val[2] ]
1629
+ result
1630
+ end
1631
+ .,.,
1632
+
1633
+ # reduce 57 omitted
1634
+
1635
+ module_eval(<<'.,.,', 'C_parser.y', 173)
1636
+ def _reduce_58(val, _values, result)
1637
+ result = [ :OP_EOR, val[0], val[2] ]
1638
+ result
1639
+ end
1640
+ .,.,
1641
+
1642
+ # reduce 59 omitted
1643
+
1644
+ module_eval(<<'.,.,', 'C_parser.y', 178)
1645
+ def _reduce_60(val, _values, result)
1646
+ result = [ :OP_OR, val[0], val[2] ]
1647
+ result
1648
+ end
1649
+ .,.,
1650
+
1651
+ # reduce 61 omitted
1652
+
1653
+ module_eval(<<'.,.,', 'C_parser.y', 183)
1654
+ def _reduce_62(val, _values, result)
1655
+ result = [ :OP_LAND, val[0], val[2] ]
1656
+ result
1657
+ end
1658
+ .,.,
1659
+
1660
+ # reduce 63 omitted
1661
+
1662
+ module_eval(<<'.,.,', 'C_parser.y', 188)
1663
+ def _reduce_64(val, _values, result)
1664
+ result = [ :OP_LOR, val[0], val[2] ]
1665
+ result
1666
+ end
1667
+ .,.,
1668
+
1669
+ # reduce 65 omitted
1670
+
1671
+ module_eval(<<'.,.,', 'C_parser.y', 193)
1672
+ def _reduce_66(val, _values, result)
1673
+ result = [ :OP_CEX, val[0], val[2].get_elements, val[4] ]
1674
+ result
1675
+ end
1676
+ .,.,
1677
+
1678
+ module_eval(<<'.,.,', 'C_parser.y', 199)
1679
+ def _reduce_67(val, _values, result)
1680
+ result = Expression.new( val[0] )
1681
+ # result.print
1682
+
1683
+ result
1684
+ end
1685
+ .,.,
1686
+
1687
+ module_eval(<<'.,.,', 'C_parser.y', 204)
1688
+ def _reduce_68(val, _values, result)
1689
+ result = Expression.new( val[2] ) # ',' の後ろを採用
1690
+
1691
+ result
1692
+ end
1693
+ .,.,
1694
+
1695
+ module_eval(<<'.,.,', 'C_parser.y', 210)
1696
+ def _reduce_69(val, _values, result)
1697
+ result = Expression.new( val[0] )
1698
+ # result.print
1699
+ # res = result.eval_const( nil )
1700
+
1701
+ # if res then
1702
+ # puts "val: #{res}"
1703
+ # else
1704
+ # puts "val: nil"
1705
+ # end
1706
+
1707
+ result
1708
+ end
1709
+ .,.,
1710
+
1711
+ # reduce 70 omitted
1712
+
1713
+ module_eval(<<'.,.,', 'C_parser.y', 239)
1714
+ def _reduce_71(val, _values, result)
1715
+ result = CIntType.new( -3 ) # storage class は無視
1716
+
1717
+ result
1718
+ end
1719
+ .,.,
1720
+
1721
+ # reduce 72 omitted
1722
+
1723
+ module_eval(<<'.,.,', 'C_parser.y', 244)
1724
+ def _reduce_73(val, _values, result)
1725
+ result = CIntType.new( -3 )
1726
+ result.set_qualifier val[0]
1727
+
1728
+ result
1729
+ end
1730
+ .,.,
1731
+
1732
+ module_eval(<<'.,.,', 'C_parser.y', 249)
1733
+ def _reduce_74(val, _values, result)
1734
+ result = val[1] # storage class は無視
1735
+
1736
+ result
1737
+ end
1738
+ .,.,
1739
+
1740
+ module_eval(<<'.,.,', 'C_parser.y', 253)
1741
+ def _reduce_75(val, _values, result)
1742
+ result = val[1].merge val[0]
1743
+
1744
+ result
1745
+ end
1746
+ .,.,
1747
+
1748
+ module_eval(<<'.,.,', 'C_parser.y', 257)
1749
+ def _reduce_76(val, _values, result)
1750
+ val[1].set_qualifier val[0]
1751
+ result = val[1]
1752
+
1753
+ result
1754
+ end
1755
+ .,.,
1756
+
1757
+ module_eval(<<'.,.,', 'C_parser.y', 264)
1758
+ def _reduce_77(val, _values, result)
1759
+ result = [val[0]]
1760
+ result
1761
+ end
1762
+ .,.,
1763
+
1764
+ module_eval(<<'.,.,', 'C_parser.y', 266)
1765
+ def _reduce_78(val, _values, result)
1766
+ result << val[2]
1767
+ result
1768
+ end
1769
+ .,.,
1770
+
1771
+ # reduce 79 omitted
1772
+
1773
+ module_eval(<<'.,.,', 'C_parser.y', 271)
1774
+ def _reduce_80(val, _values, result)
1775
+ val[0].set_initializer( val[2] )
1776
+ result
1777
+ end
1778
+ .,.,
1779
+
1780
+ module_eval(<<'.,.,', 'C_parser.y', 274)
1781
+ def _reduce_81(val, _values, result)
1782
+ set_no_type_name true; result = CVoidType.new
1783
+ result
1784
+ end
1785
+ .,.,
1786
+
1787
+ module_eval(<<'.,.,', 'C_parser.y', 275)
1788
+ def _reduce_82(val, _values, result)
1789
+ set_no_type_name true; result = CFloatType.new(-32)
1790
+ result
1791
+ end
1792
+ .,.,
1793
+
1794
+ module_eval(<<'.,.,', 'C_parser.y', 276)
1795
+ def _reduce_83(val, _values, result)
1796
+ set_no_type_name true; result = CFloatType.new(-64)
1797
+ result
1798
+ end
1799
+ .,.,
1800
+
1801
+ module_eval(<<'.,.,', 'C_parser.y', 277)
1802
+ def _reduce_84(val, _values, result)
1803
+ set_no_type_name true; result = CBoolType.new
1804
+ result
1805
+ end
1806
+ .,.,
1807
+
1808
+ module_eval(<<'.,.,', 'C_parser.y', 278)
1809
+ def _reduce_85(val, _values, result)
1810
+ set_no_type_name true; result = val[0]
1811
+ result
1812
+ end
1813
+ .,.,
1814
+
1815
+ module_eval(<<'.,.,', 'C_parser.y', 279)
1816
+ def _reduce_86(val, _values, result)
1817
+ set_no_type_name true; result = CVoidType.new
1818
+ result
1819
+ end
1820
+ .,.,
1821
+
1822
+ module_eval(<<'.,.,', 'C_parser.y', 280)
1823
+ def _reduce_87(val, _values, result)
1824
+ set_no_type_name true; result = CVoidType.new
1825
+ result
1826
+ end
1827
+ .,.,
1828
+
1829
+ module_eval(<<'.,.,', 'C_parser.y', 281)
1830
+ def _reduce_88(val, _values, result)
1831
+ set_no_type_name true; result = CDefinedType.new( val[0].val )
1832
+ result
1833
+ end
1834
+ .,.,
1835
+
1836
+ module_eval(<<'.,.,', 'C_parser.y', 283)
1837
+ def _reduce_89(val, _values, result)
1838
+ set_no_type_name true; result = CIntType.new(-11 )
1839
+ result
1840
+ end
1841
+ .,.,
1842
+
1843
+ module_eval(<<'.,.,', 'C_parser.y', 284)
1844
+ def _reduce_90(val, _values, result)
1845
+ set_no_type_name true; result = CIntType.new( -2 )
1846
+ result
1847
+ end
1848
+ .,.,
1849
+
1850
+ module_eval(<<'.,.,', 'C_parser.y', 285)
1851
+ def _reduce_91(val, _values, result)
1852
+ set_no_type_name true; result = CIntType.new( -3 )
1853
+ result
1854
+ end
1855
+ .,.,
1856
+
1857
+ module_eval(<<'.,.,', 'C_parser.y', 286)
1858
+ def _reduce_92(val, _values, result)
1859
+ set_no_type_name true; result = CIntType.new( -4 )
1860
+ result
1861
+ end
1862
+ .,.,
1863
+
1864
+ module_eval(<<'.,.,', 'C_parser.y', 289)
1865
+ def _reduce_93(val, _values, result)
1866
+ set_no_type_name true
1867
+ result = CIntType.new( -3 )
1868
+ result.set_sign :SIGNED
1869
+
1870
+ result
1871
+ end
1872
+ .,.,
1873
+
1874
+ module_eval(<<'.,.,', 'C_parser.y', 295)
1875
+ def _reduce_94(val, _values, result)
1876
+ set_no_type_name true
1877
+ result = CIntType.new( -3 )
1878
+ result.set_sign :UNSIGNED
1879
+
1880
+ result
1881
+ end
1882
+ .,.,
1883
+
1884
+ module_eval(<<'.,.,', 'C_parser.y', 304)
1885
+ def _reduce_95(val, _values, result)
1886
+ StructType.set_define( true )
1887
+ result
1888
+ end
1889
+ .,.,
1890
+
1891
+ module_eval(<<'.,.,', 'C_parser.y', 307)
1892
+ def _reduce_96(val, _values, result)
1893
+ StructType.end_of_parse
1894
+ result = val[1]
1895
+
1896
+ result
1897
+ end
1898
+ .,.,
1899
+
1900
+ module_eval(<<'.,.,', 'C_parser.y', 313)
1901
+ def _reduce_97(val, _values, result)
1902
+ result = CStructType.new()
1903
+ StructType.set_define( true )
1904
+
1905
+ result
1906
+ end
1907
+ .,.,
1908
+
1909
+ module_eval(<<'.,.,', 'C_parser.y', 318)
1910
+ def _reduce_98(val, _values, result)
1911
+ StructType.end_of_parse
1912
+ result = val[1]
1913
+
1914
+ result
1915
+ end
1916
+ .,.,
1917
+
1918
+ module_eval(<<'.,.,', 'C_parser.y', 324)
1919
+ def _reduce_99(val, _values, result)
1920
+ StructType.set_define( false )
1921
+ StructType.end_of_parse
1922
+ result = val[1]
1923
+
1924
+ result
1925
+ end
1926
+ .,.,
1927
+
1928
+ module_eval(<<'.,.,', 'C_parser.y', 330)
1929
+ def _reduce_100(val, _values, result)
1930
+ set_no_type_name true
1931
+ result
1932
+ end
1933
+ .,.,
1934
+
1935
+ # reduce 101 omitted
1936
+
1937
+ # reduce 102 omitted
1938
+
1939
+ module_eval(<<'.,.,', 'C_parser.y', 339)
1940
+ def _reduce_103(val, _values, result)
1941
+ result = CStructType.new( val[0].val )
1942
+ set_no_type_name true
1943
+
1944
+ result
1945
+ end
1946
+ .,.,
1947
+
1948
+ module_eval(<<'.,.,', 'C_parser.y', 348)
1949
+ def _reduce_104(val, _values, result)
1950
+ val[1].each { |i| # i: Decl
1951
+ i.set_type( val[0] )
1952
+ i.set_kind( :MEMBER )
1953
+ i.check
1954
+ CStructType.new_member( i )
1955
+ }
1956
+ result = val[1]
1957
+
1958
+ result
1959
+ end
1960
+ .,.,
1961
+
1962
+ # reduce 105 omitted
1963
+
1964
+ # reduce 106 omitted
1965
+
1966
+ # reduce 107 omitted
1967
+
1968
+ module_eval(<<'.,.,', 'C_parser.y', 367)
1969
+ def _reduce_108(val, _values, result)
1970
+ result = val[1].merge val[0]
1971
+
1972
+ result
1973
+ end
1974
+ .,.,
1975
+
1976
+ module_eval(<<'.,.,', 'C_parser.y', 371)
1977
+ def _reduce_109(val, _values, result)
1978
+ result = CIntType.new( -3 )
1979
+ result.set_qualifier val[0]
1980
+
1981
+ result
1982
+ end
1983
+ .,.,
1984
+
1985
+ module_eval(<<'.,.,', 'C_parser.y', 376)
1986
+ def _reduce_110(val, _values, result)
1987
+ val[1].set_qualifier val[0]
1988
+ result = val[1]
1989
+
1990
+ result
1991
+ end
1992
+ .,.,
1993
+
1994
+ module_eval(<<'.,.,', 'C_parser.y', 382)
1995
+ def _reduce_111(val, _values, result)
1996
+ result = [ val[0] ]
1997
+ result
1998
+ end
1999
+ .,.,
2000
+
2001
+ module_eval(<<'.,.,', 'C_parser.y', 384)
2002
+ def _reduce_112(val, _values, result)
2003
+ result << val[2]
2004
+ result
2005
+ end
2006
+ .,.,
2007
+
2008
+ # reduce 113 omitted
2009
+
2010
+ # reduce 114 omitted
2011
+
2012
+ # reduce 115 omitted
2013
+
2014
+ # reduce 116 omitted
2015
+
2016
+ module_eval(<<'.,.,', 'C_parser.y', 401)
2017
+ def _reduce_117(val, _values, result)
2018
+ set_no_type_name true
2019
+ result
2020
+ end
2021
+ .,.,
2022
+
2023
+ # reduce 118 omitted
2024
+
2025
+ # reduce 119 omitted
2026
+
2027
+ # reduce 120 omitted
2028
+
2029
+ # reduce 121 omitted
2030
+
2031
+ # reduce 122 omitted
2032
+
2033
+ # reduce 123 omitted
2034
+
2035
+ # reduce 124 omitted
2036
+
2037
+ # reduce 125 omitted
2038
+
2039
+ # reduce 126 omitted
2040
+
2041
+ # reduce 127 omitted
2042
+
2043
+ # reduce 128 omitted
2044
+
2045
+ # reduce 129 omitted
2046
+
2047
+ module_eval(<<'.,.,', 'C_parser.y', 432)
2048
+ def _reduce_130(val, _values, result)
2049
+ result = CEnumType.new( -1 )
2050
+ result
2051
+ end
2052
+ .,.,
2053
+
2054
+ # reduce 131 omitted
2055
+
2056
+ # reduce 132 omitted
2057
+
2058
+ # reduce 133 omitted
2059
+
2060
+ # reduce 134 omitted
2061
+
2062
+ module_eval(<<'.,.,', 'C_parser.y', 448)
2063
+ def _reduce_135(val, _values, result)
2064
+ result = :CONST
2065
+ result
2066
+ end
2067
+ .,.,
2068
+
2069
+ module_eval(<<'.,.,', 'C_parser.y', 449)
2070
+ def _reduce_136(val, _values, result)
2071
+ result = :VOLATILE
2072
+ result
2073
+ end
2074
+ .,.,
2075
+
2076
+ module_eval(<<'.,.,', 'C_parser.y', 454)
2077
+ def _reduce_137(val, _values, result)
2078
+ val[1].set_type( val[0] )
2079
+ result = val[1]
2080
+
2081
+ result
2082
+ end
2083
+ .,.,
2084
+
2085
+ # reduce 138 omitted
2086
+
2087
+ module_eval(<<'.,.,', 'C_parser.y', 460)
2088
+ def _reduce_139(val, _values, result)
2089
+ result = Decl.new( val[1].val )
2090
+ result.set_type( val[0] )
2091
+
2092
+ result
2093
+ end
2094
+ .,.,
2095
+
2096
+ module_eval(<<'.,.,', 'C_parser.y', 466)
2097
+ def _reduce_140(val, _values, result)
2098
+ result = Decl.new( val[0].val )
2099
+ result
2100
+ end
2101
+ .,.,
2102
+
2103
+ module_eval(<<'.,.,', 'C_parser.y', 468)
2104
+ def _reduce_141(val, _values, result)
2105
+ result = val[1]
2106
+ result
2107
+ end
2108
+ .,.,
2109
+
2110
+ module_eval(<<'.,.,', 'C_parser.y', 471)
2111
+ def _reduce_142(val, _values, result)
2112
+ val[0].set_type( CArrayType.new( val[2] ) )
2113
+ result = val[0]
2114
+
2115
+ result
2116
+ end
2117
+ .,.,
2118
+
2119
+ module_eval(<<'.,.,', 'C_parser.y', 476)
2120
+ def _reduce_143(val, _values, result)
2121
+ val[0].set_type( CArrayType.new )
2122
+ result = val[0]
2123
+
2124
+ result
2125
+ end
2126
+ .,.,
2127
+
2128
+ module_eval(<<'.,.,', 'C_parser.y', 481)
2129
+ def _reduce_144(val, _values, result)
2130
+ # Generator.warning( "W6001 need 'void' for no parameter" )
2131
+ val[0].set_type( CFuncType.new )
2132
+ result = val[0]
2133
+
2134
+ result
2135
+ end
2136
+ .,.,
2137
+
2138
+ module_eval(<<'.,.,', 'C_parser.y', 489)
2139
+ def _reduce_145(val, _values, result)
2140
+ # Generator.warning( "W6002 need 'void' for no parameter" )
2141
+ val[0].set_type( CFuncType.new )
2142
+ result = val[0]
2143
+
2144
+ result
2145
+ end
2146
+ .,.,
2147
+
2148
+ module_eval(<<'.,.,', 'C_parser.y', 496)
2149
+ def _reduce_146(val, _values, result)
2150
+ result = CPtrType.new
2151
+ result
2152
+ end
2153
+ .,.,
2154
+
2155
+ module_eval(<<'.,.,', 'C_parser.y', 499)
2156
+ def _reduce_147(val, _values, result)
2157
+ result = CPtrType.new
2158
+ result.set_qualifier( val[1] )
2159
+
2160
+ result
2161
+ end
2162
+ .,.,
2163
+
2164
+ module_eval(<<'.,.,', 'C_parser.y', 504)
2165
+ def _reduce_148(val, _values, result)
2166
+ val[1].set_type(CPtrType.new)
2167
+ result = val[1]
2168
+
2169
+ result
2170
+ end
2171
+ .,.,
2172
+
2173
+ module_eval(<<'.,.,', 'C_parser.y', 509)
2174
+ def _reduce_149(val, _values, result)
2175
+ ptrtype = CPtrType.new
2176
+ ptrtype.set_qualifier( val[1] )
2177
+ val[2].set_type( ptrtype )
2178
+ result = val[2]
2179
+
2180
+ result
2181
+ end
2182
+ .,.,
2183
+
2184
+ # reduce 150 omitted
2185
+
2186
+ # reduce 151 omitted
2187
+
2188
+ # reduce 152 omitted
2189
+
2190
+ # reduce 153 omitted
2191
+
2192
+ # reduce 154 omitted
2193
+
2194
+ # reduce 155 omitted
2195
+
2196
+ # reduce 156 omitted
2197
+
2198
+ # reduce 157 omitted
2199
+
2200
+ # reduce 158 omitted
2201
+
2202
+ # reduce 159 omitted
2203
+
2204
+ # reduce 160 omitted
2205
+
2206
+ # reduce 161 omitted
2207
+
2208
+ # reduce 162 omitted
2209
+
2210
+ # reduce 163 omitted
2211
+
2212
+ # reduce 164 omitted
2213
+
2214
+ # reduce 165 omitted
2215
+
2216
+ # reduce 166 omitted
2217
+
2218
+ module_eval(<<'.,.,', 'C_parser.y', 573)
2219
+ def _reduce_167(val, _values, result)
2220
+ Generator.warning( "W6003 need 'void' for no parameter" )
2221
+
2222
+ result
2223
+ end
2224
+ .,.,
2225
+
2226
+ # reduce 168 omitted
2227
+
2228
+ module_eval(<<'.,.,', 'C_parser.y', 578)
2229
+ def _reduce_169(val, _values, result)
2230
+ Generator.warning( "W6004 need 'void' for no parameter" )
2231
+
2232
+ result
2233
+ end
2234
+ .,.,
2235
+
2236
+ # reduce 170 omitted
2237
+
2238
+ module_eval(<<'.,.,', 'C_parser.y', 585)
2239
+ def _reduce_171(val, _values, result)
2240
+ result = val[0]
2241
+ result
2242
+ end
2243
+ .,.,
2244
+
2245
+ module_eval(<<'.,.,', 'C_parser.y', 587)
2246
+ def _reduce_172(val, _values, result)
2247
+ result = val[1]
2248
+ result
2249
+ end
2250
+ .,.,
2251
+
2252
+ module_eval(<<'.,.,', 'C_parser.y', 589)
2253
+ def _reduce_173(val, _values, result)
2254
+ result = val[1]
2255
+ result
2256
+ end
2257
+ .,.,
2258
+
2259
+ module_eval(<<'.,.,', 'C_parser.y', 591)
2260
+ def _reduce_174(val, _values, result)
2261
+ result = C_EXP.new( val[2] )
2262
+ result
2263
+ end
2264
+ .,.,
2265
+
2266
+ module_eval(<<'.,.,', 'C_parser.y', 596)
2267
+ def _reduce_175(val, _values, result)
2268
+ result = [ val[0] ]
2269
+
2270
+ result
2271
+ end
2272
+ .,.,
2273
+
2274
+ module_eval(<<'.,.,', 'C_parser.y', 600)
2275
+ def _reduce_176(val, _values, result)
2276
+ val[0] << val[2]
2277
+ result = val[0]
2278
+
2279
+ result
2280
+ end
2281
+ .,.,
2282
+
2283
+ # reduce 177 omitted
2284
+
2285
+ # reduce 178 omitted
2286
+
2287
+ # reduce 179 omitted
2288
+
2289
+ # reduce 180 omitted
2290
+
2291
+ # reduce 181 omitted
2292
+
2293
+ # reduce 182 omitted
2294
+
2295
+ # reduce 183 omitted
2296
+
2297
+ # reduce 184 omitted
2298
+
2299
+ # reduce 185 omitted
2300
+
2301
+ # reduce 186 omitted
2302
+
2303
+ # reduce 187 omitted
2304
+
2305
+ module_eval(<<'.,.,', 'C_parser.y', 628)
2306
+ def _reduce_188(val, _values, result)
2307
+ val[2].each{ |i|
2308
+ i.set_kind( :TYPEDEF )
2309
+ }
2310
+ Typedef.new_decl_list( val[1], val[2] )
2311
+ # val[1].show_tree 0
2312
+
2313
+ result
2314
+ end
2315
+ .,.,
2316
+
2317
+ module_eval(<<'.,.,', 'C_parser.y', 637)
2318
+ def _reduce_189(val, _values, result)
2319
+ result = [ val[0] ]
2320
+ result
2321
+ end
2322
+ .,.,
2323
+
2324
+ module_eval(<<'.,.,', 'C_parser.y', 639)
2325
+ def _reduce_190(val, _values, result)
2326
+ result << val[2]
2327
+ result
2328
+ end
2329
+ .,.,
2330
+
2331
+ # reduce 191 omitted
2332
+
2333
+ # reduce 192 omitted
2334
+
2335
+ # reduce 193 omitted
2336
+
2337
+ # reduce 194 omitted
2338
+
2339
+ # reduce 195 omitted
2340
+
2341
+ # reduce 196 omitted
2342
+
2343
+ # reduce 197 omitted
2344
+
2345
+ # reduce 198 omitted
2346
+
2347
+ # reduce 199 omitted
2348
+
2349
+ # reduce 200 omitted
2350
+
2351
+ # reduce 201 omitted
2352
+
2353
+ # reduce 202 omitted
2354
+
2355
+ # reduce 203 omitted
2356
+
2357
+ # reduce 204 omitted
2358
+
2359
+ # reduce 205 omitted
2360
+
2361
+ # reduce 206 omitted
2362
+
2363
+ # reduce 207 omitted
2364
+
2365
+ # reduce 208 omitted
2366
+
2367
+ # reduce 209 omitted
2368
+
2369
+ # reduce 210 omitted
2370
+
2371
+ # reduce 211 omitted
2372
+
2373
+ # reduce 212 omitted
2374
+
2375
+ # reduce 213 omitted
2376
+
2377
+ # reduce 214 omitted
2378
+
2379
+ # reduce 215 omitted
2380
+
2381
+ # reduce 216 omitted
2382
+
2383
+ # reduce 217 omitted
2384
+
2385
+ # reduce 218 omitted
2386
+
2387
+ # reduce 219 omitted
2388
+
2389
+ # reduce 220 omitted
2390
+
2391
+ # reduce 221 omitted
2392
+
2393
+ # reduce 222 omitted
2394
+
2395
+ # reduce 223 omitted
2396
+
2397
+ # reduce 224 omitted
2398
+
2399
+ # reduce 225 omitted
2400
+
2401
+ # reduce 226 omitted
2402
+
2403
+ # reduce 227 omitted
2404
+
2405
+ # reduce 228 omitted
2406
+
2407
+ # reduce 229 omitted
2408
+
2409
+ # reduce 230 omitted
2410
+
2411
+ # reduce 231 omitted
2412
+
2413
+ # reduce 232 omitted
2414
+
2415
+ # reduce 233 omitted
2416
+
2417
+ # reduce 234 omitted
2418
+
2419
+ # reduce 235 omitted
2420
+
2421
+ # reduce 236 omitted
2422
+
2423
+ # reduce 237 omitted
2424
+
2425
+ # reduce 238 omitted
2426
+
2427
+ # reduce 239 omitted
2428
+
2429
+ # reduce 240 omitted
2430
+
2431
+ # reduce 241 omitted
2432
+
2433
+ module_eval(<<'.,.,', 'C_parser.y', 721)
2434
+ def _reduce_242(val, _values, result)
2435
+ result = NamespacePath.new( val[0].val, false )
2436
+ result
2437
+ end
2438
+ .,.,
2439
+
2440
+ module_eval(<<'.,.,', 'C_parser.y', 722)
2441
+ def _reduce_243(val, _values, result)
2442
+ result = NamespacePath.new( val[1].val, true )
2443
+ result
2444
+ end
2445
+ .,.,
2446
+
2447
+ module_eval(<<'.,.,', 'C_parser.y', 724)
2448
+ def _reduce_244(val, _values, result)
2449
+ result = val[0].append!( val[2].val )
2450
+ result
2451
+ end
2452
+ .,.,
2453
+
2454
+ module_eval(<<'.,.,', 'C_parser.y', 728)
2455
+ def _reduce_245(val, _values, result)
2456
+ while true
2457
+ # ';' が表れるまで、トークンを読み飛ばす。
2458
+ # gcc の構文拡張に対応すべきだが、単純な実装として、';' まで読み飛ばす。
2459
+ # トークン単位で読み飛ばしているので、文字列やコメント内の ';' は対象にならない。
2460
+ token = next_token
2461
+ if token[1].val == ";"
2462
+ break
2463
+ end
2464
+ # p "skip: #{token[1].val}"
2465
+ end
2466
+
2467
+ result
2468
+ end
2469
+ .,.,
2470
+
2471
+ def _reduce_none(val, _values, result)
2472
+ val[0]
2473
+ end
2474
+
2475
+ end # class C_parser
2476
+
2477
+