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