Groonga 3.0.9 Source Code Document
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
parse.c File Reference
#include <ctype.h>
#include <errno.h>
#include <stdlib.h>
#include <string.h>
#include "mruby.h"
#include "mruby/compile.h"
#include "mruby/proc.h"
#include "node.h"
#include <stdio.h>
#include "lex.def"
Include dependency graph for parse.c:

Go to the source code of this file.

Data Structures

union  YYSTYPE
union  yyalloc

Macros

#define YYBISON   1
#define YYBISON_VERSION   "2.7.12-4996"
#define YYSKELETON_NAME   "yacc.c"
#define YYPURE   1
#define YYPUSH   0
#define YYPULL   1
#define YYDEBUG   1
#define YYERROR_VERBOSE   1
#define YYMALLOC(n)   mrb_malloc(p->mrb, (n))
#define YYFREE(o)   mrb_free(p->mrb, (o))
#define YYSTACK_USE_ALLOCA   0
#define YYLEX_PARAM   p
#define isascii(c)   (((c) & ~0x7f) == 0)
#define identchar(c)   (isalnum(c) || (c) == '_' || !isascii(c))
#define BITSTACK_PUSH(stack, n)   ((stack) = ((stack)<<1)|((n)&1))
#define BITSTACK_POP(stack)   ((stack) = (stack) >> 1)
#define BITSTACK_LEXPOP(stack)   ((stack) = ((stack) >> 1) | ((stack) & 1))
#define BITSTACK_SET_P(stack)   ((stack)&1)
#define COND_PUSH(n)   BITSTACK_PUSH(p->cond_stack, (n))
#define COND_POP()   BITSTACK_POP(p->cond_stack)
#define COND_LEXPOP()   BITSTACK_LEXPOP(p->cond_stack)
#define COND_P()   BITSTACK_SET_P(p->cond_stack)
#define CMDARG_PUSH(n)   BITSTACK_PUSH(p->cmdarg_stack, (n))
#define CMDARG_POP()   BITSTACK_POP(p->cmdarg_stack)
#define CMDARG_LEXPOP()   BITSTACK_LEXPOP(p->cmdarg_stack)
#define CMDARG_P()   BITSTACK_SET_P(p->cmdarg_stack)
#define sym(x)   ((mrb_sym)(intptr_t)(x))
#define nsym(x)   ((node*)(intptr_t)(x))
#define intern(s)   intern_gen(p,(s))
#define intern2(s, len)   intern_gen2(p,(s),(len))
#define intern_c(c)   intern_gen_c(p,(c))
#define cons_free(c)   cons_free_gen(p, (c))
#define cons(a, b)   cons_gen(p,(a),(b))
#define list1(a)   list1_gen(p, (a))
#define list2(a, b)   list2_gen(p, (a),(b))
#define list3(a, b, c)   list3_gen(p, (a),(b),(c))
#define list4(a, b, c, d)   list4_gen(p, (a),(b),(c),(d))
#define list5(a, b, c, d, e)   list5_gen(p, (a),(b),(c),(d),(e))
#define list6(a, b, c, d, e, f)   list6_gen(p, (a),(b),(c),(d),(e),(f))
#define append(a, b)   append_gen(p,(a),(b))
#define push(a, b)   append_gen(p,(a),list1(b))
#define strndup(s, len)   parser_strndup(p, s, len)
#define strdup(s)   parser_strdup(p, s)
#define newline_node(n)   (n)
#define is_strterm_type(p, str_func)   ((int)(intptr_t)((p)->lex_strterm->car) & (str_func))
#define YY_NULL   0
#define YYERROR_VERBOSE   1
#define YYTOKENTYPE
#define YYSTYPE_IS_TRIVIAL   1
#define yystype   YYSTYPE /* obsolescent; will be withdrawn */
#define YYSTYPE_IS_DECLARED   1
#define YYSIZE_T   unsigned int
#define YYSIZE_MAXIMUM   ((YYSIZE_T) -1)
#define YY_(Msgid)   Msgid
#define __attribute__(Spec)   /* empty */
#define YYUSE(E)   ((void) (E))
#define YYID(N)   (N)
#define YYSTACK_ALLOC   YYMALLOC
#define YYSTACK_FREE   YYFREE
#define YYSTACK_ALLOC_MAXIMUM   YYSIZE_MAXIMUM
#define YYSTACK_GAP_MAXIMUM   (sizeof (union yyalloc) - 1)
#define YYSTACK_BYTES(N)
#define YYCOPY_NEEDED   1
#define YYSTACK_RELOCATE(Stack_alloc, Stack)
#define YYCOPY(Dst, Src, Count)
#define YYFINAL   3
#define YYLAST   10895
#define YYNTOKENS   151
#define YYNNTS   154
#define YYNRULES   544
#define YYNSTATES   956
#define YYUNDEFTOK   2
#define YYMAXUTOK   379
#define YYTRANSLATE(YYX)   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
#define YYPACT_NINF   -745
#define YYTABLE_NINF   -545
#define yypact_value_is_default(Yystate)   (!!((Yystate) == (-745)))
#define yytable_value_is_error(Yytable_value)   (!!((Yytable_value) == (-545)))
#define yyerrok   (yyerrstatus = 0)
#define yyclearin   (yychar = YYEMPTY)
#define YYEMPTY   (-2)
#define YYEOF   0
#define YYACCEPT   goto yyacceptlab
#define YYABORT   goto yyabortlab
#define YYERROR   goto yyerrorlab
#define YYFAIL   goto yyerrlab
#define YYRECOVERING()   (!!yyerrstatus)
#define YYBACKUP(Token, Value)
#define YYTERROR   1
#define YYERRCODE   256
#define YY_LOCATION_PRINT(File, Loc)   ((void) 0)
#define YYLEX   yylex (&yylval, YYLEX_PARAM)
#define YYFPRINTF   fprintf
#define YYDPRINTF(Args)
#define YY_SYMBOL_PRINT(Title, Type, Value, Location)
#define YY_STACK_PRINT(Bottom, Top)
#define YY_REDUCE_PRINT(Rule)
#define YYINITDEPTH   200
#define YYMAXDEPTH   10000
#define YYCASE_(N, S)
#define YY_INITIAL_VALUE(Value)   = Value
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
#define YY_IGNORE_MAYBE_UNINITIALIZED_END
#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
#define YYSYNTAX_ERROR
#define yylval   (*((YYSTYPE*)(p->ylval)))
#define peek(p, c)   peek_n((p), (c), 0)
#define IS_ARG()   (p->lstate == EXPR_ARG || p->lstate == EXPR_CMDARG)
#define IS_END()   (p->lstate == EXPR_END || p->lstate == EXPR_ENDARG || p->lstate == EXPR_ENDFN)
#define IS_BEG()   (p->lstate == EXPR_BEG || p->lstate == EXPR_MID || p->lstate == EXPR_VALUE || p->lstate == EXPR_CLASS)
#define IS_SPCARG(c)   (IS_ARG() && space_seen && !ISSPACE(c))
#define IS_LABEL_POSSIBLE()   ((p->lstate == EXPR_BEG && !cmd_state) || IS_ARG())
#define IS_LABEL_SUFFIX(n)   (peek_n(p, ':',(n)) && !peek_n(p, ':', (n)+1))
#define no_digits()   do {yyerror(p,"numeric literal without digits"); return 0;} while (0)

Typedefs

typedef mrb_ast_node node
typedef struct mrb_parser_state parser_state
typedef struct
mrb_parser_heredoc_info 
parser_heredoc_info
typedef unsigned int stack_type
typedef enum mrb_string_type string_type
typedef union YYSTYPE YYSTYPE
typedef unsigned char yytype_uint8
typedef short int yytype_int8
typedef unsigned short int yytype_uint16
typedef short int yytype_int16

Enumerations

enum  yytokentype {
  keyword_class = 258, keyword_module = 259, keyword_def = 260, keyword_undef = 261,
  keyword_begin = 262, keyword_rescue = 263, keyword_ensure = 264, keyword_end = 265,
  keyword_if = 266, keyword_unless = 267, keyword_then = 268, keyword_elsif = 269,
  keyword_else = 270, keyword_case = 271, keyword_when = 272, keyword_while = 273,
  keyword_until = 274, keyword_for = 275, keyword_break = 276, keyword_next = 277,
  keyword_redo = 278, keyword_retry = 279, keyword_in = 280, keyword_do = 281,
  keyword_do_cond = 282, keyword_do_block = 283, keyword_do_LAMBDA = 284, keyword_return = 285,
  keyword_yield = 286, keyword_super = 287, keyword_self = 288, keyword_nil = 289,
  keyword_true = 290, keyword_false = 291, keyword_and = 292, keyword_or = 293,
  keyword_not = 294, modifier_if = 295, modifier_unless = 296, modifier_while = 297,
  modifier_until = 298, modifier_rescue = 299, keyword_alias = 300, keyword_BEGIN = 301,
  keyword_END = 302, keyword__LINE__ = 303, keyword__FILE__ = 304, keyword__ENCODING__ = 305,
  tIDENTIFIER = 306, tFID = 307, tGVAR = 308, tIVAR = 309,
  tCONSTANT = 310, tCVAR = 311, tLABEL = 312, tINTEGER = 313,
  tFLOAT = 314, tCHAR = 315, tXSTRING = 316, tREGEXP = 317,
  tSTRING = 318, tSTRING_PART = 319, tSTRING_MID = 320, tNTH_REF = 321,
  tBACK_REF = 322, tREGEXP_END = 323, tUPLUS = 324, tUMINUS = 325,
  tPOW = 326, tCMP = 327, tEQ = 328, tEQQ = 329,
  tNEQ = 330, tGEQ = 331, tLEQ = 332, tANDOP = 333,
  tOROP = 334, tMATCH = 335, tNMATCH = 336, tDOT2 = 337,
  tDOT3 = 338, tAREF = 339, tASET = 340, tLSHFT = 341,
  tRSHFT = 342, tCOLON2 = 343, tCOLON3 = 344, tOP_ASGN = 345,
  tASSOC = 346, tLPAREN = 347, tLPAREN_ARG = 348, tRPAREN = 349,
  tLBRACK = 350, tLBRACE = 351, tLBRACE_ARG = 352, tSTAR = 353,
  tAMPER = 354, tLAMBDA = 355, tSYMBEG = 356, tREGEXP_BEG = 357,
  tWORDS_BEG = 358, tSYMBOLS_BEG = 359, tSTRING_BEG = 360, tXSTRING_BEG = 361,
  tSTRING_DVAR = 362, tLAMBEG = 363, tHEREDOC_BEG = 364, tHEREDOC_END = 365,
  tLITERAL_DELIM = 366, tLOWEST = 367, tUMINUS_NUM = 368, idNULL = 369,
  idRespond_to = 370, idIFUNC = 371, idCFUNC = 372, id_core_set_method_alias = 373,
  id_core_set_variable_alias = 374, id_core_undef_method = 375, id_core_define_method = 376, id_core_define_singleton_method = 377,
  id_core_set_postexe = 378, tLAST_TOKEN = 379
}

Functions

parser_heredoc_infoparsing_heredoc_inf (parser_state *p)
int yyparse ()
int yyparse (parser_state *p)
void codedump_all (mrb_state *, int)
void parser_dump (mrb_state *mrb, node *tree, int offset)
void mrb_parser_parse (parser_state *p, mrbc_context *c)
parser_statemrb_parser_new (mrb_state *mrb)
void mrb_parser_free (parser_state *p)
mrbc_contextmrbc_context_new (mrb_state *mrb)
void mrbc_context_free (mrb_state *mrb, mrbc_context *cxt)
const char * mrbc_filename (mrb_state *mrb, mrbc_context *c, const char *s)
void mrbc_partial_hook (mrb_state *mrb, mrbc_context *c, int(*func)(struct mrb_parser_state *), void *data)
void mrb_parser_set_filename (struct mrb_parser_state *p, const char *f)
char const * mrb_parser_get_filename (struct mrb_parser_state *p, uint16_t idx)
parser_statemrb_parse_nstring (mrb_state *mrb, const char *s, int len, mrbc_context *c)
parser_statemrb_parse_string (mrb_state *mrb, const char *s, mrbc_context *c)
mrb_value mrb_load_nstring_cxt (mrb_state *mrb, const char *s, int len, mrbc_context *c)
mrb_value mrb_load_nstring (mrb_state *mrb, const char *s, int len)
mrb_value mrb_load_string_cxt (mrb_state *mrb, const char *s, mrbc_context *c)
mrb_value mrb_load_string (mrb_state *mrb, const char *s)

Variables

int yydebug

Macro Definition Documentation

#define __attribute__ (   Spec)    /* empty */

Definition at line 1263 of file parse.c.

#define append (   a,
 
)    append_gen(p,(a),(b))

Definition at line 244 of file parse.c.

#define BITSTACK_LEXPOP (   stack)    ((stack) = ((stack) >> 1) | ((stack) & 1))

Definition at line 111 of file parse.c.

#define BITSTACK_POP (   stack)    ((stack) = (stack) >> 1)

Definition at line 110 of file parse.c.

#define BITSTACK_PUSH (   stack,
 
)    ((stack) = ((stack)<<1)|((n)&1))

Definition at line 109 of file parse.c.

#define BITSTACK_SET_P (   stack)    ((stack)&1)

Definition at line 112 of file parse.c.

#define CMDARG_LEXPOP ( )    BITSTACK_LEXPOP(p->cmdarg_stack)

Definition at line 121 of file parse.c.

#define CMDARG_P ( )    BITSTACK_SET_P(p->cmdarg_stack)

Definition at line 122 of file parse.c.

#define CMDARG_POP ( )    BITSTACK_POP(p->cmdarg_stack)

Definition at line 120 of file parse.c.

#define CMDARG_PUSH (   n)    BITSTACK_PUSH(p->cmdarg_stack, (n))

Definition at line 119 of file parse.c.

#define COND_LEXPOP ( )    BITSTACK_LEXPOP(p->cond_stack)

Definition at line 116 of file parse.c.

#define COND_P ( )    BITSTACK_SET_P(p->cond_stack)

Definition at line 117 of file parse.c.

#define COND_POP ( )    BITSTACK_POP(p->cond_stack)

Definition at line 115 of file parse.c.

#define COND_PUSH (   n)    BITSTACK_PUSH(p->cond_stack, (n))

Definition at line 114 of file parse.c.

#define cons (   a,
 
)    cons_gen(p,(a),(b))

Definition at line 186 of file parse.c.

#define cons_free (   c)    cons_free_gen(p, (c))

Definition at line 154 of file parse.c.

#define identchar (   c)    (isalnum(c) || (c) == '_' || !isascii(c))

Definition at line 105 of file parse.c.

#define intern (   s)    intern_gen(p,(s))

Definition at line 132 of file parse.c.

#define intern2 (   s,
  len 
)    intern_gen2(p,(s),(len))

Definition at line 139 of file parse.c.

#define intern_c (   c)    intern_gen_c(p,(c))

Definition at line 146 of file parse.c.

#define IS_ARG ( )    (p->lstate == EXPR_ARG || p->lstate == EXPR_CMDARG)

Definition at line 9168 of file parse.c.

#define IS_BEG ( )    (p->lstate == EXPR_BEG || p->lstate == EXPR_MID || p->lstate == EXPR_VALUE || p->lstate == EXPR_CLASS)

Definition at line 9170 of file parse.c.

#define IS_END ( )    (p->lstate == EXPR_END || p->lstate == EXPR_ENDARG || p->lstate == EXPR_ENDFN)

Definition at line 9169 of file parse.c.

#define IS_LABEL_POSSIBLE ( )    ((p->lstate == EXPR_BEG && !cmd_state) || IS_ARG())

Definition at line 9172 of file parse.c.

#define IS_LABEL_SUFFIX (   n)    (peek_n(p, ':',(n)) && !peek_n(p, ':', (n)+1))

Definition at line 9173 of file parse.c.

#define IS_SPCARG (   c)    (IS_ARG() && space_seen && !ISSPACE(c))

Definition at line 9171 of file parse.c.

#define is_strterm_type (   p,
  str_func 
)    ((int)(intptr_t)((p)->lex_strterm->car) & (str_func))

Definition at line 992 of file parse.c.

#define isascii (   c)    (((c) & ~0x7f) == 0)

Definition at line 102 of file parse.c.

#define list1 (   a)    list1_gen(p, (a))

Definition at line 193 of file parse.c.

#define list2 (   a,
 
)    list2_gen(p, (a),(b))

Definition at line 200 of file parse.c.

#define list3 (   a,
  b,
 
)    list3_gen(p, (a),(b),(c))

Definition at line 207 of file parse.c.

#define list4 (   a,
  b,
  c,
 
)    list4_gen(p, (a),(b),(c),(d))

Definition at line 214 of file parse.c.

#define list5 (   a,
  b,
  c,
  d,
 
)    list5_gen(p, (a),(b),(c),(d),(e))

Definition at line 221 of file parse.c.

#define list6 (   a,
  b,
  c,
  d,
  e,
 
)    list6_gen(p, (a),(b),(c),(d),(e),(f))

Definition at line 228 of file parse.c.

#define newline_node (   n)    (n)

Definition at line 341 of file parse.c.

#define no_digits ( )    do {yyerror(p,"numeric literal without digits"); return 0;} while (0)
#define nsym (   x)    ((node*)(intptr_t)(x))

Definition at line 125 of file parse.c.

#define peek (   p,
 
)    peek_n((p), (c), 0)

Definition at line 9074 of file parse.c.

#define push (   a,
 
)    append_gen(p,(a),list1(b))

Definition at line 245 of file parse.c.

#define strdup (   s)    parser_strdup(p, s)

Definition at line 264 of file parse.c.

#define strndup (   s,
  len 
)    parser_strndup(p, s, len)

Definition at line 256 of file parse.c.

#define sym (   x)    ((mrb_sym)(intptr_t)(x))

Definition at line 124 of file parse.c.

#define YY_ (   Msgid)    Msgid

Definition at line 1255 of file parse.c.

#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
#define YY_IGNORE_MAYBE_UNINITIALIZED_END
#define YY_INITIAL_VALUE (   Value)    = Value
#define YY_LOCATION_PRINT (   File,
  Loc 
)    ((void) 0)

Definition at line 4594 of file parse.c.

#define YY_NULL   0

Definition at line 1004 of file parse.c.

#define YY_REDUCE_PRINT (   Rule)
Value:
do { \
if (yydebug) \
yy_reduce_print (yyvsp, Rule, p); \
} while (YYID (0))

Definition at line 4754 of file parse.c.

#define YY_STACK_PRINT (   Bottom,
  Top 
)
Value:
do { \
if (yydebug) \
yy_stack_print ((Bottom), (Top)); \
} while (YYID (0))

Definition at line 4715 of file parse.c.

#define YY_SYMBOL_PRINT (   Title,
  Type,
  Value,
  Location 
)
Value:
do { \
if (yydebug) \
{ \
YYFPRINTF (stderr, "%s ", Title); \
yy_symbol_print (stderr, \
Type, Value, p); \
YYFPRINTF (stderr, "\n"); \
} \
} while (YYID (0))

Definition at line 4619 of file parse.c.

#define YYABORT   goto yyabortlab

Definition at line 4549 of file parse.c.

#define YYACCEPT   goto yyacceptlab

Definition at line 4548 of file parse.c.

#define YYBACKUP (   Token,
  Value 
)
Value:
do \
if (yychar == YYEMPTY) \
{ \
yychar = (Token); \
yylval = (Value); \
YYPOPSTACK (yylen); \
yystate = *yyssp; \
goto yybackup; \
} \
else \
{ \
yyerror (p, YY_("syntax error: cannot back up")); \
YYERROR; \
} \
while (YYID (0))

Definition at line 4570 of file parse.c.

#define YYBISON   1

Definition at line 44 of file parse.c.

#define YYBISON_VERSION   "2.7.12-4996"

Definition at line 47 of file parse.c.

#define YYCASE_ (   N,
 
)
Value:
case N: \
yyformat = S; \
break
#define yyclearin   (yychar = YYEMPTY)

Definition at line 4544 of file parse.c.

#define YYCOPY (   Dst,
  Src,
  Count 
)
Value:
do \
{ \
YYSIZE_T yyi; \
for (yyi = 0; yyi < (Count); yyi++) \
(Dst)[yyi] = (Src)[yyi]; \
} \
while (YYID (0))

Definition at line 1412 of file parse.c.

#define YYCOPY_NEEDED   1

Definition at line 1384 of file parse.c.

#define YYDEBUG   1

Definition at line 70 of file parse.c.

#define YYDPRINTF (   Args)
Value:
do { \
if (yydebug) \
YYFPRINTF Args; \
} while (YYID (0))

Definition at line 4613 of file parse.c.

#define YYEMPTY   (-2)

Definition at line 4545 of file parse.c.

#define YYEOF   0

Definition at line 4546 of file parse.c.

#define YYERRCODE   256

Definition at line 4589 of file parse.c.

#define yyerrok   (yyerrstatus = 0)

Definition at line 4543 of file parse.c.

#define YYERROR   goto yyerrorlab

Definition at line 4550 of file parse.c.

#define YYERROR_VERBOSE   1

Definition at line 1011 of file parse.c.

#define YYERROR_VERBOSE   1

Definition at line 1011 of file parse.c.

#define YYFAIL   goto yyerrlab

Definition at line 4560 of file parse.c.

#define YYFINAL   3

Definition at line 1425 of file parse.c.

#define YYFPRINTF   fprintf

Definition at line 4610 of file parse.c.

#define YYFREE (   o)    mrb_free(p->mrb, (o))

Definition at line 77 of file parse.c.

#define YYID (   N)    (N)

Definition at line 1277 of file parse.c.

#define YYINITDEPTH   200

Definition at line 4773 of file parse.c.

#define YYLAST   10895

Definition at line 1427 of file parse.c.

#define YYLEX   yylex (&yylval, YYLEX_PARAM)

Definition at line 4600 of file parse.c.

#define YYLEX_PARAM   p

Definition at line 89 of file parse.c.

#define yylval   (*((YYSTYPE*)(p->ylval)))

Definition at line 8890 of file parse.c.

#define YYMALLOC (   n)    mrb_malloc(p->mrb, (n))

Definition at line 76 of file parse.c.

#define YYMAXDEPTH   10000

Definition at line 4784 of file parse.c.

#define YYMAXUTOK   379

Definition at line 1440 of file parse.c.

#define YYNNTS   154

Definition at line 1432 of file parse.c.

#define YYNRULES   544

Definition at line 1434 of file parse.c.

#define YYNSTATES   956

Definition at line 1436 of file parse.c.

#define YYNTOKENS   151

Definition at line 1430 of file parse.c.

#define YYPACT_NINF   -745

Definition at line 2121 of file parse.c.

#define yypact_value_is_default (   Yystate)    (!!((Yystate) == (-745)))

Definition at line 3341 of file parse.c.

#define YYPOPSTACK (   N)    (yyvsp -= (N), yyssp -= (N))
#define YYPULL   1

Definition at line 59 of file parse.c.

#define YYPURE   1

Definition at line 53 of file parse.c.

#define YYPUSH   0

Definition at line 56 of file parse.c.

#define YYRECOVERING ( )    (!!yyerrstatus)

Definition at line 4568 of file parse.c.

#define YYSIZE_MAXIMUM   ((YYSIZE_T) -1)

Definition at line 1245 of file parse.c.

#define YYSIZE_T   unsigned int

Definition at line 1241 of file parse.c.

#define YYSKELETON_NAME   "yacc.c"

Definition at line 50 of file parse.c.

#define YYSTACK_ALLOC   YYMALLOC

Definition at line 1333 of file parse.c.

#define YYSTACK_ALLOC_MAXIMUM   YYSIZE_MAXIMUM

Definition at line 1336 of file parse.c.

#define YYSTACK_BYTES (   N)
Value:
((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \

Definition at line 1380 of file parse.c.

#define YYSTACK_FREE   YYFREE

Definition at line 1334 of file parse.c.

#define YYSTACK_GAP_MAXIMUM   (sizeof (union yyalloc) - 1)

Definition at line 1376 of file parse.c.

#define YYSTACK_RELOCATE (   Stack_alloc,
  Stack 
)
Value:
do \
{ \
YYSIZE_T yynewbytes; \
YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
Stack = &yyptr->Stack_alloc; \
yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
yyptr += yynewbytes / sizeof (*yyptr); \
} \
while (YYID (0))

Definition at line 1391 of file parse.c.

#define YYSTACK_USE_ALLOCA   0

Definition at line 78 of file parse.c.

#define yystype   YYSTYPE /* obsolescent; will be withdrawn */

Definition at line 1174 of file parse.c.

#define YYSTYPE_IS_DECLARED   1

Definition at line 1175 of file parse.c.

#define YYSTYPE_IS_TRIVIAL   1

Definition at line 1173 of file parse.c.

#define YYSYNTAX_ERROR
Value:
yysyntax_error (&yymsg_alloc, &yymsg, \
yyssp, yytoken)
#define YYTABLE_NINF   -545

Definition at line 2246 of file parse.c.

#define yytable_value_is_error (   Yytable_value)    (!!((Yytable_value) == (-545)))

Definition at line 3344 of file parse.c.

#define YYTERROR   1

Definition at line 4588 of file parse.c.

#define YYTOKENTYPE

Definition at line 1027 of file parse.c.

#define YYTRANSLATE (   YYX)    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)

Definition at line 1442 of file parse.c.

#define YYUNDEFTOK   2

Definition at line 1439 of file parse.c.

#define YYUSE (   E)    ((void) (E))

Definition at line 1269 of file parse.c.

Typedef Documentation

typedef mrb_ast_node node

Definition at line 91 of file parse.c.

Definition at line 93 of file parse.c.

Definition at line 92 of file parse.c.

typedef unsigned int stack_type

Definition at line 107 of file parse.c.

Definition at line 951 of file parse.c.

typedef union YYSTYPE YYSTYPE
typedef short int yytype_int16

Definition at line 1228 of file parse.c.

typedef short int yytype_int8

Definition at line 1216 of file parse.c.

typedef unsigned short int yytype_uint16

Definition at line 1222 of file parse.c.

typedef unsigned char yytype_uint8

Definition at line 1207 of file parse.c.

Enumeration Type Documentation

Enumerator:
keyword_class 
keyword_module 
keyword_def 
keyword_undef 
keyword_begin 
keyword_rescue 
keyword_ensure 
keyword_end 
keyword_if 
keyword_unless 
keyword_then 
keyword_elsif 
keyword_else 
keyword_case 
keyword_when 
keyword_while 
keyword_until 
keyword_for 
keyword_break 
keyword_next 
keyword_redo 
keyword_retry 
keyword_in 
keyword_do 
keyword_do_cond 
keyword_do_block 
keyword_do_LAMBDA 
keyword_return 
keyword_yield 
keyword_super 
keyword_self 
keyword_nil 
keyword_true 
keyword_false 
keyword_and 
keyword_or 
keyword_not 
modifier_if 
modifier_unless 
modifier_while 
modifier_until 
modifier_rescue 
keyword_alias 
keyword_BEGIN 
keyword_END 
keyword__LINE__ 
keyword__FILE__ 
keyword__ENCODING__ 
tIDENTIFIER 
tFID 
tGVAR 
tIVAR 
tCONSTANT 
tCVAR 
tLABEL 
tINTEGER 
tFLOAT 
tCHAR 
tXSTRING 
tREGEXP 
tSTRING 
tSTRING_PART 
tSTRING_MID 
tNTH_REF 
tBACK_REF 
tREGEXP_END 
tUPLUS 
tUMINUS 
tPOW 
tCMP 
tEQ 
tEQQ 
tNEQ 
tGEQ 
tLEQ 
tANDOP 
tOROP 
tMATCH 
tNMATCH 
tDOT2 
tDOT3 
tAREF 
tASET 
tLSHFT 
tRSHFT 
tCOLON2 
tCOLON3 
tOP_ASGN 
tASSOC 
tLPAREN 
tLPAREN_ARG 
tRPAREN 
tLBRACK 
tLBRACE 
tLBRACE_ARG 
tSTAR 
tAMPER 
tLAMBDA 
tSYMBEG 
tREGEXP_BEG 
tWORDS_BEG 
tSYMBOLS_BEG 
tSTRING_BEG 
tXSTRING_BEG 
tSTRING_DVAR 
tLAMBEG 
tHEREDOC_BEG 
tHEREDOC_END 
tLITERAL_DELIM 
tLOWEST 
tUMINUS_NUM 
idNULL 
idRespond_to 
idIFUNC 
idCFUNC 
id_core_set_method_alias 
id_core_set_variable_alias 
id_core_undef_method 
id_core_define_method 
id_core_define_singleton_method 
id_core_set_postexe 
tLAST_TOKEN 

Definition at line 1030 of file parse.c.

Function Documentation

void codedump_all ( mrb_state ,
int   
)

Definition at line 2823 of file codegen.c.

mrb_value mrb_load_nstring ( mrb_state mrb,
const char *  s,
int  len 
)

Definition at line 11101 of file parse.c.

Here is the call graph for this function:

mrb_value mrb_load_nstring_cxt ( mrb_state mrb,
const char *  s,
int  len,
mrbc_context c 
)

Definition at line 11095 of file parse.c.

Here is the call graph for this function:

Here is the caller graph for this function:

mrb_value mrb_load_string ( mrb_state mrb,
const char *  s 
)

Definition at line 11113 of file parse.c.

Here is the call graph for this function:

mrb_value mrb_load_string_cxt ( mrb_state mrb,
const char *  s,
mrbc_context c 
)

Definition at line 11107 of file parse.c.

Here is the call graph for this function:

Here is the caller graph for this function:

parser_state* mrb_parse_nstring ( mrb_state mrb,
const char *  s,
int  len,
mrbc_context c 
)
read

Definition at line 11009 of file parse.c.

Here is the call graph for this function:

Here is the caller graph for this function:

parser_state* mrb_parse_string ( mrb_state mrb,
const char *  s,
mrbc_context c 
)
read

Definition at line 11023 of file parse.c.

Here is the call graph for this function:

void mrb_parser_free ( parser_state p)

Definition at line 10915 of file parse.c.

Here is the call graph for this function:

Here is the caller graph for this function:

char const* mrb_parser_get_filename ( struct mrb_parser_state p,
uint16_t  idx 
)

Definition at line 10984 of file parse.c.

Here is the call graph for this function:

parser_state* mrb_parser_new ( mrb_state mrb)
read

Definition at line 10873 of file parse.c.

Here is the call graph for this function:

Here is the caller graph for this function:

void mrb_parser_parse ( parser_state p,
mrbc_context c 
)

Definition at line 10847 of file parse.c.

Here is the call graph for this function:

Here is the caller graph for this function:

void mrb_parser_set_filename ( struct mrb_parser_state p,
const char *  f 
)

Definition at line 10956 of file parse.c.

Here is the call graph for this function:

void mrbc_context_free ( mrb_state mrb,
mrbc_context cxt 
)

Definition at line 10929 of file parse.c.

Here is the call graph for this function:

Here is the caller graph for this function:

mrbc_context* mrbc_context_new ( mrb_state mrb)

Definition at line 10920 of file parse.c.

Here is the call graph for this function:

Here is the caller graph for this function:

const char* mrbc_filename ( mrb_state mrb,
mrbc_context c,
const char *  s 
)

Definition at line 10936 of file parse.c.

Here is the call graph for this function:

Here is the caller graph for this function:

void mrbc_partial_hook ( mrb_state mrb,
mrbc_context c,
int(*)(struct mrb_parser_state *)  func,
void *  data 
)

Definition at line 10949 of file parse.c.

void parser_dump ( mrb_state mrb,
node tree,
int  offset 
)

Definition at line 11141 of file parse.c.

Here is the call graph for this function:

Here is the caller graph for this function:

parser_heredoc_info* parsing_heredoc_inf ( parser_state p)

Definition at line 969 of file parse.c.

Here is the caller graph for this function:

int yyparse ( )

Here is the caller graph for this function:

int yyparse ( parser_state p)

Definition at line 5081 of file parse.c.

Here is the call graph for this function:

Variable Documentation

int yydebug

Definition at line 4762 of file parse.c.