kanayago 0.2.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/CHANGELOG.md +261 -0
 - data/README.md +1 -1
 - data/Rakefile +5 -48
 - data/ext/kanayago/extconf.rb +8 -0
 - data/ext/kanayago/kanayago.c +30 -185
 - data/ext/kanayago/scope_node.c +2 -16
 - data/ext/kanayago/variable_node.c +2 -1
 - data/lib/kanayago/call_node.rb +19 -0
 - data/lib/kanayago/constant_node.rb +15 -0
 - data/lib/kanayago/literal_node.rb +4 -0
 - data/lib/kanayago/scope_node.rb +14 -0
 - data/lib/kanayago/statement_node.rb +16 -0
 - data/lib/kanayago/variable_node.rb +4 -0
 - data/lib/kanayago/version.rb +1 -1
 - data/lib/kanayago.rb +3 -16
 - data/script/setup_parser.rb +136 -0
 - metadata +6 -64
 - data/ext/kanayago/ccan/check_type/check_type.h +0 -63
 - data/ext/kanayago/ccan/container_of/container_of.h +0 -142
 - data/ext/kanayago/ccan/list/list.h +0 -791
 - data/ext/kanayago/ccan/str/str.h +0 -17
 - data/ext/kanayago/constant.h +0 -53
 - data/ext/kanayago/id.h +0 -354
 - data/ext/kanayago/id_table.h +0 -54
 - data/ext/kanayago/include/ruby/st.h +0 -199
 - data/ext/kanayago/internal/array.h +0 -154
 - data/ext/kanayago/internal/basic_operators.h +0 -65
 - data/ext/kanayago/internal/bignum.h +0 -245
 - data/ext/kanayago/internal/bits.h +0 -650
 - data/ext/kanayago/internal/compile.h +0 -34
 - data/ext/kanayago/internal/compilers.h +0 -107
 - data/ext/kanayago/internal/complex.h +0 -29
 - data/ext/kanayago/internal/encoding.h +0 -39
 - data/ext/kanayago/internal/error.h +0 -251
 - data/ext/kanayago/internal/fixnum.h +0 -185
 - data/ext/kanayago/internal/gc.h +0 -358
 - data/ext/kanayago/internal/hash.h +0 -194
 - data/ext/kanayago/internal/imemo.h +0 -322
 - data/ext/kanayago/internal/io.h +0 -163
 - data/ext/kanayago/internal/namespace.h +0 -81
 - data/ext/kanayago/internal/numeric.h +0 -275
 - data/ext/kanayago/internal/parse.h +0 -131
 - data/ext/kanayago/internal/rational.h +0 -71
 - data/ext/kanayago/internal/re.h +0 -33
 - data/ext/kanayago/internal/ruby_parser.h +0 -125
 - data/ext/kanayago/internal/sanitizers.h +0 -346
 - data/ext/kanayago/internal/serial.h +0 -23
 - data/ext/kanayago/internal/set_table.h +0 -70
 - data/ext/kanayago/internal/static_assert.h +0 -16
 - data/ext/kanayago/internal/string.h +0 -203
 - data/ext/kanayago/internal/symbol.h +0 -46
 - data/ext/kanayago/internal/thread.h +0 -112
 - data/ext/kanayago/internal/variable.h +0 -74
 - data/ext/kanayago/internal/vm.h +0 -136
 - data/ext/kanayago/internal/warnings.h +0 -16
 - data/ext/kanayago/internal.h +0 -105
 - data/ext/kanayago/lex.c +0 -302
 - data/ext/kanayago/method.h +0 -271
 - data/ext/kanayago/node.c +0 -446
 - data/ext/kanayago/node.h +0 -122
 - data/ext/kanayago/node_name.inc +0 -224
 - data/ext/kanayago/parse.c +0 -27377
 - data/ext/kanayago/parse.h +0 -244
 - data/ext/kanayago/parser_bits.h +0 -564
 - data/ext/kanayago/parser_node.h +0 -32
 - data/ext/kanayago/parser_st.c +0 -165
 - data/ext/kanayago/parser_st.h +0 -162
 - data/ext/kanayago/parser_value.h +0 -106
 - data/ext/kanayago/probes.h +0 -4
 - data/ext/kanayago/ruby_assert.h +0 -14
 - data/ext/kanayago/ruby_atomic.h +0 -66
 - data/ext/kanayago/ruby_parser.c +0 -1137
 - data/ext/kanayago/rubyparser.h +0 -1394
 - data/ext/kanayago/shape.h +0 -444
 - data/ext/kanayago/st.c +0 -3223
 - data/ext/kanayago/symbol.h +0 -116
 - data/ext/kanayago/thread_pthread.h +0 -175
 - data/ext/kanayago/universal_parser.c +0 -211
 - data/ext/kanayago/vm_core.h +0 -2349
 - data/ext/kanayago/vm_opts.h +0 -67
 
    
        data/ext/kanayago/parse.h
    DELETED
    
    | 
         @@ -1,244 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            /* A Bison parser, made by Lrama 0.7.0.  */
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            /* Bison interface for Yacc-like parsers in C
         
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
               Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
         
     | 
| 
       6 
     | 
    
         
            -
               Inc.
         
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
               This program is free software: you can redistribute it and/or modify
         
     | 
| 
       9 
     | 
    
         
            -
               it under the terms of the GNU General Public License as published by
         
     | 
| 
       10 
     | 
    
         
            -
               the Free Software Foundation, either version 3 of the License, or
         
     | 
| 
       11 
     | 
    
         
            -
               (at your option) any later version.
         
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
       13 
     | 
    
         
            -
               This program is distributed in the hope that it will be useful,
         
     | 
| 
       14 
     | 
    
         
            -
               but WITHOUT ANY WARRANTY; without even the implied warranty of
         
     | 
| 
       15 
     | 
    
         
            -
               MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
         
     | 
| 
       16 
     | 
    
         
            -
               GNU General Public License for more details.
         
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
       18 
     | 
    
         
            -
               You should have received a copy of the GNU General Public License
         
     | 
| 
       19 
     | 
    
         
            -
               along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
         
     | 
| 
       20 
     | 
    
         
            -
             
     | 
| 
       21 
     | 
    
         
            -
            /* As a special exception, you may create a larger work that contains
         
     | 
| 
       22 
     | 
    
         
            -
               part or all of the Bison parser skeleton and distribute that work
         
     | 
| 
       23 
     | 
    
         
            -
               under terms of your choice, so long as that work isn't itself a
         
     | 
| 
       24 
     | 
    
         
            -
               parser generator using the skeleton or a modified version thereof
         
     | 
| 
       25 
     | 
    
         
            -
               as a parser skeleton.  Alternatively, if you modify or redistribute
         
     | 
| 
       26 
     | 
    
         
            -
               the parser skeleton itself, you may (at your option) remove this
         
     | 
| 
       27 
     | 
    
         
            -
               special exception, which will cause the skeleton and the resulting
         
     | 
| 
       28 
     | 
    
         
            -
               Bison output files to be licensed under the GNU General Public
         
     | 
| 
       29 
     | 
    
         
            -
               License without this special exception.
         
     | 
| 
       30 
     | 
    
         
            -
             
     | 
| 
       31 
     | 
    
         
            -
               This special exception was added by the Free Software Foundation in
         
     | 
| 
       32 
     | 
    
         
            -
               version 2.2 of Bison.  */
         
     | 
| 
       33 
     | 
    
         
            -
             
     | 
| 
       34 
     | 
    
         
            -
            /* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
         
     | 
| 
       35 
     | 
    
         
            -
               especially those whose name start with YY_ or yy_.  They are
         
     | 
| 
       36 
     | 
    
         
            -
               private implementation details that can be changed or removed.  */
         
     | 
| 
       37 
     | 
    
         
            -
            #ifndef YY_YY_PARSE_H_INCLUDED
         
     | 
| 
       38 
     | 
    
         
            -
            # define YY_YY_PARSE_H_INCLUDED
         
     | 
| 
       39 
     | 
    
         
            -
            /* Debug traces.  */
         
     | 
| 
       40 
     | 
    
         
            -
            #ifndef YYDEBUG
         
     | 
| 
       41 
     | 
    
         
            -
            # define YYDEBUG 0
         
     | 
| 
       42 
     | 
    
         
            -
            #endif
         
     | 
| 
       43 
     | 
    
         
            -
            #if YYDEBUG && !defined(yydebug)
         
     | 
| 
       44 
     | 
    
         
            -
            extern int yydebug;
         
     | 
| 
       45 
     | 
    
         
            -
            #endif
         
     | 
| 
       46 
     | 
    
         
            -
             
     | 
| 
       47 
     | 
    
         
            -
             
     | 
| 
       48 
     | 
    
         
            -
            /* Token kinds.  */
         
     | 
| 
       49 
     | 
    
         
            -
            #ifndef YYTOKENTYPE
         
     | 
| 
       50 
     | 
    
         
            -
            # define YYTOKENTYPE
         
     | 
| 
       51 
     | 
    
         
            -
              enum yytokentype
         
     | 
| 
       52 
     | 
    
         
            -
              {
         
     | 
| 
       53 
     | 
    
         
            -
                YYEMPTY = -2,
         
     | 
| 
       54 
     | 
    
         
            -
                END_OF_INPUT = 0,              /* "end-of-input"  */
         
     | 
| 
       55 
     | 
    
         
            -
                YYerror = 256,                 /* error  */
         
     | 
| 
       56 
     | 
    
         
            -
                YYUNDEF = 257,                 /* "invalid token"  */
         
     | 
| 
       57 
     | 
    
         
            -
                keyword_class = 258,           /* "'class'"  */
         
     | 
| 
       58 
     | 
    
         
            -
                keyword_module = 259,          /* "'module'"  */
         
     | 
| 
       59 
     | 
    
         
            -
                keyword_def = 260,             /* "'def'"  */
         
     | 
| 
       60 
     | 
    
         
            -
                keyword_undef = 261,           /* "'undef'"  */
         
     | 
| 
       61 
     | 
    
         
            -
                keyword_begin = 262,           /* "'begin'"  */
         
     | 
| 
       62 
     | 
    
         
            -
                keyword_rescue = 263,          /* "'rescue'"  */
         
     | 
| 
       63 
     | 
    
         
            -
                keyword_ensure = 264,          /* "'ensure'"  */
         
     | 
| 
       64 
     | 
    
         
            -
                keyword_end = 265,             /* "'end'"  */
         
     | 
| 
       65 
     | 
    
         
            -
                keyword_if = 266,              /* "'if'"  */
         
     | 
| 
       66 
     | 
    
         
            -
                keyword_unless = 267,          /* "'unless'"  */
         
     | 
| 
       67 
     | 
    
         
            -
                keyword_then = 268,            /* "'then'"  */
         
     | 
| 
       68 
     | 
    
         
            -
                keyword_elsif = 269,           /* "'elsif'"  */
         
     | 
| 
       69 
     | 
    
         
            -
                keyword_else = 270,            /* "'else'"  */
         
     | 
| 
       70 
     | 
    
         
            -
                keyword_case = 271,            /* "'case'"  */
         
     | 
| 
       71 
     | 
    
         
            -
                keyword_when = 272,            /* "'when'"  */
         
     | 
| 
       72 
     | 
    
         
            -
                keyword_while = 273,           /* "'while'"  */
         
     | 
| 
       73 
     | 
    
         
            -
                keyword_until = 274,           /* "'until'"  */
         
     | 
| 
       74 
     | 
    
         
            -
                keyword_for = 275,             /* "'for'"  */
         
     | 
| 
       75 
     | 
    
         
            -
                keyword_break = 276,           /* "'break'"  */
         
     | 
| 
       76 
     | 
    
         
            -
                keyword_next = 277,            /* "'next'"  */
         
     | 
| 
       77 
     | 
    
         
            -
                keyword_redo = 278,            /* "'redo'"  */
         
     | 
| 
       78 
     | 
    
         
            -
                keyword_retry = 279,           /* "'retry'"  */
         
     | 
| 
       79 
     | 
    
         
            -
                keyword_in = 280,              /* "'in'"  */
         
     | 
| 
       80 
     | 
    
         
            -
                keyword_do = 281,              /* "'do'"  */
         
     | 
| 
       81 
     | 
    
         
            -
                keyword_do_cond = 282,         /* "'do' for condition"  */
         
     | 
| 
       82 
     | 
    
         
            -
                keyword_do_block = 283,        /* "'do' for block"  */
         
     | 
| 
       83 
     | 
    
         
            -
                keyword_do_LAMBDA = 284,       /* "'do' for lambda"  */
         
     | 
| 
       84 
     | 
    
         
            -
                keyword_return = 285,          /* "'return'"  */
         
     | 
| 
       85 
     | 
    
         
            -
                keyword_yield = 286,           /* "'yield'"  */
         
     | 
| 
       86 
     | 
    
         
            -
                keyword_super = 287,           /* "'super'"  */
         
     | 
| 
       87 
     | 
    
         
            -
                keyword_self = 288,            /* "'self'"  */
         
     | 
| 
       88 
     | 
    
         
            -
                keyword_nil = 289,             /* "'nil'"  */
         
     | 
| 
       89 
     | 
    
         
            -
                keyword_true = 290,            /* "'true'"  */
         
     | 
| 
       90 
     | 
    
         
            -
                keyword_false = 291,           /* "'false'"  */
         
     | 
| 
       91 
     | 
    
         
            -
                keyword_and = 292,             /* "'and'"  */
         
     | 
| 
       92 
     | 
    
         
            -
                keyword_or = 293,              /* "'or'"  */
         
     | 
| 
       93 
     | 
    
         
            -
                keyword_not = 294,             /* "'not'"  */
         
     | 
| 
       94 
     | 
    
         
            -
                modifier_if = 295,             /* "'if' modifier"  */
         
     | 
| 
       95 
     | 
    
         
            -
                modifier_unless = 296,         /* "'unless' modifier"  */
         
     | 
| 
       96 
     | 
    
         
            -
                modifier_while = 297,          /* "'while' modifier"  */
         
     | 
| 
       97 
     | 
    
         
            -
                modifier_until = 298,          /* "'until' modifier"  */
         
     | 
| 
       98 
     | 
    
         
            -
                modifier_rescue = 299,         /* "'rescue' modifier"  */
         
     | 
| 
       99 
     | 
    
         
            -
                keyword_alias = 300,           /* "'alias'"  */
         
     | 
| 
       100 
     | 
    
         
            -
                keyword_defined = 301,         /* "'defined?'"  */
         
     | 
| 
       101 
     | 
    
         
            -
                keyword_BEGIN = 302,           /* "'BEGIN'"  */
         
     | 
| 
       102 
     | 
    
         
            -
                keyword_END = 303,             /* "'END'"  */
         
     | 
| 
       103 
     | 
    
         
            -
                keyword__LINE__ = 304,         /* "'__LINE__'"  */
         
     | 
| 
       104 
     | 
    
         
            -
                keyword__FILE__ = 305,         /* "'__FILE__'"  */
         
     | 
| 
       105 
     | 
    
         
            -
                keyword__ENCODING__ = 306,     /* "'__ENCODING__'"  */
         
     | 
| 
       106 
     | 
    
         
            -
                tIDENTIFIER = 307,             /* "local variable or method"  */
         
     | 
| 
       107 
     | 
    
         
            -
                tFID = 308,                    /* "method"  */
         
     | 
| 
       108 
     | 
    
         
            -
                tGVAR = 309,                   /* "global variable"  */
         
     | 
| 
       109 
     | 
    
         
            -
                tIVAR = 310,                   /* "instance variable"  */
         
     | 
| 
       110 
     | 
    
         
            -
                tCONSTANT = 311,               /* "constant"  */
         
     | 
| 
       111 
     | 
    
         
            -
                tCVAR = 312,                   /* "class variable"  */
         
     | 
| 
       112 
     | 
    
         
            -
                tLABEL = 313,                  /* "label"  */
         
     | 
| 
       113 
     | 
    
         
            -
                tINTEGER = 314,                /* "integer literal"  */
         
     | 
| 
       114 
     | 
    
         
            -
                tFLOAT = 315,                  /* "float literal"  */
         
     | 
| 
       115 
     | 
    
         
            -
                tRATIONAL = 316,               /* "rational literal"  */
         
     | 
| 
       116 
     | 
    
         
            -
                tIMAGINARY = 317,              /* "imaginary literal"  */
         
     | 
| 
       117 
     | 
    
         
            -
                tCHAR = 318,                   /* "char literal"  */
         
     | 
| 
       118 
     | 
    
         
            -
                tNTH_REF = 319,                /* "numbered reference"  */
         
     | 
| 
       119 
     | 
    
         
            -
                tBACK_REF = 320,               /* "back reference"  */
         
     | 
| 
       120 
     | 
    
         
            -
                tSTRING_CONTENT = 321,         /* "literal content"  */
         
     | 
| 
       121 
     | 
    
         
            -
                tREGEXP_END = 322,             /* tREGEXP_END  */
         
     | 
| 
       122 
     | 
    
         
            -
                tDUMNY_END = 323,              /* "dummy end"  */
         
     | 
| 
       123 
     | 
    
         
            -
                tSP = 324,                     /* "escaped space"  */
         
     | 
| 
       124 
     | 
    
         
            -
                tUPLUS = 132,                  /* "unary+"  */
         
     | 
| 
       125 
     | 
    
         
            -
                tUMINUS = 133,                 /* "unary-"  */
         
     | 
| 
       126 
     | 
    
         
            -
                tPOW = 134,                    /* "**"  */
         
     | 
| 
       127 
     | 
    
         
            -
                tCMP = 135,                    /* "<=>"  */
         
     | 
| 
       128 
     | 
    
         
            -
                tEQ = 140,                     /* "=="  */
         
     | 
| 
       129 
     | 
    
         
            -
                tEQQ = 141,                    /* "==="  */
         
     | 
| 
       130 
     | 
    
         
            -
                tNEQ = 142,                    /* "!="  */
         
     | 
| 
       131 
     | 
    
         
            -
                tGEQ = 139,                    /* ">="  */
         
     | 
| 
       132 
     | 
    
         
            -
                tLEQ = 138,                    /* "<="  */
         
     | 
| 
       133 
     | 
    
         
            -
                tANDOP = 148,                  /* "&&"  */
         
     | 
| 
       134 
     | 
    
         
            -
                tOROP = 149,                   /* "||"  */
         
     | 
| 
       135 
     | 
    
         
            -
                tMATCH = 143,                  /* "=~"  */
         
     | 
| 
       136 
     | 
    
         
            -
                tNMATCH = 144,                 /* "!~"  */
         
     | 
| 
       137 
     | 
    
         
            -
                tDOT2 = 128,                   /* ".."  */
         
     | 
| 
       138 
     | 
    
         
            -
                tDOT3 = 129,                   /* "..."  */
         
     | 
| 
       139 
     | 
    
         
            -
                tBDOT2 = 130,                  /* "(.."  */
         
     | 
| 
       140 
     | 
    
         
            -
                tBDOT3 = 131,                  /* "(..."  */
         
     | 
| 
       141 
     | 
    
         
            -
                tAREF = 145,                   /* "[]"  */
         
     | 
| 
       142 
     | 
    
         
            -
                tASET = 146,                   /* "[]="  */
         
     | 
| 
       143 
     | 
    
         
            -
                tLSHFT = 136,                  /* "<<"  */
         
     | 
| 
       144 
     | 
    
         
            -
                tRSHFT = 137,                  /* ">>"  */
         
     | 
| 
       145 
     | 
    
         
            -
                tANDDOT = 150,                 /* "&."  */
         
     | 
| 
       146 
     | 
    
         
            -
                tCOLON2 = 147,                 /* "::"  */
         
     | 
| 
       147 
     | 
    
         
            -
                tCOLON3 = 325,                 /* ":: at EXPR_BEG"  */
         
     | 
| 
       148 
     | 
    
         
            -
                tOP_ASGN = 326,                /* "operator-assignment"  */
         
     | 
| 
       149 
     | 
    
         
            -
                tASSOC = 327,                  /* "=>"  */
         
     | 
| 
       150 
     | 
    
         
            -
                tLPAREN = 328,                 /* "("  */
         
     | 
| 
       151 
     | 
    
         
            -
                tLPAREN_ARG = 329,             /* "( arg"  */
         
     | 
| 
       152 
     | 
    
         
            -
                tLBRACK = 330,                 /* "["  */
         
     | 
| 
       153 
     | 
    
         
            -
                tLBRACE = 331,                 /* "{"  */
         
     | 
| 
       154 
     | 
    
         
            -
                tLBRACE_ARG = 332,             /* "{ arg"  */
         
     | 
| 
       155 
     | 
    
         
            -
                tSTAR = 333,                   /* "*"  */
         
     | 
| 
       156 
     | 
    
         
            -
                tDSTAR = 334,                  /* "**arg"  */
         
     | 
| 
       157 
     | 
    
         
            -
                tAMPER = 335,                  /* "&"  */
         
     | 
| 
       158 
     | 
    
         
            -
                tLAMBDA = 336,                 /* "->"  */
         
     | 
| 
       159 
     | 
    
         
            -
                tSYMBEG = 337,                 /* "symbol literal"  */
         
     | 
| 
       160 
     | 
    
         
            -
                tSTRING_BEG = 338,             /* "string literal"  */
         
     | 
| 
       161 
     | 
    
         
            -
                tXSTRING_BEG = 339,            /* "backtick literal"  */
         
     | 
| 
       162 
     | 
    
         
            -
                tREGEXP_BEG = 340,             /* "regexp literal"  */
         
     | 
| 
       163 
     | 
    
         
            -
                tWORDS_BEG = 341,              /* "word list"  */
         
     | 
| 
       164 
     | 
    
         
            -
                tQWORDS_BEG = 342,             /* "verbatim word list"  */
         
     | 
| 
       165 
     | 
    
         
            -
                tSYMBOLS_BEG = 343,            /* "symbol list"  */
         
     | 
| 
       166 
     | 
    
         
            -
                tQSYMBOLS_BEG = 344,           /* "verbatim symbol list"  */
         
     | 
| 
       167 
     | 
    
         
            -
                tSTRING_END = 345,             /* "terminator"  */
         
     | 
| 
       168 
     | 
    
         
            -
                tSTRING_DEND = 346,            /* "'}'"  */
         
     | 
| 
       169 
     | 
    
         
            -
                tSTRING_DBEG = 347,            /* "'#{'"  */
         
     | 
| 
       170 
     | 
    
         
            -
                tSTRING_DVAR = 348,            /* tSTRING_DVAR  */
         
     | 
| 
       171 
     | 
    
         
            -
                tLAMBEG = 349,                 /* tLAMBEG  */
         
     | 
| 
       172 
     | 
    
         
            -
                tLABEL_END = 350,              /* tLABEL_END  */
         
     | 
| 
       173 
     | 
    
         
            -
                tIGNORED_NL = 351,             /* tIGNORED_NL  */
         
     | 
| 
       174 
     | 
    
         
            -
                tCOMMENT = 352,                /* tCOMMENT  */
         
     | 
| 
       175 
     | 
    
         
            -
                tEMBDOC_BEG = 353,             /* tEMBDOC_BEG  */
         
     | 
| 
       176 
     | 
    
         
            -
                tEMBDOC = 354,                 /* tEMBDOC  */
         
     | 
| 
       177 
     | 
    
         
            -
                tEMBDOC_END = 355,             /* tEMBDOC_END  */
         
     | 
| 
       178 
     | 
    
         
            -
                tHEREDOC_BEG = 356,            /* tHEREDOC_BEG  */
         
     | 
| 
       179 
     | 
    
         
            -
                tHEREDOC_END = 357,            /* tHEREDOC_END  */
         
     | 
| 
       180 
     | 
    
         
            -
                k__END__ = 358,                /* k__END__  */
         
     | 
| 
       181 
     | 
    
         
            -
                tLOWEST = 359,                 /* tLOWEST  */
         
     | 
| 
       182 
     | 
    
         
            -
                tUMINUS_NUM = 360,             /* tUMINUS_NUM  */
         
     | 
| 
       183 
     | 
    
         
            -
                tLAST_TOKEN = 361              /* tLAST_TOKEN  */
         
     | 
| 
       184 
     | 
    
         
            -
              };
         
     | 
| 
       185 
     | 
    
         
            -
              typedef enum yytokentype yytoken_kind_t;
         
     | 
| 
       186 
     | 
    
         
            -
            #endif
         
     | 
| 
       187 
     | 
    
         
            -
             
     | 
| 
       188 
     | 
    
         
            -
            /* Value type.  */
         
     | 
| 
       189 
     | 
    
         
            -
            #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
         
     | 
| 
       190 
     | 
    
         
            -
            union YYSTYPE
         
     | 
| 
       191 
     | 
    
         
            -
            {
         
     | 
| 
       192 
     | 
    
         
            -
            #line 2670 "parse.y"
         
     | 
| 
       193 
     | 
    
         
            -
             
     | 
| 
       194 
     | 
    
         
            -
                NODE *node;
         
     | 
| 
       195 
     | 
    
         
            -
                rb_node_fcall_t *node_fcall;
         
     | 
| 
       196 
     | 
    
         
            -
                rb_node_args_t *node_args;
         
     | 
| 
       197 
     | 
    
         
            -
                rb_node_args_aux_t *node_args_aux;
         
     | 
| 
       198 
     | 
    
         
            -
                rb_node_opt_arg_t *node_opt_arg;
         
     | 
| 
       199 
     | 
    
         
            -
                rb_node_kw_arg_t *node_kw_arg;
         
     | 
| 
       200 
     | 
    
         
            -
                rb_node_block_pass_t *node_block_pass;
         
     | 
| 
       201 
     | 
    
         
            -
                rb_node_masgn_t *node_masgn;
         
     | 
| 
       202 
     | 
    
         
            -
                rb_node_def_temp_t *node_def_temp;
         
     | 
| 
       203 
     | 
    
         
            -
                rb_node_exits_t *node_exits;
         
     | 
| 
       204 
     | 
    
         
            -
                struct rb_locations_lambda_body_t *locations_lambda_body;
         
     | 
| 
       205 
     | 
    
         
            -
                ID id;
         
     | 
| 
       206 
     | 
    
         
            -
                int num;
         
     | 
| 
       207 
     | 
    
         
            -
                st_table *tbl;
         
     | 
| 
       208 
     | 
    
         
            -
                st_table *labels;
         
     | 
| 
       209 
     | 
    
         
            -
                const struct vtable *vars;
         
     | 
| 
       210 
     | 
    
         
            -
                struct rb_strterm_struct *strterm;
         
     | 
| 
       211 
     | 
    
         
            -
                struct lex_context ctxt;
         
     | 
| 
       212 
     | 
    
         
            -
                enum lex_state_e state;
         
     | 
| 
       213 
     | 
    
         
            -
             
     | 
| 
       214 
     | 
    
         
            -
            #line 215 "parse.h"
         
     | 
| 
       215 
     | 
    
         
            -
             
     | 
| 
       216 
     | 
    
         
            -
            };
         
     | 
| 
       217 
     | 
    
         
            -
            typedef union YYSTYPE YYSTYPE;
         
     | 
| 
       218 
     | 
    
         
            -
            # define YYSTYPE_IS_TRIVIAL 1
         
     | 
| 
       219 
     | 
    
         
            -
            # define YYSTYPE_IS_DECLARED 1
         
     | 
| 
       220 
     | 
    
         
            -
            #endif
         
     | 
| 
       221 
     | 
    
         
            -
             
     | 
| 
       222 
     | 
    
         
            -
            /* Location type.  */
         
     | 
| 
       223 
     | 
    
         
            -
            #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
         
     | 
| 
       224 
     | 
    
         
            -
            typedef struct YYLTYPE YYLTYPE;
         
     | 
| 
       225 
     | 
    
         
            -
            struct YYLTYPE
         
     | 
| 
       226 
     | 
    
         
            -
            {
         
     | 
| 
       227 
     | 
    
         
            -
              int first_line;
         
     | 
| 
       228 
     | 
    
         
            -
              int first_column;
         
     | 
| 
       229 
     | 
    
         
            -
              int last_line;
         
     | 
| 
       230 
     | 
    
         
            -
              int last_column;
         
     | 
| 
       231 
     | 
    
         
            -
            };
         
     | 
| 
       232 
     | 
    
         
            -
            # define YYLTYPE_IS_DECLARED 1
         
     | 
| 
       233 
     | 
    
         
            -
            # define YYLTYPE_IS_TRIVIAL 1
         
     | 
| 
       234 
     | 
    
         
            -
            #endif
         
     | 
| 
       235 
     | 
    
         
            -
             
     | 
| 
       236 
     | 
    
         
            -
             
     | 
| 
       237 
     | 
    
         
            -
             
     | 
| 
       238 
     | 
    
         
            -
             
     | 
| 
       239 
     | 
    
         
            -
            int yyparse (struct parser_params *p);
         
     | 
| 
       240 
     | 
    
         
            -
             
     | 
| 
       241 
     | 
    
         
            -
             
     | 
| 
       242 
     | 
    
         
            -
             
     | 
| 
       243 
     | 
    
         
            -
            #endif /* !YY_YY_PARSE_H_INCLUDED  */
         
     | 
| 
       244 
     | 
    
         
            -
             
     |