Ignore:
Timestamp:
Apr 5, 2019, 9:26:53 PM (5 years ago)
Author:
coas-nagasima
Message:

mbed関連を更新
シリアルドライバをmbedのHALを使うよう変更
ファイルディスクリプタの処理を更新

File:
1 edited

Legend:

Unmodified
Added
Removed
  • asp3_tinet_ecnl_rx/trunk/asp3_dcre/tecsgen/tecslib/core/C_parser.tab.rb

    r337 r374  
    11#
    22# DO NOT MODIFY!!!!
    3 # This file is automatically generated by Racc 1.4.14
     3# This file is automatically generated by Racc 1.4.9
    44# from Racc grammer file "".
    55#
     
    88class C_parser < Racc::Parser
    99
    10 module_eval(<<'...end C_parser.y.rb/module_eval...', 'C_parser.y.rb', 727)
    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           locale = @@current_locale[@@generator_nest]
     10module_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]
    222229#print( "#{locale[0]}: line #{locale[1]} : #{token[0]} '#{token[1].val}: type_name'\n" )
    223         end
    224       end
    225 
    226       if $debug then     # 070107 token 無効時ここを通さないようした (through 対応 -d の時に例外発生)
    227         locale = @@current_locale[@@generator_nest]
    228         if token then
    229           print( "#{locale[0]}: line #{locale[1]} : #{token[0]} '#{token[1].val}'\n" )
    230         else
    231           print( "#{locale[0]}: line #{locale[1]} : EOF\n" )
    232         end
    233       end
    234     end
    235 
    236     token
    237   end
    238 
    239   def on_error(t, v, vstack)
    240     if v == "$" then
    241      Generator.error( "B1003 Unexpected EOF"  )
    242     else
    243      Generator.error( "B1004 syntax error near \'$1\'" , v.val )
    244     end
    245 
    246   end
    247 
    248   def self.current_locale
    249     @@current_locale[ @@generator_nest ]
    250   end
    251 
    252   @@n_error = 0
    253   @@n_warning = 0
    254   @@n_info = 0
    255 
    256   # このメソッドは構文解析、意味解析からのみ呼出し可(コード生成でエラー発生は不適切)
    257   def self.error( msg )
    258     @@n_error += 1
    259     locale = @@current_locale[ @@generator_nest ]
    260 
    261     if locale then
    262       Console.puts "error: #{locale[0]}: line #{locale[1]} #{msg}"
    263     else
    264       Console.puts "error: #{msg}"
    265     end
    266   end
    267 
    268   # このメソッドは構文解析、意味解析からのみ呼出し可(コード生成でウォーニング発生は不適切)
    269   def self.warning( msg )
    270     @@n_warning += 1
    271     locale = @@current_locale[ @@generator_nest ]
    272     Console.puts "warning: #{locale[0]}: line #{locale[1]} #{msg}"
    273   end
    274 
    275   # このメソッドは構文解析、意味解析からのみ呼出し可
    276   def self.info( msg )
    277     @@n_info += 1
    278     locale = @@current_locale[ @@generator_nest ]
    279     Console.puts "info: #{locale[0]}: line #{locale[1]} #{msg}"
    280   end
    281 
    282   def self.get_n_error
    283     @@n_error
    284   end
    285 
    286   def self.get_n_warning
    287     @@n_warning
    288   end
    289 
    290   def self.get_nest
    291     @@generator_nest
    292   end
    293 
    294   def set_no_type_name b_no_type_name
    295     locale = @@current_locale[ @@generator_nest ]
     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 "warning: #{locale[0]}: line #{locale[1]} #{msg}"
     280        end
     281
     282        # このメソッドは構文解析、意味解析からのみ呼出し可
     283        def self.info( msg )
     284                @@n_info += 1
     285                locale = @@current_locale[ @@generator_nest ]
     286                Console.puts "info: #{locale[0]}: line #{locale[1]} #{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 ]
    296303#print "b_no_type_name=#{b_no_type_name} #{locale[0]}: line #{locale[1]}\n"
    297     @b_no_type_name = b_no_type_name
    298   end
     304                @b_no_type_name = b_no_type_name
     305        end
    299306
    300307...end C_parser.y.rb/module_eval...
     
    302309
    303310clist = [
    304 '106,107,108,109,110,112,70,113,68,181,302,143,55,118,119,208,117,120',
    305 '121,122,123,124,125,106,107,108,109,110,112,337,113,209,336,210,143',
    306 '76,118,119,170,117,120,121,122,123,124,125,305,69,301,67,350,28,29,106',
    307 '107,108,109,110,112,75,113,28,29,162,143,77,118,119,170,117,120,121',
    308 '122,123,124,125,169,79,205,206,353,306,307,308,309,310,311,312,313,314',
    309 '315,264,55,144,8,9,10,11,15,16,17,18,19,20,21,174,267,23,25,27,28,29',
    310 '197,198,375,263,144,106,107,108,109,110,112,346,113,342,197,198,143',
    311 '173,118,119,153,117,120,121,122,123,124,125,106,107,108,109,110,112',
    312 '144,113,357,341,3,143,274,118,119,253,117,120,121,122,123,124,125,106',
    313 '107,108,109,110,112,54,113,199,200,361,143,53,118,119,98,117,120,121',
    314 '122,123,124,125,106,107,108,109,110,112,345,113,363,83,364,143,82,118',
    315 '119,346,117,120,121,122,123,124,125,81,144,249,83,274,253,82,253,53',
    316 '106,107,108,109,110,112,337,113,55,336,365,236,366,118,119,144,117,120',
    317 '121,122,123,124,125,54,249,367,194,253,97,53,53,195,196,81,199,200,55',
    318 '55,144,230,89,8,9,10,11,15,16,17,18,19,20,21,79,372,23,25,27,28,29,199',
    319 '200,144,231,88,232,233,234,235,87,237,238,240,241,242,243,194,377,194',
    320 '199,200,195,196,195,196,378,39,40,41,42,43,44,45,46,144,106,107,108',
    321 '109,110,112,379,113,205,206,380,143,381,118,119,382,117,120,121,122',
    322 '123,124,125,106,107,108,109,110,112,384,113,197,198,385,143,386,118',
    323 '119,65,117,120,121,122,123,124,125,106,107,108,109,110,112,62,113,391',
    324 '37,392,143,393,118,119,394,117,120,121,122,123,124,125,106,107,108,109',
    325 '110,112,61,113,211,212,396,143,398,118,119,280,117,120,121,122,123,124',
    326 '125,47,144,279,36,277,8,9,10,11,15,16,17,18,19,20,21,271,37,23,25,27',
    327 '28,29,270,144,38,8,9,10,11,15,16,17,18,19,20,21,199,200,23,25,27,28',
    328 '29,269,97,256,144,255,39,40,41,42,43,44,45,46,36,247,8,9,10,11,15,16',
    329 '17,18,19,20,21,144,246,23,25,27,28,29,245,32,38,106,107,108,109,110',
    330 '112,216,113,215,210,209,143,208,118,119,207,117,120,121,122,123,124',
    331 '125,39,40,41,42,43,44,45,46,303,106,107,108,109,110,112,316,113,317',
    332 '319,320,236,321,118,119,323,117,120,121,122,123,124,125,54,54,54,324',
    333 '54,325,53,53,53,326,53,329,176,55,55,55,230,55,8,9,10,11,15,16,17,18',
    334 '19,20,21,79,175,23,25,27,28,29,77,97,144,231,171,232,233,234,235,163',
    335 '237,238,240,241,242,243,183,348,184,349,185,186,187,207,,,39,40,41,42',
    336 '43,44,45,46,144,106,107,108,109,110,112,,113,,,,143,,118,119,,117,120',
    337 '121,122,123,124,125,,,106,107,108,109,110,112,,113,,,,236,,118,119,',
    338 '117,120,121,122,123,124,125,54,54,54,,54,,53,53,53,,53,,,55,55,55,230',
    339 '55,8,9,10,11,15,16,17,18,19,20,21,79,,23,25,27,28,29,,,,231,,232,233',
    340 '234,235,144,237,238,240,241,242,243,201,202,203,204,201,202,203,204',
    341 ',,39,40,41,42,43,44,45,46,144,106,107,108,109,110,112,,113,,,,236,,118',
    342 '119,,117,120,121,122,123,124,125,54,201,202,203,204,,53,,,,,,,55,,,230',
    343 ',8,9,10,11,15,16,17,18,19,20,21,79,,23,25,27,28,29,,,,231,,232,233,234',
    344 '235,,237,238,240,241,242,243,,,,,,,,,,,39,40,41,42,43,44,45,46,144,106',
    345 '107,108,109,110,112,,113,,,,143,,118,119,,117,120,121,122,123,124,125',
    346 '106,107,108,109,110,112,,113,,,,143,,118,119,,117,120,121,122,123,124',
    347 '125,106,107,108,109,110,112,,113,,,,143,,118,119,,117,120,121,122,123',
    348 '124,125,106,107,108,109,110,112,,113,,,,143,,118,119,,117,120,121,122',
    349 '123,124,125,,144,,,,,,,,106,107,108,109,110,112,,113,,,,143,,118,119',
    350 '144,117,120,121,122,123,124,125,106,107,108,109,110,112,,113,,368,,143',
    351 ',118,119,144,117,120,121,122,123,124,125,,,,,,,,106,107,108,109,110',
    352 '112,,113,144,,,236,,118,119,,117,120,121,122,123,124,125,,,,,,,,,,,',
    353 ',,,,,230,144,8,9,10,11,15,16,17,18,19,20,21,79,,23,25,27,28,29,,,,231',
    354 '144,232,233,234,235,,237,238,240,241,242,243,,,,,,,,,,,39,40,41,42,43',
    355 '44,45,46,144,106,107,108,109,110,112,,113,,,,236,,118,119,,117,120,121',
    356 '122,123,124,125,,,,,,,,,,,,,,,,,230,,8,9,10,11,15,16,17,18,19,20,21',
    357 '79,,23,25,27,28,29,,,,231,,232,233,234,235,,237,238,240,241,242,243',
    358 ',,,,,,,,,,39,40,41,42,43,44,45,46,144,106,107,108,109,110,112,,113,',
    359 ',,236,,118,119,,117,120,121,122,123,124,125,,,,,,,,,,,,,,,,,230,,8,9',
    360 '10,11,15,16,17,18,19,20,21,79,,23,25,27,28,29,,,,231,,232,233,234,235',
    361 ',237,238,240,241,242,243,,,,,,,,,,,39,40,41,42,43,44,45,46,144,106,107',
    362 '108,109,110,112,,113,,,,143,,118,119,,117,120,121,122,123,124,125,106',
    363 '107,108,109,110,112,,113,,,,143,,118,119,,117,120,121,122,123,124,125',
    364 '106,107,108,109,110,112,,113,,,,143,,118,119,,117,120,121,122,123,124',
    365 '125,106,107,108,109,110,112,,113,,,,143,,118,119,,117,120,121,122,123',
    366 '124,125,,144,,,,,141,,,,,,,142,106,107,108,109,110,112,,113,,147,144',
    367 '143,,118,119,,117,120,121,122,123,124,125,106,107,108,109,110,112,,113',
    368 ',,144,143,,118,119,,117,120,121,122,123,124,125,106,107,108,109,110',
    369 '112,,113,,,144,143,,118,119,,117,120,121,122,123,124,125,106,107,108',
    370 '109,110,112,,113,,,,143,,118,119,,117,120,121,122,123,124,125,,144,',
    371 ',,,,,,106,107,108,109,110,112,,113,,,,143,,118,119,144,117,120,121,122',
    372 '123,124,125,106,107,108,109,110,112,,113,,,,143,,118,119,144,117,120',
    373 '121,122,123,124,125,106,107,108,109,110,112,,113,,,,143,,118,119,144',
    374 '117,120,121,122,123,124,125,106,107,108,109,110,112,,113,,,,143,,118',
    375 '119,,117,120,121,122,123,124,125,,144,,,,,141,351,,,,,,142,106,107,108',
    376 '109,110,112,,113,,,144,143,,118,119,,117,120,121,122,123,124,125,106',
    377 '107,108,109,110,112,,113,,,144,143,,118,119,,117,120,121,122,123,124',
    378 '125,106,107,108,109,110,112,,113,,,144,143,,118,119,,117,120,121,122',
    379 '123,124,125,106,107,108,109,110,112,,113,,,,143,,118,119,,117,120,121',
    380 '122,123,124,125,,144,,,,,,,,106,107,108,109,110,112,,113,,,,143,,118',
    381 '119,144,117,120,121,122,123,124,125,106,107,108,109,110,112,,113,,,',
    382 '143,,118,119,144,117,120,121,122,123,124,125,106,107,108,109,110,112',
    383 ',113,,,,143,,118,119,144,117,120,121,122,123,124,125,,,,,,,,,,106,107',
    384 '108,109,110,112,,113,,,,236,,118,119,144,117,120,121,122,123,124,125',
    385 ',,,,,,,,,,,,,,,144,230,,8,9,10,11,15,16,17,18,19,20,21,79,239,23,25',
    386 '27,28,29,,,144,231,,232,233,234,235,,237,238,240,241,242,243,,,,,,,',
    387 ',,,39,40,41,42,43,44,45,46,144,106,107,108,109,110,112,,113,,338,,143',
    388 ',118,119,,117,120,121,122,123,124,125,106,107,108,109,110,112,,113,',
    389 ',,143,,118,119,,117,120,121,122,123,124,125,8,9,10,11,15,16,17,18,19',
    390 '20,21,,,23,25,27,28,29,8,9,10,11,15,16,17,18,19,20,21,,,23,25,27,28',
    391 '29,,106,107,108,109,110,112,,113,,,144,143,,118,119,,117,120,121,122',
    392 '123,124,125,106,107,108,109,110,112,,113,,,144,143,,118,119,,117,120',
    393 '121,122,123,124,125,106,107,108,109,110,112,,113,,,,143,,118,119,,117',
    394 '120,121,122,123,124,125,106,107,108,109,110,189,,113,,,,143,,118,119',
    395 ',117,120,121,122,123,124,125,,144,,,,,,,,106,107,108,109,110,191,,113',
    396 ',,,143,,118,119,144,117,120,121,122,123,124,125,106,107,108,109,110',
    397 '191,,113,,,,143,,118,119,144,117,120,121,122,123,124,125,106,107,108',
    398 '109,110,112,,113,,,,143,,118,119,144,117,120,121,122,123,124,125,106',
    399 '107,108,109,110,112,,113,,,,143,,118,119,,117,120,121,122,123,124,125',
    400 ',144,,,,,141,,,,,,,142,,,328,,106,107,108,109,110,112,144,113,,,,143',
    401 ',118,119,,117,120,121,122,123,124,125,,,,,,,144,,,,,,,,,,,106,107,108',
    402 '109,110,112,,113,,,,236,144,118,119,,117,120,121,122,123,124,125,,,',
    403 ',,,,,,,,,,,,,230,,8,9,10,11,15,16,17,18,19,20,21,79,144,23,25,27,28',
    404 '29,,,,231,,232,233,234,235,,237,238,240,241,242,243,,,,,,,274,334,,253',
    405 '39,40,41,42,43,44,45,46,144,55,,,,,249,334,,253,,,53,,,,,,,55,,,,,8',
    406 '9,10,11,15,16,17,18,19,20,21,,,23,25,27,28,29,8,9,10,11,15,16,17,18',
    407 '19,20,21,,,23,25,27,28,29,370,,,,,,,,39,40,41,42,43,44,45,46,,,149,',
    408 ',,,,,,39,40,41,42,43,44,45,46,,8,9,10,11,15,16,17,18,19,20,21,,,23,25',
    409 '27,28,29,8,9,10,11,15,16,17,18,19,20,21,,,23,25,27,28,29,,,,330,,,,',
    410 '39,40,41,42,43,44,45,46,,,,,,,,,,,39,40,41,42,43,44,45,46,8,9,10,11',
    411 '15,16,17,18,19,20,21,,,23,25,27,28,29,8,9,10,11,15,16,17,18,19,20,21',
    412 ',,23,25,27,28,29,,,,,,,,,39,40,41,42,43,44,45,46,,,,,,,,,,,39,40,41',
    413 '42,43,44,45,46,8,9,10,11,15,16,17,18,19,20,21,,340,23,25,27,28,29,8',
    414 '9,10,11,15,16,17,18,19,20,21,,164,23,25,27,28,29,,,,,,,,,39,40,41,42',
    415 '43,44,45,46,,,,,,,,,,,39,40,41,42,43,44,45,46,8,9,10,11,15,16,17,18',
    416 '19,20,21,,,23,25,27,28,29,8,9,10,11,15,16,17,18,19,20,21,,,23,25,27',
    417 '28,29,,,,,,,,,39,40,41,42,43,44,45,46,,,,,,,,,,,39,40,41,42,43,44,45',
    418 '46,8,9,10,11,15,16,17,18,19,20,21,,,23,25,27,28,29,8,9,10,11,15,16,17',
    419 '18,19,20,21,,257,23,25,27,28,29,,,,,,,,,39,40,41,42,43,44,45,46,,,,',
    420 ',,,,,,39,40,41,42,43,44,45,46,8,9,10,11,15,16,17,18,19,20,21,,,23,25',
    421 '27,28,29,8,9,10,11,15,16,17,18,19,20,21,,262,23,25,27,28,29,,,,,,,,',
    422 '39,40,41,42,43,44,45,46,,,,,,,,,,,39,40,41,42,43,44,45,46,8,9,10,11',
    423 '15,16,17,18,19,20,21,,,23,25,27,28,29,8,9,10,11,15,16,17,18,19,20,21',
    424 ',,23,25,27,28,29,,,,,,,,,39,40,41,42,43,44,45,46,,,,,,,,,,,39,40,41',
    425 '42,43,44,45,46,8,9,10,11,15,16,17,18,19,20,21,,,23,25,27,28,29' ]
    426         racc_action_table = arr = ::Array.new(2875, 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)
    427452        idx = 0
    428453        clist.each do |str|
     
    434459
    435460clist = [
    436 '210,210,210,210,210,210,26,210,24,114,213,210,55,210,210,297,210,210',
    437 '210,210,210,210,210,211,211,211,211,211,211,332,211,298,332,299,211',
    438 '48,211,211,95,211,211,211,211,211,211,211,217,26,213,24,300,55,55,189',
    439 '189,189,189,189,189,48,189,114,114,90,189,50,189,189,172,189,189,189',
    440 '189,189,189,189,95,50,132,132,303,217,217,217,217,217,217,217,217,217',
    441 '217,166,85,210,189,189,189,189,189,189,189,189,189,189,189,101,172,189',
    442 '189,189,189,189,287,287,347,166,211,394,394,394,394,394,394,347,394',
    443 '259,288,288,394,101,394,394,84,394,394,394,394,394,394,394,181,181,181',
    444 '181,181,181,189,181,318,259,1,181,273,181,181,273,181,181,181,181,181',
    445 '181,181,194,194,194,194,194,194,51,194,289,289,322,194,51,194,194,70',
    446 '194,194,194,194,194,194,194,195,195,195,195,195,195,275,195,324,52,327',
    447 '195,52,195,195,275,195,195,195,195,195,195,195,51,394,248,80,180,248',
    448 '80,180,248,392,392,392,392,392,392,252,392,180,252,330,392,333,392,392',
    449 '181,392,392,392,392,392,392,392,342,152,335,286,152,69,342,152,286,286',
    450 '248,290,290,342,152,194,392,66,392,392,392,392,392,392,392,392,392,392',
    451 '392,392,339,392,392,392,392,392,291,291,195,392,64,392,392,392,392,63',
    452 '392,392,392,392,392,392,285,354,128,292,292,285,285,128,128,355,392',
    453 '392,392,392,392,392,392,392,392,381,381,381,381,381,381,356,381,295',
    454 '295,357,381,358,381,381,359,381,381,381,381,381,381,381,380,380,380',
    455 '380,380,380,365,380,129,129,369,380,371,380,380,22,380,380,380,380,380',
    456 '380,380,196,196,196,196,196,196,14,196,382,32,387,196,389,196,196,390',
    457 '196,196,196,196,196,196,196,197,197,197,197,197,197,12,197,137,137,393',
    458 '197,397,197,197,185,197,197,197,197,197,197,197,3,381,184,32,182,32',
    459 '32,32,32,32,32,32,32,32,32,32,178,2,32,32,32,32,32,177,380,32,72,72',
    460 '72,72,72,72,72,72,72,72,72,130,130,72,72,72,72,72,175,170,157,196,156',
    461 '32,32,32,32,32,32,32,32,2,150,2,2,2,2,2,2,2,2,2,2,2,197,148,2,2,2,2',
    462 '2,146,2,2,198,198,198,198,198,198,144,198,142,136,135,198,134,198,198',
    463 '133,198,198,198,198,198,198,198,2,2,2,2,2,2,2,2,215,379,379,379,379',
    464 '379,379,231,379,232,234,235,379,236,379,379,238,379,379,379,379,379',
    465 '379,379,160,94,54,240,264,241,160,94,54,242,264,244,111,160,94,54,379',
    466 '264,379,379,379,379,379,379,379,379,379,379,379,379,105,379,379,379',
    467 '379,379,104,98,198,379,97,379,379,379,379,91,379,379,379,379,379,379',
    468 '115,278,115,281,115,115,115,296,,,379,379,379,379,379,379,379,379,379',
    469 '171,171,171,171,171,171,,171,,,,171,,171,171,,171,171,171,171,171,171',
    470 '171,,,378,378,378,378,378,378,,378,,,,378,,378,378,,378,378,378,378',
    471 '378,378,378,76,4,74,,174,,76,4,74,,174,,,76,4,74,378,174,378,378,378',
    472 '378,378,378,378,378,378,378,378,378,,378,378,378,378,378,,,,378,,378',
    473 '378,378,378,171,378,378,378,378,378,378,294,294,294,294,131,131,131',
    474 '131,,,378,378,378,378,378,378,378,378,378,361,361,361,361,361,361,,361',
    475 ',,,361,,361,361,,361,361,361,361,361,361,361,218,293,293,293,293,,218',
    476 ',,,,,,218,,,361,,361,361,361,361,361,361,361,361,361,361,361,361,,361',
    477 '361,361,361,361,,,,361,,361,361,361,361,,361,361,361,361,361,361,,,',
    478 ',,,,,,,361,361,361,361,361,361,361,361,361,199,199,199,199,199,199,',
    479 '199,,,,199,,199,199,,199,199,199,199,199,199,199,350,350,350,350,350',
    480 '350,,350,,,,350,,350,350,,350,350,350,350,350,350,350,346,346,346,346',
    481 '346,346,,346,,,,346,,346,346,,346,346,346,346,346,346,346,191,191,191',
    482 '191,191,191,,191,,,,191,,191,191,,191,191,191,191,191,191,191,,199,',
    483 ',,,,,,200,200,200,200,200,200,,200,,,,200,,200,200,350,200,200,200,200',
    484 '200,200,200,336,336,336,336,336,336,,336,,336,,336,,336,336,346,336',
    485 '336,336,336,336,336,336,,,,,,,,323,323,323,323,323,323,,323,191,,,323',
    486 ',323,323,,323,323,323,323,323,323,323,,,,,,,,,,,,,,,,,323,200,323,323',
    487 '323,323,323,323,323,323,323,323,323,323,,323,323,323,323,323,,,,323',
    488 '336,323,323,323,323,,323,323,323,323,323,323,,,,,,,,,,,323,323,323,323',
    489 '323,323,323,323,323,321,321,321,321,321,321,,321,,,,321,,321,321,,321',
    490 '321,321,321,321,321,321,,,,,,,,,,,,,,,,,321,,321,321,321,321,321,321',
    491 '321,321,321,321,321,321,,321,321,321,321,321,,,,321,,321,321,321,321',
    492 ',321,321,321,321,321,321,,,,,,,,,,,321,321,321,321,321,321,321,321,321',
    493 '398,398,398,398,398,398,,398,,,,398,,398,398,,398,398,398,398,398,398',
    494 '398,,,,,,,,,,,,,,,,,398,,398,398,398,398,398,398,398,398,398,398,398',
    495 '398,,398,398,398,398,398,,,,398,,398,398,398,398,,398,398,398,398,398',
    496 '398,,,,,,,,,,,398,398,398,398,398,398,398,398,398,320,320,320,320,320',
    497 '320,,320,,,,320,,320,320,,320,320,320,320,320,320,320,319,319,319,319',
    498 '319,319,,319,,,,319,,319,319,,319,319,319,319,319,319,319,77,77,77,77',
    499 '77,77,,77,,,,77,,77,77,,77,77,77,77,77,77,77,317,317,317,317,317,317',
    500 ',317,,,,317,,317,317,,317,317,317,317,317,317,317,,320,,,,,77,,,,,,',
    501 '77,82,82,82,82,82,82,,82,,82,319,82,,82,82,,82,82,82,82,82,82,82,183',
    502 '183,183,183,183,183,,183,,,77,183,,183,183,,183,183,183,183,183,183',
    503 '183,316,316,316,316,316,316,,316,,,317,316,,316,316,,316,316,316,316',
    504 '316,316,316,304,304,304,304,304,304,,304,,,,304,,304,304,,304,304,304',
    505 '304,304,304,304,,82,,,,,,,,201,201,201,201,201,201,,201,,,,201,,201',
    506 '201,183,201,201,201,201,201,201,201,202,202,202,202,202,202,,202,,,',
    507 '202,,202,202,316,202,202,202,202,202,202,202,302,302,302,302,302,302',
    508 ',302,,,,302,,302,302,304,302,302,302,302,302,302,302,277,277,277,277',
    509 '277,277,,277,,,,277,,277,277,,277,277,277,277,277,277,277,,201,,,,,302',
    510 '302,,,,,,302,203,203,203,203,203,203,,203,,,202,203,,203,203,,203,203',
    511 '203,203,203,203,203,209,209,209,209,209,209,,209,,,302,209,,209,209',
    512 ',209,209,209,209,209,209,209,212,212,212,212,212,212,,212,,,277,212',
    513 ',212,212,,212,212,212,212,212,212,212,204,204,204,204,204,204,,204,',
    514 ',,204,,204,204,,204,204,204,204,204,204,204,,203,,,,,,,,271,271,271',
    515 '271,271,271,,271,,,,271,,271,271,209,271,271,271,271,271,271,271,205',
    516 '205,205,205,205,205,,205,,,,205,,205,205,212,205,205,205,205,205,205',
    517 '205,206,206,206,206,206,206,,206,,,,206,,206,206,204,206,206,206,206',
    518 '206,206,206,,,,,,,,,,145,145,145,145,145,145,,145,,,,145,,145,145,271',
    519 '145,145,145,145,145,145,145,,,,,,,,,,,,,,,,205,145,,145,145,145,145',
    520 '145,145,145,145,145,145,145,145,145,145,145,145,145,145,,,206,145,,145',
    521 '145,145,145,,145,145,145,145,145,145,,,,,,,,,,,145,145,145,145,145,145',
    522 '145,145,145,253,253,253,253,253,253,,253,,253,,253,,253,253,,253,253',
    523 '253,253,253,253,253,112,112,112,112,112,112,,112,,,,112,,112,112,,112',
    524 '112,112,112,112,112,112,38,38,38,38,38,38,38,38,38,38,38,,,38,38,38',
    525 '38,38,112,112,112,112,112,112,112,112,112,112,112,,,112,112,112,112',
    526 '112,,207,207,207,207,207,207,,207,,,253,207,,207,207,,207,207,207,207',
    527 '207,207,207,208,208,208,208,208,208,,208,,,112,208,,208,208,,208,208',
    528 '208,208,208,208,208,116,116,116,116,116,116,,116,,,,116,,116,116,,116',
    529 '116,116,116,116,116,116,117,117,117,117,117,117,,117,,,,117,,117,117',
    530 ',117,117,117,117,117,117,117,,207,,,,,,,,118,118,118,118,118,118,,118',
    531 ',,,118,,118,118,208,118,118,118,118,118,118,118,119,119,119,119,119',
    532 '119,,119,,,,119,,119,119,116,119,119,119,119,119,119,119,141,141,141',
    533 '141,141,141,,141,,,,141,,141,141,117,141,141,141,141,141,141,141,243',
    534 '243,243,243,243,243,,243,,,,243,,243,243,,243,243,243,243,243,243,243',
    535 ',118,,,,,141,,,,,,,141,,,243,,237,237,237,237,237,237,119,237,,,,237',
    536 ',237,237,,237,237,237,237,237,237,237,,,,,,,141,,,,,,,,,,,233,233,233',
    537 '233,233,233,,233,,,,233,243,233,233,,233,233,233,233,233,233,233,,,',
    538 ',,,,,,,,,,,,,233,,233,233,233,233,233,233,233,233,233,233,233,233,237',
    539 '233,233,233,233,233,,,,233,,233,233,233,233,,233,233,233,233,233,233',
    540 ',,,,,,274,274,,274,233,233,233,233,233,233,233,233,233,274,,,,,249,249',
    541 ',249,,,249,,,,,,,249,,,,,274,274,274,274,274,274,274,274,274,274,274',
    542 ',,274,274,274,274,274,249,249,249,249,249,249,249,249,249,249,249,,',
    543 '249,249,249,249,249,337,,,,,,,,274,274,274,274,274,274,274,274,,,83',
    544 ',,,,,,,249,249,249,249,249,249,249,249,,337,337,337,337,337,337,337',
    545 '337,337,337,337,,,337,337,337,337,337,83,83,83,83,83,83,83,83,83,83',
    546 '83,,,83,83,83,83,83,,,,247,,,,,337,337,337,337,337,337,337,337,,,,,',
    547 ',,,,,83,83,83,83,83,83,83,83,247,247,247,247,247,247,247,247,247,247',
    548 '247,,,247,247,247,247,247,5,5,5,5,5,5,5,5,5,5,5,,,5,5,5,5,5,,,,,,,,',
    549 '247,247,247,247,247,247,247,247,,,,,,,,,,,5,5,5,5,5,5,5,5,254,254,254',
    550 '254,254,254,254,254,254,254,254,,254,254,254,254,254,254,92,92,92,92',
    551 '92,92,92,92,92,92,92,,92,92,92,92,92,92,,,,,,,,,254,254,254,254,254',
    552 '254,254,254,,,,,,,,,,,92,92,92,92,92,92,92,92,155,155,155,155,155,155',
    553 '155,155,155,155,155,,,155,155,155,155,155,89,89,89,89,89,89,89,89,89',
    554 '89,89,,,89,89,89,89,89,,,,,,,,,155,155,155,155,155,155,155,155,,,,,',
    555 ',,,,,89,89,89,89,89,89,89,89,88,88,88,88,88,88,88,88,88,88,88,,,88,88',
    556 '88,88,88,158,158,158,158,158,158,158,158,158,158,158,,158,158,158,158',
    557 '158,158,,,,,,,,,88,88,88,88,88,88,88,88,,,,,,,,,,,158,158,158,158,158',
    558 '158,158,158,67,67,67,67,67,67,67,67,67,67,67,,,67,67,67,67,67,161,161',
    559 '161,161,161,161,161,161,161,161,161,,161,161,161,161,161,161,,,,,,,',
    560 ',67,67,67,67,67,67,67,67,,,,,,,,,,,161,161,161,161,161,161,161,161,7',
    561 '7,7,7,7,7,7,7,7,7,7,,,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,,,6,6,6,6,6,,',
    562 ',,,,,,7,7,7,7,7,7,7,7,,,,,,,,,,,6,6,6,6,6,6,6,6,73,73,73,73,73,73,73',
    563 '73,73,73,73,,,73,73,73,73,73' ]
    564         racc_action_check = arr = ::Array.new(2875, 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)
    565604        idx = 0
    566605        clist.each do |str|
     
    572611
    573612racc_action_pointer = [
    574    nil,   150,   420,   404,   652,  2412,  2762,  2744,   nil,   nil,
    575    nil,   nil,   346,   nil,   323,   nil,   nil,   nil,   nil,   nil,
    576    nil,   nil,   337,   nil,    -5,   nil,    -7,   nil,   nil,   nil,
    577    nil,   nil,   366,   nil,   nil,   nil,   nil,   nil,  1848,   nil,
    578    nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    18,   nil,
    579     23,   162,   188,   nil,   534,    -8,   nil,   nil,   nil,   nil,
    580    nil,   nil,   nil,   232,   227,   nil,   204,  2674,   nil,   233,
    581    124,   nil,   387,  2814,   653,   nil,   651,  1303,   nil,   nil,
    582    205,   nil,  1363,  2342,   124,    72,   nil,   nil,  2604,  2552,
    583     22,   543,  2482,   nil,   533,    21,   nil,   537,   563,   nil,
    584    nil,    88,   nil,   nil,   533,   474,   nil,   nil,   nil,   nil,
    585    nil,   542,  1866,   nil,     2,   581,  1972,  1995,  2027,  2050,
    586    nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   275,   322,
    587    414,   685,    45,   480,   461,   458,   456,   351,   nil,   nil,
    588    nil,  2073,   485,   nil,   477,  1749,   470,   nil,   467,   nil,
    589    445,   nil,   235,   nil,   nil,  2534,   411,   409,  2622,   nil,
    590    532,  2692,   nil,   nil,   nil,   nil,    74,   nil,   nil,   nil,
    591    436,   608,    51,   nil,   655,   435,   nil,   419,   412,   nil,
    592    206,   138,   401,  1386,   393,   383,   nil,   nil,   nil,    51,
    593    nil,   890,   nil,   nil,   161,   184,   356,   379,   482,   821,
    594    922,  1464,  1487,  1570,  1639,  1694,  1717,  1926,  1949,  1593,
    595     -2,    21,  1616,    -7,   nil,   506,   nil,     4,   745,   nil,
     613   nil,   732,  2528,   716,   182,  3068,  3043,  2752,  2993,   nil,
    596614   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
    597    nil,   515,   517,  2177,   518,   519,   488,  2137,   491,   nil,
    598    529,   503,   507,  2096,   509,   nil,   nil,  2394,   204,  2271,
    599    nil,   nil,   217,  1843,  2464,   nil,   nil,   nil,   nil,   108,
    600    nil,   nil,   nil,   nil,   536,   nil,   nil,   nil,   nil,   nil,
    601    nil,  1671,   nil,   145,  2253,   184,   nil,  1533,   581,   nil,
    602    nil,   586,   nil,   nil,   nil,   273,   224,    91,   105,   144,
    603    225,   250,   269,   724,   681,   287,   579,   -20,    -5,    -4,
    604     10,   nil,  1510,    72,  1432,   nil,   nil,   nil,   nil,   nil,
    605    nil,   nil,   nil,   nil,   nil,   nil,  1409,  1326,    82,  1280,
    606   1257,  1069,   133,   975,   153,   nil,   nil,   155,   nil,   nil,
    607    216,   nil,    22,   222,   nil,   235,   945,  2324,   nil,   260,
    608    nil,   nil,   234,   nil,   nil,   nil,   867,   106,   nil,   nil,
    609    844,   nil,   nil,   nil,   253,   294,   310,   315,   283,   319,
    610    nil,   727,   nil,   nil,   nil,   329,   nil,   nil,   nil,   334,
    611    nil,   339,   nil,   nil,   nil,   nil,   nil,   nil,   633,   514,
    612    333,   310,   296,   nil,   nil,   nil,   nil,   303,   nil,   362,
    613    332,   nil,   216,   350,   115,   nil,   nil,   385,  1163,   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 ]
    614658
    615659racc_action_default = [
    616   -176,  -243,    -1,  -243,  -243,   -70,   -71,   -72,   -80,   -81,
    617    -82,   -83,   -84,   -85,   -86,   -87,   -88,   -89,   -90,   -91,
    618    -92,   -93,   -96,   -99,  -243,  -116,  -243,  -129,  -134,  -135,
    619   -177,  -178,  -243,  -180,  -181,  -184,  -185,  -186,  -243,  -232,
    620   -233,  -234,  -235,  -236,  -237,  -238,  -239,   400,  -243,   -76,
    621    -78,  -243,  -137,  -139,  -243,  -145,   -73,   -84,   -86,   -74,
    622    -75,  -183,  -182,   -98,  -243,  -102,  -115,  -243,  -119,  -243,
    623   -128,  -179,  -106,  -108,  -243,   -69,  -243,  -243,  -190,  -191,
    624   -136,  -138,  -243,  -243,  -243,  -146,  -147,   -94,  -243,  -243,
    625    -84,   -85,  -243,  -117,  -243,  -243,  -130,  -132,  -243,  -107,
    626   -109,  -243,  -188,   -77,   -78,    -2,    -3,    -4,    -5,    -6,
    627     -7,    -8,  -243,   -10,   -12,   -23,  -243,  -243,  -243,  -243,
    628    -29,   -30,   -31,   -32,   -33,   -34,   -35,   -37,   -41,   -44,
    629    -47,   -52,   -55,   -57,   -59,   -61,   -63,   -65,   -68,   -79,
    630   -170,  -243,  -243,  -240,  -243,  -243,  -243,  -142,  -243,  -144,
    631   -149,  -151,  -155,  -140,  -148,  -243,   -84,   -85,  -243,  -100,
    632   -243,  -243,  -122,  -121,  -114,  -118,  -243,  -123,  -125,  -126,
    633   -243,  -243,  -243,  -187,  -243,  -243,   -11,  -243,  -243,   -67,
    634   -156,   -20,  -243,  -243,  -243,  -243,   -18,   -19,   -24,  -243,
    635    -25,  -243,   -27,   -28,  -243,  -243,  -243,  -243,  -243,  -243,
    636   -243,  -243,  -243,  -243,  -243,  -243,  -243,  -243,  -243,  -243,
    637   -243,  -243,  -243,  -243,  -174,  -243,  -241,   -35,  -243,  -192,
    638   -193,  -194,  -195,  -196,  -197,  -198,  -199,  -200,  -201,  -202,
    639   -203,  -243,  -243,  -243,  -243,  -243,  -240,  -243,  -243,  -213,
    640   -243,  -243,  -243,  -243,  -243,  -141,  -143,  -243,  -158,  -243,
    641   -153,  -154,  -159,  -243,  -243,  -105,  -104,   -97,  -101,  -243,
    642   -110,  -112,  -113,  -120,  -243,  -131,  -133,  -127,  -189,  -242,
    643     -9,  -243,  -157,  -158,  -243,  -243,   -21,   -20,  -243,   -16,
    644    -17,  -243,   -38,   -39,   -40,   -42,   -43,   -45,   -46,   -48,
    645    -49,   -50,   -51,   -53,   -54,   -56,   -58,   -60,   -62,   -64,
    646   -243,  -171,  -243,  -243,  -243,  -221,  -222,  -223,  -224,  -225,
    647   -226,  -227,  -228,  -229,  -230,  -231,  -243,  -243,  -243,  -243,
    648   -243,  -243,  -243,  -243,  -243,  -215,  -216,  -243,  -218,  -219,
    649   -243,  -152,  -160,  -243,  -166,  -243,  -243,  -243,  -162,  -243,
    650    -95,  -103,  -243,  -124,   -36,   -13,  -243,  -243,   -15,   -26,
    651   -243,  -172,  -175,  -173,  -243,  -243,  -243,  -243,  -243,  -243,
    652   -210,  -243,  -212,  -214,  -217,  -243,  -161,  -167,  -164,  -243,
    653   -168,  -243,  -163,  -111,   -22,   -14,   -66,  -220,  -243,  -243,
    654   -243,  -243,  -243,  -211,  -150,  -165,  -169,  -204,  -206,  -243,
    655   -243,  -209,  -243,  -243,  -243,  -205,  -207,  -243,  -243,  -208 ]
     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 ]
    656705
    657706racc_goto_table = [
    658     50,     4,   177,   146,    56,    59,    60,   190,   192,   193,
    659    148,    86,   139,   138,   260,    80,   167,   188,   138,   158,
    660    275,   258,   178,    35,    31,   165,   332,    73,    12,    74,
    661     14,     4,   287,   288,    91,   217,    95,   293,   294,   251,
    662    304,   154,   219,     2,    85,   295,    92,   285,   286,   296,
    663     72,   332,   297,    35,    71,   157,    91,   298,    12,    91,
    664     14,    73,    73,    99,   100,   172,    94,   272,   161,   299,
    665    102,   276,   104,   278,   103,    63,   214,   138,   155,   177,
    666     64,   177,   152,   259,    72,    72,   254,   160,    94,    66,
    667    168,    94,   266,    90,   165,   282,   283,   284,   166,   281,
    668    265,    73,   300,   182,   331,   213,    30,   138,   248,   289,
    669    290,   291,   292,   101,   156,    90,   347,   258,    90,    78,
    670    145,     1,   157,   217,    72,   157,   nil,   nil,    91,   nil,
    671    318,   nil,   nil,   327,   nil,   nil,   273,   nil,   nil,   nil,
    672    nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   250,   nil,
    673    nil,   nil,   nil,   nil,   160,   nil,   261,   160,   322,   nil,
    674     94,   nil,   nil,   nil,   nil,   nil,   nil,   276,   nil,   nil,
    675    268,   nil,   344,   138,   339,   nil,   nil,   nil,    73,   nil,
    676    nil,   156,   nil,   nil,   156,   nil,   343,    90,   nil,   138,
    677    nil,   nil,   nil,   nil,   354,   nil,   373,   nil,   nil,   nil,
    678    nil,    72,   nil,   nil,   nil,   248,   355,   356,   nil,   358,
    679    359,   217,    80,   217,   104,   nil,   nil,   nil,   360,   nil,
    680    362,   157,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
    681    273,   nil,   nil,   nil,   nil,   nil,   374,   352,   138,   nil,
    682    nil,   nil,   nil,   nil,   nil,   nil,   152,   nil,   152,   nil,
    683    nil,   217,   nil,   160,   nil,   nil,   nil,   369,   383,   nil,
    684    168,   nil,   nil,   nil,   371,   nil,   nil,   nil,   217,   217,
    685    389,   390,   138,   152,   nil,   387,   388,   nil,   nil,   nil,
    686    156,   nil,   217,   nil,   397,   nil,   376,   nil,   217,   395,
    687    nil,   nil,   nil,   nil,   nil,   399,   nil,   nil,   nil,   nil,
     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,
    688740   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
    689741   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
    690    nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
    691    nil,   nil,   nil,   nil,   nil,   nil,   152,   nil,   261 ]
    692 
    693 racc_goto_check = [
    694     32,    27,     6,    25,    27,    27,    27,    10,    10,    10,
    695     57,    55,    33,    24,    45,    56,    51,    12,    24,    39,
    696      8,    42,    13,    26,    64,    49,    61,     9,    34,    44,
    697     36,    27,    15,    15,    35,    10,    53,    17,    17,    60,
    698     79,    55,    70,     2,     9,    18,    48,    14,    14,    19,
    699     30,    61,    20,    26,    64,    35,    35,    21,    34,    35,
    700     36,     9,     9,    44,    44,    53,    27,    60,    48,    22,
    701     32,     6,    32,     6,    31,    38,    33,    24,    40,     6,
    702     41,     6,    27,    43,    30,    30,    39,    27,    27,    47,
    703     32,    27,    25,    34,    49,    12,    12,    12,    50,    13,
    704     54,     9,     6,     9,    59,    62,    63,    24,    55,    16,
    705     16,    16,    16,    67,    34,    34,     8,    42,    34,    68,
    706     69,     1,    35,    10,    30,    35,   nil,   nil,    35,   nil,
    707     70,   nil,   nil,     6,   nil,   nil,    55,   nil,   nil,   nil,
    708    nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    32,   nil,
    709    nil,   nil,   nil,   nil,    27,   nil,    32,    27,    25,   nil,
    710     27,   nil,   nil,   nil,   nil,   nil,   nil,     6,   nil,   nil,
    711     32,   nil,    12,    24,    25,   nil,   nil,   nil,     9,   nil,
    712    nil,    34,   nil,   nil,    34,   nil,    51,    34,   nil,    24,
    713    nil,   nil,   nil,   nil,     6,   nil,    45,   nil,   nil,   nil,
    714    nil,    30,   nil,   nil,   nil,    55,     6,     6,   nil,     6,
    715      6,    10,    56,    10,    32,   nil,   nil,   nil,    70,   nil,
    716     70,    35,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
    717     55,   nil,   nil,   nil,   nil,   nil,     6,    33,    24,   nil,
    718    nil,   nil,   nil,   nil,   nil,   nil,    27,   nil,    27,   nil,
    719    nil,    10,   nil,    27,   nil,   nil,   nil,    25,    70,   nil,
    720     32,   nil,   nil,   nil,    57,   nil,   nil,   nil,    10,    10,
    721      6,     6,    24,    27,   nil,    70,    70,   nil,   nil,   nil,
    722     34,   nil,    10,   nil,     6,   nil,    24,   nil,    10,    70,
    723    nil,   nil,   nil,   nil,   nil,    70,   nil,   nil,   nil,   nil,
     742   nil,   nil,   nil,   nil,   nil,   423,   399,   145,   nil,   nil,
    724743   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
    725744   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
     745   306 ]
     746
     747racc_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,
    726776   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
    727    nil,   nil,   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 ]
    728787
    729788racc_goto_pointer = [
    730    nil,   121,    43,   nil,   nil,   nil,  -110,   nil,  -161,   -11,
    731   -110,   nil,   -99,   -90,  -150,  -167,   -92,  -168,  -162,  -159,
    732   -157,  -153,  -142,   nil,   -64,   -79,    21,    -1,   nil,   nil,
    733     12,    -2,    -4,   -65,    26,   -33,    28,   nil,    53,   -69,
    734     -9,    58,  -137,   -77,    -9,  -146,   nil,    65,   -21,   -67,
    735      4,   -78,   nil,   -33,   -70,   -44,   -36,   -73,   nil,  -143,
    736   -113,  -222,   -36,   104,    22,   nil,   nil,    39,    69,    41,
    737   -103,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,  -177 ]
     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 ]
    738798
    739799racc_goto_default = [
    740    nil,   nil,   nil,   114,   105,   111,   244,   115,   nil,     7,
    741    126,   116,   127,   nil,   128,   129,   130,   131,   132,   133,
    742    134,   135,   136,   137,   179,   140,   220,   218,    48,     5,
    743      6,    49,    84,   nil,    57,    13,    58,    22,   nil,   nil,
    744    nil,   nil,   159,   nil,   180,   nil,    24,   nil,   nil,    93,
    745    nil,   nil,    26,   nil,    96,    51,    52,   335,   150,   151,
    746    333,   252,   nil,   nil,   nil,    33,    34,   nil,   227,   nil,
    747    nil,   221,   222,   223,   224,   225,   226,   228,   229,   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 ]
    748809
    749810racc_reduce_table = [
    750811  0, 0, :racc_error,
    751   1, 97, :_reduce_none,
    752   1, 99, :_reduce_2,
    753   1, 99, :_reduce_3,
    754   1, 99, :_reduce_4,
    755   1, 99, :_reduce_5,
    756   1, 99, :_reduce_6,
    757   1, 99, :_reduce_7,
    758   1, 99, :_reduce_8,
    759   3, 99, :_reduce_9,
    760   1, 101, :_reduce_10,
    761   2, 101, :_reduce_11,
    762   1, 103, :_reduce_none,
    763   4, 103, :_reduce_none,
    764   5, 103, :_reduce_none,
    765   4, 103, :_reduce_15,
    766   3, 103, :_reduce_16,
    767   3, 103, :_reduce_17,
    768   2, 103, :_reduce_18,
    769   2, 103, :_reduce_19,
    770   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,
    771823  1, 104, :_reduce_none,
     824  4, 104, :_reduce_13,
    772825  3, 104, :_reduce_none,
    773   1, 106, :_reduce_none,
    774   2, 106, :_reduce_24,
    775   2, 106, :_reduce_25,
    776   4, 106, :_reduce_26,
    777   2, 106, :_reduce_27,
    778   2, 106, :_reduce_28,
    779   1, 107, :_reduce_29,
    780   1, 107, :_reduce_30,
    781   1, 107, :_reduce_31,
    782   1, 107, :_reduce_32,
    783   1, 107, :_reduce_33,
    784   1, 107, :_reduce_34,
    785   1, 108, :_reduce_none,
    786   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,
    787836  1, 110, :_reduce_none,
    788   3, 110, :_reduce_38,
    789   3, 110, :_reduce_39,
    790   3, 110, :_reduce_40,
    791   1, 111, :_reduce_none,
    792   3, 111, :_reduce_42,
    793   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,
    794848  1, 112, :_reduce_none,
    795   3, 112, :_reduce_45,
    796   3, 112, :_reduce_46,
     849  4, 112, :_reduce_38,
    797850  1, 113, :_reduce_none,
    798   3, 113, :_reduce_48,
    799   3, 113, :_reduce_49,
    800   3, 113, :_reduce_50,
    801   3, 113, :_reduce_51,
     851  3, 113, :_reduce_40,
     852  3, 113, :_reduce_41,
     853  3, 113, :_reduce_42,
    802854  1, 114, :_reduce_none,
    803   3, 114, :_reduce_53,
    804   3, 114, :_reduce_54,
     855  3, 114, :_reduce_44,
     856  3, 114, :_reduce_45,
    805857  1, 115, :_reduce_none,
    806   3, 115, :_reduce_56,
     858  3, 115, :_reduce_47,
     859  3, 115, :_reduce_48,
    807860  1, 116, :_reduce_none,
    808   3, 116, :_reduce_58,
     861  3, 116, :_reduce_50,
     862  3, 116, :_reduce_51,
     863  3, 116, :_reduce_52,
     864  3, 116, :_reduce_53,
    809865  1, 117, :_reduce_none,
    810   3, 117, :_reduce_60,
     866  3, 117, :_reduce_55,
     867  3, 117, :_reduce_56,
    811868  1, 118, :_reduce_none,
    812   3, 118, :_reduce_62,
     869  3, 118, :_reduce_58,
    813870  1, 119, :_reduce_none,
    814   3, 119, :_reduce_64,
     871  3, 119, :_reduce_60,
    815872  1, 120, :_reduce_none,
    816   5, 120, :_reduce_66,
    817   1, 102, :_reduce_67,
    818   1, 121, :_reduce_68,
    819   3, 122, :_reduce_none,
    820   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,
    821878  1, 123, :_reduce_none,
    822   1, 123, :_reduce_72,
    823   2, 123, :_reduce_73,
    824   2, 123, :_reduce_74,
    825   2, 123, :_reduce_75,
    826   1, 124, :_reduce_76,
    827   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,
    828899  1, 127, :_reduce_none,
    829   3, 127, :_reduce_79,
    830   1, 126, :_reduce_80,
    831   1, 126, :_reduce_81,
    832   1, 126, :_reduce_82,
    833   1, 126, :_reduce_83,
    834   1, 126, :_reduce_84,
    835   1, 126, :_reduce_85,
    836   1, 126, :_reduce_86,
    837   1, 126, :_reduce_87,
    838   1, 126, :_reduce_88,
    839   1, 126, :_reduce_89,
    840   1, 126, :_reduce_90,
    841   1, 126, :_reduce_91,
    842   1, 126, :_reduce_92,
    843   1, 126, :_reduce_93,
    844   0, 136, :_reduce_94,
    845   6, 130, :_reduce_95,
    846   0, 137, :_reduce_96,
    847   5, 130, :_reduce_97,
    848   2, 130, :_reduce_98,
    849   1, 133, :_reduce_99,
    850   1, 135, :_reduce_none,
    851   2, 135, :_reduce_none,
    852   1, 134, :_reduce_102,
    853   3, 138, :_reduce_103,
    854   2, 138, :_reduce_none,
    855   2, 138, :_reduce_none,
     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,
    856933  1, 140, :_reduce_none,
    857   2, 140, :_reduce_107,
    858   1, 140, :_reduce_108,
    859   2, 140, :_reduce_109,
    860   1, 139, :_reduce_110,
    861   3, 139, :_reduce_111,
    862   1, 141, :_reduce_none,
    863   5, 131, :_reduce_none,
    864   4, 131, :_reduce_none,
    865   2, 131, :_reduce_none,
    866   1, 142, :_reduce_116,
    867   1, 144, :_reduce_none,
    868   2, 144, :_reduce_none,
    869   1, 143, :_reduce_none,
    870   3, 145, :_reduce_none,
    871   2, 145, :_reduce_none,
    872   2, 145, :_reduce_none,
     934  2, 140, :_reduce_none,
     935  1, 139, :_reduce_124,
     936  3, 143, :_reduce_125,
     937  5, 143, :_reduce_126,
     938  2, 143, :_reduce_none,
     939  2, 143, :_reduce_none,
     940  2, 145, :_reduce_129,
     941  1, 145, :_reduce_none,
     942  2, 145, :_reduce_131,
     943  1, 145, :_reduce_132,
     944  1, 144, :_reduce_133,
     945  3, 144, :_reduce_134,
    873946  1, 146, :_reduce_none,
    874   3, 146, :_reduce_none,
    875   1, 147, :_reduce_none,
    876   4, 132, :_reduce_none,
    877   5, 132, :_reduce_none,
    878   2, 132, :_reduce_none,
    879   1, 148, :_reduce_129,
     947  5, 136, :_reduce_none,
     948  4, 136, :_reduce_none,
     949  2, 136, :_reduce_none,
     950  1, 147, :_reduce_139,
    880951  1, 149, :_reduce_none,
    881   3, 149, :_reduce_none,
    882   1, 150, :_reduce_none,
     952  2, 149, :_reduce_none,
     953  1, 148, :_reduce_none,
    883954  3, 150, :_reduce_none,
    884   1, 105, :_reduce_134,
    885   1, 105, :_reduce_135,
    886   2, 128, :_reduce_136,
    887   1, 128, :_reduce_none,
    888   2, 128, :_reduce_138,
    889   1, 152, :_reduce_139,
    890   3, 152, :_reduce_140,
    891   4, 152, :_reduce_141,
    892   3, 152, :_reduce_142,
    893   4, 152, :_reduce_143,
    894   3, 152, :_reduce_144,
    895   1, 151, :_reduce_145,
    896   2, 151, :_reduce_146,
    897   2, 151, :_reduce_147,
    898   3, 151, :_reduce_148,
     955  2, 150, :_reduce_none,
     956  2, 150, :_reduce_none,
     957  1, 151, :_reduce_none,
     958  3, 151, :_reduce_none,
     959  1, 152, :_reduce_none,
     960  2, 152, :_reduce_none,
     961  3, 152, :_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,
    899970  1, 153, :_reduce_none,
    900   5, 153, :_reduce_none,
     971  3, 153, :_reduce_none,
    901972  1, 154, :_reduce_none,
    902973  3, 154, :_reduce_none,
    903   2, 155, :_reduce_none,
    904   2, 155, :_reduce_none,
    905   1, 155, :_reduce_none,
    906   1, 109, :_reduce_none,
    907   2, 109, :_reduce_none,
    908   1, 156, :_reduce_none,
    909   1, 156, :_reduce_none,
    910   2, 156, :_reduce_none,
    911   3, 157, :_reduce_none,
    912   2, 157, :_reduce_none,
    913   3, 157, :_reduce_none,
    914   3, 157, :_reduce_none,
    915   4, 157, :_reduce_none,
    916   2, 157, :_reduce_166,
    917   3, 157, :_reduce_none,
    918   3, 157, :_reduce_168,
    919   4, 157, :_reduce_none,
    920   1, 129, :_reduce_170,
    921   3, 129, :_reduce_171,
    922   4, 129, :_reduce_172,
    923   4, 129, :_reduce_173,
    924   1, 158, :_reduce_174,
    925   3, 158, :_reduce_175,
    926   0, 98, :_reduce_none,
    927   2, 98, :_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,
    928995  1, 159, :_reduce_none,
    929996  2, 159, :_reduce_none,
     997  1, 157, :_reduce_none,
     998  5, 157, :_reduce_none,
    930999  1, 160, :_reduce_none,
    931   1, 160, :_reduce_none,
    932   2, 160, :_reduce_none,
    933   2, 160, :_reduce_none,
    934   1, 160, :_reduce_none,
    935   1, 160, :_reduce_none,
    936   1, 160, :_reduce_none,
    937   4, 161, :_reduce_187,
    938   1, 163, :_reduce_188,
    939   3, 163, :_reduce_189,
    940   3, 162, :_reduce_none,
    941   0, 165, :_reduce_none,
     1000  3, 160, :_reduce_none,
     1001  2, 161, :_reduce_none,
     1002  2, 161, :_reduce_none,
     1003  1, 161, :_reduce_none,
     1004  1, 158, :_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,
     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,
     1028  1, 164, :_reduce_none,
     1029  2, 164, :_reduce_none,
     1030  1, 165, :_reduce_none,
     1031  1, 165, :_reduce_none,
    9421032  2, 165, :_reduce_none,
    943   1, 166, :_reduce_none,
    944   1, 166, :_reduce_none,
    945   1, 166, :_reduce_none,
    946   1, 166, :_reduce_none,
    947   1, 166, :_reduce_none,
    948   1, 166, :_reduce_none,
    949   1, 166, :_reduce_none,
    950   1, 166, :_reduce_none,
    951   1, 166, :_reduce_none,
    952   1, 166, :_reduce_none,
    953   1, 166, :_reduce_none,
    954   5, 167, :_reduce_none,
    955   7, 167, :_reduce_none,
    956   5, 168, :_reduce_none,
    957   7, 169, :_reduce_none,
    958   9, 170, :_reduce_none,
    959   5, 171, :_reduce_none,
    960   3, 172, :_reduce_none,
    961   4, 172, :_reduce_none,
    962   3, 172, :_reduce_none,
    963   3, 164, :_reduce_none,
    964   3, 173, :_reduce_none,
    965   2, 173, :_reduce_none,
    966   2, 173, :_reduce_none,
    967   3, 173, :_reduce_none,
    968   2, 173, :_reduce_none,
    969   2, 174, :_reduce_none,
    970   4, 174, :_reduce_none,
    971   1, 175, :_reduce_none,
    972   1, 175, :_reduce_none,
    973   1, 175, :_reduce_none,
    974   1, 175, :_reduce_none,
    975   1, 175, :_reduce_none,
    976   1, 175, :_reduce_none,
    977   1, 175, :_reduce_none,
    978   1, 175, :_reduce_none,
    979   1, 175, :_reduce_none,
    980   1, 175, :_reduce_none,
    981   1, 175, :_reduce_none,
    982   1, 125, :_reduce_none,
    983   1, 125, :_reduce_none,
    984   1, 125, :_reduce_none,
    985   1, 125, :_reduce_none,
    986   1, 125, :_reduce_none,
    987   1, 125, :_reduce_none,
    988   1, 125, :_reduce_none,
    989   1, 125, :_reduce_none,
    990   1, 100, :_reduce_240,
    991   2, 100, :_reduce_241,
    992   3, 100, :_reduce_242 ]
    993 
    994 racc_reduce_n = 243
    995 
    996 racc_shift_n = 400
     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,
     1051  3, 171, :_reduce_none,
     1052  4, 171, :_reduce_none,
     1053  3, 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,
     1061  2, 172, :_reduce_none,
     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
     1081racc_reduce_n = 269
     1082
     1083racc_shift_n = 447
    9971084
    9981085racc_token_table = {
     
    10141101  "++" => 15,
    10151102  "--" => 16,
    1016   "," => 17,
    1017   :SIZEOF => 18,
    1018   "&" => 19,
    1019   "*" => 20,
    1020   "+" => 21,
    1021   "-" => 22,
    1022   "~" => 23,
    1023   "!" => 24,
    1024   "/" => 25,
    1025   "%" => 26,
    1026   "<<" => 27,
    1027   ">>" => 28,
    1028   "<" => 29,
    1029   ">" => 30,
    1030   "<=" => 31,
    1031   ">=" => 32,
    1032   "==" => 33,
    1033   "!=" => 34,
    1034   "^" => 35,
    1035   "|" => 36,
    1036   "&&" => 37,
    1037   "||" => 38,
    1038   "?" => 39,
    1039   ":" => 40,
    1040   ";" => 41,
    1041   "=" => 42,
    1042   :VOID => 43,
    1043   :FLOAT => 44,
    1044   :DOUBLE => 45,
    1045   :BOOL => 46,
    1046   :TYPE_NAME => 47,
    1047   :CHAR => 48,
    1048   :SHORT => 49,
    1049   :INT => 50,
    1050   :LONG => 51,
    1051   :SIGNED => 52,
    1052   :UNSIGNED => 53,
    1053   "{" => 54,
    1054   "}" => 55,
    1055   :STRUCT => 56,
    1056   :UNION => 57,
    1057   :ENUM => 58,
    1058   :CONST => 59,
    1059   :VOLATILE => 60,
    1060   :C_EXP => 61,
    1061   :EXTENSION => 62,
    1062   :TYPEDEF => 63,
    1063   :IF => 64,
    1064   :ELSE => 65,
    1065   :WHILE => 66,
    1066   :DO => 67,
    1067   :FOR => 68,
    1068   :SWITCH => 69,
    1069   :infunc_statment => 70,
    1070   :CASE => 71,
    1071   :DEFAULT => 72,
    1072   :GOTO => 73,
    1073   :CONTINUE => 74,
    1074   :BREAK => 75,
    1075   :RETURN => 76,
    1076   "+=" => 77,
    1077   "-=" => 78,
    1078   "*=" => 79,
    1079   "/=" => 80,
    1080   "%=" => 81,
    1081   "<<=" => 82,
    1082   ">>=" => 83,
    1083   "&=" => 84,
    1084   "|=" => 85,
    1085   "^=" => 86,
    1086   :__INLINE__ => 87,
    1087   :INLINE => 88,
    1088   :__INLINE => 89,
    1089   :CINLINE => 90,
    1090   :EXTERN => 91,
    1091   :STATIC => 92,
    1092   :AUTO => 93,
    1093   :REGISTER => 94,
    1094   "::" => 95 }
    1095 
    1096 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
     1184racc_nt_base = 97
    10971185
    10981186racc_use_result_var = true
     
    11321220  "\"++\"",
    11331221  "\"--\"",
     1222  "\"{\"",
     1223  "\"}\"",
    11341224  "\",\"",
    11351225  "SIZEOF",
     
    11561246  "\"?\"",
    11571247  "\":\"",
    1158   "\";\"",
    11591248  "\"=\"",
    1160   "VOID",
    1161   "FLOAT",
    1162   "DOUBLE",
    1163   "BOOL",
    1164   "TYPE_NAME",
    1165   "CHAR",
    1166   "SHORT",
    1167   "INT",
    1168   "LONG",
    1169   "SIGNED",
    1170   "UNSIGNED",
    1171   "\"{\"",
    1172   "\"}\"",
    1173   "STRUCT",
    1174   "UNION",
    1175   "ENUM",
    1176   "CONST",
    1177   "VOLATILE",
    1178   "C_EXP",
    1179   "EXTENSION",
    1180   "TYPEDEF",
    1181   "IF",
    1182   "ELSE",
    1183   "WHILE",
    1184   "DO",
    1185   "FOR",
    1186   "SWITCH",
    1187   "infunc_statment",
    1188   "CASE",
    1189   "DEFAULT",
    1190   "GOTO",
    1191   "CONTINUE",
    1192   "BREAK",
    1193   "RETURN",
    11941249  "\"+=\"",
    11951250  "\"-=\"",
     
    12021257  "\"|=\"",
    12031258  "\"^=\"",
     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",
    12041281  "__INLINE__",
    12051282  "INLINE",
    12061283  "__INLINE",
    12071284  "CINLINE",
    1208   "EXTERN",
    1209   "STATIC",
    1210   "AUTO",
    1211   "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",
    12121300  "\"::\"",
     1301  "_ASM",
    12131302  "$start",
    12141303  "all",
     
    12191308  "expression",
    12201309  "postfix_expression",
    1221   "argument_list",
     1310  "argument_expression_list",
    12221311  "type_qualifier",
     1312  "type_name",
     1313  "initializer_list",
     1314  "assignment_expression",
    12231315  "unary_expression",
    12241316  "unary_operator",
    12251317  "cast_expression",
    1226   "type_name",
    12271318  "multiplicative_expression",
    12281319  "additive_expression",
     
    12361327  "logical_or_expression",
    12371328  "conditional_expression",
     1329  "assignment_operator",
    12381330  "constant_expression",
    12391331  "declaration",
    12401332  "declaration_specifiers",
    12411333  "init_declarator_list",
    1242   "storage_class",
     1334  "storage_class_specifier",
    12431335  "type_specifier",
     1336  "function_specifier",
    12441337  "init_declarator",
    12451338  "declarator",
     
    12551348  "struct_declaration",
    12561349  "struct_declarator_list",
    1257   "type_specifier_qualifier_list",
     1350  "specifier_qualifier_list",
    12581351  "struct_declarator",
    12591352  "union_term",
     
    12631356  "union_declarator_list",
    12641357  "union_declarator",
    1265   "enum_type",
    12661358  "enumerator_list",
    12671359  "enumerator",
     
    12691361  "direct_declarator",
    12701362  "parameter_type_list",
     1363  "identifier_list",
     1364  "type_qualifier_list",
    12711365  "parameter_list",
    12721366  "parameter_declaration",
    12731367  "abstract_declarator",
    12741368  "direct_abstract_declarator",
    1275   "initializer_list",
    12761369  "extension_statement",
    1277   "statement",
     1370  "cdl_statement",
    12781371  "typedef",
    12791372  "func_def",
    12801373  "declarator_list",
    1281   "compoundstatement",
    1282   "infunc_statement_list",
    1283   "infunc_statement",
     1374  "compound_statement",
     1375  "statement",
     1376  "labeled_statement",
     1377  "expression_statement",
    12841378  "ifstatement",
    12851379  "whilestatement",
     
    12871381  "forstatement",
    12881382  "switchstatement",
    1289   "labelstatement",
    1290   "gotostatement",
    1291   "expressionstatement",
    1292   "assignment_operator" ]
     1383  "jump_statement",
     1384  "asm_statement",
     1385  "block_item_list",
     1386  "block_item" ]
    12931387
    12941388Racc_debug_parser = false
     
    13001394# reduce 1 omitted
    13011395
    1302 module_eval(<<'.,.,', 'C_parser.y.rb', 52)
     1396module_eval(<<'.,.,', 'C_parser.y.rb', 57)
    13031397  def _reduce_2(val, _values, result)
    13041398     result = [ :IDENTIFIER, val[0] ]
     
    13071401.,.,
    13081402
    1309 module_eval(<<'.,.,', 'C_parser.y.rb', 60)
     1403module_eval(<<'.,.,', 'C_parser.y.rb', 65)
    13101404  def _reduce_3(val, _values, result)
    13111405     result = [ :INTEGER_CONSTANT, val[0] ]
     
    13141408.,.,
    13151409
    1316 module_eval(<<'.,.,', 'C_parser.y.rb', 62)
     1410module_eval(<<'.,.,', 'C_parser.y.rb', 67)
    13171411  def _reduce_4(val, _values, result)
    13181412     result = [ :FLOATING_CONSTANT, val[0] ]
     
    13211415.,.,
    13221416
    1323 module_eval(<<'.,.,', 'C_parser.y.rb', 64)
     1417module_eval(<<'.,.,', 'C_parser.y.rb', 69)
    13241418  def _reduce_5(val, _values, result)
    13251419     result = [ :OCTAL_CONSTANT, val[0] ]
     
    13281422.,.,
    13291423
    1330 module_eval(<<'.,.,', 'C_parser.y.rb', 66)
     1424module_eval(<<'.,.,', 'C_parser.y.rb', 71)
    13311425  def _reduce_6(val, _values, result)
    13321426     result = [ :HEX_CONSTANT, val[0] ]
     
    13351429.,.,
    13361430
    1337 module_eval(<<'.,.,', 'C_parser.y.rb', 68)
     1431module_eval(<<'.,.,', 'C_parser.y.rb', 73)
    13381432  def _reduce_7(val, _values, result)
    13391433     result = [ :CHARACTER_LITERAL, val[0] ]
     
    13421436.,.,
    13431437
    1344 module_eval(<<'.,.,', 'C_parser.y.rb', 70)
     1438module_eval(<<'.,.,', 'C_parser.y.rb', 75)
    13451439  def _reduce_8(val, _values, result)
    13461440     result = [ :STRING_LITERAL_LIST, val[0] ]
     
    13491443.,.,
    13501444
    1351 module_eval(<<'.,.,', 'C_parser.y.rb', 72)
     1445module_eval(<<'.,.,', 'C_parser.y.rb', 77)
    13521446  def _reduce_9(val, _values, result)
    13531447     result = [ :PARENTHESES, val[1].get_elements ]
     
    13561450.,.,
    13571451
    1358 module_eval(<<'.,.,', 'C_parser.y.rb', 76)
     1452module_eval(<<'.,.,', 'C_parser.y.rb', 81)
    13591453  def _reduce_10(val, _values, result)
    13601454     result = [val[0]]
     
    13631457.,.,
    13641458
    1365 module_eval(<<'.,.,', 'C_parser.y.rb', 78)
     1459module_eval(<<'.,.,', 'C_parser.y.rb', 83)
    13661460  def _reduce_11(val, _values, result)
    13671461     result << val[1]
     
    13721466# reduce 12 omitted
    13731467
    1374 # reduce 13 omitted
     1468module_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.,.,
    13751474
    13761475# reduce 14 omitted
    13771476
    1378 module_eval(<<'.,.,', 'C_parser.y.rb', 86)
    1379   def _reduce_15(val, _values, result)
    1380      result = [ :OP_SUBSC, val[0], val[2] ]
    1381     result
    1382   end
    1383 .,.,
    1384 
    1385 module_eval(<<'.,.,', 'C_parser.y.rb', 88)
    1386   def _reduce_16(val, _values, result)
     1477# reduce 15 omitted
     1478
     1479# reduce 16 omitted
     1480
     1481module_eval(<<'.,.,', 'C_parser.y.rb', 94)
     1482  def _reduce_17(val, _values, result)
    13871483     result = [ :OP_DOT, val[0], val[2] ]
    13881484    result
     
    13901486.,.,
    13911487
    1392 module_eval(<<'.,.,', 'C_parser.y.rb', 90)
    1393   def _reduce_17(val, _values, result)
     1488module_eval(<<'.,.,', 'C_parser.y.rb', 96)
     1489  def _reduce_18(val, _values, result)
    13941490     result = [ :OP_REF, val[0], val[2] ]
    13951491    result
     
    13971493.,.,
    13981494
    1399 module_eval(<<'.,.,', 'C_parser.y.rb', 91)
    1400   def _reduce_18(val, _values, result)
    1401      result = val[0]
    1402     result
    1403   end
    1404 .,.,
    1405 
    1406 module_eval(<<'.,.,', 'C_parser.y.rb', 92)
     1495module_eval(<<'.,.,', 'C_parser.y.rb', 97)
    14071496  def _reduce_19(val, _values, result)
    14081497     result = val[0]
     
    14111500.,.,
    14121501
    1413 # reduce 20 omitted
     1502module_eval(<<'.,.,', 'C_parser.y.rb', 98)
     1503  def _reduce_20(val, _values, result)
     1504     result = val[0]
     1505    result
     1506  end
     1507.,.,
    14141508
    14151509# reduce 21 omitted
     
    14191513# reduce 23 omitted
    14201514
    1421 module_eval(<<'.,.,', 'C_parser.y.rb', 104)
    1422   def _reduce_24(val, _values, result)
     1515# reduce 24 omitted
     1516
     1517# reduce 25 omitted
     1518
     1519module_eval(<<'.,.,', 'C_parser.y.rb', 111)
     1520  def _reduce_26(val, _values, result)
    14231521     result = [ val[0], val[1] ]
    14241522    result
     
    14261524.,.,
    14271525
    1428 module_eval(<<'.,.,', 'C_parser.y.rb', 106)
    1429   def _reduce_25(val, _values, result)
     1526module_eval(<<'.,.,', 'C_parser.y.rb', 113)
     1527  def _reduce_27(val, _values, result)
    14301528     result = [ :OP_SIZEOF_EXPR, val[1] ]
    14311529    result
     
    14331531.,.,
    14341532
    1435 module_eval(<<'.,.,', 'C_parser.y.rb', 108)
    1436   def _reduce_26(val, _values, result)
     1533module_eval(<<'.,.,', 'C_parser.y.rb', 115)
     1534  def _reduce_28(val, _values, result)
    14371535     result = [ :OP_SIZEOF_TYPE, val[1] ]
    14381536    result
     
    14401538.,.,
    14411539
    1442 module_eval(<<'.,.,', 'C_parser.y.rb', 109)
    1443   def _reduce_27(val, _values, result)
     1540module_eval(<<'.,.,', 'C_parser.y.rb', 116)
     1541  def _reduce_29(val, _values, result)
    14441542     result = val[1]
    14451543    result
     
    14471545.,.,
    14481546
    1449 module_eval(<<'.,.,', 'C_parser.y.rb', 110)
    1450   def _reduce_28(val, _values, result)
     1547module_eval(<<'.,.,', 'C_parser.y.rb', 117)
     1548  def _reduce_30(val, _values, result)
    14511549     result = val[1]
    14521550    result
     
    14541552.,.,
    14551553
    1456 module_eval(<<'.,.,', 'C_parser.y.rb', 113)
    1457   def _reduce_29(val, _values, result)
     1554module_eval(<<'.,.,', 'C_parser.y.rb', 120)
     1555  def _reduce_31(val, _values, result)
    14581556     result = :OP_U_AMP
    14591557    result
     
    14611559.,.,
    14621560
    1463 module_eval(<<'.,.,', 'C_parser.y.rb', 114)
    1464   def _reduce_30(val, _values, result)
     1561module_eval(<<'.,.,', 'C_parser.y.rb', 121)
     1562  def _reduce_32(val, _values, result)
    14651563     result = :OP_U_ASTER
    14661564    result
     
    14681566.,.,
    14691567
    1470 module_eval(<<'.,.,', 'C_parser.y.rb', 115)
    1471   def _reduce_31(val, _values, result)
     1568module_eval(<<'.,.,', 'C_parser.y.rb', 122)
     1569  def _reduce_33(val, _values, result)
    14721570     result = :OP_U_PLUS
    14731571    result
     
    14751573.,.,
    14761574
    1477 module_eval(<<'.,.,', 'C_parser.y.rb', 116)
    1478   def _reduce_32(val, _values, result)
     1575module_eval(<<'.,.,', 'C_parser.y.rb', 123)
     1576  def _reduce_34(val, _values, result)
    14791577     result = :OP_U_MINUS
    14801578    result
     
    14821580.,.,
    14831581
    1484 module_eval(<<'.,.,', 'C_parser.y.rb', 117)
    1485   def _reduce_33(val, _values, result)
     1582module_eval(<<'.,.,', 'C_parser.y.rb', 124)
     1583  def _reduce_35(val, _values, result)
    14861584     result = :OP_U_TILDE
    14871585    result
     
    14891587.,.,
    14901588
    1491 module_eval(<<'.,.,', 'C_parser.y.rb', 118)
    1492   def _reduce_34(val, _values, result)
     1589module_eval(<<'.,.,', 'C_parser.y.rb', 125)
     1590  def _reduce_36(val, _values, result)
    14931591     result = :OP_U_EXCLAM
    14941592    result
     
    14961594.,.,
    14971595
    1498 # reduce 35 omitted
    1499 
    1500 module_eval(<<'.,.,', 'C_parser.y.rb', 123)
    1501   def _reduce_36(val, _values, result)
     1596# reduce 37 omitted
     1597
     1598module_eval(<<'.,.,', 'C_parser.y.rb', 130)
     1599  def _reduce_38(val, _values, result)
    15021600      result = [ :CAST, val[1], val[3] ]
    15031601    result
     
    15051603.,.,
    15061604
    1507 # reduce 37 omitted
    1508 
    1509 module_eval(<<'.,.,', 'C_parser.y.rb', 128)
    1510   def _reduce_38(val, _values, result)
     1605# reduce 39 omitted
     1606
     1607module_eval(<<'.,.,', 'C_parser.y.rb', 135)
     1608  def _reduce_40(val, _values, result)
    15111609     result = [ :OP_MULT, val[0], val[2] ] 
    15121610    result
     
    15141612.,.,
    15151613
    1516 module_eval(<<'.,.,', 'C_parser.y.rb', 130)
    1517   def _reduce_39(val, _values, result)
     1614module_eval(<<'.,.,', 'C_parser.y.rb', 137)
     1615  def _reduce_41(val, _values, result)
    15181616     result = [ :OP_DIV, val[0], val[2] ] 
    15191617    result
     
    15211619.,.,
    15221620
    1523 module_eval(<<'.,.,', 'C_parser.y.rb', 132)
    1524   def _reduce_40(val, _values, result)
     1621module_eval(<<'.,.,', 'C_parser.y.rb', 139)
     1622  def _reduce_42(val, _values, result)
    15251623     result = [ :OP_REMAIN, val[0], val[2] ] 
    15261624    result
     
    15281626.,.,
    15291627
    1530 # reduce 41 omitted
    1531 
    1532 module_eval(<<'.,.,', 'C_parser.y.rb', 137)
    1533   def _reduce_42(val, _values, result)
     1628# reduce 43 omitted
     1629
     1630module_eval(<<'.,.,', 'C_parser.y.rb', 144)
     1631  def _reduce_44(val, _values, result)
    15341632     result = [ :OP_ADD, val[0], val[2] ] 
    15351633    result
     
    15371635.,.,
    15381636
    1539 module_eval(<<'.,.,', 'C_parser.y.rb', 139)
    1540   def _reduce_43(val, _values, result)
     1637module_eval(<<'.,.,', 'C_parser.y.rb', 146)
     1638  def _reduce_45(val, _values, result)
    15411639     result = [ :OP_SUB, val[0], val[2] ] 
    15421640    result
     
    15441642.,.,
    15451643
    1546 # reduce 44 omitted
    1547 
    1548 module_eval(<<'.,.,', 'C_parser.y.rb', 144)
    1549   def _reduce_45(val, _values, result)
     1644# reduce 46 omitted
     1645
     1646module_eval(<<'.,.,', 'C_parser.y.rb', 151)
     1647  def _reduce_47(val, _values, result)
    15501648     result = [ :OP_LSFT, val[0], val[2] ] 
    15511649    result
     
    15531651.,.,
    15541652
    1555 module_eval(<<'.,.,', 'C_parser.y.rb', 146)
    1556   def _reduce_46(val, _values, result)
     1653module_eval(<<'.,.,', 'C_parser.y.rb', 153)
     1654  def _reduce_48(val, _values, result)
    15571655     result = [ :OP_RSFT, val[0], val[2] ] 
    15581656    result
     
    15601658.,.,
    15611659
    1562 # reduce 47 omitted
    1563 
    1564 module_eval(<<'.,.,', 'C_parser.y.rb', 151)
    1565   def _reduce_48(val, _values, result)
     1660# reduce 49 omitted
     1661
     1662module_eval(<<'.,.,', 'C_parser.y.rb', 158)
     1663  def _reduce_50(val, _values, result)
    15661664     result = [ :OP_LT, val[0], val[2] ] 
    15671665    result
     
    15691667.,.,
    15701668
    1571 module_eval(<<'.,.,', 'C_parser.y.rb', 153)
    1572   def _reduce_49(val, _values, result)
     1669module_eval(<<'.,.,', 'C_parser.y.rb', 160)
     1670  def _reduce_51(val, _values, result)
    15731671     result = [ :OP_GT, val[0], val[2] ] 
    15741672    result
     
    15761674.,.,
    15771675
    1578 module_eval(<<'.,.,', 'C_parser.y.rb', 155)
    1579   def _reduce_50(val, _values, result)
     1676module_eval(<<'.,.,', 'C_parser.y.rb', 162)
     1677  def _reduce_52(val, _values, result)
    15801678     result = [ :OP_LE, val[0], val[2] ] 
    15811679    result
     
    15831681.,.,
    15841682
    1585 module_eval(<<'.,.,', 'C_parser.y.rb', 157)
    1586   def _reduce_51(val, _values, result)
     1683module_eval(<<'.,.,', 'C_parser.y.rb', 164)
     1684  def _reduce_53(val, _values, result)
    15871685     result = [ :OP_GE, val[0], val[2] ] 
    15881686    result
     
    15901688.,.,
    15911689
    1592 # reduce 52 omitted
    1593 
    1594 module_eval(<<'.,.,', 'C_parser.y.rb', 162)
    1595   def _reduce_53(val, _values, result)
     1690# reduce 54 omitted
     1691
     1692module_eval(<<'.,.,', 'C_parser.y.rb', 169)
     1693  def _reduce_55(val, _values, result)
    15961694     result = [ :OP_EQ, val[0], val[2] ] 
    15971695    result
     
    15991697.,.,
    16001698
    1601 module_eval(<<'.,.,', 'C_parser.y.rb', 164)
    1602   def _reduce_54(val, _values, result)
     1699module_eval(<<'.,.,', 'C_parser.y.rb', 171)
     1700  def _reduce_56(val, _values, result)
    16031701     result = [ :OP_NE, val[0], val[2] ] 
    16041702    result
     
    16061704.,.,
    16071705
    1608 # reduce 55 omitted
    1609 
    1610 module_eval(<<'.,.,', 'C_parser.y.rb', 169)
    1611   def _reduce_56(val, _values, result)
     1706# reduce 57 omitted
     1707
     1708module_eval(<<'.,.,', 'C_parser.y.rb', 176)
     1709  def _reduce_58(val, _values, result)
    16121710     result = [ :OP_AND, val[0], val[2] ] 
    16131711    result
     
    16151713.,.,
    16161714
    1617 # reduce 57 omitted
    1618 
    1619 module_eval(<<'.,.,', 'C_parser.y.rb', 174)
    1620   def _reduce_58(val, _values, result)
     1715# reduce 59 omitted
     1716
     1717module_eval(<<'.,.,', 'C_parser.y.rb', 181)
     1718  def _reduce_60(val, _values, result)
    16211719     result = [ :OP_EOR, val[0], val[2] ] 
    16221720    result
     
    16241722.,.,
    16251723
    1626 # reduce 59 omitted
    1627 
    1628 module_eval(<<'.,.,', 'C_parser.y.rb', 179)
    1629   def _reduce_60(val, _values, result)
     1724# reduce 61 omitted
     1725
     1726module_eval(<<'.,.,', 'C_parser.y.rb', 186)
     1727  def _reduce_62(val, _values, result)
    16301728     result = [ :OP_OR, val[0], val[2] ] 
    16311729    result
     
    16331731.,.,
    16341732
    1635 # reduce 61 omitted
    1636 
    1637 module_eval(<<'.,.,', 'C_parser.y.rb', 184)
    1638   def _reduce_62(val, _values, result)
     1733# reduce 63 omitted
     1734
     1735module_eval(<<'.,.,', 'C_parser.y.rb', 191)
     1736  def _reduce_64(val, _values, result)
    16391737     result = [ :OP_LAND, val[0], val[2] ] 
    16401738    result
     
    16421740.,.,
    16431741
    1644 # reduce 63 omitted
    1645 
    1646 module_eval(<<'.,.,', 'C_parser.y.rb', 189)
    1647   def _reduce_64(val, _values, result)
     1742# reduce 65 omitted
     1743
     1744module_eval(<<'.,.,', 'C_parser.y.rb', 196)
     1745  def _reduce_66(val, _values, result)
    16481746     result = [ :OP_LOR, val[0], val[2] ] 
    16491747    result
     
    16511749.,.,
    16521750
    1653 # reduce 65 omitted
    1654 
    1655 module_eval(<<'.,.,', 'C_parser.y.rb', 194)
    1656   def _reduce_66(val, _values, result)
     1751# reduce 67 omitted
     1752
     1753module_eval(<<'.,.,', 'C_parser.y.rb', 201)
     1754  def _reduce_68(val, _values, result)
    16571755     result = [ :OP_CEX, val[0], val[2].get_elements, val[4] ] 
    16581756    result
     
    16601758.,.,
    16611759
    1662 module_eval(<<'.,.,', 'C_parser.y.rb', 201)
    1663   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
     1786module_eval(<<'.,.,', 'C_parser.y.rb', 223)
     1787  def _reduce_82(val, _values, result)
    16641788                        result = Expression.new( val[0] )
    16651789                        # result.print
     
    16691793.,.,
    16701794
    1671 module_eval(<<'.,.,', 'C_parser.y.rb', 208)
    1672   def _reduce_68(val, _values, result)
     1795module_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
     1803module_eval(<<'.,.,', 'C_parser.y.rb', 234)
     1804  def _reduce_84(val, _values, result)
    16731805                        result = Expression.new( val[0] )
    16741806                        # result.print
     
    16851817.,.,
    16861818
    1687 # reduce 69 omitted
    1688 
    1689 module_eval(<<'.,.,', 'C_parser.y.rb', 237)
    1690   def _reduce_70(val, _values, result)
     1819# reduce 85 omitted
     1820
     1821module_eval(<<'.,.,', 'C_parser.y.rb', 261)
     1822  def _reduce_86(val, _values, result)
    16911823                        result = CIntType.new( -3 )    # storage class は無視
    16921824               
     
    16951827.,.,
    16961828
    1697 # reduce 71 omitted
    1698 
    1699 module_eval(<<'.,.,', 'C_parser.y.rb', 242)
    1700   def _reduce_72(val, _values, result)
     1829module_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
     1839module_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
     1847module_eval(<<'.,.,', 'C_parser.y.rb', 274)
     1848  def _reduce_90(val, _values, result)
    17011849                        result = CIntType.new( -3 )
    17021850                        result.set_qualifier val[0]
     
    17061854.,.,
    17071855
    1708 module_eval(<<'.,.,', 'C_parser.y.rb', 247)
    1709   def _reduce_73(val, _values, result)
    1710                         result = val[1]                # storage class は無視
    1711                
    1712     result
    1713   end
    1714 .,.,
    1715 
    1716 module_eval(<<'.,.,', 'C_parser.y.rb', 251)
    1717   def _reduce_74(val, _values, result)
    1718                         result = val[1].merge val[0]
    1719                
    1720     result
    1721   end
    1722 .,.,
    1723 
    1724 module_eval(<<'.,.,', 'C_parser.y.rb', 255)
    1725   def _reduce_75(val, _values, result)
     1856module_eval(<<'.,.,', 'C_parser.y.rb', 279)
     1857  def _reduce_91(val, _values, result)
    17261858                        val[1].set_qualifier val[0]
    1727                         result = val[1]
    1728                
    1729     result
    1730   end
    1731 .,.,
    1732 
    1733 module_eval(<<'.,.,', 'C_parser.y.rb', 262)
    1734   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
     1869module_eval(<<'.,.,', 'C_parser.y.rb', 287)
     1870  def _reduce_94(val, _values, result)
    17351871     result = [val[0]]
    17361872    result
     
    17381874.,.,
    17391875
    1740 module_eval(<<'.,.,', 'C_parser.y.rb', 264)
    1741   def _reduce_77(val, _values, result)
     1876module_eval(<<'.,.,', 'C_parser.y.rb', 289)
     1877  def _reduce_95(val, _values, result)
    17421878     result << val[2]
    17431879    result
     
    17451881.,.,
    17461882
    1747 # reduce 78 omitted
    1748 
    1749 module_eval(<<'.,.,', 'C_parser.y.rb', 269)
    1750   def _reduce_79(val, _values, result)
     1883# reduce 96 omitted
     1884
     1885module_eval(<<'.,.,', 'C_parser.y.rb', 294)
     1886  def _reduce_97(val, _values, result)
    17511887     val[0].set_initializer( val[2] )
    17521888    result
     
    17541890.,.,
    17551891
    1756 module_eval(<<'.,.,', 'C_parser.y.rb', 272)
    1757   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
     1900module_eval(<<'.,.,', 'C_parser.y.rb', 304)
     1901  def _reduce_102(val, _values, result)
    17581902     set_no_type_name true; result = CVoidType.new
    17591903    result
     
    17611905.,.,
    17621906
    1763 module_eval(<<'.,.,', 'C_parser.y.rb', 273)
    1764   def _reduce_81(val, _values, result)
     1907module_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
     1914module_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
     1921module_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
     1928module_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
     1935module_eval(<<'.,.,', 'C_parser.y.rb', 314)
     1936  def _reduce_107(val, _values, result)
    17651937     set_no_type_name true; result = CFloatType.new(-32)
    17661938    result
     
    17681940.,.,
    17691941
    1770 module_eval(<<'.,.,', 'C_parser.y.rb', 274)
    1771   def _reduce_82(val, _values, result)
     1942module_eval(<<'.,.,', 'C_parser.y.rb', 316)
     1943  def _reduce_108(val, _values, result)
    17721944     set_no_type_name true; result = CFloatType.new(-64)
    17731945    result
     
    17751947.,.,
    17761948
    1777 module_eval(<<'.,.,', 'C_parser.y.rb', 275)
    1778   def _reduce_83(val, _values, result)
    1779      set_no_type_name true; result = CBoolType.new
    1780     result
    1781   end
    1782 .,.,
    1783 
    1784 module_eval(<<'.,.,', 'C_parser.y.rb', 276)
    1785   def _reduce_84(val, _values, result)
    1786      set_no_type_name true; result = val[0]
    1787     result
    1788   end
    1789 .,.,
    1790 
    1791 module_eval(<<'.,.,', 'C_parser.y.rb', 277)
    1792   def _reduce_85(val, _values, result)
    1793      set_no_type_name true; result = CVoidType.new
    1794     result
    1795   end
    1796 .,.,
    1797 
    1798 module_eval(<<'.,.,', 'C_parser.y.rb', 278)
    1799   def _reduce_86(val, _values, result)
    1800      set_no_type_name true; result = CVoidType.new
    1801     result
    1802   end
    1803 .,.,
    1804 
    1805 module_eval(<<'.,.,', 'C_parser.y.rb', 279)
    1806   def _reduce_87(val, _values, result)
    1807      set_no_type_name true; result = CDefinedType.new( val[0].val )
    1808     result
    1809   end
    1810 .,.,
    1811 
    1812 module_eval(<<'.,.,', 'C_parser.y.rb', 281)
    1813   def _reduce_88(val, _values, result)
    1814      set_no_type_name true; result = CIntType.new(-11 )
    1815     result
    1816   end
    1817 .,.,
    1818 
    1819 module_eval(<<'.,.,', 'C_parser.y.rb', 282)
    1820   def _reduce_89(val, _values, result)
    1821      set_no_type_name true; result = CIntType.new( -2 )
    1822     result
    1823   end
    1824 .,.,
    1825 
    1826 module_eval(<<'.,.,', 'C_parser.y.rb', 283)
    1827   def _reduce_90(val, _values, result)
    1828      set_no_type_name true; result = CIntType.new( -3 )
    1829     result
    1830   end
    1831 .,.,
    1832 
    1833 module_eval(<<'.,.,', 'C_parser.y.rb', 284)
    1834   def _reduce_91(val, _values, result)
    1835      set_no_type_name true; result = CIntType.new( -4 )
    1836     result
    1837   end
    1838 .,.,
    1839 
    1840 module_eval(<<'.,.,', 'C_parser.y.rb', 287)
    1841   def _reduce_92(val, _values, result)
     1949module_eval(<<'.,.,', 'C_parser.y.rb', 319)
     1950  def _reduce_109(val, _values, result)
    18421951                        set_no_type_name true
    18431952                        result = CIntType.new( -3 )
     
    18481957.,.,
    18491958
    1850 module_eval(<<'.,.,', 'C_parser.y.rb', 293)
    1851   def _reduce_93(val, _values, result)
     1959module_eval(<<'.,.,', 'C_parser.y.rb', 325)
     1960  def _reduce_110(val, _values, result)
    18521961                        set_no_type_name true
    18531962                        result = CIntType.new( -3 )
     
    18581967.,.,
    18591968
    1860 module_eval(<<'.,.,', 'C_parser.y.rb', 302)
    1861   def _reduce_94(val, _values, result)
     1969module_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
     1976module_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
     1983module_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
     1990module_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
     1997module_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
     2004module_eval(<<'.,.,', 'C_parser.y.rb', 344)
     2005  def _reduce_116(val, _values, result)
    18622006     StructType.set_define( true ) 
    18632007    result
     
    18652009.,.,
    18662010
    1867 module_eval(<<'.,.,', 'C_parser.y.rb', 305)
    1868   def _reduce_95(val, _values, result)
     2011module_eval(<<'.,.,', 'C_parser.y.rb', 347)
     2012  def _reduce_117(val, _values, result)
    18692013                        StructType.end_of_parse
    18702014                        result = val[1]
     
    18742018.,.,
    18752019
    1876 module_eval(<<'.,.,', 'C_parser.y.rb', 311)
    1877   def _reduce_96(val, _values, result)
     2020module_eval(<<'.,.,', 'C_parser.y.rb', 353)
     2021  def _reduce_118(val, _values, result)
    18782022                        result = CStructType.new()
    18792023                        StructType.set_define( true )
     
    18832027.,.,
    18842028
    1885 module_eval(<<'.,.,', 'C_parser.y.rb', 316)
    1886   def _reduce_97(val, _values, result)
     2029module_eval(<<'.,.,', 'C_parser.y.rb', 358)
     2030  def _reduce_119(val, _values, result)
    18872031                        StructType.end_of_parse
    18882032                        result = val[1]
     
    18922036.,.,
    18932037
    1894 module_eval(<<'.,.,', 'C_parser.y.rb', 322)
    1895   def _reduce_98(val, _values, result)
     2038module_eval(<<'.,.,', 'C_parser.y.rb', 364)
     2039  def _reduce_120(val, _values, result)
    18962040                        StructType.set_define( false )
    18972041                        StructType.end_of_parse
     
    19022046.,.,
    19032047
    1904 module_eval(<<'.,.,', 'C_parser.y.rb', 328)
    1905   def _reduce_99(val, _values, result)
     2048module_eval(<<'.,.,', 'C_parser.y.rb', 370)
     2049  def _reduce_121(val, _values, result)
    19062050     set_no_type_name true
    19072051    result
     
    19092053.,.,
    19102054
    1911 # reduce 100 omitted
    1912 
    1913 # reduce 101 omitted
    1914 
    1915 module_eval(<<'.,.,', 'C_parser.y.rb', 337)
    1916   def _reduce_102(val, _values, result)
     2055# reduce 122 omitted
     2056
     2057# reduce 123 omitted
     2058
     2059module_eval(<<'.,.,', 'C_parser.y.rb', 379)
     2060  def _reduce_124(val, _values, result)
    19172061                        result = CStructType.new( val[0].val )
    19182062                        set_no_type_name true
     
    19222066.,.,
    19232067
    1924 module_eval(<<'.,.,', 'C_parser.y.rb', 346)
    1925   def _reduce_103(val, _values, result)
     2068module_eval(<<'.,.,', 'C_parser.y.rb', 388)
     2069  def _reduce_125(val, _values, result)
    19262070                        val[1].each { |i|       # i: Decl
    19272071                                i.set_type( val[0] )
     
    19362080.,.,
    19372081
    1938 # reduce 104 omitted
    1939 
    1940 # reduce 105 omitted
    1941 
    1942 # reduce 106 omitted
    1943 
    1944 module_eval(<<'.,.,', 'C_parser.y.rb', 365)
    1945   def _reduce_107(val, _values, result)
     2082module_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
     2100module_eval(<<'.,.,', 'C_parser.y.rb', 417)
     2101  def _reduce_129(val, _values, result)
    19462102                        result = val[1].merge val[0]
    19472103               
     
    19502106.,.,
    19512107
    1952 module_eval(<<'.,.,', 'C_parser.y.rb', 369)
    1953   def _reduce_108(val, _values, result)
     2108# reduce 130 omitted
     2109
     2110module_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
     2119module_eval(<<'.,.,', 'C_parser.y.rb', 427)
     2120  def _reduce_132(val, _values, result)
    19542121                        result = CIntType.new( -3 )
    19552122                        result.set_qualifier val[0]
     
    19592126.,.,
    19602127
    1961 module_eval(<<'.,.,', 'C_parser.y.rb', 374)
    1962   def _reduce_109(val, _values, result)
    1963                         val[1].set_qualifier val[0]
    1964                         result = val[1]
    1965                
    1966     result
    1967   end
    1968 .,.,
    1969 
    1970 module_eval(<<'.,.,', 'C_parser.y.rb', 380)
    1971   def _reduce_110(val, _values, result)
     2128module_eval(<<'.,.,', 'C_parser.y.rb', 433)
     2129  def _reduce_133(val, _values, result)
    19722130     result = [ val[0] ]
    19732131    result
     
    19752133.,.,
    19762134
    1977 module_eval(<<'.,.,', 'C_parser.y.rb', 382)
    1978   def _reduce_111(val, _values, result)
     2135module_eval(<<'.,.,', 'C_parser.y.rb', 435)
     2136  def _reduce_134(val, _values, result)
    19792137     result << val[2]
    19802138    result
     
    19822140.,.,
    19832141
    1984 # reduce 112 omitted
    1985 
    1986 # reduce 113 omitted
    1987 
    1988 # reduce 114 omitted
    1989 
    1990 # reduce 115 omitted
    1991 
    1992 module_eval(<<'.,.,', 'C_parser.y.rb', 399)
    1993   def _reduce_116(val, _values, result)
     2142# reduce 135 omitted
     2143
     2144# reduce 136 omitted
     2145
     2146# reduce 137 omitted
     2147
     2148# reduce 138 omitted
     2149
     2150module_eval(<<'.,.,', 'C_parser.y.rb', 452)
     2151  def _reduce_139(val, _values, result)
    19942152     set_no_type_name true
    19952153    result
     
    19972155.,.,
    19982156
    1999 # reduce 117 omitted
    2000 
    2001 # reduce 118 omitted
    2002 
    2003 # reduce 119 omitted
    2004 
    2005 # reduce 120 omitted
    2006 
    2007 # reduce 121 omitted
    2008 
    2009 # reduce 122 omitted
    2010 
    2011 # reduce 123 omitted
    2012 
    2013 # reduce 124 omitted
    2014 
    2015 # reduce 125 omitted
    2016 
    2017 # reduce 126 omitted
    2018 
    2019 # reduce 127 omitted
    2020 
    2021 # reduce 128 omitted
    2022 
    2023 module_eval(<<'.,.,', 'C_parser.y.rb', 430)
    2024   def _reduce_129(val, _values, result)
    2025      result = CEnumType.new( -1 )
    2026     result
    2027   end
    2028 .,.,
    2029 
    2030 # reduce 130 omitted
    2031 
    2032 # reduce 131 omitted
    2033 
    2034 # reduce 132 omitted
    2035 
    2036 # reduce 133 omitted
    2037 
    2038 module_eval(<<'.,.,', 'C_parser.y.rb', 446)
    2039   def _reduce_134(val, _values, result)
     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
     2203module_eval(<<'.,.,', 'C_parser.y.rb', 495)
     2204  def _reduce_163(val, _values, result)
    20402205     result = :CONST
    20412206    result
     
    20432208.,.,
    20442209
    2045 module_eval(<<'.,.,', 'C_parser.y.rb', 447)
    2046   def _reduce_135(val, _values, result)
     2210# reduce 164 omitted
     2211
     2212module_eval(<<'.,.,', 'C_parser.y.rb', 498)
     2213  def _reduce_165(val, _values, result)
    20472214     result = :VOLATILE
    20482215    result
     
    20502217.,.,
    20512218
    2052 module_eval(<<'.,.,', 'C_parser.y.rb', 452)
    2053   def _reduce_136(val, _values, result)
     2219# reduce 166 omitted
     2220
     2221# reduce 167 omitted
     2222
     2223# reduce 168 omitted
     2224
     2225# reduce 169 omitted
     2226
     2227module_eval(<<'.,.,', 'C_parser.y.rb', 509)
     2228  def _reduce_170(val, _values, result)
    20542229                        val[1].set_type( val[0] )
    20552230                        result = val[1]
     
    20592234.,.,
    20602235
    2061 # reduce 137 omitted
    2062 
    2063 module_eval(<<'.,.,', 'C_parser.y.rb', 458)
    2064   def _reduce_138(val, _values, result)
     2236# reduce 171 omitted
     2237
     2238module_eval(<<'.,.,', 'C_parser.y.rb', 515)
     2239  def _reduce_172(val, _values, result)
    20652240                        result = Decl.new( val[1].val )
    20662241                        result.set_type( val[0] )
     
    20702245.,.,
    20712246
    2072 module_eval(<<'.,.,', 'C_parser.y.rb', 464)
    2073   def _reduce_139(val, _values, result)
     2247module_eval(<<'.,.,', 'C_parser.y.rb', 521)
     2248  def _reduce_173(val, _values, result)
    20742249     result = Decl.new( val[0].val )
    20752250    result
     
    20772252.,.,
    20782253
    2079 module_eval(<<'.,.,', 'C_parser.y.rb', 466)
    2080   def _reduce_140(val, _values, result)
     2254module_eval(<<'.,.,', 'C_parser.y.rb', 523)
     2255  def _reduce_174(val, _values, result)
    20812256     result = val[1]
    20822257    result
     
    20842259.,.,
    20852260
    2086 module_eval(<<'.,.,', 'C_parser.y.rb', 469)
    2087   def _reduce_141(val, _values, result)
     2261module_eval(<<'.,.,', 'C_parser.y.rb', 526)
     2262  def _reduce_175(val, _values, result)
    20882263                        val[0].set_type( CArrayType.new( val[2] ) )
    20892264                        result = val[0]
     
    20932268.,.,
    20942269
    2095 module_eval(<<'.,.,', 'C_parser.y.rb', 474)
    2096   def _reduce_142(val, _values, result)
     2270module_eval(<<'.,.,', 'C_parser.y.rb', 531)
     2271  def _reduce_176(val, _values, result)
    20972272                        val[0].set_type( CArrayType.new )
    20982273                        result = val[0]
     
    21022277.,.,
    21032278
    2104 module_eval(<<'.,.,', 'C_parser.y.rb', 479)
    2105   def _reduce_143(val, _values, result)
     2279module_eval(<<'.,.,', 'C_parser.y.rb', 536)
     2280  def _reduce_177(val, _values, result)
    21062281                #       Generator.warning( "W6001 need 'void' for no parameter"  )
    21072282                        val[0].set_type( CFuncType.new )
     
    21122287.,.,
    21132288
    2114 module_eval(<<'.,.,', 'C_parser.y.rb', 487)
    2115   def _reduce_144(val, _values, result)
     2289# reduce 178 omitted
     2290
     2291module_eval(<<'.,.,', 'C_parser.y.rb', 543)
     2292  def _reduce_179(val, _values, result)
    21162293                #       Generator.warning( "W6002 need 'void' for no parameter"  )
    21172294                        val[0].set_type( CFuncType.new )
     
    21222299.,.,
    21232300
    2124 module_eval(<<'.,.,', 'C_parser.y.rb', 494)
    2125   def _reduce_145(val, _values, result)
     2301module_eval(<<'.,.,', 'C_parser.y.rb', 550)
     2302  def _reduce_180(val, _values, result)
    21262303     result = CPtrType.new
    21272304    result
     
    21292306.,.,
    21302307
    2131 module_eval(<<'.,.,', 'C_parser.y.rb', 497)
    2132   def _reduce_146(val, _values, result)
     2308module_eval(<<'.,.,', 'C_parser.y.rb', 553)
     2309  def _reduce_181(val, _values, result)
    21332310                        result = CPtrType.new
    21342311                        result.set_qualifier( val[1] )
     
    21382315.,.,
    21392316
    2140 module_eval(<<'.,.,', 'C_parser.y.rb', 502)
    2141   def _reduce_147(val, _values, result)
     2317module_eval(<<'.,.,', 'C_parser.y.rb', 558)
     2318  def _reduce_182(val, _values, result)
    21422319                        val[1].set_type(CPtrType.new)
    21432320                        result = val[1]
     
    21472324.,.,
    21482325
    2149 module_eval(<<'.,.,', 'C_parser.y.rb', 507)
    2150   def _reduce_148(val, _values, result)
     2326module_eval(<<'.,.,', 'C_parser.y.rb', 563)
     2327  def _reduce_183(val, _values, result)
    21512328                        ptrtype = CPtrType.new
    21522329                        ptrtype.set_qualifier( val[1] )
     
    21582335.,.,
    21592336
    2160 # reduce 149 omitted
    2161 
    2162 # reduce 150 omitted
    2163 
    2164 # reduce 151 omitted
    2165 
    2166 # reduce 152 omitted
    2167 
    2168 # reduce 153 omitted
    2169 
    2170 # reduce 154 omitted
    2171 
    2172 # reduce 155 omitted
    2173 
    2174 # reduce 156 omitted
    2175 
    2176 # reduce 157 omitted
    2177 
    2178 # reduce 158 omitted
    2179 
    2180 # reduce 159 omitted
    2181 
    2182 # reduce 160 omitted
    2183 
    2184 # reduce 161 omitted
    2185 
    2186 # reduce 162 omitted
    2187 
    2188 # reduce 163 omitted
    2189 
    2190 # reduce 164 omitted
    2191 
    2192 # reduce 165 omitted
    2193 
    2194 module_eval(<<'.,.,', 'C_parser.y.rb', 571)
    2195   def _reduce_166(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
     2379module_eval(<<'.,.,', 'C_parser.y.rb', 630)
     2380  def _reduce_205(val, _values, result)
    21962381                        Generator.warning( "W6003 need 'void' for no parameter"  )
    21972382               
     
    22002385.,.,
    22012386
    2202 # reduce 167 omitted
    2203 
    2204 module_eval(<<'.,.,', 'C_parser.y.rb', 576)
    2205   def _reduce_168(val, _values, result)
     2387# reduce 206 omitted
     2388
     2389module_eval(<<'.,.,', 'C_parser.y.rb', 635)
     2390  def _reduce_207(val, _values, result)
    22062391                        Generator.warning( "W6004 need 'void' for no parameter"  )
    22072392               
     
    22102395.,.,
    22112396
    2212 # reduce 169 omitted
    2213 
    2214 module_eval(<<'.,.,', 'C_parser.y.rb', 583)
    2215   def _reduce_170(val, _values, result)
     2397# reduce 208 omitted
     2398
     2399module_eval(<<'.,.,', 'C_parser.y.rb', 642)
     2400  def _reduce_209(val, _values, result)
    22162401     result = val[0]
    22172402    result
     
    22192404.,.,
    22202405
    2221 module_eval(<<'.,.,', 'C_parser.y.rb', 585)
    2222   def _reduce_171(val, _values, result)
     2406module_eval(<<'.,.,', 'C_parser.y.rb', 644)
     2407  def _reduce_210(val, _values, result)
    22232408     result = val[1]
    22242409    result
     
    22262411.,.,
    22272412
    2228 module_eval(<<'.,.,', 'C_parser.y.rb', 587)
    2229   def _reduce_172(val, _values, result)
     2413module_eval(<<'.,.,', 'C_parser.y.rb', 646)
     2414  def _reduce_211(val, _values, result)
    22302415     result = val[1]
    22312416    result
     
    22332418.,.,
    22342419
    2235 module_eval(<<'.,.,', 'C_parser.y.rb', 589)
    2236   def _reduce_173(val, _values, result)
     2420module_eval(<<'.,.,', 'C_parser.y.rb', 648)
     2421  def _reduce_212(val, _values, result)
    22372422     result = C_EXP.new( val[2] )
    22382423    result
     
    22402425.,.,
    22412426
    2242 module_eval(<<'.,.,', 'C_parser.y.rb', 594)
    2243   def _reduce_174(val, _values, result)
     2427module_eval(<<'.,.,', 'C_parser.y.rb', 653)
     2428  def _reduce_213(val, _values, result)
    22442429                        result = [ val[0] ]
    22452430               
     
    22482433.,.,
    22492434
    2250 module_eval(<<'.,.,', 'C_parser.y.rb', 598)
    2251   def _reduce_175(val, _values, result)
     2435module_eval(<<'.,.,', 'C_parser.y.rb', 657)
     2436  def _reduce_214(val, _values, result)
    22522437                        val[0] << val[2]
    22532438                        result = val[0]
     
    22572442.,.,
    22582443
    2259 # reduce 176 omitted
    2260 
    2261 # reduce 177 omitted
    2262 
    2263 # reduce 178 omitted
    2264 
    2265 # reduce 179 omitted
    2266 
    2267 # reduce 180 omitted
    2268 
    2269 # reduce 181 omitted
    2270 
    2271 # reduce 182 omitted
    2272 
    2273 # reduce 183 omitted
    2274 
    2275 # reduce 184 omitted
    2276 
    2277 # reduce 185 omitted
    2278 
    2279 # reduce 186 omitted
    2280 
    2281 module_eval(<<'.,.,', 'C_parser.y.rb', 626)
    2282   def _reduce_187(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
     2466module_eval(<<'.,.,', 'C_parser.y.rb', 685)
     2467  def _reduce_226(val, _values, result)
    22832468                        val[2].each{ |i|
    22842469                           i.set_kind( :TYPEDEF )
     
    22912476.,.,
    22922477
    2293 module_eval(<<'.,.,', 'C_parser.y.rb', 635)
    2294   def _reduce_188(val, _values, result)
     2478module_eval(<<'.,.,', 'C_parser.y.rb', 694)
     2479  def _reduce_227(val, _values, result)
    22952480     result = [ val[0] ]
    22962481    result
     
    22982483.,.,
    22992484
    2300 module_eval(<<'.,.,', 'C_parser.y.rb', 637)
    2301   def _reduce_189(val, _values, result)
     2485module_eval(<<'.,.,', 'C_parser.y.rb', 696)
     2486  def _reduce_228(val, _values, result)
    23022487     result << val[2]
    23032488    result
     
    23052490.,.,
    23062491
    2307 # reduce 190 omitted
    2308 
    2309 # reduce 191 omitted
    2310 
    2311 # reduce 192 omitted
    2312 
    2313 # reduce 193 omitted
    2314 
    2315 # reduce 194 omitted
    2316 
    2317 # reduce 195 omitted
    2318 
    2319 # reduce 196 omitted
    2320 
    2321 # reduce 197 omitted
    2322 
    2323 # reduce 198 omitted
    2324 
    2325 # reduce 199 omitted
    2326 
    2327 # reduce 200 omitted
    2328 
    2329 # reduce 201 omitted
    2330 
    2331 # reduce 202 omitted
    2332 
    2333 # reduce 203 omitted
    2334 
    2335 # reduce 204 omitted
    2336 
    2337 # reduce 205 omitted
    2338 
    2339 # reduce 206 omitted
    2340 
    2341 # reduce 207 omitted
    2342 
    2343 # reduce 208 omitted
    2344 
    2345 # reduce 209 omitted
    2346 
    2347 # reduce 210 omitted
    2348 
    2349 # reduce 211 omitted
    2350 
    2351 # reduce 212 omitted
    2352 
    2353 # reduce 213 omitted
    2354 
    2355 # reduce 214 omitted
    2356 
    2357 # reduce 215 omitted
    2358 
    2359 # reduce 216 omitted
    2360 
    2361 # reduce 217 omitted
    2362 
    2363 # reduce 218 omitted
    2364 
    2365 # reduce 219 omitted
    2366 
    2367 # reduce 220 omitted
    2368 
    2369 # reduce 221 omitted
    2370 
    2371 # reduce 222 omitted
    2372 
    2373 # reduce 223 omitted
    2374 
    2375 # reduce 224 omitted
    2376 
    2377 # reduce 225 omitted
    2378 
    2379 # reduce 226 omitted
    2380 
    2381 # reduce 227 omitted
    2382 
    2383 # reduce 228 omitted
    2384 
    23852492# reduce 229 omitted
    23862493
     
    24052512# reduce 239 omitted
    24062513
    2407 module_eval(<<'.,.,', 'C_parser.y.rb', 718)
    2408   def _reduce_240(val, _values, result)
     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
     2564module_eval(<<'.,.,', 'C_parser.y.rb', 761)
     2565  def _reduce_265(val, _values, result)
    24092566     result = NamespacePath.new( val[0].val, false )
    24102567    result
     
    24122569.,.,
    24132570
    2414 module_eval(<<'.,.,', 'C_parser.y.rb', 719)
    2415   def _reduce_241(val, _values, result)
     2571module_eval(<<'.,.,', 'C_parser.y.rb', 762)
     2572  def _reduce_266(val, _values, result)
    24162573     result = NamespacePath.new( val[1].val, true )
    24172574    result
     
    24192576.,.,
    24202577
    2421 module_eval(<<'.,.,', 'C_parser.y.rb', 721)
    2422   def _reduce_242(val, _values, result)
     2578module_eval(<<'.,.,', 'C_parser.y.rb', 764)
     2579  def _reduce_267(val, _values, result)
    24232580     result = val[0].append!( val[2].val )
     2581    result
     2582  end
     2583.,.,
     2584
     2585module_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               
    24242598    result
    24252599  end
Note: See TracChangeset for help on using the changeset viewer.