Data Structures |
| struct | magic_comment |
| struct | reg_named_capture_assign_t |
| struct | symbols |
Defines |
| #define | YYDEBUG 1 |
| #define | YYERROR_VERBOSE 1 |
| #define | YYSTACK_USE_ALLOCA 0 |
| #define | numberof(array) (int)(sizeof(array) / sizeof((array)[0])) |
| #define | YYMALLOC(size) rb_parser_malloc(parser, (size)) |
| #define | YYREALLOC(ptr, size) rb_parser_realloc(parser, (ptr), (size)) |
| #define | YYCALLOC(nelem, size) rb_parser_calloc(parser, (nelem), (size)) |
| #define | YYFREE(ptr) rb_parser_free(parser, (ptr)) |
| #define | malloc YYMALLOC |
| #define | realloc YYREALLOC |
| #define | calloc YYCALLOC |
| #define | free YYFREE |
| #define | REGISTER_SYMID(id, name) register_symid((id), (name), strlen(name), enc) |
| #define | is_notop_id(id) ((id)>tLAST_OP_ID) |
| #define | is_local_id(id) (is_notop_id(id)&&((id)&ID_SCOPE_MASK)==ID_LOCAL) |
| #define | is_global_id(id) (is_notop_id(id)&&((id)&ID_SCOPE_MASK)==ID_GLOBAL) |
| #define | is_instance_id(id) (is_notop_id(id)&&((id)&ID_SCOPE_MASK)==ID_INSTANCE) |
| #define | is_attrset_id(id) (is_notop_id(id)&&((id)&ID_SCOPE_MASK)==ID_ATTRSET) |
| #define | is_const_id(id) (is_notop_id(id)&&((id)&ID_SCOPE_MASK)==ID_CONST) |
| #define | is_class_id(id) (is_notop_id(id)&&((id)&ID_SCOPE_MASK)==ID_CLASS) |
| #define | is_junk_id(id) (is_notop_id(id)&&((id)&ID_SCOPE_MASK)==ID_JUNK) |
| #define | id_type(id) (is_notop_id(id) ? (int)((id)&ID_SCOPE_MASK) : -1) |
| #define | is_asgn_or_id(id) |
| #define | DEF_EXPR(n) EXPR_##n = (1 << EXPR_##n##_bit) |
| #define | IS_lex_state_for(x, ls) ((x) & (ls)) |
| #define | IS_lex_state(ls) IS_lex_state_for(lex_state, (ls)) |
| #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(cond_stack, (n)) |
| #define | COND_POP() BITSTACK_POP(cond_stack) |
| #define | COND_LEXPOP() BITSTACK_LEXPOP(cond_stack) |
| #define | COND_P() BITSTACK_SET_P(cond_stack) |
| #define | CMDARG_PUSH(n) BITSTACK_PUSH(cmdarg_stack, (n)) |
| #define | CMDARG_POP() BITSTACK_POP(cmdarg_stack) |
| #define | CMDARG_LEXPOP() BITSTACK_LEXPOP(cmdarg_stack) |
| #define | CMDARG_P() BITSTACK_SET_P(cmdarg_stack) |
| #define | DVARS_INHERIT ((void*)1) |
| #define | DVARS_TOPSCOPE NULL |
| #define | DVARS_SPECIAL_P(tbl) (!POINTER_P(tbl)) |
| #define | POINTER_P(val) ((VALUE)(val) & ~(VALUE)3) |
| #define | VTBL_DEBUG 0 |
| #define | STR_NEW(p, n) rb_enc_str_new((p),(n),current_enc) |
| #define | STR_NEW0() rb_enc_str_new(0,0,current_enc) |
| #define | STR_NEW2(p) rb_enc_str_new((p),strlen(p),current_enc) |
| #define | STR_NEW3(p, n, e, func) parser_str_new((p),(n),(e),(func),current_enc) |
| #define | ENC_SINGLE(cr) ((cr)==ENC_CODERANGE_7BIT) |
| #define | TOK_INTERN(mb) rb_intern3(tok(), toklen(), current_enc) |
| #define | yyerror(msg) parser_yyerror(parser, (msg)) |
| #define | lex_strterm (parser->parser_lex_strterm) |
| #define | lex_state (parser->parser_lex_state) |
| #define | cond_stack (parser->parser_cond_stack) |
| #define | cmdarg_stack (parser->parser_cmdarg_stack) |
| #define | class_nest (parser->parser_class_nest) |
| #define | paren_nest (parser->parser_paren_nest) |
| #define | lpar_beg (parser->parser_lpar_beg) |
| #define | brace_nest (parser->parser_brace_nest) |
| #define | in_single (parser->parser_in_single) |
| #define | in_def (parser->parser_in_def) |
| #define | compile_for_eval (parser->parser_compile_for_eval) |
| #define | cur_mid (parser->parser_cur_mid) |
| #define | in_defined (parser->parser_in_defined) |
| #define | tokenbuf (parser->parser_tokenbuf) |
| #define | tokidx (parser->parser_tokidx) |
| #define | toksiz (parser->parser_toksiz) |
| #define | tokline (parser->parser_tokline) |
| #define | lex_input (parser->parser_lex_input) |
| #define | lex_lastline (parser->parser_lex_lastline) |
| #define | lex_nextline (parser->parser_lex_nextline) |
| #define | lex_pbeg (parser->parser_lex_pbeg) |
| #define | lex_p (parser->parser_lex_p) |
| #define | lex_pend (parser->parser_lex_pend) |
| #define | heredoc_end (parser->parser_heredoc_end) |
| #define | command_start (parser->parser_command_start) |
| #define | deferred_nodes (parser->parser_deferred_nodes) |
| #define | lex_gets_ptr (parser->parser_lex_gets_ptr) |
| #define | lex_gets (parser->parser_lex_gets) |
| #define | lvtbl (parser->parser_lvtbl) |
| #define | ruby__end__seen (parser->parser_ruby__end__seen) |
| #define | ruby_sourceline (parser->parser_ruby_sourceline) |
| #define | ruby_sourcefile (parser->parser_ruby_sourcefile) |
| #define | ruby_sourcefile_string (parser->parser_ruby_sourcefile_string) |
| #define | current_enc (parser->enc) |
| #define | yydebug (parser->parser_yydebug) |
| #define | ruby_eval_tree (parser->parser_eval_tree) |
| #define | ruby_eval_tree_begin (parser->parser_eval_tree_begin) |
| #define | ruby_debug_lines (parser->debug_lines) |
| #define | ruby_coverage (parser->coverage) |
| #define | yyparse ruby_yyparse |
| #define | rb_node_newnode(type, a1, a2, a3) node_newnode(parser, (type), (a1), (a2), (a3)) |
| #define | cond(node) cond_gen(parser, (node)) |
| #define | logop(type, node1, node2) logop_gen(parser, (type), (node1), (node2)) |
| #define | value_expr(node) value_expr_gen(parser, (node) = remove_begin(node)) |
| #define | void_expr0(node) void_expr_gen(parser, (node)) |
| #define | void_expr(node) void_expr0((node) = remove_begin(node)) |
| #define | void_stmts(node) void_stmts_gen(parser, (node)) |
| #define | reduce_nodes(n) reduce_nodes_gen(parser,(n)) |
| #define | block_dup_check(n1, n2) block_dup_check_gen(parser,(n1),(n2)) |
| #define | block_append(h, t) block_append_gen(parser,(h),(t)) |
| #define | list_append(l, i) list_append_gen(parser,(l),(i)) |
| #define | list_concat(h, t) list_concat_gen(parser,(h),(t)) |
| #define | arg_append(h, t) arg_append_gen(parser,(h),(t)) |
| #define | arg_concat(h, t) arg_concat_gen(parser,(h),(t)) |
| #define | literal_concat(h, t) literal_concat_gen(parser,(h),(t)) |
| #define | new_evstr(n) new_evstr_gen(parser,(n)) |
| #define | evstr2dstr(n) evstr2dstr_gen(parser,(n)) |
| #define | call_bin_op(recv, id, arg1) call_bin_op_gen(parser, (recv),(id),(arg1)) |
| #define | call_uni_op(recv, id) call_uni_op_gen(parser, (recv),(id)) |
| #define | new_args(f, o, r, p, t) new_args_gen(parser, (f),(o),(r),(p),(t)) |
| #define | new_args_tail(k, kr, b) new_args_tail_gen(parser, (k),(kr),(b)) |
| #define | ret_args(node) ret_args_gen(parser, (node)) |
| #define | new_yield(node) new_yield_gen(parser, (node)) |
| #define | dsym_node(node) dsym_node_gen(parser, (node)) |
| #define | gettable(id) gettable_gen(parser,(id)) |
| #define | assignable(id, node) assignable_gen(parser, (id), (node)) |
| #define | aryset(node1, node2) aryset_gen(parser, (node1), (node2)) |
| #define | attrset(node, id) attrset_gen(parser, (node), (id)) |
| #define | rb_backref_error(n) rb_backref_error_gen(parser,(n)) |
| #define | node_assign(node1, node2) node_assign_gen(parser, (node1), (node2)) |
| #define | new_attr_op_assign(lhs, type, attr, op, rhs) new_attr_op_assign_gen(parser, (lhs), (attr), (op), (rhs)) |
| #define | new_const_op_assign(lhs, op, rhs) new_const_op_assign_gen(parser, (lhs), (op), (rhs)) |
| #define | match_op(node1, node2) match_op_gen(parser, (node1), (node2)) |
| #define | local_tbl() local_tbl_gen(parser) |
| #define | reg_compile(str, options) reg_compile_gen(parser, (str), (options)) |
| #define | reg_fragment_setenc(str, options) reg_fragment_setenc_gen(parser, (str), (options)) |
| #define | reg_fragment_check(str, options) reg_fragment_check_gen(parser, (str), (options)) |
| #define | reg_named_capture_assign(regexp, match) reg_named_capture_assign_gen(parser,(regexp),(match)) |
| #define | get_id(id) (id) |
| #define | get_value(val) (val) |
| #define | new_op_assign(lhs, op, rhs) new_op_assign_gen(parser, (lhs), (op), (rhs)) |
| #define | formal_argument(id) formal_argument_gen(parser, (id)) |
| #define | shadowing_lvar(name) shadowing_lvar_gen(parser, (name)) |
| #define | new_bv(id) new_bv_gen(parser, (id)) |
| #define | local_push(top) local_push_gen(parser,(top)) |
| #define | local_pop() local_pop_gen(parser) |
| #define | local_var(id) local_var_gen(parser, (id)) |
| #define | arg_var(id) arg_var_gen(parser, (id)) |
| #define | local_id(id) local_id_gen(parser, (id)) |
| #define | internal_id() internal_id_gen(parser) |
| #define | dyna_push() dyna_push_gen(parser) |
| #define | dyna_pop(node) dyna_pop_gen(parser, (node)) |
| #define | dyna_in_block() dyna_in_block_gen(parser) |
| #define | dyna_var(id) local_var(id) |
| #define | dvar_defined(id) dvar_defined_gen(parser, (id), 0) |
| #define | dvar_defined_get(id) dvar_defined_gen(parser, (id), 1) |
| #define | dvar_curr(id) dvar_curr_gen(parser, (id)) |
| #define | lvar_defined(id) lvar_defined_gen(parser, (id)) |
| #define | RE_OPTION_ONCE (1<<16) |
| #define | RE_OPTION_ENCODING_SHIFT 8 |
| #define | RE_OPTION_ENCODING(e) (((e)&0xff)<<RE_OPTION_ENCODING_SHIFT) |
| #define | RE_OPTION_ENCODING_IDX(o) (((o)>>RE_OPTION_ENCODING_SHIFT)&0xff) |
| #define | RE_OPTION_ENCODING_NONE(o) ((o)&RE_OPTION_ARG_ENCODING_NONE) |
| #define | RE_OPTION_MASK 0xff |
| #define | RE_OPTION_ARG_ENCODING_NONE 32 |
| #define | NODE_STRTERM NODE_ZARRAY |
| #define | NODE_HEREDOC NODE_ARRAY |
| #define | SIGN_EXTEND(x, n) (((1<<(n)-1)^((x)&~(~0<<(n))))-(1<<(n)-1)) |
| #define | nd_func u1.id |
| #define | nd_term(node) SIGN_EXTEND((node)->u2.id, CHAR_BIT*2) |
| #define | nd_paren(node) (char)((node)->u2.id >> CHAR_BIT*2) |
| #define | nd_nest u3.cnt |
| #define | Qnone 0 |
| #define | ifndef_ripper(x) (x) |
| #define | rb_warn0(fmt) rb_compile_warn(ruby_sourcefile, ruby_sourceline, (fmt)) |
| #define | rb_warnI(fmt, a) rb_compile_warn(ruby_sourcefile, ruby_sourceline, (fmt), (a)) |
| #define | rb_warnS(fmt, a) rb_compile_warn(ruby_sourcefile, ruby_sourceline, (fmt), (a)) |
| #define | rb_warn4S(file, line, fmt, a) rb_compile_warn((file), (line), (fmt), (a)) |
| #define | rb_warning0(fmt) rb_compile_warning(ruby_sourcefile, ruby_sourceline, (fmt)) |
| #define | rb_warningS(fmt, a) rb_compile_warning(ruby_sourcefile, ruby_sourceline, (fmt), (a)) |
| #define | rb_compile_error rb_compile_error_with_enc |
| #define | compile_error parser->nerr++,rb_compile_error_with_enc |
| #define | PARSER_ARG ruby_sourcefile, ruby_sourceline, current_enc, |
| #define | token_info_push(token) (RTEST(ruby_verbose) ? token_info_push(parser, (token)) : (void)0) |
| #define | token_info_pop(token) (RTEST(ruby_verbose) ? token_info_pop(parser, (token)) : (void)0) |
| #define | yylval (*((YYSTYPE*)(parser->parser_yylval))) |
| #define | nextc() parser_nextc(parser) |
| #define | pushback(c) parser_pushback(parser, (c)) |
| #define | newtok() parser_newtok(parser) |
| #define | tokspace(n) parser_tokspace(parser, (n)) |
| #define | tokadd(c) parser_tokadd(parser, (c)) |
| #define | tok_hex(numlen) parser_tok_hex(parser, (numlen)) |
| #define | read_escape(flags, e) parser_read_escape(parser, (flags), (e)) |
| #define | tokadd_escape(e) parser_tokadd_escape(parser, (e)) |
| #define | regx_options() parser_regx_options(parser) |
| #define | tokadd_string(f, t, p, n, e) parser_tokadd_string(parser,(f),(t),(p),(n),(e)) |
| #define | parse_string(n) parser_parse_string(parser,(n)) |
| #define | tokaddmbc(c, enc) parser_tokaddmbc(parser, (c), (enc)) |
| #define | here_document(n) parser_here_document(parser,(n)) |
| #define | heredoc_identifier() parser_heredoc_identifier(parser) |
| #define | heredoc_restore(n) parser_heredoc_restore(parser,(n)) |
| #define | whole_match_p(e, l, i) parser_whole_match_p(parser,(e),(l),(i)) |
| #define | set_yylval_str(x) (yylval.node = NEW_STR(x)) |
| #define | set_yylval_num(x) (yylval.num = (x)) |
| #define | set_yylval_id(x) (yylval.id = (x)) |
| #define | set_yylval_name(x) (yylval.id = (x)) |
| #define | set_yylval_literal(x) (yylval.node = NEW_LIT(x)) |
| #define | set_yylval_node(x) (yylval.node = (x)) |
| #define | yylval_id() (yylval.id) |
| #define | ripper_flush(p) (void)(p) |
| #define | SIGN_EXTEND_CHAR(c) ((((unsigned char)(c)) ^ 128) - 128) |
| #define | parser_encoding_name() (current_enc->name) |
| #define | parser_mbclen() mbclen((lex_p-1),lex_pend,current_enc) |
| #define | parser_precise_mbclen() rb_enc_precise_mbclen((lex_p-1),lex_pend,current_enc) |
| #define | is_identchar(p, e, enc) (rb_enc_isalnum(*(p),(enc)) || (*(p)) == '_' || !ISASCII(*(p))) |
| #define | parser_is_identchar() (!parser->eofp && is_identchar((lex_p-1),lex_pend,current_enc)) |
| #define | parser_isascii() ISASCII(*(lex_p-1)) |
| #define | STR_FUNC_ESCAPE 0x01 |
| #define | STR_FUNC_EXPAND 0x02 |
| #define | STR_FUNC_REGEXP 0x04 |
| #define | STR_FUNC_QWORDS 0x08 |
| #define | STR_FUNC_SYMBOL 0x10 |
| #define | STR_FUNC_INDENT 0x20 |
| #define | lex_goto_eol(parser) ((parser)->parser_lex_p = (parser)->parser_lex_pend) |
| #define | lex_eol_p() (lex_p >= lex_pend) |
| #define | peek(c) peek_n((c), 0) |
| #define | peek_n(c, n) (lex_p+(n) < lex_pend && (c) == (unsigned char)lex_p[n]) |
| #define | was_bol() (lex_p == lex_pbeg + 1) |
| #define | tokfix() (tokenbuf[tokidx]='\0') |
| #define | tok() tokenbuf |
| #define | toklen() tokidx |
| #define | toklast() (tokidx>0?tokenbuf[tokidx-1]:0) |
| #define | tokcopy(n) memcpy(tokspace(n), lex_p - (n), (n)) |
| #define | ESCAPE_CONTROL 1 |
| #define | ESCAPE_META 2 |
| #define | tokadd_mbchar(c) parser_tokadd_mbchar(parser, (c)) |
| #define | mixed_error(enc1, enc2) |
| #define | mixed_escape(beg, enc1, enc2) |
| #define | NEW_STRTERM(func, term, paren) rb_node_newnode(NODE_STRTERM, (func), (term) | ((paren) << (CHAR_BIT * 2)), 0) |
| #define | flush_string_content(enc) ((void)(enc)) |
| #define | BIT(c, idx) (((c) / 32 - 1 == idx) ? (1U << ((c) % 32)) : 0) |
| #define | SPECIAL_PUNCT(idx) |
| #define | dispatch_heredoc_end() ((void)0) |
| #define | arg_ambiguous() (arg_ambiguous_gen(parser), 1) |
| #define | str_copy(_s, _p, _n) |
| #define | IS_ARG() IS_lex_state(EXPR_ARG_ANY) |
| #define | IS_END() IS_lex_state(EXPR_END_ANY) |
| #define | IS_BEG() IS_lex_state(EXPR_BEG_ANY) |
| #define | IS_SPCARG(c) (IS_ARG() && space_seen && !ISSPACE(c)) |
| #define | IS_LABEL_POSSIBLE() ((IS_lex_state(EXPR_BEG | EXPR_ENDFN) && !cmd_state) || IS_ARG()) |
| #define | IS_LABEL_SUFFIX(n) (peek_n(':',(n)) && !peek_n(':', (n)+1)) |
| #define | IS_AFTER_OPERATOR() IS_lex_state(EXPR_FNAME | EXPR_DOT) |
| #define | ambiguous_operator(op, syn) |
| #define | warn_balanced(op, syn) |
| #define | no_digits() do {yyerror("numeric literal without digits"); return 0;} while (0) |
| #define | parser_warning(node, mesg) parser_warning(parser, (node), (mesg)) |
| #define | parser_warn(node, mesg) parser_warn(parser, (node), (mesg)) |
| #define | assignable_result(x) (x) |
| #define | LVAR_USED ((ID)1 << (sizeof(ID) * CHAR_BIT - 1)) |
| #define | subnodes(n1, n2) |
| #define | op_tbl_count numberof(op_tbl) |
| #define | IDSET_ATTRSET_FOR_SYNTAX ((1U<<ID_LOCAL)|(1U<<ID_CONST)) |
| #define | IDSET_ATTRSET_FOR_INTERN (~(~0U<<(1<<ID_SCOPE_SHIFT)) & ~(1U<<ID_ATTRSET)) |
| #define | HEAPCNT(n, size) ((n) * (size) / sizeof(YYSTYPE)) |
| #define | NEWHEAP() rb_node_newnode(NODE_ALLOCA, 0, (VALUE)parser->heap, 0) |
| #define | ADD2HEAP(n, c, p) |
Typedefs |
| typedef long(* | rb_magic_comment_length_t )(struct parser_params *parser, const char *name, long len) |
| typedef void(* | rb_magic_comment_setter_t )(struct parser_params *parser, const char *name, const char *val) |
Enumerations |
| enum | string_type {
str_squote = (0),
str_dquote = (STR_FUNC_EXPAND),
str_xquote = (STR_FUNC_EXPAND),
str_regexp = (STR_FUNC_REGEXP|STR_FUNC_ESCAPE|STR_FUNC_EXPAND),
str_sword = (STR_FUNC_QWORDS),
str_dword = (STR_FUNC_QWORDS|STR_FUNC_EXPAND),
str_ssym = (STR_FUNC_SYMBOL),
str_dsym = (STR_FUNC_SYMBOL|STR_FUNC_EXPAND),
str_squote = (0),
str_dquote = (STR_FUNC_EXPAND),
str_xquote = (STR_FUNC_EXPAND),
str_regexp = (STR_FUNC_REGEXP|STR_FUNC_ESCAPE|STR_FUNC_EXPAND),
str_sword = (STR_FUNC_QWORDS),
str_dword = (STR_FUNC_QWORDS|STR_FUNC_EXPAND),
str_ssym = (STR_FUNC_SYMBOL),
str_dsym = (STR_FUNC_SYMBOL|STR_FUNC_EXPAND),
str_squote = (0),
str_dquote = (STR_FUNC_EXPAND),
str_xquote = (STR_FUNC_EXPAND),
str_regexp = (STR_FUNC_REGEXP|STR_FUNC_ESCAPE|STR_FUNC_EXPAND),
str_sword = (STR_FUNC_QWORDS),
str_dword = (STR_FUNC_QWORDS|STR_FUNC_EXPAND),
str_ssym = (STR_FUNC_SYMBOL),
str_dsym = (STR_FUNC_SYMBOL|STR_FUNC_EXPAND),
str_squote = (0),
str_dquote = (STR_FUNC_EXPAND),
str_xquote = (STR_FUNC_EXPAND),
str_regexp = (STR_FUNC_REGEXP|STR_FUNC_ESCAPE|STR_FUNC_EXPAND),
str_sword = (STR_FUNC_QWORDS),
str_dword = (STR_FUNC_QWORDS|STR_FUNC_EXPAND),
str_ssym = (STR_FUNC_SYMBOL),
str_dsym = (STR_FUNC_SYMBOL|STR_FUNC_EXPAND)
} |
Functions |
| top_stmts | dispatch0 (stmts_new) |
| top_stmts | dispatch0 (void_stmt)) |
| top_stmt | escape_Qundef ($1) |
| expr | ripper_intern ("and") |
| | CMDARG_PUSH (1) |
| primary | arg_new ()) |
| numeric | ripper_intern ("-@") |
| static int | parser_regx_options (struct parser_params *) |
| static int | parser_tokadd_string (struct parser_params *, int, int, int, long *, rb_encoding **) |
| static void | parser_tokaddmbc (struct parser_params *parser, int c, rb_encoding *enc) |
| static int | parser_parse_string (struct parser_params *, NODE *) |
| static int | parser_here_document (struct parser_params *, NODE *) |
| static int | token_info_get_column (struct parser_params *parser, const char *token) |
| static int | token_info_has_nonspaces (struct parser_params *parser, const char *token) |
| static void | token_info_push (struct parser_params *parser, const char *token) |
| static void | token_info_pop (struct parser_params *parser, const char *token) |
| static int | parser_yyerror (struct parser_params *parser, const char *msg) |
| static void | parser_prepare (struct parser_params *parser) |
| static VALUE | debug_lines (VALUE fname) |
| static VALUE | coverage (VALUE fname, int n) |
| static int | e_option_supplied (struct parser_params *parser) |
| static VALUE | yycompile0 (VALUE arg) |
| static NODE * | yycompile (struct parser_params *parser, VALUE fname, int line) |
| static rb_encoding * | must_be_ascii_compatible (VALUE s) |
| static VALUE | lex_get_str (struct parser_params *parser, VALUE s) |
| static VALUE | lex_getline (struct parser_params *parser) |
| static NODE * | parser_compile_string (volatile VALUE vparser, VALUE fname, VALUE s, int line) |
| NODE * | rb_compile_string (const char *f, VALUE s, int line) |
| NODE * | rb_parser_compile_string (volatile VALUE vparser, const char *f, VALUE s, int line) |
| NODE * | rb_parser_compile_string_path (volatile VALUE vparser, VALUE f, VALUE s, int line) |
| NODE * | rb_compile_cstr (const char *f, const char *s, int len, int line) |
| NODE * | rb_parser_compile_cstr (volatile VALUE vparser, const char *f, const char *s, int len, int line) |
| static VALUE | lex_io_gets (struct parser_params *parser, VALUE io) |
| NODE * | rb_compile_file (const char *f, VALUE file, int start) |
| NODE * | rb_parser_compile_file (volatile VALUE vparser, const char *f, VALUE file, int start) |
| NODE * | rb_parser_compile_file_path (volatile VALUE vparser, VALUE fname, VALUE file, int start) |
| static VALUE | parser_str_new (const char *p, long n, rb_encoding *enc, int func, rb_encoding *enc0) |
| static int | parser_nextc (struct parser_params *parser) |
| static void | parser_pushback (struct parser_params *parser, int c) |
| static char * | parser_newtok (struct parser_params *parser) |
| static char * | parser_tokspace (struct parser_params *parser, int n) |
| static void | parser_tokadd (struct parser_params *parser, int c) |
| static int | parser_tok_hex (struct parser_params *parser, size_t *numlen) |
| static int | parser_tokadd_utf8 (struct parser_params *parser, rb_encoding **encp, int string_literal, int symbol_literal, int regexp_literal) |
| static int | parser_read_escape (struct parser_params *parser, int flags, rb_encoding **encp) |
| static int | parser_tokadd_escape (struct parser_params *parser, rb_encoding **encp) |
| static void | dispose_string (VALUE str) |
| static int | parser_tokadd_mbchar (struct parser_params *parser, int c) |
| static int | simple_re_meta (int c) |
| static int | is_global_name_punct (const char c) |
| static int | parser_peek_variable_name (struct parser_params *parser) |
| static int | parser_heredoc_identifier (struct parser_params *parser) |
| static void | parser_heredoc_restore (struct parser_params *parser, NODE *here) |
| static int | parser_whole_match_p (struct parser_params *parser, const char *eos, long len, int indent) |
| static void | arg_ambiguous_gen (struct parser_params *parser) |
| static ID | formal_argument_gen (struct parser_params *parser, ID lhs) |
| static int | lvar_defined_gen (struct parser_params *parser, ID id) |
| static long | parser_encode_length (struct parser_params *parser, const char *name, long len) |
| static void | parser_set_encode (struct parser_params *parser, const char *name) |
| static int | comment_at_top (struct parser_params *parser) |
| static void | magic_comment_encoding (struct parser_params *parser, const char *name, const char *val) |
| static void | parser_set_token_info (struct parser_params *parser, const char *name, const char *val) |
| static const char * | magic_comment_marker (const char *str, long len) |
| static int | parser_magic_comment (struct parser_params *parser, const char *str, long len) |
| static void | set_file_encoding (struct parser_params *parser, const char *str, const char *send) |
| static int | parser_yylex (struct parser_params *parser) |
| static int | yylex (void *lval, void *p) |
| static NODE * | node_newnode (struct parser_params *parser, enum node_type type, VALUE a0, VALUE a1, VALUE a2) |
| static enum node_type | nodetype (NODE *node) |
| static int | nodeline (NODE *node) |
| static NODE * | newline_node (NODE *node) |
| static void | fixpos (NODE *node, NODE *orig) |
| static void | parser_warning (struct parser_params *parser, NODE *node, const char *mesg) |
| static void | parser_warn (struct parser_params *parser, NODE *node, const char *mesg) |
| static NODE * | block_append_gen (struct parser_params *parser, NODE *head, NODE *tail) |
| static NODE * | list_append_gen (struct parser_params *parser, NODE *list, NODE *item) |
| static NODE * | list_concat_gen (struct parser_params *parser, NODE *head, NODE *tail) |
| static int | literal_concat0 (struct parser_params *parser, VALUE head, VALUE tail) |
| static NODE * | literal_concat_gen (struct parser_params *parser, NODE *head, NODE *tail) |
| static NODE * | evstr2dstr_gen (struct parser_params *parser, NODE *node) |
| static NODE * | new_evstr_gen (struct parser_params *parser, NODE *node) |
| static NODE * | call_bin_op_gen (struct parser_params *parser, NODE *recv, ID id, NODE *arg1) |
| static NODE * | call_uni_op_gen (struct parser_params *parser, NODE *recv, ID id) |
| static NODE * | match_op_gen (struct parser_params *parser, NODE *node1, NODE *node2) |
| static NODE * | gettable_gen (struct parser_params *parser, ID id) |
| static NODE * | assignable_gen (struct parser_params *parser, ID id, NODE *val) |
| static int | is_private_local_id (ID name) |
| static ID | shadowing_lvar_gen (struct parser_params *parser, ID name) |
| static void | new_bv_gen (struct parser_params *parser, ID name) |
| static NODE * | aryset_gen (struct parser_params *parser, NODE *recv, NODE *idx) |
| static void | block_dup_check_gen (struct parser_params *parser, NODE *node1, NODE *node2) |
| ID | rb_id_attrset (ID id) |
| static NODE * | attrset_gen (struct parser_params *parser, NODE *recv, ID id) |
| static void | rb_backref_error_gen (struct parser_params *parser, NODE *node) |
| static NODE * | arg_concat_gen (struct parser_params *parser, NODE *node1, NODE *node2) |
| static NODE * | arg_append_gen (struct parser_params *parser, NODE *node1, NODE *node2) |
| static NODE * | splat_array (NODE *node) |
| static NODE * | node_assign_gen (struct parser_params *parser, NODE *lhs, NODE *rhs) |
| static int | value_expr_gen (struct parser_params *parser, NODE *node) |
| static void | void_expr_gen (struct parser_params *parser, NODE *node) |
| static void | void_stmts_gen (struct parser_params *parser, NODE *node) |
| static NODE * | remove_begin (NODE *node) |
| static void | reduce_nodes_gen (struct parser_params *parser, NODE **body) |
| static int | is_static_content (NODE *node) |
| static int | assign_in_cond (struct parser_params *parser, NODE *node) |
| static void | warn_unless_e_option (struct parser_params *parser, NODE *node, const char *str) |
| static void | warning_unless_e_option (struct parser_params *parser, NODE *node, const char *str) |
| static void | fixup_nodes (NODE **rootnode) |
| static NODE * | cond0 (struct parser_params *, NODE *) |
| static NODE * | range_op (struct parser_params *parser, NODE *node) |
| static int | literal_node (NODE *node) |
| static NODE * | cond_gen (struct parser_params *parser, NODE *node) |
| static NODE * | logop_gen (struct parser_params *parser, enum node_type type, NODE *left, NODE *right) |
| static void | no_blockarg (struct parser_params *parser, NODE *node) |
| static NODE * | ret_args_gen (struct parser_params *parser, NODE *node) |
| static NODE * | new_yield_gen (struct parser_params *parser, NODE *node) |
| static NODE * | negate_lit (NODE *node) |
| static NODE * | arg_blk_pass (NODE *node1, NODE *node2) |
| static NODE * | new_args_gen (struct parser_params *parser, NODE *m, NODE *o, ID r, NODE *p, NODE *tail) |
| static NODE * | new_args_tail_gen (struct parser_params *parser, NODE *k, ID kr, ID b) |
| static NODE * | dsym_node_gen (struct parser_params *parser, NODE *node) |
| static NODE * | new_op_assign_gen (struct parser_params *parser, NODE *lhs, ID op, NODE *rhs) |
| static NODE * | new_attr_op_assign_gen (struct parser_params *parser, NODE *lhs, ID attr, ID op, NODE *rhs) |
| static NODE * | new_const_op_assign_gen (struct parser_params *parser, NODE *lhs, ID op, NODE *rhs) |
| static void | warn_unused_var (struct parser_params *parser, struct local_vars *local) |
| static void | local_push_gen (struct parser_params *parser, int inherit_dvars) |
| static void | local_pop_gen (struct parser_params *parser) |
| static ID * | local_tbl_gen (struct parser_params *parser) |
| static int | arg_var_gen (struct parser_params *parser, ID id) |
| static int | local_var_gen (struct parser_params *parser, ID id) |
| static int | local_id_gen (struct parser_params *parser, ID id) |
| static struct vtable * | dyna_push_gen (struct parser_params *parser) |
| static void | dyna_pop_1 (struct parser_params *parser) |
| static void | dyna_pop_gen (struct parser_params *parser, const struct vtable *lvargs) |
| static int | dyna_in_block_gen (struct parser_params *parser) |
| static int | dvar_defined_gen (struct parser_params *parser, ID id, int get) |
| static int | dvar_curr_gen (struct parser_params *parser, ID id) |
| static void | reg_fragment_setenc_gen (struct parser_params *parser, VALUE str, int options) |
| static int | reg_fragment_check_gen (struct parser_params *parser, VALUE str, int options) |
| static int | reg_named_capture_assign_iter (const OnigUChar *name, const OnigUChar *name_end, int back_num, int *back_refs, OnigRegex regex, void *arg0) |
| static NODE * | reg_named_capture_assign_gen (struct parser_params *parser, VALUE regexp, NODE *match) |
| static VALUE | reg_compile_gen (struct parser_params *parser, VALUE str, int options) |
| void | rb_gc_mark_parser (void) |
| NODE * | rb_parser_append_print (VALUE vparser, NODE *node) |
| NODE * | rb_parser_while_loop (VALUE vparser, NODE *node, int chop, int split) |
| void | Init_sym (void) |
| void | rb_gc_mark_symbols (void) |
| static ID | internal_id_gen (struct parser_params *parser) |
| static int | is_special_global_name (const char *m, const char *e, rb_encoding *enc) |
| int | rb_symname_p (const char *name) |
| int | rb_enc_symname_p (const char *name, rb_encoding *enc) |
| static int | rb_enc_symname_type (const char *name, long len, rb_encoding *enc, unsigned int allowed_atttset) |
| int | rb_enc_symname2_p (const char *name, long len, rb_encoding *enc) |
| static int | rb_str_symname_type (VALUE name, unsigned int allowed_atttset) |
| static ID | register_symid (ID id, const char *name, long len, rb_encoding *enc) |
| static ID | register_symid_str (ID id, VALUE str) |
| static int | sym_check_asciionly (VALUE str) |
| static ID | intern_str (VALUE str) |
| ID | rb_intern3 (const char *name, long len, rb_encoding *enc) |
| ID | rb_intern2 (const char *name, long len) |
| ID | rb_intern (const char *name) |
| ID | rb_intern_str (VALUE str) |
| VALUE | rb_id2str (ID id) |
| const char * | rb_id2name (ID id) |
| static int | symbols_i (VALUE sym, ID value, VALUE ary) |
| VALUE | rb_sym_all_symbols (void) |
| int | rb_is_const_id (ID id) |
| int | rb_is_class_id (ID id) |
| int | rb_is_global_id (ID id) |
| int | rb_is_instance_id (ID id) |
| int | rb_is_attrset_id (ID id) |
| int | rb_is_local_id (ID id) |
| int | rb_is_junk_id (ID id) |
| ID | rb_check_id (volatile VALUE *namep) |
| | Returns ID for the given name if it is interned already, or 0.
|
| ID | rb_check_id_cstr (const char *ptr, long len, rb_encoding *enc) |
| int | rb_is_const_name (VALUE name) |
| int | rb_is_class_name (VALUE name) |
| int | rb_is_global_name (VALUE name) |
| int | rb_is_instance_name (VALUE name) |
| int | rb_is_attrset_name (VALUE name) |
| int | rb_is_local_name (VALUE name) |
| int | rb_is_method_name (VALUE name) |
| int | rb_is_junk_name (VALUE name) |
| static void | parser_initialize (struct parser_params *parser) |
| static void | parser_mark (void *ptr) |
| static void | parser_free (void *ptr) |
| static size_t | parser_memsize (const void *ptr) |
| struct kwtable * | rb_reserved_word (const char *str, unsigned int len) |
| static struct parser_params * | parser_new (void) |
| VALUE | rb_parser_new (void) |
| VALUE | rb_parser_end_seen_p (VALUE vparser) |
| VALUE | rb_parser_encoding (VALUE vparser) |
| VALUE | rb_parser_get_yydebug (VALUE self) |
| VALUE | rb_parser_set_yydebug (VALUE self, VALUE flag) |
| void * | rb_parser_malloc (struct parser_params *parser, size_t size) |
| void * | rb_parser_calloc (struct parser_params *parser, size_t nelem, size_t size) |
| void * | rb_parser_realloc (struct parser_params *parser, void *ptr, size_t size) |
| void | rb_parser_free (struct parser_params *parser, void *ptr) |
Variables |
| top_compstmt | __pad0__ |
| top_stmts | __pad1__ |
| top_stmt | __pad2__ |
| top_stmt | bodystmt |
| compstmt | __pad3__ |
| stmts | __pad4__ |
| stmt_or_begin | __pad5__ |
| command_asgn | __pad6__ |
| command_asgn | lhs |
| expr | __pad7__ |
| expr_value | __pad8__ |
| command_call | __pad9__ |
| block_command | __pad10__ |
| block_command | cmd_brace_block = method_arg($$, $4) |
| fcall | __pad11__ |
| command | __pad12__ |
| mlhs | __pad13__ |
| mlhs | mlhs_inner |
| mlhs | mlhs_basic |
| mlhs_item | __pad14__ |
| mlhs_item | mlhs_head |
| mlhs_post | __pad15__ |
| mlhs_post | mlhs_post |
| mlhs_node | __pad16__ |
| lhs | __pad17__ |
| cname | __pad18__ = dispatch1(var_field, $$) |
| cname | tCONSTANT |
| cpath | __pad19__ |
| fname | __pad20__ |
| fsym | __pad21__ = $1 |
| fitem | __pad22__ |
| fitem | dsym |
| undef_list | __pad23__ |
| undef_list | undef_list |
| op | __pad24__ |
| reswords | __pad25__ |
| arg | __pad26__ |
| arg_value | __pad27__ |
| aref_args | __pad28__ |
| | args |
| paren_args | __pad29__ |
| opt_paren_args | __pad30__ |
| opt_call_args | __pad31__ |
| call_args | __pad32__ |
| command_args | __pad33__ |
| block_arg | __pad34__ |
| opt_block_arg | __pad35__ |
| args | __pad36__ |
| mrhs | __pad37__ |
| primary | __pad38__ |
| primary_value | __pad39__ |
| k_begin | __pad40__ |
| k_if | __pad41__ |
| k_unless | __pad42__ |
| k_while | __pad43__ |
| k_until | __pad44__ |
| k_case | __pad45__ |
| k_for | __pad46__ |
| k_class | __pad47__ |
| k_module | __pad48__ |
| k_def | __pad49__ |
| k_end | __pad50__ |
| then | __pad51__ |
| do | __pad52__ |
| | keyword_do_cond |
| if_tail | __pad53__ |
| opt_else | __pad54__ |
| opt_else | for_var |
| f_marg | __pad55__ |
| f_marg_list | __pad56__ = dispatch1(mlhs_paren, $$) |
| f_marg_list | f_marg_list |
| f_margs | __pad57__ |
| block_args_tail | __pad58__ |
| opt_block_args_tail | __pad59__ |
| block_param | __pad60__ |
| block_param | f_block_optarg |
| opt_block_param | __pad61__ |
| block_param_def | __pad62__ |
| block_param_def | Qnil |
| opt_bv_decl | __pad63__ |
| | opt_nl |
| bv_decls | __pad64__ |
| bv_decls | bv_decls |
| bvar | __pad65__ |
| lambda | __pad66__ = get_value($1) |
| f_larglist | __pad67__ |
| lambda_body | __pad68__ |
| do_block | __pad69__ |
| block_call | __pad70__ |
| method_call | __pad71__ |
| brace_block | __pad72__ |
| case_body | __pad73__ |
| cases | __pad74__ |
| opt_rescue | __pad75__ |
| | none |
| exc_list | __pad76__ |
| exc_var | __pad77__ |
| opt_ensure | __pad78__ |
| literal | __pad79__ |
| strings | __pad80__ |
| string | __pad81__ |
| string | string1 |
| string | xstring |
| string | regexp |
| string | words |
| word_list | __pad82__ = dispatch1(array, $$) |
| word | __pad83__ |
| symbols | __pad84__ = dispatch2(word_add, $$, $1) |
| symbol_list | __pad85__ = dispatch1(array, $$) |
| qwords | __pad86__ |
| qsymbols | __pad87__ = dispatch1(array, $$) |
| qword_list | __pad88__ = dispatch1(array, $$) |
| qsym_list | __pad89__ |
| string_contents | __pad90__ |
| xstring_contents | __pad91__ |
| regexp_contents | __pad92__ |
| string_content | __pad93__ |
| | lex_strterm = 0 |
| | lex_state = EXPR_BEG |
| string_dvar | __pad94__ |
| symbol | __pad95__ |
| sym | __pad96__ = dispatch1(symbol, $2) |
| dsym | __pad97__ |
| numeric | __pad98__ = dispatch1(dyna_symbol, $2) |
| user_variable | __pad99__ |
| keyword_variable | __pad100__ |
| var_ref | __pad101__ |
| var_lhs | __pad102__ |
| backref | __pad103__ = dispatch1(var_field, $$) |
| superclass | __pad104__ |
| opt_terms | __pad105__ |
| opt_nl | __pad106__ |
| rparen | __pad107__ |
| rbracket | __pad108__ |
| trailer | __pad109__ |
| trailer | term |
| terms | __pad110__ |
| none | __pad111__ |
| static const rb_data_type_t | parser_data_type |
RUBY_FUNC_EXPORTED const
unsigned int | ruby_global_name_punct_bits [(0x7e-0x20+31)/32] |
| static struct magic_comment | magic_comments [] |
| static const char | id_type_names [][9] |
| struct { |
| ID token |
| const char * name |
| } | op_tbl [] |
| static struct symbols | global_symbols |
| static struct st_hash_type | symhash |