|
Ruby
2.0.0p247(2013-06-27revision41674)
|
#include "ruby/ruby.h"#include "ruby/st.h"#include "ruby/encoding.h"#include "internal.h"#include "node.h"#include "parse.h"#include "id.h"#include "regenc.h"#include <stdio.h>#include <errno.h>#include <ctype.h>#include "probes.h"#include "id.c"#include "ruby/regex.h"#include "ruby/util.h"#include "lex.c"Go to the source code of this file.
Data Structures | |
| struct | vtable |
| struct | local_vars |
| struct | token_info |
| struct | parser_params |
| union | yyalloc |
| struct | magic_comment |
| struct | reg_named_capture_assign_t |
| struct | symbols |
Defines | |
| #define | YYBISON 1 |
| #define | YYBISON_VERSION "2.3" |
| #define | YYSKELETON_NAME "yacc.c" |
| #define | YYPURE 1 |
| #define | YYLSP_NEEDED 0 |
| #define | YYTOKENTYPE |
| #define | END_OF_INPUT 0 |
| #define | keyword_class 258 |
| #define | keyword_module 259 |
| #define | keyword_def 260 |
| #define | keyword_undef 261 |
| #define | keyword_begin 262 |
| #define | keyword_rescue 263 |
| #define | keyword_ensure 264 |
| #define | keyword_end 265 |
| #define | keyword_if 266 |
| #define | keyword_unless 267 |
| #define | keyword_then 268 |
| #define | keyword_elsif 269 |
| #define | keyword_else 270 |
| #define | keyword_case 271 |
| #define | keyword_when 272 |
| #define | keyword_while 273 |
| #define | keyword_until 274 |
| #define | keyword_for 275 |
| #define | keyword_break 276 |
| #define | keyword_next 277 |
| #define | keyword_redo 278 |
| #define | keyword_retry 279 |
| #define | keyword_in 280 |
| #define | keyword_do 281 |
| #define | keyword_do_cond 282 |
| #define | keyword_do_block 283 |
| #define | keyword_do_LAMBDA 284 |
| #define | keyword_return 285 |
| #define | keyword_yield 286 |
| #define | keyword_super 287 |
| #define | keyword_self 288 |
| #define | keyword_nil 289 |
| #define | keyword_true 290 |
| #define | keyword_false 291 |
| #define | keyword_and 292 |
| #define | keyword_or 293 |
| #define | keyword_not 294 |
| #define | modifier_if 295 |
| #define | modifier_unless 296 |
| #define | modifier_while 297 |
| #define | modifier_until 298 |
| #define | modifier_rescue 299 |
| #define | keyword_alias 300 |
| #define | keyword_defined 301 |
| #define | keyword_BEGIN 302 |
| #define | keyword_END 303 |
| #define | keyword__LINE__ 304 |
| #define | keyword__FILE__ 305 |
| #define | keyword__ENCODING__ 306 |
| #define | tIDENTIFIER 307 |
| #define | tFID 308 |
| #define | tGVAR 309 |
| #define | tIVAR 310 |
| #define | tCONSTANT 311 |
| #define | tCVAR 312 |
| #define | tLABEL 313 |
| #define | tINTEGER 314 |
| #define | tFLOAT 315 |
| #define | tSTRING_CONTENT 316 |
| #define | tCHAR 317 |
| #define | tNTH_REF 318 |
| #define | tBACK_REF 319 |
| #define | tREGEXP_END 320 |
| #define | tUPLUS 130 |
| #define | tUMINUS 131 |
| #define | tPOW 132 |
| #define | tCMP 134 |
| #define | tEQ 139 |
| #define | tEQQ 140 |
| #define | tNEQ 141 |
| #define | tGEQ 138 |
| #define | tLEQ 137 |
| #define | tANDOP 321 |
| #define | tOROP 322 |
| #define | tMATCH 142 |
| #define | tNMATCH 143 |
| #define | tDOT2 128 |
| #define | tDOT3 129 |
| #define | tAREF 144 |
| #define | tASET 145 |
| #define | tLSHFT 135 |
| #define | tRSHFT 136 |
| #define | tCOLON2 323 |
| #define | tCOLON3 324 |
| #define | tOP_ASGN 325 |
| #define | tASSOC 326 |
| #define | tLPAREN 327 |
| #define | tLPAREN_ARG 328 |
| #define | tRPAREN 329 |
| #define | tLBRACK 330 |
| #define | tLBRACE 331 |
| #define | tLBRACE_ARG 332 |
| #define | tSTAR 333 |
| #define | tDSTAR 334 |
| #define | tAMPER 335 |
| #define | tLAMBDA 336 |
| #define | tSYMBEG 337 |
| #define | tSTRING_BEG 338 |
| #define | tXSTRING_BEG 339 |
| #define | tREGEXP_BEG 340 |
| #define | tWORDS_BEG 341 |
| #define | tQWORDS_BEG 342 |
| #define | tSYMBOLS_BEG 343 |
| #define | tQSYMBOLS_BEG 344 |
| #define | tSTRING_DBEG 345 |
| #define | tSTRING_DEND 346 |
| #define | tSTRING_DVAR 347 |
| #define | tSTRING_END 348 |
| #define | tLAMBEG 349 |
| #define | tLOWEST 350 |
| #define | tUMINUS_NUM 351 |
| #define | tLAST_TOKEN 352 |
| #define | PARSER_DEBUG 0 |
| #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 | YYLEX_PARAM parser |
| #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 | 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 /* nothing to gc */ |
| #define | NODE_HEREDOC NODE_ARRAY /* 1, 3 to gc */ |
| #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 | YYERROR_VERBOSE 1 |
| #define | YYTOKEN_TABLE 0 |
| #define | YYSIZE_T unsigned int |
| #define | YYSIZE_MAXIMUM ((YYSIZE_T) -1) |
| #define | YY_(msgid) msgid |
| #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(To, From, Count) |
| #define | YYSTACK_RELOCATE(Stack) |
| #define | YYFINAL 3 |
| #define | YYLAST 10982 |
| #define | YYNTOKENS 142 |
| #define | YYNNTS 197 |
| #define | YYNRULES 618 |
| #define | YYNSTATES 1055 |
| #define | YYUNDEFTOK 2 |
| #define | YYMAXUTOK 352 |
| #define | YYTRANSLATE(YYX) ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) |
| #define | YYPACT_NINF -804 |
| #define | YYTABLE_NINF -619 |
| #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 | YYRHSLOC(Rhs, K) ((Rhs)[K]) |
| #define | YYLLOC_DEFAULT(Current, Rhs, N) |
| #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 | YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) |
| #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 | ENABLE_SELECTOR_NAMESPACE 0 |
| #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 VALUE | stack_type |
| typedef struct token_info | token_info |
| typedef unsigned char | yytype_uint8 |
| typedef short int | yytype_int8 |
| typedef unsigned short int | yytype_uint16 |
| typedef short int | yytype_int16 |
| 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 | yytokentype { END_OF_INPUT = 0, 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_defined = 301, keyword_BEGIN = 302, keyword_END = 303, keyword__LINE__ = 304, keyword__FILE__ = 305, keyword__ENCODING__ = 306, tIDENTIFIER = 307, tFID = 308, tGVAR = 309, tIVAR = 310, tCONSTANT = 311, tCVAR = 312, tLABEL = 313, tINTEGER = 314, tFLOAT = 315, tSTRING_CONTENT = 316, tCHAR = 317, tNTH_REF = 318, tBACK_REF = 319, tREGEXP_END = 320, tUPLUS = 130, tUMINUS = 131, tPOW = 132, tCMP = 134, tEQ = 139, tEQQ = 140, tNEQ = 141, tGEQ = 138, tLEQ = 137, tANDOP = 321, tOROP = 322, tMATCH = 142, tNMATCH = 143, tDOT2 = 128, tDOT3 = 129, tAREF = 144, tASET = 145, tLSHFT = 135, tRSHFT = 136, tCOLON2 = 323, tCOLON3 = 324, tOP_ASGN = 325, tASSOC = 326, tLPAREN = 327, tLPAREN_ARG = 328, tRPAREN = 329, tLBRACK = 330, tLBRACE = 331, tLBRACE_ARG = 332, tSTAR = 333, tDSTAR = 334, tAMPER = 335, tLAMBDA = 336, tSYMBEG = 337, tSTRING_BEG = 338, tXSTRING_BEG = 339, tREGEXP_BEG = 340, tWORDS_BEG = 341, tQWORDS_BEG = 342, tSYMBOLS_BEG = 343, tQSYMBOLS_BEG = 344, tSTRING_DBEG = 345, tSTRING_DEND = 346, tSTRING_DVAR = 347, tSTRING_END = 348, tLAMBEG = 349, tLOWEST = 350, tUMINUS_NUM = 351, tLAST_TOKEN = 352, END_OF_INPUT = 0, 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_defined = 301, keyword_BEGIN = 302, keyword_END = 303, keyword__LINE__ = 304, keyword__FILE__ = 305, keyword__ENCODING__ = 306, tIDENTIFIER = 307, tFID = 308, tGVAR = 309, tIVAR = 310, tCONSTANT = 311, tCVAR = 312, tLABEL = 313, tINTEGER = 314, tFLOAT = 315, tSTRING_CONTENT = 316, tCHAR = 317, tNTH_REF = 318, tBACK_REF = 319, tREGEXP_END = 320, tUPLUS = 130, tUMINUS = 131, tPOW = 132, tCMP = 134, tEQ = 139, tEQQ = 140, tNEQ = 141, tGEQ = 138, tLEQ = 137, tANDOP = 321, tOROP = 322, tMATCH = 142, tNMATCH = 143, tDOT2 = 128, tDOT3 = 129, tAREF = 144, tASET = 145, tLSHFT = 135, tRSHFT = 136, tCOLON2 = 323, tCOLON3 = 324, tOP_ASGN = 325, tASSOC = 326, tLPAREN = 327, tLPAREN_ARG = 328, tRPAREN = 329, tLBRACK = 330, tLBRACE = 331, tLBRACE_ARG = 332, tSTAR = 333, tDSTAR = 334, tAMPER = 335, tLAMBDA = 336, tSYMBEG = 337, tSTRING_BEG = 338, tXSTRING_BEG = 339, tREGEXP_BEG = 340, tWORDS_BEG = 341, tQWORDS_BEG = 342, tSYMBOLS_BEG = 343, tQSYMBOLS_BEG = 344, tSTRING_DBEG = 345, tSTRING_DEND = 346, tSTRING_DVAR = 347, tSTRING_END = 348, tLAMBEG = 349, tLOWEST = 350, tUMINUS_NUM = 351, tLAST_TOKEN = 352, END_OF_INPUT = 0, 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_defined = 301, keyword_BEGIN = 302, keyword_END = 303, keyword__LINE__ = 304, keyword__FILE__ = 305, keyword__ENCODING__ = 306, tIDENTIFIER = 307, tFID = 308, tGVAR = 309, tIVAR = 310, tCONSTANT = 311, tCVAR = 312, tLABEL = 313, tINTEGER = 314, tFLOAT = 315, tSTRING_CONTENT = 316, tCHAR = 317, tNTH_REF = 318, tBACK_REF = 319, tREGEXP_END = 320, tUPLUS = 130, tUMINUS = 131, tPOW = 132, tCMP = 134, tEQ = 139, tEQQ = 140, tNEQ = 141, tGEQ = 138, tLEQ = 137, tANDOP = 321, tOROP = 322, tMATCH = 142, tNMATCH = 143, tDOT2 = 128, tDOT3 = 129, tAREF = 144, tASET = 145, tLSHFT = 135, tRSHFT = 136, tCOLON2 = 323, tCOLON3 = 324, tOP_ASGN = 325, tASSOC = 326, tLPAREN = 327, tLPAREN_ARG = 328, tRPAREN = 329, tLBRACK = 330, tLBRACE = 331, tLBRACE_ARG = 332, tSTAR = 333, tDSTAR = 334, tAMPER = 335, tLAMBDA = 336, tSYMBEG = 337, tSTRING_BEG = 338, tXSTRING_BEG = 339, tREGEXP_BEG = 340, tWORDS_BEG = 341, tQWORDS_BEG = 342, tSYMBOLS_BEG = 343, tQSYMBOLS_BEG = 344, tSTRING_DBEG = 345, tSTRING_DEND = 346, tSTRING_DVAR = 347, tSTRING_END = 348, tLAMBEG = 349, tLOWEST = 350, tUMINUS_NUM = 351, tLAST_TOKEN = 352 } |
| enum | lex_state_bits { EXPR_BEG_bit, EXPR_END_bit, EXPR_ENDARG_bit, EXPR_ENDFN_bit, EXPR_ARG_bit, EXPR_CMDARG_bit, EXPR_MID_bit, EXPR_FNAME_bit, EXPR_DOT_bit, EXPR_CLASS_bit, EXPR_VALUE_bit, EXPR_MAX_STATE, EXPR_BEG_bit, EXPR_END_bit, EXPR_ENDARG_bit, EXPR_ENDFN_bit, EXPR_ARG_bit, EXPR_CMDARG_bit, EXPR_MID_bit, EXPR_FNAME_bit, EXPR_DOT_bit, EXPR_CLASS_bit, EXPR_VALUE_bit, EXPR_MAX_STATE } |
| enum | lex_state_e |
| 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 | |
| static ID | register_symid (ID, const char *, long, rb_encoding *) |
| static ID | register_symid_str (ID, VALUE) |
| DEF_EXPR (BEG) | |
| DEF_EXPR (END) | |
| DEF_EXPR (ENDARG) | |
| DEF_EXPR (ENDFN) | |
| DEF_EXPR (ARG) | |
| DEF_EXPR (CMDARG) | |
| DEF_EXPR (MID) | |
| DEF_EXPR (FNAME) | |
| DEF_EXPR (DOT) | |
| DEF_EXPR (CLASS) | |
| DEF_EXPR (VALUE) | |
| static int | vtable_size (const struct vtable *tbl) |
| static struct vtable * | vtable_alloc (struct vtable *prev) |
| static void | vtable_free (struct vtable *tbl) |
| static void | vtable_add (struct vtable *tbl, ID id) |
| static int | vtable_included (const struct vtable *tbl, ID id) |
| static int | parser_yyerror (struct parser_params *, const char *) |
| static int | yylex (void *, void *) |
| static NODE * | node_newnode (struct parser_params *, enum node_type, VALUE, VALUE, VALUE) |
| static NODE * | cond_gen (struct parser_params *, NODE *) |
| static NODE * | logop_gen (struct parser_params *, enum node_type, NODE *, NODE *) |
| static NODE * | newline_node (NODE *) |
| static void | fixpos (NODE *, NODE *) |
| static int | value_expr_gen (struct parser_params *, NODE *) |
| static void | void_expr_gen (struct parser_params *, NODE *) |
| static NODE * | remove_begin (NODE *) |
| static void | void_stmts_gen (struct parser_params *, NODE *) |
| static void | reduce_nodes_gen (struct parser_params *, NODE **) |
| static void | block_dup_check_gen (struct parser_params *, NODE *, NODE *) |
| static NODE * | block_append_gen (struct parser_params *, NODE *, NODE *) |
| static NODE * | list_append_gen (struct parser_params *, NODE *, NODE *) |
| static NODE * | list_concat_gen (struct parser_params *, NODE *, NODE *) |
| static NODE * | arg_append_gen (struct parser_params *, NODE *, NODE *) |
| static NODE * | arg_concat_gen (struct parser_params *, NODE *, NODE *) |
| static NODE * | literal_concat_gen (struct parser_params *, NODE *, NODE *) |
| static int | literal_concat0 (struct parser_params *, VALUE, VALUE) |
| static NODE * | new_evstr_gen (struct parser_params *, NODE *) |
| static NODE * | evstr2dstr_gen (struct parser_params *, NODE *) |
| static NODE * | splat_array (NODE *) |
| static NODE * | call_bin_op_gen (struct parser_params *, NODE *, ID, NODE *) |
| static NODE * | call_uni_op_gen (struct parser_params *, NODE *, ID) |
| static NODE * | new_args_gen (struct parser_params *, NODE *, NODE *, ID, NODE *, NODE *) |
| static NODE * | new_args_tail_gen (struct parser_params *, NODE *, ID, ID) |
| static NODE * | negate_lit (NODE *) |
| static NODE * | ret_args_gen (struct parser_params *, NODE *) |
| static NODE * | arg_blk_pass (NODE *, NODE *) |
| static NODE * | new_yield_gen (struct parser_params *, NODE *) |
| static NODE * | dsym_node_gen (struct parser_params *, NODE *) |
| static NODE * | gettable_gen (struct parser_params *, ID) |
| static NODE * | assignable_gen (struct parser_params *, ID, NODE *) |
| static NODE * | aryset_gen (struct parser_params *, NODE *, NODE *) |
| static NODE * | attrset_gen (struct parser_params *, NODE *, ID) |
| static void | rb_backref_error_gen (struct parser_params *, NODE *) |
| static NODE * | node_assign_gen (struct parser_params *, 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 NODE * | match_op_gen (struct parser_params *, NODE *, NODE *) |
| static ID * | local_tbl_gen (struct parser_params *) |
| static void | fixup_nodes (NODE **) |
| static VALUE | reg_compile_gen (struct parser_params *, VALUE, int) |
| static void | reg_fragment_setenc_gen (struct parser_params *, VALUE, int) |
| static int | reg_fragment_check_gen (struct parser_params *, VALUE, int) |
| static NODE * | reg_named_capture_assign_gen (struct parser_params *parser, VALUE regexp, NODE *match) |
| static ID | formal_argument_gen (struct parser_params *, ID) |
| static ID | shadowing_lvar_gen (struct parser_params *, ID) |
| static void | new_bv_gen (struct parser_params *, ID) |
| static void | local_push_gen (struct parser_params *, int) |
| static void | local_pop_gen (struct parser_params *) |
| static int | local_var_gen (struct parser_params *, ID) |
| static int | arg_var_gen (struct parser_params *, ID) |
| static int | local_id_gen (struct parser_params *, ID) |
| static ID | internal_id_gen (struct parser_params *) |
| static struct vtable * | dyna_push_gen (struct parser_params *) |
| static void | dyna_pop_gen (struct parser_params *, const struct vtable *) |
| static int | dyna_in_block_gen (struct parser_params *) |
| static int | dvar_defined_gen (struct parser_params *, ID, int) |
| static int | dvar_curr_gen (struct parser_params *, ID) |
| static int | lvar_defined_gen (struct parser_params *, ID) |
| static void | token_info_push (struct parser_params *, const char *token) |
| static void | token_info_pop (struct parser_params *, const char *token) |
| static void | yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const *const yyvaluep, struct parser_params *parser) |
| static void | yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const *const yyvaluep, struct parser_params *parser) |
| static void | yy_stack_print (yytype_int16 *bottom, yytype_int16 *top) |
| static void | yy_reduce_print (YYSTYPE *yyvsp, int yyrule, struct parser_params *parser) |
| static YYSIZE_T | yystrlen (char *yystr) const |
| static char * | yystpcpy (char *yydest, const char *yysrc) |
| static YYSIZE_T | yytnamerr (char *yyres, const char *yystr) |
| static YYSIZE_T | yysyntax_error (char *yyresult, int yystate, int yychar) |
| static void | yydestruct (char *yymsg, int yytype, YYSTYPE *yyvaluep, struct parser_params *parser) const |
| int | yyparse () |
| int | yyparse (struct parser_params *parser) |
| 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 | parser_prepare (struct parser_params *parser) |
| static VALUE | debug_lines (const char *f) |
| static VALUE | coverage (const char *f, int n) |
| static int | e_option_supplied (struct parser_params *parser) |
| static VALUE | yycompile0 (VALUE arg) |
| static NODE * | yycompile (struct parser_params *parser, const char *f, 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, const char *f, 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_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) |
| 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 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 enum node_type | nodetype (NODE *node) |
| static int | nodeline (NODE *node) |
| 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 int | is_private_local_id (ID name) |
| ID | rb_id_attrset (ID id) |
| 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 NODE * | cond0 (struct parser_params *, NODE *) |
| static NODE * | range_op (struct parser_params *parser, NODE *node) |
| static int | literal_node (NODE *node) |
| static void | no_blockarg (struct parser_params *parser, NODE *node) |
| static void | warn_unused_var (struct parser_params *parser, struct local_vars *local) |
| static ID * | vtable_tblcpy (ID *buf, const struct vtable *src) |
| static void | dyna_pop_1 (struct parser_params *parser) |
| static int | reg_named_capture_assign_iter (const OnigUChar *name, const OnigUChar *name_end, int back_num, int *back_refs, OnigRegex regex, void *arg0) |
| 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 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) |
| int | rb_enc_symname2_p (const char *name, long len, rb_encoding *enc) |
| static int | rb_str_symname_type (VALUE name) |
| 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 | |
| static const yytype_uint8 | yytranslate [] |
| static const yytype_uint16 | yyprhs [] |
| static const yytype_int16 | yyrhs [] |
| static const yytype_uint16 | yyrline [] |
| static const char *const | yytname [] |
| static const yytype_uint16 | yyr1 [] |
| static const yytype_uint8 | yyr2 [] |
| static const yytype_uint16 | yydefact [] |
| static const yytype_int16 | yydefgoto [] |
| static const yytype_int16 | yypact [] |
| static const yytype_int16 | yypgoto [] |
| static const yytype_int16 | yytable [] |
| static const yytype_int16 | yycheck [] |
| static const yytype_uint16 | yystos [] |
| 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 [] |
| struct { | |
| ID token | |
| const char * name | |
| } | op_tbl [] |
| static struct symbols | global_symbols |
| static struct st_hash_type | symhash |
| #define ADD2HEAP | ( | n, | |
| c, | |||
| p | |||
| ) |
((parser->heap = (n))->u1.node = (p), \
(n)->u3.cnt = (c), (p))
Definition at line 16515 of file ripper.c.
Referenced by rb_parser_calloc(), rb_parser_malloc(), and rb_parser_realloc().
| #define ambiguous_operator | ( | op, | |
| syn | |||
| ) |
| #define arg_ambiguous | ( | ) | (arg_ambiguous_gen(parser), 1) |
Definition at line 12136 of file ripper.c.
Referenced by arg_ambiguous_gen(), and parser_yylex().
| #define arg_append | ( | h, | |
| t | |||
| ) | arg_append_gen(parser,(h),(t)) |
Definition at line 681 of file ripper.c.
Referenced by arg_append_gen(), node_assign_gen(), and yyparse().
| #define arg_concat | ( | h, | |
| t | |||
| ) | arg_concat_gen(parser,(h),(t)) |
Definition at line 683 of file ripper.c.
Referenced by arg_concat_gen(), and yyparse().
| #define arg_var | ( | id | ) | arg_var_gen(parser, (id)) |
Definition at line 790 of file ripper.c.
Referenced by new_args_tail_gen(), and yyparse().
| #define aryset | ( | node1, | |
| node2 | |||
| ) | aryset_gen(parser, (node1), (node2)) |
| #define assignable | ( | id, | |
| node | |||
| ) | assignable_gen(parser, (id), (node)) |
Definition at line 715 of file ripper.c.
Referenced by reg_named_capture_assign_iter(), and yyparse().
| #define assignable_result | ( | x | ) | (x) |
Referenced by assignable_gen().
| #define BIT | ( | c, | |
| idx | |||
| ) | (((c) / 32 - 1 == idx) ? (1U << ((c) % 32)) : 0) |
| #define BITSTACK_LEXPOP | ( | stack | ) | ((stack) = ((stack) >> 1) | ((stack) & 1)) |
| #define BITSTACK_POP | ( | stack | ) | ((stack) = (stack) >> 1) |
| #define BITSTACK_PUSH | ( | stack, | |
| n | |||
| ) | ((stack) = ((stack)<<1)|((n)&1)) |
| #define BITSTACK_SET_P | ( | stack | ) | ((stack)&1) |
| #define block_append | ( | h, | |
| t | |||
| ) | block_append_gen(parser,(h),(t)) |
Definition at line 675 of file ripper.c.
Referenced by rb_parser_append_print(), rb_parser_while_loop(), reg_named_capture_assign_gen(), reg_named_capture_assign_iter(), and yyparse().
| #define block_dup_check | ( | n1, | |
| n2 | |||
| ) | block_dup_check_gen(parser,(n1),(n2)) |
| #define brace_nest (parser->parser_brace_nest) |
Definition at line 610 of file ripper.c.
Referenced by parser_yylex(), and yyparse().
| #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)) |
Definition at line 334 of file ripper.c.
Referenced by compat_init_setproctitle(), opendir_internal(), rb_w32_cmdvector(), and vm_xcalloc().
| #define class_nest (parser->parser_class_nest) |
| #define CMDARG_LEXPOP | ( | ) | BITSTACK_LEXPOP(cmdarg_stack) |
Definition at line 412 of file ripper.c.
Referenced by parser_yylex().
| #define CMDARG_P | ( | ) | BITSTACK_SET_P(cmdarg_stack) |
Definition at line 413 of file ripper.c.
Referenced by parser_yylex().
| #define CMDARG_POP | ( | ) | BITSTACK_POP(cmdarg_stack) |
| #define CMDARG_PUSH | ( | n | ) | BITSTACK_PUSH(cmdarg_stack, (n)) |
Definition at line 410 of file ripper.c.
Referenced by parser_yylex(), and yyparse().
| #define cmdarg_stack (parser->parser_cmdarg_stack) |
| #define command_start (parser->parser_command_start) |
Definition at line 627 of file ripper.c.
Referenced by parser_peek_variable_name(), parser_yylex(), and yyparse().
| #define compile_error parser->nerr++,rb_compile_error_with_enc |
Definition at line 951 of file ripper.c.
Referenced by assignable_gen(), block_dup_check_gen(), gettable_gen(), literal_concat0(), new_bv_gen(), no_blockarg(), parser_here_document(), parser_heredoc_identifier(), parser_parse_string(), parser_regx_options(), parser_tokadd_mbchar(), parser_yyerror(), parser_yylex(), rb_backref_error_gen(), reg_compile_gen(), reg_fragment_check_gen(), reg_fragment_setenc_gen(), and yyparse().
| #define compile_for_eval (parser->parser_compile_for_eval) |
Definition at line 613 of file ripper.c.
Referenced by local_push_gen(), parser_compile_string(), rb_parser_compile_file(), yycompile0(), and yyparse().
Definition at line 654 of file ripper.c.
Referenced by value_expr_gen(), and yyparse().
| #define COND_LEXPOP | ( | ) | BITSTACK_LEXPOP(cond_stack) |
Definition at line 407 of file ripper.c.
Referenced by parser_yylex().
| #define COND_P | ( | ) | BITSTACK_SET_P(cond_stack) |
Definition at line 408 of file ripper.c.
Referenced by parser_yylex().
| #define COND_POP | ( | ) | BITSTACK_POP(cond_stack) |
| #define COND_PUSH | ( | n | ) | BITSTACK_PUSH(cond_stack, (n)) |
Definition at line 405 of file ripper.c.
Referenced by parser_yylex(), and yyparse().
| #define cond_stack (parser->parser_cond_stack) |
| #define cur_mid (parser->parser_cur_mid) |
| #define current_enc (parser->enc) |
Definition at line 635 of file ripper.c.
Referenced by gettable_gen(), lex_getline(), parser_here_document(), parser_nextc(), parser_parse_string(), parser_yylex(), rb_parser_encoding(), and reg_fragment_setenc_gen().
| fixup_nodes & deferred_nodes (parser->parser_deferred_nodes) |
Definition at line 628 of file ripper.c.
Referenced by yycompile0(), and yyparse().
| #define dispatch_heredoc_end | ( | ) | ((void)0) |
Definition at line 12021 of file ripper.c.
Referenced by parser_here_document().
| #define dsym_node | ( | node | ) | dsym_node_gen(parser, (node)) |
| #define dvar_curr | ( | id | ) | dvar_curr_gen(parser, (id)) |
Definition at line 807 of file ripper.c.
Referenced by assignable_gen(), and shadowing_lvar_gen().
| #define dvar_defined | ( | id | ) | dvar_defined_gen(parser, (id), 0) |
Definition at line 804 of file ripper.c.
Referenced by assignable_gen(), gettable_gen(), and reg_named_capture_assign_iter().
| #define dvar_defined_get | ( | id | ) | dvar_defined_gen(parser, (id), 1) |
Definition at line 805 of file ripper.c.
Referenced by lvar_defined_gen(), and shadowing_lvar_gen().
| #define DVARS_INHERIT ((void*)1) |
Definition at line 429 of file ripper.c.
Referenced by dvar_defined_gen(), local_id_gen(), and local_push_gen().
| #define DVARS_SPECIAL_P | ( | tbl | ) | (!POINTER_P(tbl)) |
| #define DVARS_TOPSCOPE NULL |
Definition at line 430 of file ripper.c.
Referenced by dyna_in_block_gen(), and local_push_gen().
| #define dyna_in_block | ( | ) | dyna_in_block_gen(parser) |
Definition at line 801 of file ripper.c.
Referenced by assignable_gen(), gettable_gen(), lvar_defined_gen(), shadowing_lvar_gen(), and yyparse().
| #define dyna_pop | ( | node | ) | dyna_pop_gen(parser, (node)) |
| #define dyna_push | ( | ) | dyna_push_gen(parser) |
Definition at line 802 of file ripper.c.
Referenced by assignable_gen(), and new_bv_gen().
| #define ENABLE_SELECTOR_NAMESPACE 0 |
| #define ENC_SINGLE | ( | cr | ) | ((cr)==ENC_CODERANGE_7BIT) |
Definition at line 595 of file ripper.c.
Referenced by parser_yylex().
| #define END_OF_INPUT 0 |
| #define ESCAPE_CONTROL 1 |
Definition at line 11390 of file ripper.c.
Referenced by parser_read_escape(), and parser_tokadd_escape().
| #define ESCAPE_META 2 |
Definition at line 11391 of file ripper.c.
Referenced by parser_read_escape(), and parser_tokadd_escape().
| #define evstr2dstr | ( | n | ) | evstr2dstr_gen(parser,(n)) |
| #define flush_string_content | ( | enc | ) | ((void)(enc)) |
Definition at line 11789 of file ripper.c.
Referenced by parser_here_document(), and parser_parse_string().
| #define formal_argument | ( | id | ) | formal_argument_gen(parser, (id)) |
Definition at line 750 of file ripper.c.
Referenced by assignable_gen(), and yyparse().
| #define gettable | ( | id | ) | gettable_gen(parser,(id)) |
Definition at line 713 of file ripper.c.
Referenced by new_op_assign_gen(), reg_named_capture_assign_gen(), reg_named_capture_assign_iter(), and yyparse().
Definition at line 16513 of file ripper.c.
Referenced by rb_parser_calloc(), rb_parser_malloc(), and rb_parser_realloc().
| #define here_document | ( | n | ) | parser_here_document(parser,(n)) |
Definition at line 10665 of file ripper.c.
Referenced by parser_yylex().
| #define heredoc_end (parser->parser_heredoc_end) |
Definition at line 626 of file ripper.c.
Referenced by parser_heredoc_restore(), and parser_nextc().
| #define heredoc_identifier | ( | ) | parser_heredoc_identifier(parser) |
Definition at line 10666 of file ripper.c.
Referenced by parser_yylex().
| #define heredoc_restore | ( | n | ) | parser_heredoc_restore(parser,(n)) |
Definition at line 10667 of file ripper.c.
Referenced by parser_here_document().
| #define id_type | ( | id | ) | (is_notop_id(id) ? (int)((id)&ID_SCOPE_MASK) : -1) |
Definition at line 352 of file ripper.c.
Referenced by assignable_gen(), and gettable_gen().
| #define ifndef_ripper | ( | x | ) | (x) |
Definition at line 917 of file ripper.c.
Referenced by local_push_gen(), and yyparse().
| #define in_def (parser->parser_in_def) |
Definition at line 612 of file ripper.c.
Referenced by assignable_gen(), and yyparse().
| #define in_defined (parser->parser_in_defined) |
| #define in_single (parser->parser_in_single) |
Definition at line 611 of file ripper.c.
Referenced by assignable_gen(), and yyparse().
| #define internal_id | ( | ) | internal_id_gen(parser) |
Definition at line 794 of file ripper.c.
Referenced by new_args_tail_gen(), and yyparse().
| #define IS_AFTER_OPERATOR | ( | ) | IS_lex_state(EXPR_FNAME | EXPR_DOT) |
Definition at line 12469 of file ripper.c.
Referenced by parser_yylex().
| #define IS_ARG | ( | ) | IS_lex_state(EXPR_ARG_ANY) |
Definition at line 12463 of file ripper.c.
Referenced by parser_yylex().
| #define is_asgn_or_id | ( | id | ) |
((is_notop_id(id)) && \ (((id)&ID_SCOPE_MASK) == ID_GLOBAL || \ ((id)&ID_SCOPE_MASK) == ID_INSTANCE || \ ((id)&ID_SCOPE_MASK) == ID_CLASS))
Definition at line 354 of file ripper.c.
Referenced by new_op_assign_gen().
| #define is_attrset_id | ( | id | ) | (is_notop_id(id)&&((id)&ID_SCOPE_MASK)==ID_ATTRSET) |
Definition at line 348 of file ripper.c.
Referenced by intern_str(), rb_id2str(), and rb_is_attrset_id().
| #define IS_BEG | ( | ) | IS_lex_state(EXPR_BEG_ANY) |
Definition at line 12465 of file ripper.c.
Referenced by parser_yylex().
| #define is_class_id | ( | id | ) | (is_notop_id(id)&&((id)&ID_SCOPE_MASK)==ID_CLASS) |
Definition at line 350 of file ripper.c.
Referenced by rb_is_class_id().
| #define is_const_id | ( | id | ) | (is_notop_id(id)&&((id)&ID_SCOPE_MASK)==ID_CONST) |
Definition at line 349 of file ripper.c.
Referenced by rb_is_const_id().
| #define IS_END | ( | ) | IS_lex_state(EXPR_END_ANY) |
Definition at line 12464 of file ripper.c.
Referenced by parser_yylex().
| #define is_global_id | ( | id | ) | (is_notop_id(id)&&((id)&ID_SCOPE_MASK)==ID_GLOBAL) |
Definition at line 346 of file ripper.c.
Referenced by rb_is_global_id().
| #define is_identchar | ( | p, | |
| e, | |||
| enc | |||
| ) | (rb_enc_isalnum(*(p),(enc)) || (*(p)) == '_' || !ISASCII(*(p))) |
Definition at line 10764 of file ripper.c.
Referenced by intern_str(), is_special_global_name(), parser_yylex(), and rb_enc_symname_type().
| #define is_instance_id | ( | id | ) | (is_notop_id(id)&&((id)&ID_SCOPE_MASK)==ID_INSTANCE) |
Definition at line 347 of file ripper.c.
Referenced by rb_is_instance_id().
| #define is_junk_id | ( | id | ) | (is_notop_id(id)&&((id)&ID_SCOPE_MASK)==ID_JUNK) |
Definition at line 351 of file ripper.c.
Referenced by rb_is_junk_id().
| #define IS_LABEL_POSSIBLE | ( | ) | ((IS_lex_state(EXPR_BEG | EXPR_ENDFN) && !cmd_state) || IS_ARG()) |
Definition at line 12467 of file ripper.c.
Referenced by parser_yylex().
| #define IS_LABEL_SUFFIX | ( | n | ) | (peek_n(':',(n)) && !peek_n(':', (n)+1)) |
Definition at line 12468 of file ripper.c.
Referenced by parser_yylex().
| #define IS_lex_state | ( | ls | ) | IS_lex_state_for(lex_state, (ls)) |
Definition at line 392 of file ripper.c.
Referenced by parser_yylex().
| #define IS_lex_state_for | ( | x, | |
| ls | |||
| ) | ((x) & (ls)) |
Definition at line 391 of file ripper.c.
Referenced by parser_yylex().
| #define is_local_id | ( | id | ) | (is_notop_id(id)&&((id)&ID_SCOPE_MASK)==ID_LOCAL) |
Definition at line 345 of file ripper.c.
Referenced by formal_argument_gen(), is_private_local_id(), new_bv_gen(), parser_yylex(), rb_id2str(), rb_is_local_id(), and yyparse().
| #define is_notop_id | ( | id | ) | ((id)>tLAST_OP_ID) |
Definition at line 12466 of file ripper.c.
Referenced by parser_yylex().
| #define keyword__ENCODING__ 306 |
Definition at line 234 of file ripper.c.
Referenced by assignable_gen(), gettable_gen(), and yyparse().
| #define keyword__FILE__ 305 |
Definition at line 233 of file ripper.c.
Referenced by assignable_gen(), gettable_gen(), and yyparse().
| #define keyword__LINE__ 304 |
Definition at line 232 of file ripper.c.
Referenced by assignable_gen(), gettable_gen(), and yyparse().
| #define keyword_alias 300 |
| #define keyword_and 292 |
| #define keyword_begin 262 |
| #define keyword_BEGIN 302 |
| #define keyword_break 276 |
| #define keyword_case 271 |
| #define keyword_class 258 |
| #define keyword_def 260 |
| #define keyword_defined 301 |
| #define keyword_do 281 |
Definition at line 209 of file ripper.c.
Referenced by parser_yylex().
| #define keyword_do_block 283 |
Definition at line 211 of file ripper.c.
Referenced by parser_yylex().
| #define keyword_do_cond 282 |
Definition at line 210 of file ripper.c.
Referenced by parser_yylex().
| #define keyword_do_LAMBDA 284 |
Definition at line 212 of file ripper.c.
Referenced by parser_yylex().
| #define keyword_else 270 |
| #define keyword_elsif 269 |
| #define keyword_end 265 |
| #define keyword_END 303 |
| #define keyword_ensure 264 |
| #define keyword_false 291 |
Definition at line 219 of file ripper.c.
Referenced by assignable_gen(), gettable_gen(), and yyparse().
| #define keyword_for 275 |
| #define keyword_if 266 |
| #define keyword_in 280 |
| #define keyword_module 259 |
| #define keyword_next 277 |
| #define keyword_nil 289 |
Definition at line 217 of file ripper.c.
Referenced by assignable_gen(), gettable_gen(), and yyparse().
| #define keyword_not 294 |
| #define keyword_or 293 |
| #define keyword_redo 278 |
| #define keyword_rescue 263 |
| #define keyword_retry 279 |
| #define keyword_return 285 |
| #define keyword_self 288 |
Definition at line 216 of file ripper.c.
Referenced by assignable_gen(), gettable_gen(), and yyparse().
| #define keyword_super 287 |
| #define keyword_then 268 |
| #define keyword_true 290 |
Definition at line 218 of file ripper.c.
Referenced by assignable_gen(), gettable_gen(), and yyparse().
| #define keyword_undef 261 |
| #define keyword_unless 267 |
| #define keyword_until 274 |
| #define keyword_when 272 |
| #define keyword_while 273 |
| #define keyword_yield 286 |
Definition at line 11186 of file ripper.c.
Referenced by parser_yylex().
| #define lex_gets (parser->parser_lex_gets) |
Definition at line 630 of file ripper.c.
Referenced by parser_compile_string(), and rb_parser_compile_file().
| #define lex_gets_ptr (parser->parser_lex_gets_ptr) |
Definition at line 629 of file ripper.c.
Referenced by lex_get_str(), and parser_compile_string().
| #define lex_goto_eol | ( | parser | ) | ((parser)->parser_lex_p = (parser)->parser_lex_pend) |
Definition at line 11185 of file ripper.c.
Referenced by parser_here_document(), parser_heredoc_identifier(), parser_nextc(), and parser_yylex().
| #define lex_input (parser->parser_lex_input) |
Definition at line 620 of file ripper.c.
Referenced by parser_compile_string(), parser_nextc(), and rb_parser_compile_file().
| #define lex_lastline (parser->parser_lex_lastline) |
Definition at line 621 of file ripper.c.
Referenced by parser_here_document(), parser_heredoc_identifier(), parser_heredoc_restore(), parser_nextc(), parser_prepare(), parser_yyerror(), parser_yylex(), and yycompile0().
| #define lex_nextline (parser->parser_lex_nextline) |
Definition at line 622 of file ripper.c.
Referenced by parser_nextc(), parser_yylex(), and yycompile0().
| #define lex_p (parser->parser_lex_p) |
Definition at line 624 of file ripper.c.
Referenced by comment_at_top(), parser_compile_string(), parser_here_document(), parser_heredoc_identifier(), parser_heredoc_restore(), parser_nextc(), parser_peek_variable_name(), parser_prepare(), parser_pushback(), parser_read_escape(), parser_tok_hex(), parser_tokadd_escape(), parser_tokadd_mbchar(), parser_tokadd_string(), parser_tokadd_utf8(), parser_yyerror(), parser_yylex(), rb_parser_compile_file(), token_info_get_column(), token_info_has_nonspaces(), and yycompile0().
| #define lex_pbeg (parser->parser_lex_pbeg) |
Definition at line 623 of file ripper.c.
Referenced by comment_at_top(), parser_compile_string(), parser_heredoc_identifier(), parser_heredoc_restore(), parser_nextc(), parser_prepare(), parser_pushback(), parser_whole_match_p(), parser_yyerror(), rb_parser_compile_file(), token_info_get_column(), token_info_has_nonspaces(), and yycompile0().
| #define lex_pend (parser->parser_lex_pend) |
Definition at line 625 of file ripper.c.
Referenced by parser_compile_string(), parser_here_document(), parser_heredoc_restore(), parser_nextc(), parser_peek_variable_name(), parser_prepare(), parser_tokadd_string(), parser_whole_match_p(), parser_yyerror(), parser_yylex(), rb_parser_compile_file(), and yycompile0().
| #define lex_state (parser->parser_lex_state) |
Definition at line 604 of file ripper.c.
Referenced by parser_yylex(), and yyparse().
| #define lex_strterm (parser->parser_lex_strterm) |
Definition at line 603 of file ripper.c.
Referenced by parser_here_document(), parser_heredoc_identifier(), parser_yylex(), yycompile0(), and yyparse().
| #define list_append | ( | l, | |
| i | |||
| ) | list_append_gen(parser,(l),(i)) |
Definition at line 677 of file ripper.c.
Referenced by arg_append_gen(), evstr2dstr_gen(), literal_concat_gen(), and yyparse().
| #define list_concat | ( | h, | |
| t | |||
| ) | list_concat_gen(parser,(h),(t)) |
Definition at line 679 of file ripper.c.
Referenced by arg_concat_gen(), literal_concat_gen(), and yyparse().
| #define literal_concat | ( | h, | |
| t | |||
| ) | literal_concat_gen(parser,(h),(t)) |
| #define local_id | ( | id | ) | local_id_gen(parser, (id)) |
Definition at line 792 of file ripper.c.
Referenced by assignable_gen(), gettable_gen(), lvar_defined_gen(), reg_named_capture_assign_iter(), shadowing_lvar_gen(), and yyparse().
| #define local_pop | ( | ) | local_pop_gen(parser) |
| #define local_push | ( | top | ) | local_push_gen(parser,(top)) |
| #define local_tbl | ( | ) | local_tbl_gen(parser) |
| #define local_var | ( | id | ) | local_var_gen(parser, (id)) |
Definition at line 788 of file ripper.c.
Referenced by assignable_gen().
| #define lpar_beg (parser->parser_lpar_beg) |
Definition at line 609 of file ripper.c.
Referenced by parser_yylex(), and yyparse().
| #define lvar_defined | ( | id | ) | lvar_defined_gen(parser, (id)) |
Definition at line 810 of file ripper.c.
Referenced by parser_yylex().
Definition at line 14269 of file ripper.c.
Referenced by dvar_defined_gen(), local_id_gen(), shadowing_lvar_gen(), and warn_unused_var().
| #define lvtbl (parser->parser_lvtbl) |
Definition at line 631 of file ripper.c.
Referenced by arg_var_gen(), dvar_curr_gen(), dvar_defined_gen(), dyna_in_block_gen(), dyna_pop_1(), dyna_pop_gen(), dyna_push_gen(), internal_id_gen(), local_id_gen(), local_pop_gen(), local_push_gen(), local_tbl_gen(), local_var_gen(), and shadowing_lvar_gen().
Definition at line 332 of file ripper.c.
Referenced by aligned_malloc(), allocate_sorted_heaps(), assign_heap_slot(), cbsubst_table_setup(), cmdglob(), gc_prof_timer_start(), init_heap(), insert(), mbstr_to_wstr(), nkf_xmalloc(), onig_new_with_source(), open_ifs_socket(), pruby_var_to_cstr(), rb_objspace_alloc(), rb_w32_cmdvector(), rb_w32_conv_from_wstr(), rb_w32_get_environ(), rb_w32_getcwd(), readline_attempted_completion_function(), ruby_mimmalloc(), ruby_setenv(), sdbm_open(), sdbm_prep(), sip_hash_final(), sip_hash_new(), stack_chunk_alloc(), th_init(), vm_xmalloc(), wstr_to_mbstr(), yaml_malloc(), and yaml_realloc().
| #define match_op | ( | node1, | |
| node2 | |||
| ) | match_op_gen(parser, (node1), (node2)) |
| #define mixed_error | ( | enc1, | |
| enc2 | |||
| ) |
if (!errbuf) { \ size_t len = sizeof(mixed_msg) - 4; \ len += strlen(rb_enc_name(enc1)); \ len += strlen(rb_enc_name(enc2)); \ errbuf = ALLOCA_N(char, len); \ snprintf(errbuf, len, mixed_msg, \ rb_enc_name(enc1), \ rb_enc_name(enc2)); \ yyerror(errbuf); \ }
Referenced by parser_tokadd_string().
| #define mixed_escape | ( | beg, | |
| enc1, | |||
| enc2 | |||
| ) |
do { \ const char *pos = lex_p; \ lex_p = (beg); \ mixed_error((enc1), (enc2)); \ lex_p = pos; \ } while (0)
Referenced by parser_tokadd_string().
| #define modifier_if 295 |
| #define modifier_rescue 299 |
| #define modifier_unless 296 |
| #define modifier_until 298 |
| #define modifier_while 297 |
Definition at line 829 of file ripper.c.
Referenced by parser_parse_string().
Definition at line 827 of file ripper.c.
Referenced by parser_parse_string().
| #define new_args | ( | f, | |
| o, | |||
| r, | |||
| p, | |||
| t | |||
| ) | new_args_gen(parser, (f),(o),(r),(p),(t)) |
Definition at line 699 of file ripper.c.
Referenced by check_funcall_exec(), vm_call0_body(), and yyparse().
| #define new_args_tail | ( | k, | |
| kr, | |||
| b | |||
| ) | new_args_tail_gen(parser, (k),(kr),(b)) |
| #define new_attr_op_assign | ( | lhs, | |
| type, | |||
| attr, | |||
| op, | |||
| rhs | |||
| ) | new_attr_op_assign_gen(parser, (lhs), (attr), (op), (rhs)) |
| #define new_bv | ( | id | ) | new_bv_gen(parser, (id)) |
| #define new_const_op_assign | ( | lhs, | |
| op, | |||
| rhs | |||
| ) | new_const_op_assign_gen(parser, (lhs), (op), (rhs)) |
| #define new_evstr | ( | n | ) | new_evstr_gen(parser,(n)) |
| #define new_op_assign | ( | lhs, | |
| op, | |||
| rhs | |||
| ) | new_op_assign_gen(parser, (lhs), (op), (rhs)) |
| #define NEW_STRTERM | ( | func, | |
| term, | |||
| paren | |||
| ) | rb_node_newnode(NODE_STRTERM, (func), (term) | ((paren) << (CHAR_BIT * 2)), 0) |
Definition at line 11770 of file ripper.c.
Referenced by parser_here_document(), and parser_yylex().
| #define new_yield | ( | node | ) | new_yield_gen(parser, (node)) |
| #define NEWHEAP | ( | ) | rb_node_newnode(NODE_ALLOCA, 0, (VALUE)parser->heap, 0) |
Definition at line 16514 of file ripper.c.
Referenced by rb_parser_calloc(), rb_parser_malloc(), and rb_parser_realloc().
| #define newtok | ( | ) | parser_newtok(parser) |
Definition at line 10655 of file ripper.c.
Referenced by parser_here_document(), parser_heredoc_identifier(), parser_parse_string(), parser_regx_options(), and parser_yylex().
| #define nextc | ( | ) | parser_nextc(parser) |
Definition at line 10653 of file ripper.c.
Referenced by parser_here_document(), parser_heredoc_identifier(), parser_parse_string(), parser_prepare(), parser_read_escape(), parser_regx_options(), parser_tokadd_escape(), parser_tokadd_string(), parser_tokadd_utf8(), and parser_yylex().
Referenced by parser_yylex(), rb_str_upto(), and ruby_dtoa().
| #define node_assign | ( | node1, | |
| node2 | |||
| ) | node_assign_gen(parser, (node1), (node2)) |
Definition at line 725 of file ripper.c.
Referenced by reg_named_capture_assign_iter(), and yyparse().
| #define NODE_HEREDOC NODE_ARRAY /* 1, 3 to gc */ |
Definition at line 821 of file ripper.c.
Referenced by parser_heredoc_identifier(), and parser_yylex().
| #define NODE_STRTERM NODE_ZARRAY /* nothing to gc */ |
Definition at line 326 of file ripper.c.
Referenced by parser_magic_comment(), and rb_gc_mark_symbols().
| #define op_tbl_count numberof(op_tbl) |
Definition at line 15584 of file ripper.c.
Referenced by intern_str(), and rb_id2str().
| #define paren_nest (parser->parser_paren_nest) |
Definition at line 608 of file ripper.c.
Referenced by parser_yylex(), and yyparse().
| #define parse_string | ( | n | ) | parser_parse_string(parser,(n)) |
Definition at line 10663 of file ripper.c.
Referenced by parser_yylex().
| #define PARSER_ARG ruby_sourcefile, ruby_sourceline, current_enc, |
Definition at line 952 of file ripper.c.
Referenced by assignable_gen(), block_dup_check_gen(), gettable_gen(), literal_concat0(), new_bv_gen(), no_blockarg(), parser_here_document(), parser_heredoc_identifier(), parser_parse_string(), parser_regx_options(), parser_tokadd_mbchar(), parser_yyerror(), parser_yylex(), rb_backref_error_gen(), reg_compile_gen(), reg_fragment_check_gen(), reg_fragment_setenc_gen(), and yyparse().
| #define PARSER_DEBUG 0 |
| #define parser_encoding_name | ( | ) | (current_enc->name) |
Definition at line 10761 of file ripper.c.
Referenced by parser_tokadd_mbchar().
| #define parser_is_identchar | ( | ) | (!parser->eofp && is_identchar((lex_p-1),lex_pend,current_enc)) |
Definition at line 10765 of file ripper.c.
Referenced by parser_heredoc_identifier(), and parser_yylex().
| #define parser_isascii | ( | ) | ISASCII(*(lex_p-1)) |
Definition at line 10767 of file ripper.c.
Referenced by parser_tokadd_string(), and parser_yylex().
| #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) |
Definition at line 10763 of file ripper.c.
Referenced by parser_tokadd_mbchar().
| #define parser_warn | ( | node, | |
| mesg | |||
| ) | parser_warn(parser, (node), (mesg)) |
Definition at line 13831 of file ripper.c.
Referenced by assign_in_cond(), cond0(), and warn_unless_e_option().
| #define parser_warning | ( | node, | |
| mesg | |||
| ) | parser_warning(parser, (node), (mesg)) |
Definition at line 13824 of file ripper.c.
Referenced by block_append_gen(), cond0(), value_expr_gen(), and warning_unless_e_option().
Definition at line 11187 of file ripper.c.
Referenced by parser_nextc(), parser_prepare(), parser_read_escape(), parser_tokadd_utf8(), and parser_yylex().
Definition at line 11188 of file ripper.c.
Referenced by parser_yylex().
Definition at line 432 of file ripper.c.
Referenced by dvar_defined_gen(), dyna_in_block_gen(), local_id_gen(), vtable_add(), vtable_free(), vtable_included(), and vtable_size().
| #define pushback | ( | c | ) | parser_pushback(parser, (c)) |
Definition at line 10654 of file ripper.c.
Referenced by parser_here_document(), parser_heredoc_identifier(), parser_parse_string(), parser_prepare(), parser_read_escape(), parser_regx_options(), parser_tokadd_escape(), parser_tokadd_string(), and parser_yylex().
| #define rb_backref_error | ( | n | ) | rb_backref_error_gen(parser,(n)) |
Definition at line 950 of file ripper.c.
Referenced by parser_yylex().
| #define rb_node_newnode | ( | type, | |
| a1, | |||
| a2, | |||
| a3 | |||
| ) | node_newnode(parser, (type), (a1), (a2), (a3)) |
Definition at line 651 of file ripper.c.
Referenced by enum_zip(), node_newnode(), and parser_heredoc_identifier().
| #define rb_warn0 | ( | fmt | ) | rb_compile_warn(ruby_sourcefile, ruby_sourceline, (fmt)) |
| #define rb_warn4S | ( | file, | |
| line, | |||
| fmt, | |||
| a | |||
| ) | rb_compile_warn((file), (line), (fmt), (a)) |
Definition at line 927 of file ripper.c.
Referenced by warn_unused_var().
| #define rb_warnI | ( | fmt, | |
| a | |||
| ) | rb_compile_warn(ruby_sourcefile, ruby_sourceline, (fmt), (a)) |
Definition at line 925 of file ripper.c.
Referenced by parser_yylex().
| #define rb_warning0 | ( | fmt | ) | rb_compile_warning(ruby_sourcefile, ruby_sourceline, (fmt)) |
Definition at line 928 of file ripper.c.
Referenced by arg_ambiguous_gen(), parser_yylex(), and value_expr_gen().
| #define rb_warningS | ( | fmt, | |
| a | |||
| ) | rb_compile_warning(ruby_sourcefile, ruby_sourceline, (fmt), (a)) |
Definition at line 929 of file ripper.c.
Referenced by parser_yylex(), reg_named_capture_assign_iter(), and shadowing_lvar_gen().
| #define rb_warnS | ( | fmt, | |
| a | |||
| ) | rb_compile_warn(ruby_sourcefile, ruby_sourceline, (fmt), (a)) |
Definition at line 926 of file ripper.c.
Referenced by void_expr_gen().
| #define RE_OPTION_ARG_ENCODING_NONE 32 |
| #define RE_OPTION_ENCODING | ( | e | ) | (((e)&0xff)<<RE_OPTION_ENCODING_SHIFT) |
Definition at line 814 of file ripper.c.
Referenced by parser_regx_options().
| #define RE_OPTION_ENCODING_IDX | ( | o | ) | (((o)>>RE_OPTION_ENCODING_SHIFT)&0xff) |
Definition at line 815 of file ripper.c.
Referenced by reg_fragment_setenc_gen().
| #define RE_OPTION_ENCODING_NONE | ( | o | ) | ((o)&RE_OPTION_ARG_ENCODING_NONE) |
Definition at line 816 of file ripper.c.
Referenced by reg_fragment_setenc_gen().
| #define RE_OPTION_ENCODING_SHIFT 8 |
| #define RE_OPTION_MASK 0xff |
Definition at line 817 of file ripper.c.
Referenced by reg_compile_gen(), and yyparse().
| #define RE_OPTION_ONCE (1<<16) |
Definition at line 812 of file ripper.c.
Referenced by parser_regx_options(), and yyparse().
| #define read_escape | ( | flags, | |
| e | |||
| ) | parser_read_escape(parser, (flags), (e)) |
Definition at line 10659 of file ripper.c.
Referenced by parser_read_escape(), parser_tokadd_string(), and parser_yylex().
Definition at line 333 of file ripper.c.
Referenced by allocate_sorted_heaps(), enc_table_expand(), gc_prof_timer_start(), gc_profile_clear(), nkf_xrealloc(), opendir_internal(), stub_sysinit(), vm_xrealloc(), and yaml_realloc().
| #define reduce_nodes | ( | n | ) | reduce_nodes_gen(parser,(n)) |
| #define reg_compile | ( | str, | |
| options | |||
| ) | reg_compile_gen(parser, (str), (options)) |
| #define reg_fragment_check | ( | str, | |
| options | |||
| ) | reg_fragment_check_gen(parser, (str), (options)) |
| #define reg_fragment_setenc | ( | str, | |
| options | |||
| ) | reg_fragment_setenc_gen(parser, (str), (options)) |
Definition at line 744 of file ripper.c.
Referenced by reg_compile_gen(), and reg_fragment_check_gen().
| #define reg_named_capture_assign | ( | regexp, | |
| match | |||
| ) | reg_named_capture_assign_gen(parser,(regexp),(match)) |
| #define REGISTER_SYMID | ( | id, | |
| name | |||
| ) | register_symid((id), (name), strlen(name), enc) |
| #define regx_options | ( | ) | parser_regx_options(parser) |
Definition at line 10661 of file ripper.c.
Referenced by parser_parse_string().
| #define ret_args | ( | node | ) | ret_args_gen(parser, (node)) |
| #define ripper_flush | ( | p | ) | (void)(p) |
Definition at line 10694 of file ripper.c.
Referenced by parser_heredoc_identifier(), parser_heredoc_restore(), and parser_nextc().
| #define ruby__end__seen (parser->parser_ruby__end__seen) |
Definition at line 632 of file ripper.c.
Referenced by parser_yylex(), and rb_parser_end_seen_p().
| #define ruby_coverage (parser->coverage) |
Definition at line 642 of file ripper.c.
Referenced by lex_getline(), and yycompile0().
| #define ruby_debug_lines (parser->debug_lines) |
Definition at line 641 of file ripper.c.
Referenced by lex_getline(), parser_set_encode(), and yycompile0().
| #define ruby_eval_tree (parser->parser_eval_tree) |
Definition at line 639 of file ripper.c.
Referenced by yycompile0(), and yyparse().
| #define ruby_eval_tree_begin (parser->parser_eval_tree_begin) |
Definition at line 640 of file ripper.c.
Referenced by yycompile0(), and yyparse().
| #define ruby_sourcefile (parser->parser_ruby_sourcefile) |
| #define ruby_sourceline (parser->parser_ruby_sourceline) |
Definition at line 633 of file ripper.c.
Referenced by local_var_gen(), new_args_gen(), new_args_tail_gen(), node_newnode(), parser_heredoc_identifier(), parser_heredoc_restore(), parser_newtok(), parser_nextc(), parser_parse_string(), parser_set_encode(), parser_set_token_info(), parser_yylex(), reg_compile_gen(), shadowing_lvar_gen(), token_info_pop(), token_info_push(), void_expr_gen(), yycompile(), yycompile0(), and yyparse().
| #define set_yylval_id | ( | x | ) | (yylval.id = (x)) |
Definition at line 10673 of file ripper.c.
Referenced by parser_yylex().
| #define set_yylval_literal | ( | x | ) | (yylval.node = NEW_LIT(x)) |
Definition at line 10675 of file ripper.c.
Referenced by parser_yylex().
| #define set_yylval_name | ( | x | ) | (yylval.id = (x)) |
Definition at line 10674 of file ripper.c.
Referenced by parser_yylex().
| #define set_yylval_node | ( | x | ) | (yylval.node = (x)) |
Definition at line 10676 of file ripper.c.
Referenced by parser_yylex().
| #define set_yylval_num | ( | x | ) | (yylval.num = (x)) |
Definition at line 10672 of file ripper.c.
Referenced by parser_parse_string().
| #define set_yylval_str | ( | x | ) | (yylval.node = NEW_STR(x)) |
Definition at line 10671 of file ripper.c.
Referenced by parser_here_document(), parser_parse_string(), and parser_yylex().
| #define shadowing_lvar | ( | name | ) | shadowing_lvar_gen(parser, (name)) |
Definition at line 779 of file ripper.c.
Referenced by formal_argument_gen(), new_bv_gen(), and yyparse().
| #define SIGN_EXTEND | ( | x, | |
| n | |||
| ) | (((1<<(n)-1)^((x)&~(~0<<(n))))-(1<<(n)-1)) |
| #define SIGN_EXTEND_CHAR | ( | c | ) | ((((unsigned char)(c)) ^ 128) - 128) |
| #define SPECIAL_PUNCT | ( | idx | ) |
( \
BIT('~', idx) | BIT('*', idx) | BIT('$', idx) | BIT('?', idx) | \
BIT('!', idx) | BIT('@', idx) | BIT('/', idx) | BIT('\\', idx) | \
BIT(';', idx) | BIT(',', idx) | BIT('.', idx) | BIT('=', idx) | \
BIT(':', idx) | BIT('<', idx) | BIT('>', idx) | BIT('\"', idx) | \
BIT('&', idx) | BIT('`', idx) | BIT('\'', idx) | BIT('+', idx) | \
BIT('0', idx))
| #define str_copy | ( | _s, | |
| _p, | |||
| _n | |||
| ) |
((_s) \
? (void)(rb_str_resize((_s), (_n)), \
MEMCPY(RSTRING_PTR(_s), (_p), char, (_n)), (_s)) \
: (void)((_s) = STR_NEW((_p), (_n))))
Referenced by parser_magic_comment().
| #define STR_FUNC_ESCAPE 0x01 |
Definition at line 11150 of file ripper.c.
Referenced by parser_tokadd_string().
| #define STR_FUNC_EXPAND 0x02 |
Definition at line 11151 of file ripper.c.
Referenced by parser_here_document(), parser_parse_string(), and parser_tokadd_string().
| #define STR_FUNC_INDENT 0x20 |
Definition at line 11155 of file ripper.c.
Referenced by parser_here_document(), and parser_heredoc_identifier().
| #define STR_FUNC_QWORDS 0x08 |
Definition at line 11153 of file ripper.c.
Referenced by parser_parse_string(), and parser_tokadd_string().
| #define STR_FUNC_REGEXP 0x04 |
Definition at line 11152 of file ripper.c.
Referenced by parser_parse_string(), parser_str_new(), and parser_tokadd_string().
| #define STR_FUNC_SYMBOL 0x10 |
Definition at line 11154 of file ripper.c.
Referenced by parser_tokadd_string().
| #define STR_NEW | ( | p, | |
| n | |||
| ) | rb_enc_str_new((p),(n),current_enc) |
Definition at line 591 of file ripper.c.
Referenced by parser_here_document(), and parser_heredoc_identifier().
| #define STR_NEW0 | ( | ) | rb_enc_str_new(0,0,current_enc) |
Definition at line 592 of file ripper.c.
Referenced by yycompile0(), and yyparse().
| #define STR_NEW2 | ( | p | ) | rb_enc_str_new((p),strlen(p),current_enc) |
Definition at line 593 of file ripper.c.
Referenced by parser_yyerror().
| #define STR_NEW3 | ( | p, | |
| n, | |||
| e, | |||
| func | |||
| ) | parser_str_new((p),(n),(e),(func),current_enc) |
Definition at line 594 of file ripper.c.
Referenced by parser_here_document(), parser_parse_string(), and parser_yylex().
| #define subnodes | ( | n1, | |
| n2 | |||
| ) |
((!node->n1) ? (node->n2 ? (body = &node->n2, 1) : 0) : \ (!node->n2) ? (body = &node->n1, 1) : \ (reduce_nodes(&node->n1), body = &node->n2, 1))
Referenced by reduce_nodes_gen().
| #define tAMPER 335 |
Definition at line 280 of file ripper.c.
Referenced by parser_yylex().
| #define tANDOP 321 |
Definition at line 258 of file ripper.c.
Referenced by new_attr_op_assign_gen(), new_const_op_assign_gen(), new_op_assign_gen(), parser_yylex(), and yyparse().
| #define tAREF 144 |
Definition at line 264 of file ripper.c.
Referenced by parser_yylex(), and yyparse().
| #define tASET 145 |
Definition at line 265 of file ripper.c.
Referenced by aryset_gen(), parser_yylex(), and yyparse().
| #define tASSOC 326 |
Definition at line 271 of file ripper.c.
Referenced by parser_yylex().
| #define tBACK_REF 319 |
Definition at line 247 of file ripper.c.
Referenced by parser_yylex().
| #define tCHAR 317 |
Definition at line 245 of file ripper.c.
Referenced by parser_yylex().
| #define tCMP 134 |
Definition at line 252 of file ripper.c.
Referenced by parser_yylex(), void_expr_gen(), and yyparse().
| #define tCOLON2 323 |
Definition at line 268 of file ripper.c.
Referenced by parser_yylex().
| #define tCOLON3 324 |
Definition at line 269 of file ripper.c.
Referenced by parser_yylex().
| #define tCONSTANT 311 |
Definition at line 239 of file ripper.c.
Referenced by parser_yylex().
| #define tCVAR 312 |
Definition at line 240 of file ripper.c.
Referenced by parser_yylex().
| #define tDOT2 128 |
Definition at line 262 of file ripper.c.
Referenced by parser_yylex().
| #define tDOT3 129 |
Definition at line 263 of file ripper.c.
Referenced by parser_yylex().
| #define tDSTAR 334 |
Definition at line 279 of file ripper.c.
Referenced by parser_yylex(), and yyparse().
| #define tEQ 139 |
Definition at line 253 of file ripper.c.
Referenced by if(), parser_yylex(), range_op(), void_expr_gen(), and yyparse().
| #define tEQQ 140 |
Definition at line 254 of file ripper.c.
Referenced by parser_yylex(), and yyparse().
| #define tFID 308 |
Definition at line 236 of file ripper.c.
Referenced by parser_yylex().
| #define tFLOAT 315 |
Definition at line 243 of file ripper.c.
Referenced by parser_yylex().
| #define tGEQ 138 |
Definition at line 256 of file ripper.c.
Referenced by parser_yylex(), void_expr_gen(), and yyparse().
| #define tGVAR 309 |
Definition at line 237 of file ripper.c.
Referenced by parser_yylex().
| #define tIDENTIFIER 307 |
Definition at line 235 of file ripper.c.
Referenced by parser_yylex().
| #define tINTEGER 314 |
Definition at line 242 of file ripper.c.
Referenced by parser_yylex().
| #define tIVAR 310 |
Definition at line 238 of file ripper.c.
Referenced by parser_yylex().
| #define tLABEL 313 |
Definition at line 241 of file ripper.c.
Referenced by parser_yylex().
| #define tLAMBDA 336 |
Definition at line 281 of file ripper.c.
Referenced by parser_yylex().
| #define tLAMBEG 349 |
Definition at line 294 of file ripper.c.
Referenced by parser_yylex().
| #define tLAST_TOKEN 352 |
Definition at line 297 of file ripper.c.
Referenced by internal_id_gen(), and rb_id2str().
| #define tLBRACE 331 |
Definition at line 276 of file ripper.c.
Referenced by parser_yylex().
| #define tLBRACE_ARG 332 |
Definition at line 277 of file ripper.c.
Referenced by parser_yylex().
| #define tLBRACK 330 |
Definition at line 275 of file ripper.c.
Referenced by parser_yylex().
| #define tLEQ 137 |
Definition at line 257 of file ripper.c.
Referenced by parser_yylex(), void_expr_gen(), and yyparse().
| #define tLPAREN 327 |
Definition at line 272 of file ripper.c.
Referenced by parser_yylex().
| #define tLPAREN_ARG 328 |
Definition at line 273 of file ripper.c.
Referenced by parser_yylex().
| #define tLSHFT 135 |
Definition at line 266 of file ripper.c.
Referenced by parser_yylex(), and yyparse().
| #define tMATCH 142 |
Definition at line 260 of file ripper.c.
Referenced by match_op_gen(), parser_yylex(), and yyparse().
| #define tNEQ 141 |
Definition at line 255 of file ripper.c.
Referenced by parser_yylex(), void_expr_gen(), and yyparse().
| #define tNMATCH 143 |
Definition at line 261 of file ripper.c.
Referenced by parser_yylex(), and yyparse().
| #define tNTH_REF 318 |
Definition at line 246 of file ripper.c.
Referenced by parser_yylex().
Definition at line 11259 of file ripper.c.
Referenced by lexer_i(), parse_regexp(), parser_here_document(), parser_heredoc_identifier(), parser_parse_string(), parser_regx_options(), and parser_yylex().
| #define tok_hex | ( | numlen | ) | parser_tok_hex(parser, (numlen)) |
Definition at line 10658 of file ripper.c.
Referenced by parser_read_escape(), and parser_tokadd_escape().
| #define TOK_INTERN | ( | mb | ) | rb_intern3(tok(), toklen(), current_enc) |
Definition at line 596 of file ripper.c.
Referenced by parser_yylex().
| #define tokadd | ( | c | ) | parser_tokadd(parser, (c)) |
Definition at line 10657 of file ripper.c.
Referenced by parser_here_document(), parser_heredoc_identifier(), parser_parse_string(), parser_regx_options(), parser_tokadd_escape(), parser_tokadd_mbchar(), parser_tokadd_string(), parser_tokadd_utf8(), and parser_yylex().
| #define tokadd_escape | ( | e | ) | parser_tokadd_escape(parser, (e)) |
Definition at line 10660 of file ripper.c.
Referenced by parser_tokadd_string().
| #define tokadd_mbchar | ( | c | ) | parser_tokadd_mbchar(parser, (c)) |
Definition at line 11621 of file ripper.c.
Referenced by parser_heredoc_identifier(), parser_tokadd_string(), and parser_yylex().
| #define tokadd_string | ( | f, | |
| t, | |||
| p, | |||
| n, | |||
| e | |||
| ) | parser_tokadd_string(parser,(f),(t),(p),(n),(e)) |
Definition at line 10662 of file ripper.c.
Referenced by parser_here_document(), and parser_parse_string().
| #define tokaddmbc | ( | c, | |
| enc | |||
| ) | parser_tokaddmbc(parser, (c), (enc)) |
Definition at line 10664 of file ripper.c.
Referenced by parser_tokadd_utf8(), and parser_yylex().
Definition at line 11315 of file ripper.c.
Referenced by parser_tokadd_escape(), parser_tokadd_mbchar(), and parser_tokadd_utf8().
| #define token_info_pop | ( | token | ) | (RTEST(ruby_verbose) ? token_info_pop(parser, (token)) : (void)0) |
| #define token_info_push | ( | token | ) | (RTEST(ruby_verbose) ? token_info_push(parser, (token)) : (void)0) |
| #define tokenbuf (parser->parser_tokenbuf) |
Definition at line 616 of file ripper.c.
Referenced by parser_newtok(), parser_tokadd(), and parser_tokspace().
Definition at line 11258 of file ripper.c.
Referenced by parser_heredoc_identifier(), parser_parse_string(), parser_regx_options(), and parser_yylex().
| #define tokidx (parser->parser_tokidx) |
Definition at line 617 of file ripper.c.
Referenced by parser_newtok(), parser_tokadd(), parser_tokspace(), and parser_yylex().
Definition at line 11261 of file ripper.c.
Referenced by parser_yylex().
Definition at line 11260 of file ripper.c.
Referenced by parser_here_document(), parser_heredoc_identifier(), parser_parse_string(), parser_regx_options(), and parser_yylex().
| #define tokline (parser->parser_tokline) |
Definition at line 619 of file ripper.c.
Referenced by gettable_gen(), parser_newtok(), and yyparse().
| #define toksiz (parser->parser_toksiz) |
Definition at line 618 of file ripper.c.
Referenced by parser_newtok(), parser_tokadd(), and parser_tokspace().
| #define tokspace | ( | n | ) | parser_tokspace(parser, (n)) |
Definition at line 10656 of file ripper.c.
Referenced by parser_tokaddmbc().
| #define tOP_ASGN 325 |
Definition at line 270 of file ripper.c.
Referenced by parser_yylex().
| #define tOROP 322 |
Definition at line 259 of file ripper.c.
Referenced by new_attr_op_assign_gen(), new_const_op_assign_gen(), new_op_assign_gen(), parser_yylex(), and yyparse().
| #define tPOW 132 |
Definition at line 251 of file ripper.c.
Referenced by parser_yylex(), void_expr_gen(), and yyparse().
| #define tQSYMBOLS_BEG 344 |
Definition at line 289 of file ripper.c.
Referenced by parser_yylex().
| #define tQWORDS_BEG 342 |
Definition at line 287 of file ripper.c.
Referenced by parser_yylex().
| #define tREGEXP_BEG 340 |
Definition at line 285 of file ripper.c.
Referenced by parser_yylex().
| #define tREGEXP_END 320 |
Definition at line 248 of file ripper.c.
Referenced by parser_parse_string(), and parser_yylex().
| #define tRSHFT 136 |
Definition at line 267 of file ripper.c.
Referenced by parser_yylex(), and yyparse().
| #define tSTAR 333 |
Definition at line 278 of file ripper.c.
Referenced by parser_yylex().
| #define tSTRING_BEG 338 |
Definition at line 283 of file ripper.c.
Referenced by parser_heredoc_identifier(), and parser_yylex().
| #define tSTRING_CONTENT 316 |
Definition at line 244 of file ripper.c.
Referenced by parser_here_document(), and parser_parse_string().
| #define tSTRING_DBEG 345 |
Definition at line 290 of file ripper.c.
Referenced by parser_peek_variable_name().
| #define tSTRING_DEND 346 |
Definition at line 291 of file ripper.c.
Referenced by parser_yylex().
| #define tSTRING_DVAR 347 |
Definition at line 292 of file ripper.c.
Referenced by parser_peek_variable_name().
| #define tSTRING_END 348 |
Definition at line 293 of file ripper.c.
Referenced by parser_here_document(), parser_parse_string(), and parser_yylex().
| #define tSYMBEG 337 |
Definition at line 282 of file ripper.c.
Referenced by parser_yylex().
| #define tSYMBOLS_BEG 343 |
Definition at line 288 of file ripper.c.
Referenced by parser_yylex().
| #define tUMINUS 131 |
Definition at line 250 of file ripper.c.
Referenced by negate_lit(), parser_yylex(), void_expr_gen(), and yyparse().
| #define tUMINUS_NUM 351 |
Definition at line 296 of file ripper.c.
Referenced by parser_yylex().
| #define tUPLUS 130 |
Definition at line 249 of file ripper.c.
Referenced by parser_yylex(), void_expr_gen(), and yyparse().
| #define tWORDS_BEG 341 |
Definition at line 286 of file ripper.c.
Referenced by parser_yylex().
| #define tXSTRING_BEG 339 |
Definition at line 284 of file ripper.c.
Referenced by parser_heredoc_identifier(), and parser_yylex().
| #define value_expr | ( | node | ) | value_expr_gen(parser, (node) = remove_begin(node)) |
Definition at line 664 of file ripper.c.
Referenced by call_bin_op_gen(), call_uni_op_gen(), if(), logop_gen(), match_op_gen(), range_op(), value_expr_gen(), and yyparse().
| #define void_expr | ( | node | ) | void_expr0((node) = remove_begin(node)) |
| #define void_expr0 | ( | node | ) | void_expr_gen(parser, (node)) |
Definition at line 665 of file ripper.c.
Referenced by void_stmts_gen().
| #define void_stmts | ( | node | ) | void_stmts_gen(parser, (node)) |
| #define VTBL_DEBUG 0 |
Definition at line 445 of file ripper.c.
Referenced by vtable_add(), vtable_alloc(), and vtable_free().
| #define warn_balanced | ( | op, | |
| syn | |||
| ) |
((void) \
(!IS_lex_state_for(last_state, EXPR_CLASS|EXPR_DOT|EXPR_FNAME|EXPR_ENDFN|EXPR_ENDARG) && \
space_seen && !ISSPACE(c) && \
(ambiguous_operator(op, syn), 0)))
Definition at line 12478 of file ripper.c.
Referenced by parser_yylex().
Definition at line 11256 of file ripper.c.
Referenced by parser_here_document(), and parser_yylex().
| #define whole_match_p | ( | e, | |
| l, | |||
| i | |||
| ) | parser_whole_match_p(parser,(e),(l),(i)) |
Definition at line 10668 of file ripper.c.
Referenced by parser_here_document(), and parser_yylex().
| #define YY_ | ( | msgid | ) | msgid |
Definition at line 1074 of file ripper.c.
Referenced by yyparse(), and yysyntax_error().
| #define YY_LOCATION_PRINT | ( | File, | |
| Loc | |||
| ) | ((void) 0) |
| #define YY_REDUCE_PRINT | ( | Rule | ) |
| #define YY_STACK_PRINT | ( | Bottom, | |
| Top | |||
| ) |
| #define YY_SYMBOL_PRINT | ( | Title, | |
| Type, | |||
| Value, | |||
| Location | |||
| ) |
| #define YYACCEPT goto yyacceptlab |
| #define YYBACKUP | ( | Token, | |
| Value | |||
| ) |
| #define YYBISON_VERSION "2.3" |
| #define YYCALLOC | ( | nelem, | |
| size | |||
| ) | rb_parser_calloc(parser, (nelem), (size)) |
| #define YYCOPY | ( | To, | |
| From, | |||
| Count | |||
| ) |
| #define yydebug (parser->parser_yydebug) |
Definition at line 636 of file ripper.c.
Referenced by dump_option(), proc_options(), and process_options().
| #define YYDPRINTF | ( | Args | ) |
| #define yyerrok (yyerrstatus = 0) |
| #define yyerror | ( | msg | ) | parser_yyerror(parser, (msg)) |
Definition at line 599 of file ripper.c.
Referenced by assign_in_cond(), assignable_gen(), formal_argument_gen(), parser_read_escape(), parser_tok_hex(), parser_tokadd_escape(), parser_tokadd_utf8(), parser_yylex(), shadowing_lvar_gen(), value_expr_gen(), and yyparse().
| #define YYERROR_VERBOSE 1 |
| #define YYERROR_VERBOSE 1 |
| #define YYFPRINTF fprintf |
Definition at line 4542 of file ripper.c.
Referenced by yy_reduce_print(), yy_stack_print(), and yy_symbol_print().
| #define YYFREE | ( | ptr | ) | rb_parser_free(parser, (ptr)) |
| #define YYINITDEPTH 200 |
| #define YYLAST 10982 |
Definition at line 1232 of file ripper.c.
Referenced by yyparse(), and yysyntax_error().
| #define YYLEX yylex (&yylval, YYLEX_PARAM) |
| #define YYLEX_PARAM parser |
| #define YYLLOC_DEFAULT | ( | Current, | |
| Rhs, | |||
| N | |||
| ) |
do \ if (YYID (N)) \ { \ (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ } \ else \ { \ (Current).first_line = (Current).last_line = \ YYRHSLOC (Rhs, 0).last_line; \ (Current).first_column = (Current).last_column = \ YYRHSLOC (Rhs, 0).last_column; \ } \ while (YYID (0))
| #define YYLSP_NEEDED 0 |
| #define yylval (*((YYSTYPE*)(parser->parser_yylval))) |
| #define YYMAXDEPTH 10000 |
| #define YYNTOKENS 142 |
Definition at line 1235 of file ripper.c.
Referenced by yy_symbol_print(), yy_symbol_value_print(), yyparse(), and yysyntax_error().
| #define YYPACT_NINF -804 |
Definition at line 1988 of file ripper.c.
Referenced by yyparse(), and yysyntax_error().
| #define yyparse ruby_yyparse |
Definition at line 648 of file ripper.c.
Referenced by yycompile0().
| #define YYPOPSTACK | ( | N | ) | (yyvsp -= (N), yyssp -= (N)) |
Referenced by yyparse().
| #define YYREALLOC | ( | ptr, | |
| size | |||
| ) | rb_parser_realloc(parser, (ptr), (size)) |
| #define YYRECOVERING | ( | ) | (!!yyerrstatus) |
| #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) |
Definition at line 1064 of file ripper.c.
Referenced by yysyntax_error().
| #define YYSIZE_T unsigned int |
Definition at line 1060 of file ripper.c.
Referenced by yyparse(), yystrlen(), yysyntax_error(), and yytnamerr().
| #define YYSKELETON_NAME "yacc.c" |
| #define YYSTACK_ALLOC YYMALLOC |
| #define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM |
| #define YYSTACK_BYTES | ( | N | ) |
((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ + YYSTACK_GAP_MAXIMUM)
Definition at line 1189 of file ripper.c.
Referenced by yyparse().
| #define YYSTACK_FREE YYFREE |
| #define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) |
| #define YYSTACK_RELOCATE | ( | Stack | ) |
do \ { \ YYSIZE_T yynewbytes; \ YYCOPY (&yyptr->Stack, Stack, yysize); \ Stack = &yyptr->Stack; \ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ yyptr += yynewbytes / sizeof (*yyptr); \ } \ while (YYID (0))
Definition at line 1216 of file ripper.c.
Referenced by yyparse().
| #define YYSTACK_USE_ALLOCA 0 |
| #define YYTABLE_NINF -619 |
| #define YYTERROR 1 |
Definition at line 4483 of file ripper.c.
Referenced by yyparse(), and yysyntax_error().
| #define YYTOKEN_TABLE 0 |
| #define YYTOKENTYPE |
| #define YYTRANSLATE | ( | YYX | ) | ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) |
Definition at line 1247 of file ripper.c.
Referenced by yyparse(), and yysyntax_error().
| #define YYUNDEFTOK 2 |
| #define YYUSE | ( | e | ) | ((void) (e)) |
Definition at line 1080 of file ripper.c.
Referenced by yy_symbol_value_print(), and yydestruct().
| 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) |
| typedef VALUE stack_type |
| typedef struct token_info token_info |
| typedef short int yytype_int16 |
| typedef short int yytype_int8 |
| typedef unsigned short int yytype_uint16 |
| typedef unsigned char yytype_uint8 |
| enum lex_state_bits |
| enum lex_state_e |
| enum string_type |
| enum yytokentype |
| static void arg_ambiguous_gen | ( | struct parser_params * | parser | ) | [static] |
Definition at line 12128 of file ripper.c.
References arg_ambiguous, dispatch0(), and rb_warning0.
| static NODE * arg_append_gen | ( | struct parser_params * | parser, |
| NODE * | node1, | ||
| NODE * | node2 | ||
| ) | [static] |
Definition at line 14380 of file ripper.c.
References arg_append, list_append, nd_set_type, nd_type, NEW_ARGSPUSH, NEW_LIST, NODE_ARGSCAT, NODE_ARGSPUSH, NODE_ARRAY, and NODE_BLOCK_PASS.
| static NODE * arg_blk_pass | ( | NODE * | node1, |
| NODE * | node2 | ||
| ) | [static] |
| static NODE * arg_concat_gen | ( | struct parser_params * | parser, |
| NODE * | node1, | ||
| NODE * | node2 | ||
| ) | [static] |
Definition at line 14355 of file ripper.c.
References arg_concat, list_concat, nd_set_type, nd_type, NEW_ARGSCAT, NEW_LIST, NODE_ARGSCAT, NODE_ARGSPUSH, NODE_ARRAY, and NODE_BLOCK_PASS.
| static int arg_var_gen | ( | struct parser_params * | parser, |
| ID | id | ||
| ) | [static] |
Definition at line 15189 of file ripper.c.
References lvtbl, vtable_add(), and vtable_size().
| static NODE * aryset_gen | ( | struct parser_params * | parser, |
| NODE * | recv, | ||
| NODE * | idx | ||
| ) | [static] |
| static int assign_in_cond | ( | struct parser_params * | parser, |
| NODE * | node | ||
| ) | [static] |
Definition at line 14697 of file ripper.c.
References is_static_content(), nd_type, NODE_DASGN, NODE_DASGN_CURR, NODE_GASGN, NODE_IASGN, NODE_LASGN, NODE_MASGN, parser_warn, and yyerror.
Referenced by cond0().
| static NODE * assignable_gen | ( | struct parser_params * | parser, |
| ID | id, | ||
| NODE * | val | ||
| ) | [static] |
Definition at line 14180 of file ripper.c.
References assignable_result, compile_error, dvar_curr, dvar_defined, dyna_in_block, dyna_var, get_id, ID_CLASS, ID_CONST, ID_GLOBAL, ID_INSTANCE, ID_LOCAL, id_type, in_def, in_single, keyword__ENCODING__, keyword__FILE__, keyword__LINE__, keyword_false, keyword_nil, keyword_self, keyword_true, local_id, local_var, NEW_CDECL, NEW_CVASGN, NEW_DASGN, NEW_DASGN_CURR, NEW_GASGN, NEW_IASGN, NEW_LASGN, PARSER_ARG, rb_id2name(), and yyerror.
| static NODE * attrset_gen | ( | struct parser_params * | parser, |
| NODE * | recv, | ||
| ID | id | ||
| ) | [static] |
Definition at line 14334 of file ripper.c.
References nd_type, NEW_ATTRASGN, NODE_SELF, and rb_id_attrset().
| static NODE * block_append_gen | ( | struct parser_params * | parser, |
| NODE * | head, | ||
| NODE * | tail | ||
| ) | [static] |
Definition at line 13834 of file ripper.c.
References fixpos(), head, nd_type, NEW_BLOCK, NODE_BLOCK, NODE_BREAK, NODE_FALSE, NODE_LIT, NODE_NEXT, NODE_NIL, NODE_REDO, NODE_RETRY, NODE_RETURN, NODE_SELF, NODE_STR, NODE_TRUE, parser_warning, RTEST, ruby_verbose, and tail.
| static void block_dup_check_gen | ( | struct parser_params * | parser, |
| NODE * | node1, | ||
| NODE * | node2 | ||
| ) | [static] |
Definition at line 14318 of file ripper.c.
References compile_error, nd_type, NODE_BLOCK_PASS, and PARSER_ARG.
| static NODE * call_bin_op_gen | ( | struct parser_params * | parser, |
| NODE * | recv, | ||
| ID | id, | ||
| NODE * | arg1 | ||
| ) | [static] |
Definition at line 14053 of file ripper.c.
References NEW_CALL, NEW_LIST, and value_expr.
| static NODE * call_uni_op_gen | ( | struct parser_params * | parser, |
| NODE * | recv, | ||
| ID | id | ||
| ) | [static] |
Definition at line 14061 of file ripper.c.
References NEW_CALL, and value_expr.
| static int comment_at_top | ( | struct parser_params * | parser | ) | [static] |
Definition at line 12209 of file ripper.c.
References parser_params::has_shebang, lex_p, lex_pbeg, and parser_params::line_count.
Referenced by magic_comment_encoding(), and parser_yylex().
| static NODE * cond0 | ( | struct parser_params * | parser, |
| NODE * | node | ||
| ) | [static] |
Definition at line 14804 of file ripper.c.
References assign_in_cond(), e_option_supplied(), literal_node(), nd_set_type, nd_type, NEW_GVAR, NEW_MATCH2, node, NODE_AND, NODE_DOT2, NODE_DOT3, NODE_DREGX, NODE_DREGX_ONCE, NODE_DSTR, NODE_DSYM, NODE_EVSTR, NODE_FLIP2, NODE_FLIP3, NODE_LIT, NODE_MATCH, NODE_OR, NODE_STR, parser_warn, parser_warning, range_op(), rb_intern, RB_TYPE_P, rb_warn0, RTEST, ruby_verbose, T_REGEXP, warn_unless_e_option(), and warning_unless_e_option().
Referenced by cond_gen(), and range_op().
| static NODE * cond_gen | ( | struct parser_params * | parser, |
| NODE * | node | ||
| ) | [static] |
Definition at line 10926 of file ripper.c.
References Qnil, RARRAY, RARRAY_PTR, rb_ary_new2(), rb_external_str_new_with_enc(), rb_filesystem_encoding(), rb_get_coverages(), rb_hash_aset(), RBASIC, RTEST, and strlen().
Referenced by coverage_result_i(), update_coverage(), and yycompile0().
| static VALUE debug_lines | ( | const char * | f | ) | [static] |
Definition at line 10909 of file ripper.c.
References CONST_ID, hash(), rb_ary_new(), rb_cObject, rb_const_defined_at(), rb_const_get_at(), rb_external_str_new_with_enc(), rb_filesystem_encoding(), rb_hash_aset(), RB_TYPE_P, strlen(), and T_HASH.
Referenced by yycompile0().
| lex_state_e::DEF_EXPR | ( | ENDARG | ) |
| lex_state_e::DEF_EXPR | ( | ENDFN | ) |
| lex_state_e::DEF_EXPR | ( | ARG | ) |
| lex_state_e::DEF_EXPR | ( | CMDARG | ) |
| lex_state_e::DEF_EXPR | ( | MID | ) |
| lex_state_e::DEF_EXPR | ( | FNAME | ) |
| lex_state_e::DEF_EXPR | ( | DOT | ) |
| lex_state_e::DEF_EXPR | ( | CLASS | ) |
| static void dispose_string | ( | VALUE | str | ) | [static] |
Definition at line 11601 of file ripper.c.
References rb_gc_force_recycle(), and rb_str_free().
Referenced by parser_here_document(), and parser_heredoc_restore().
| static NODE * dsym_node_gen | ( | struct parser_params * | parser, |
| NODE * | node | ||
| ) | [static] |
| static int dvar_curr_gen | ( | struct parser_params * | parser, |
| ID | id | ||
| ) | [static] |
Definition at line 15314 of file ripper.c.
References lvtbl, and vtable_included().
| static int dvar_defined_gen | ( | struct parser_params * | parser, |
| ID | id, | ||
| int | get | ||
| ) | [static] |
Definition at line 15283 of file ripper.c.
References args, DVARS_INHERIT, LVAR_USED, lvtbl, POINTER_P, vtable::prev, rb_dvar_defined(), vtable::tbl, and vtable_included().
| static int dyna_in_block_gen | ( | struct parser_params * | parser | ) | [static] |
Definition at line 15277 of file ripper.c.
References DVARS_TOPSCOPE, lvtbl, and POINTER_P.
| static void dyna_pop_1 | ( | struct parser_params * | parser | ) | [static] |
Definition at line 15245 of file ripper.c.
References lvtbl, vtable_free(), and warn_unused_var().
Referenced by dyna_pop_gen().
| static void dyna_pop_gen | ( | struct parser_params * | parser, |
| const struct vtable * | lvargs | ||
| ) | [static] |
Definition at line 15263 of file ripper.c.
References dyna_pop_1(), lvtbl, and xfree().
| static struct vtable * dyna_push_gen | ( | struct parser_params * | parser | ) | [static, read] |
Definition at line 15234 of file ripper.c.
References lvtbl, and vtable_alloc().
| static int e_option_supplied | ( | struct parser_params * | parser | ) | [static] |
Definition at line 10943 of file ripper.c.
References ruby_sourcefile.
Referenced by cond0(), local_push_gen(), warn_unless_e_option(), warning_unless_e_option(), and yycompile0().
| static NODE * evstr2dstr_gen | ( | struct parser_params * | parser, |
| NODE * | node | ||
| ) | [static] |
Definition at line 14030 of file ripper.c.
References list_append, nd_type, NEW_DSTR, node, NODE_EVSTR, and Qnil.
Definition at line 13811 of file ripper.c.
References nd_line, and nd_set_line().
Referenced by block_append_gen(), new_attr_op_assign_gen(), new_const_op_assign_gen(), and yyparse().
| static void fixup_nodes | ( | NODE ** | rootnode | ) | [static] |
Definition at line 14736 of file ripper.c.
References head, nd_set_type, nd_type, node, NODE_DOT2, NODE_DOT3, NODE_LIT, rb_gc_force_recycle(), rb_range_new(), and type.
Referenced by yyparse().
| static ID formal_argument_gen | ( | struct parser_params * | parser, |
| ID | lhs | ||
| ) | [static] |
Definition at line 12139 of file ripper.c.
References is_local_id, lhs, shadowing_lvar, and yyerror.
| static NODE * gettable_gen | ( | struct parser_params * | parser, |
| ID | id | ||
| ) | [static] |
Definition at line 14102 of file ripper.c.
References compile_error, current_enc, dvar_defined, dyna_in_block, ID_CLASS, ID_CONST, ID_GLOBAL, ID_INSTANCE, ID_LOCAL, id_type, INT2FIX, keyword__ENCODING__, keyword__FILE__, keyword__LINE__, keyword_false, keyword_nil, keyword_self, keyword_true, local_id, NEW_CONST, NEW_CVAR, NEW_DVAR, NEW_FALSE, NEW_GVAR, NEW_IVAR, NEW_LIT, NEW_LVAR, NEW_NIL, NEW_SELF, NEW_STR, NEW_TRUE, NEW_VCALL, PARSER_ARG, rb_enc_from_encoding(), rb_external_str_new_with_enc(), rb_filesystem_encoding(), rb_id2name(), ruby_sourcefile, strlen(), and tokline.
| void Init_sym | ( | void | ) |
Definition at line 15634 of file ripper.c.
References global_symbols, symbols::id_str, Init_id(), nodeline(), nodetype(), st_init_numtable_with_size(), st_init_table_with_size(), and symbols::sym_id.
| static ID intern_str | ( | VALUE | str | ) | [static] |
Definition at line 15878 of file ripper.c.
References global_symbols, id, ID_ATTRSET, ID_CLASS, ID_CONST, ID_GLOBAL, ID_INSTANCE, ID_JUNK, ID_LOCAL, ID_SCOPE_SHIFT, is_attrset_id, is_identchar, is_special_global_name(), last, symbols::last_id, RString::len, name, op_tbl, op_tbl_count, rb_cString, rb_enc_asciicompat, rb_enc_associate(), rb_enc_get(), rb_enc_isascii, rb_enc_isdigit, rb_enc_ispunct, rb_enc_isupper, rb_enc_mbclen(), rb_eRuntimeError, rb_id2str(), rb_id_attrset(), rb_intern3(), rb_raise(), rb_usascii_encoding(), register_symid_str(), RSTRING_GETMEM, RUBY_SPECIAL_SHIFT, and sym_check_asciionly().
Referenced by rb_intern3(), and rb_intern_str().
| static ID internal_id_gen | ( | struct parser_params * | parser | ) | [static] |
Definition at line 15662 of file ripper.c.
References ID_INTERNAL, ID_SCOPE_SHIFT, lvtbl, tLAST_TOKEN, and vtable_size().
| static int is_global_name_punct | ( | const char | c | ) | [inline, static] |
Definition at line 11814 of file ripper.c.
Referenced by is_special_global_name(), and parser_peek_variable_name().
| static int is_private_local_id | ( | ID | name | ) | [static] |
Definition at line 14259 of file ripper.c.
References is_local_id, rb_id2str(), and RSTRING_PTR.
Referenced by shadowing_lvar_gen(), and warn_unused_var().
| static int is_special_global_name | ( | const char * | m, |
| const char * | e, | ||
| rb_encoding * | enc | ||
| ) | [static] |
Definition at line 15671 of file ripper.c.
References is_global_name_punct(), is_identchar, rb_enc_isdigit, and rb_enc_mbclen().
Referenced by intern_str(), and rb_enc_symname_type().
| static int is_static_content | ( | NODE * | node | ) | [static] |
Definition at line 14673 of file ripper.c.
References nd_type, NODE_ARRAY, NODE_FALSE, NODE_HASH, NODE_LIT, NODE_NIL, NODE_STR, NODE_TRUE, and NODE_ZARRAY.
Referenced by assign_in_cond().
| static VALUE lex_get_str | ( | struct parser_params * | parser, |
| VALUE | s | ||
| ) | [static] |
Definition at line 11028 of file ripper.c.
References parser_params::enc, lex_gets_ptr, must_be_ascii_compatible(), Qnil, rb_enc_str_new(), RSTRING_LEN, and RSTRING_PTR.
Referenced by parser_compile_string().
| static VALUE lex_getline | ( | struct parser_params * | parser | ) | [static] |
Definition at line 11048 of file ripper.c.
References current_enc, must_be_ascii_compatible(), NIL_P, parser_params::parser_lex_gets, parser_params::parser_lex_input, Qnil, rb_ary_push(), rb_enc_associate(), ruby_coverage, and ruby_debug_lines.
Referenced by parser_nextc().
| static VALUE lex_io_gets | ( | struct parser_params * | parser, |
| VALUE | io | ||
| ) | [static] |
Definition at line 11118 of file ripper.c.
References rb_io_gets().
Referenced by rb_parser_compile_file().
| static NODE * list_append_gen | ( | struct parser_params * | parser, |
| NODE * | list, | ||
| NODE * | item | ||
| ) | [static] |
| static NODE * list_concat_gen | ( | struct parser_params * | parser, |
| NODE * | head, | ||
| NODE * | tail | ||
| ) | [static] |
| static int literal_concat0 | ( | struct parser_params * | parser, |
| VALUE | head, | ||
| VALUE | tail | ||
| ) | [static] |
Definition at line 13932 of file ripper.c.
References compile_error, NIL_P, PARSER_ARG, rb_enc_compatible(), rb_enc_get(), rb_enc_name, rb_str_buf_append(), and rb_str_resize().
Referenced by literal_concat_gen(), and yyparse().
| static NODE * literal_concat_gen | ( | struct parser_params * | parser, |
| NODE * | head, | ||
| NODE * | tail | ||
| ) | [static] |
Definition at line 13949 of file ripper.c.
References head, list_append, list_concat, literal_concat0(), nd_set_type, nd_type, NEW_DSTR, NEW_STR, NIL_P, node, NODE_ARRAY, NODE_DSTR, NODE_EVSTR, NODE_STR, Qnil, rb_gc_force_recycle(), and tail.
| static int literal_node | ( | NODE * | node | ) | [static] |
Definition at line 14783 of file ripper.c.
References nd_type, NODE_DREGX, NODE_DREGX_ONCE, NODE_DSTR, NODE_DSYM, NODE_EVSTR, NODE_FALSE, NODE_LIT, NODE_NIL, NODE_STR, and NODE_TRUE.
Referenced by cond0().
| static int local_id_gen | ( | struct parser_params * | parser, |
| ID | id | ||
| ) | [static] |
Definition at line 15206 of file ripper.c.
References args, DVARS_INHERIT, LVAR_USED, lvtbl, POINTER_P, vtable::prev, rb_local_defined(), vtable::tbl, and vtable_included().
| static void local_pop_gen | ( | struct parser_params * | parser | ) | [static] |
Definition at line 15144 of file ripper.c.
References lvtbl, vtable_free(), warn_unused_var(), and xfree().
| static void local_push_gen | ( | struct parser_params * | parser, |
| int | inherit_dvars | ||
| ) | [static] |
Definition at line 15129 of file ripper.c.
References ALLOC, local_vars::args, compile_for_eval, DVARS_INHERIT, DVARS_TOPSCOPE, e_option_supplied(), ifndef_ripper, lvtbl, local_vars::prev, RTEST, ruby_verbose, local_vars::used, local_vars::vars, and vtable_alloc().
| static ID * local_tbl_gen | ( | struct parser_params * | parser | ) | [static] |
Definition at line 15174 of file ripper.c.
References ALLOC_N, buf, cnt, lvtbl, vtable_size(), and vtable_tblcpy().
| static int local_var_gen | ( | struct parser_params * | parser, |
| ID | id | ||
| ) | [static] |
Definition at line 15196 of file ripper.c.
References lvtbl, ruby_sourceline, vtable_add(), and vtable_size().
| static int lvar_defined_gen | ( | struct parser_params * | parser, |
| ID | id | ||
| ) | [static] |
Definition at line 12150 of file ripper.c.
References dvar_defined_get, dyna_in_block, and local_id.
| static void magic_comment_encoding | ( | struct parser_params * | parser, |
| const char * | name, | ||
| const char * | val | ||
| ) | [static] |
Definition at line 12225 of file ripper.c.
References comment_at_top(), and parser_set_encode().
| static const char* magic_comment_marker | ( | const char * | str, |
| long | len | ||
| ) | [static] |
Definition at line 12269 of file ripper.c.
Referenced by parser_magic_comment().
| static NODE * match_op_gen | ( | struct parser_params * | parser, |
| NODE * | node1, | ||
| NODE * | node2 | ||
| ) | [static] |
Definition at line 14068 of file ripper.c.
References nd_type, NEW_CALL, NEW_LIST, NEW_MATCH2, NEW_MATCH3, NODE_DREGX, NODE_DREGX_ONCE, NODE_LIT, RB_TYPE_P, T_REGEXP, tMATCH, and value_expr.
| static rb_encoding* must_be_ascii_compatible | ( | VALUE | s | ) | [static] |
Definition at line 11018 of file ripper.c.
References parser_params::enc, rb_eArgError, rb_enc_asciicompat, rb_enc_get(), and rb_raise().
Referenced by lex_get_str(), lex_getline(), rb_compile_string(), and rb_parser_compile_string().
| static NODE * negate_lit | ( | NODE * | node | ) | [static] |
| static NODE * new_args_gen | ( | struct parser_params * | parser, |
| NODE * | m, | ||
| NODE * | o, | ||
| ID | r, | ||
| NODE * | p, | ||
| NODE * | tail | ||
| ) | [static] |
Definition at line 14955 of file ripper.c.
References args, rb_args_info::first_post_arg, rb_args_info::opt_args, rb_args_info::post_args_num, rb_args_info::post_init, rb_args_info::pre_args_num, rb_args_info::pre_init, rb_long2int, rb_args_info::rest_arg, ruby_sourceline, and tail.
| static NODE * new_args_tail_gen | ( | struct parser_params * | parser, |
| NODE * | k, | ||
| ID | kr, | ||
| ID | b | ||
| ) | [static] |
Definition at line 14977 of file ripper.c.
References ALLOC, arg_var, args, rb_args_info::block_arg, internal_id, rb_args_info::kw_args, rb_args_info::kw_rest_arg, MEMZERO, NEW_DVAR, NEW_NODE, node, NODE_ARGS, and ruby_sourceline.
| static NODE * new_attr_op_assign_gen | ( | struct parser_params * | parser, |
| NODE * | lhs, | ||
| ID | attr, | ||
| ID | op, | ||
| NODE * | rhs | ||
| ) | [static] |
| static void new_bv_gen | ( | struct parser_params * | parser, |
| ID | name | ||
| ) | [static] |
Definition at line 14296 of file ripper.c.
References compile_error, dyna_var, is_local_id, PARSER_ARG, rb_id2name(), and shadowing_lvar.
| static NODE * new_const_op_assign_gen | ( | struct parser_params * | parser, |
| NODE * | lhs, | ||
| ID | op, | ||
| NODE * | rhs | ||
| ) | [static] |
| static NODE * new_evstr_gen | ( | struct parser_params * | parser, |
| NODE * | node | ||
| ) | [static] |
| static NODE * new_op_assign_gen | ( | struct parser_params * | parser, |
| NODE * | lhs, | ||
| ID | op, | ||
| NODE * | rhs | ||
| ) | [static] |
Definition at line 15029 of file ripper.c.
References gettable, is_asgn_or_id, lhs, NEW_BEGIN, NEW_CALL, NEW_LIST, NEW_OP_ASGN_AND, NEW_OP_ASGN_OR, tANDOP, and tOROP.
| static NODE * new_yield_gen | ( | struct parser_params * | parser, |
| NODE * | node | ||
| ) | [static] |
Definition at line 14908 of file ripper.c.
References NEW_YIELD, and no_blockarg().
| static NODE * newline_node | ( | NODE * | node | ) | [static] |
Definition at line 13801 of file ripper.c.
References RNode::flags, node, NODE_FL_NEWLINE, and remove_begin().
Referenced by reg_named_capture_assign_gen(), reg_named_capture_assign_iter(), and yyparse().
| static void no_blockarg | ( | struct parser_params * | parser, |
| NODE * | node | ||
| ) | [static] |
Definition at line 14883 of file ripper.c.
References compile_error, nd_type, NODE_BLOCK_PASS, and PARSER_ARG.
Referenced by new_yield_gen(), and ret_args_gen().
| static NODE * node_assign_gen | ( | struct parser_params * | parser, |
| NODE * | lhs, | ||
| NODE * | rhs | ||
| ) | [static] |
Definition at line 14406 of file ripper.c.
References arg_append, lhs, nd_type, NODE_ATTRASGN, NODE_CALL, NODE_CDECL, NODE_CVASGN, NODE_DASGN, NODE_DASGN_CURR, NODE_GASGN, NODE_IASGN, NODE_IASGN2, NODE_LASGN, and NODE_MASGN.
| static NODE * node_newnode | ( | struct parser_params * | parser, |
| enum node_type | type, | ||
| VALUE | a0, | ||
| VALUE | a1, | ||
| VALUE | a2 | ||
| ) | [static] |
Definition at line 13781 of file ripper.c.
References nd_set_line(), rb_node_newnode, and ruby_sourceline.
| static NODE* parser_compile_string | ( | volatile VALUE | vparser, |
| const char * | f, | ||
| VALUE | s, | ||
| int | line | ||
| ) | [static] |
Definition at line 11071 of file ripper.c.
References compile_for_eval, lex_get_str(), lex_gets, lex_gets_ptr, lex_input, lex_p, lex_pbeg, lex_pend, node, RB_GC_GUARD, rb_parse_in_eval(), TypedData_Get_Struct, and yycompile().
Referenced by rb_compile_cstr(), rb_compile_string(), rb_parser_compile_cstr(), and rb_parser_compile_string().
| static long parser_encode_length | ( | struct parser_params * | parser, |
| const char * | name, | ||
| long | len | ||
| ) | [static] |
Definition at line 12157 of file ripper.c.
References rb_memcicmp().
Referenced by set_file_encoding().
| static void parser_free | ( | void * | ptr | ) | [static] |
Definition at line 16370 of file ripper.c.
References parser_params::parser_lvtbl, parser_params::parser_ruby_sourcefile, parser_params::parser_tokenbuf, local_vars::prev, prev, local_vars::vars, and xfree().
| static int parser_here_document | ( | struct parser_params * | parser, |
| NODE * | here | ||
| ) | [static] |
Definition at line 12025 of file ripper.c.
References compile_error, current_enc, dispatch_heredoc_end, dispose_string(), parser_params::enc, parser_params::eofp, flush_string_content, func, heredoc_restore, lex_goto_eol, lex_lastline, lex_p, lex_pend, lex_strterm, NEW_STRTERM, newtok, nextc, NIL_P, NULL, PARSER_ARG, parser_peek_variable_name(), pushback, rb_str_append(), rb_str_cat(), RSTRING_LEN, RSTRING_PTR, set_yylval_str, STR_FUNC_EXPAND, STR_FUNC_INDENT, STR_NEW, STR_NEW3, tok, tokadd, tokadd_string, toklen, tSTRING_CONTENT, tSTRING_END, was_bol, and whole_match_p.
| static int parser_heredoc_identifier | ( | struct parser_params * | parser | ) | [static] |
Definition at line 11915 of file ripper.c.
References compile_error, func, lex_goto_eol, lex_lastline, lex_p, lex_pbeg, lex_strterm, nd_set_line(), newtok, nextc, NODE_HEREDOC, PARSER_ARG, parser_is_identchar, pushback, rb_node_newnode, ripper_flush, ruby_sourceline, str_dquote, STR_FUNC_INDENT, STR_NEW, str_squote, str_xquote, term, tHEREDOC_BEG, tok, tokadd, tokadd_mbchar, tokfix, toklen, tSTRING_BEG, and tXSTRING_BEG.
| static void parser_heredoc_restore | ( | struct parser_params * | parser, |
| NODE * | here | ||
| ) | [static] |
Definition at line 11978 of file ripper.c.
References dispose_string(), heredoc_end, lex_lastline, lex_p, lex_pbeg, lex_pend, nd_line, rb_gc_force_recycle(), ripper_flush, RSTRING_LEN, RSTRING_PTR, and ruby_sourceline.
| static void parser_initialize | ( | struct parser_params * | parser | ) | [static] |
Definition at line 16291 of file ripper.c.
References parser_params::enc, parser_params::eofp, parser_params::heap, parser_params::is_ripper, NULL, parser_params::parser_brace_nest, parser_params::parser_class_nest, parser_params::parser_cmdarg_stack, parser_params::parser_command_start, parser_params::parser_compile_for_eval, parser_params::parser_cond_stack, parser_params::parser_cur_mid, parser_params::parser_deferred_nodes, parser_params::parser_eval_tree, parser_params::parser_eval_tree_begin, parser_params::parser_heredoc_end, parser_params::parser_in_def, parser_params::parser_in_defined, parser_params::parser_in_single, parser_params::parser_lex_p, parser_params::parser_lex_pbeg, parser_params::parser_lex_pend, parser_params::parser_lex_strterm, parser_params::parser_lpar_beg, parser_params::parser_lvtbl, parser_params::parser_paren_nest, parser_params::parser_ruby__end__seen, parser_params::parser_ruby_sourcefile, parser_params::parser_tokenbuf, parser_params::parser_tokidx, parser_params::parser_toksiz, Qfalse, Qnil, rb_utf8_encoding(), and TRUE.
Referenced by parser_new().
| static int parser_magic_comment | ( | struct parser_params * | parser, |
| const char * | str, | ||
| long | len | ||
| ) | [static] |
Definition at line 12302 of file ripper.c.
References FALSE, magic_comment::func, magic_comment::length, magic_comment_marker(), magic_comments, magic_comment::name, numberof, RSTRING_PTR, str_copy, STRNCASECMP, TRUE, and val.
Referenced by parser_yylex().
| static void parser_mark | ( | void * | ptr | ) | [static] |
Definition at line 16344 of file ripper.c.
References parser_params::debug_lines, parser_params::heap, parser_params::parser_deferred_nodes, parser_params::parser_eval_tree, parser_params::parser_eval_tree_begin, parser_params::parser_lex_input, parser_params::parser_lex_lastline, parser_params::parser_lex_nextline, parser_params::parser_lex_strterm, and rb_gc_mark().
| static size_t parser_memsize | ( | const void * | ptr | ) | [static] |
Definition at line 16390 of file ripper.c.
References vtable::capa, parser_params::parser_lvtbl, parser_params::parser_ruby_sourcefile, parser_params::parser_toksiz, local_vars::prev, size, strlen(), and local_vars::vars.
| static struct parser_params* parser_new | ( | void | ) | [static, read] |
Definition at line 16433 of file ripper.c.
References ALLOC_N, MEMZERO, and parser_initialize().
Referenced by rb_parser_new().
| static char* parser_newtok | ( | struct parser_params * | parser | ) | [static] |
| static int parser_nextc | ( | struct parser_params * | parser | ) | [inline, static] |
Definition at line 11191 of file ripper.c.
References current_enc, parser_params::eofp, heredoc_end, lex_getline(), lex_goto_eol, lex_input, lex_lastline, lex_nextline, lex_p, lex_pbeg, lex_pend, parser_params::line_count, NIL_P, peek, Qtrue, rb_enc_associate(), rb_str_buf_cat(), rb_str_buf_new(), ripper_flush, RSTRING_LEN, RSTRING_PTR, and ruby_sourceline.
| static int parser_parse_string | ( | struct parser_params * | parser, |
| NODE * | quote | ||
| ) | [static] |
Definition at line 11857 of file ripper.c.
References compile_error, current_enc, parser_params::enc, parser_params::eofp, flush_string_content, func, nd_line, nd_paren, nd_term, newtok, nextc, PARSER_ARG, parser_peek_variable_name(), pushback, regx_options, ruby_sourceline, set_yylval_num, set_yylval_str, STR_FUNC_EXPAND, STR_FUNC_QWORDS, STR_FUNC_REGEXP, STR_NEW3, term, tok, tokadd, tokadd_string, tokfix, toklen, tREGEXP_END, tSTRING_CONTENT, and tSTRING_END.
| static int parser_peek_variable_name | ( | struct parser_params * | parser | ) | [static] |
Definition at line 11821 of file ripper.c.
References command_start, is_global_name_punct(), ISDIGIT, lex_p, lex_pend, TRUE, tSTRING_DBEG, and tSTRING_DVAR.
Referenced by parser_here_document(), and parser_parse_string().
| static void parser_prepare | ( | struct parser_params * | parser | ) | [static] |
Definition at line 12439 of file ripper.c.
References parser_params::enc, EOF, parser_params::has_shebang, lex_lastline, lex_p, lex_pbeg, lex_pend, nextc, peek, pushback, rb_enc_get(), and rb_utf8_encoding().
Referenced by yycompile0().
| static void parser_pushback | ( | struct parser_params * | parser, |
| int | c | ||
| ) | [static] |
| static int parser_read_escape | ( | struct parser_params * | parser, |
| int | flags, | ||
| rb_encoding ** | encp | ||
| ) | [static] |
Definition at line 11394 of file ripper.c.
References ESCAPE_CONTROL, ESCAPE_META, lex_p, nextc, peek, pushback, read_escape, scan_oct, tok_hex, and yyerror.
| static int parser_regx_options | ( | struct parser_params * | parser | ) | [static] |
Definition at line 11565 of file ripper.c.
References compile_error, newtok, nextc, options(), PARSER_ARG, pushback, rb_ascii8bit_encindex(), rb_char_to_option_kcode(), RE_OPTION_ENCODING, RE_OPTION_ONCE, tok, tokadd, tokfix, and toklen.
| static void parser_set_encode | ( | struct parser_params * | parser, |
| const char * | name | ||
| ) | [static] |
Definition at line 12177 of file ripper.c.
References parser_params::enc, RARRAY_LEN, RARRAY_PTR, rb_ary_unshift(), rb_eArgError, rb_enc_asciicompat, rb_enc_associate_index(), rb_enc_find_index(), rb_enc_from_index(), rb_enc_name, rb_exc_raise(), rb_make_backtrace(), rb_make_exception(), rb_sprintf(), ruby_debug_lines, ruby_sourcefile, and ruby_sourceline.
Referenced by magic_comment_encoding(), and set_file_encoding().
| static void parser_set_token_info | ( | struct parser_params * | parser, |
| const char * | name, | ||
| const char * | val | ||
| ) | [static] |
Definition at line 12234 of file ripper.c.
References FALSE, parser_params::parser_token_info_enabled, rb_compile_warning(), ruby_sourcefile, ruby_sourceline, strcasecmp, and TRUE.
| static VALUE parser_str_new | ( | const char * | p, |
| long | n, | ||
| rb_encoding * | enc, | ||
| int | func, | ||
| rb_encoding * | enc0 | ||
| ) | [static] |
Definition at line 11169 of file ripper.c.
References ENC_CODERANGE_7BIT, rb_ascii8bit_encoding(), rb_enc_asciicompat, rb_enc_associate(), rb_enc_str_coderange(), rb_enc_str_new(), rb_usascii_encoding(), rb_utf8_encoding(), and STR_FUNC_REGEXP.
| static int parser_tok_hex | ( | struct parser_params * | parser, |
| size_t * | numlen | ||
| ) | [static] |
| static void parser_tokadd | ( | struct parser_params * | parser, |
| int | c | ||
| ) | [static] |
| static int parser_tokadd_escape | ( | struct parser_params * | parser, |
| rb_encoding ** | encp | ||
| ) | [static] |
Definition at line 11492 of file ripper.c.
References ESCAPE_CONTROL, ESCAPE_META, lex_p, nextc, pushback, ruby_scan_oct(), tok_hex, tokadd, tokcopy, and yyerror.
| static int parser_tokadd_mbchar | ( | struct parser_params * | parser, |
| int | c | ||
| ) | [static] |
Definition at line 11608 of file ripper.c.
References compile_error, lex_p, MBCLEN_CHARFOUND_P, PARSER_ARG, parser_encoding_name, parser_precise_mbclen, tokadd, and tokcopy.
| static int parser_tokadd_string | ( | struct parser_params * | parser, |
| int | func, | ||
| int | term, | ||
| int | paren, | ||
| long * | nest, | ||
| rb_encoding ** | encp | ||
| ) | [static] |
Definition at line 11637 of file ripper.c.
References parser_params::enc, lex_p, lex_pend, mixed_error, mixed_escape, nextc, parser_isascii, parser_tokadd_utf8(), pushback, read_escape, simple_re_meta(), STR_FUNC_ESCAPE, STR_FUNC_EXPAND, STR_FUNC_QWORDS, STR_FUNC_REGEXP, STR_FUNC_SYMBOL, tokadd, tokadd_escape, and tokadd_mbchar.
| static int parser_tokadd_utf8 | ( | struct parser_params * | parser, |
| rb_encoding ** | encp, | ||
| int | string_literal, | ||
| int | symbol_literal, | ||
| int | regexp_literal | ||
| ) | [static] |
Definition at line 11319 of file ripper.c.
References lex_p, nextc, peek, rb_utf8_encoding(), scan_hex, tokadd, tokaddmbc, tokcopy, and yyerror.
Referenced by parser_tokadd_string(), and parser_yylex().
| static void parser_tokaddmbc | ( | struct parser_params * | parser, |
| int | c, | ||
| rb_encoding * | enc | ||
| ) | [static] |
Definition at line 11485 of file ripper.c.
References rb_enc_codelen(), rb_enc_mbcput, and tokspace.
| static char* parser_tokspace | ( | struct parser_params * | parser, |
| int | n | ||
| ) | [static] |
| static void parser_warn | ( | struct parser_params * | parser, |
| NODE * | node, | ||
| const char * | mesg | ||
| ) | [static] |
Definition at line 13827 of file ripper.c.
References nd_line, rb_compile_warn(), and ruby_sourcefile.
| static void parser_warning | ( | struct parser_params * | parser, |
| NODE * | node, | ||
| const char * | mesg | ||
| ) | [static] |
Definition at line 13820 of file ripper.c.
References nd_line, rb_compile_warning(), and ruby_sourcefile.
| static int parser_whole_match_p | ( | struct parser_params * | parser, |
| const char * | eos, | ||
| long | len, | ||
| int | indent | ||
| ) | [static] |
| static int parser_yyerror | ( | struct parser_params * | parser, |
| const char * | msg | ||
| ) | [static] |
Definition at line 10844 of file ripper.c.
References ALLOCA_N, buf, compile_error, lex_lastline, lex_p, lex_pbeg, lex_pend, MEMCPY, PARSER_ARG, rb_compile_error_append(), rb_enc_get(), rb_enc_prev_char, and STR_NEW2.
Referenced by yyparse().
| static int parser_yylex | ( | struct parser_params * | parser | ) | [static] |
Definition at line 12484 of file ripper.c.
References arg_ambiguous, brace_nest, CMDARG_LEXPOP, CMDARG_P, CMDARG_PUSH, command_start, comment_at_top(), compile_error, COND_LEXPOP, COND_P, COND_PUSH, current_enc, DBL2NUM, ENC_CODERANGE_7BIT, ENC_CODERANGE_UNKNOWN, ENC_SINGLE, parser_params::eofp, errno, FALSE, here_document, heredoc_identifier, kwtable::id, INT2FIX, IS_AFTER_OPERATOR, IS_ARG, IS_BEG, IS_END, is_identchar, IS_LABEL_POSSIBLE, IS_LABEL_SUFFIX, IS_lex_state, IS_lex_state_for, is_local_id, IS_SPCARG, ISDIGIT, k__END__, keyword_do, keyword_do_block, keyword_do_cond, keyword_do_LAMBDA, lex_eol_p, lex_goto_eol, lex_lastline, lex_nextline, lex_p, lex_pend, lex_state, lex_strterm, lpar_beg, lvar_defined, kwtable::name, nd_type, NEW_BACK_REF, NEW_NTH_REF, NEW_STRTERM, newtok, nextc, no_digits, NODE_HEREDOC, paren_nest, parse_string, PARSER_ARG, parser_is_identchar, parser_isascii, parser_magic_comment(), parser_tokadd_utf8(), peek, peek_n, pushback, Qtrue, rb_compile_error, rb_cstr_to_inum(), rb_enc_isalnum, rb_enc_isspace, rb_gc_force_recycle(), rb_intern, rb_reserved_word, rb_warnI, rb_warning0, rb_warningS, read_escape, result, ruby__end__seen, ruby_sourceline, set_file_encoding(), set_yylval_id, set_yylval_literal, set_yylval_name, set_yylval_node, set_yylval_str, snprintf, kwtable::state, str_dquote, str_dsym, str_dword, STR_NEW3, str_regexp, str_squote, str_ssym, str_sword, str_xquote, strtod, tAMPER, tANDOP, tAREF, tASET, tASSOC, tBACK_REF, tCHAR, tCMP, tCOLON2, tCOLON3, tCOMMENT, tCONSTANT, tCVAR, tDOT2, tDOT3, tDSTAR, tEMBDOC, tEMBDOC_BEG, tEMBDOC_END, tEQ, tEQQ, term, tFID, tFLOAT, tGEQ, tGVAR, tIDENTIFIER, tIGNORED_NL, tINTEGER, tIVAR, tLABEL, tLAMBDA, tLAMBEG, tLBRACE, tLBRACE_ARG, tLBRACK, tLEQ, tLPAREN, tLPAREN_ARG, tLSHFT, tMATCH, tNEQ, tNMATCH, tNTH_REF, tok, TOK_INTERN, tokadd, tokadd_mbchar, tokaddmbc, token, tokfix, tokidx, toklast, toklen, tOP_ASGN, tOROP, tPOW, tQSYMBOLS_BEG, tQWORDS_BEG, tREGEXP_BEG, tREGEXP_END, tRSHFT, TRUE, tSP, tSTAR, tSTRING_BEG, tSTRING_DEND, tSTRING_END, tSYMBEG, tSYMBOLS_BEG, tUMINUS, tUMINUS_NUM, tUPLUS, tWORDS_BEG, tXSTRING_BEG, warn_balanced, was_bol, whole_match_p, and yyerror.
Referenced by yylex().
| static NODE* range_op | ( | struct parser_params * | parser, |
| NODE * | node | ||
| ) | [static] |
| static void rb_backref_error_gen | ( | struct parser_params * | parser, |
| NODE * | node | ||
| ) | [static] |
Definition at line 14342 of file ripper.c.
References compile_error, nd_type, NODE_BACK_REF, NODE_NTH_REF, and PARSER_ARG.
| ID rb_check_id | ( | volatile VALUE * | namep | ) |
Returns ID for the given name if it is interned already, or 0.
| namep | the pointer to the name object |
namep must be a Symbol or a String, or possible to convert with to_str method. namep is a Symbol or a String if non-zero value is returned, or is a String if 0 is returned. Definition at line 16162 of file ripper.c.
Referenced by check_definition(), obj_respond_to(), rb_f_untrace_var(), rb_mod_alias_method(), rb_mod_autoload_p(), rb_mod_const_defined(), rb_mod_cvar_defined(), rb_mod_cvar_get(), rb_mod_instance_method(), rb_mod_method_defined(), rb_mod_public_instance_method(), rb_mod_remove_const(), rb_mod_remove_cvar(), rb_mod_remove_method(), rb_mod_undef_method(), rb_obj_ivar_defined(), rb_obj_ivar_get(), rb_obj_method(), rb_obj_public_method(), rb_obj_remove_instance_variable(), send_internal(), set_const_visibility(), set_method_visibility(), and vm_call_opt_send().
| ID rb_check_id_cstr | ( | const char * | ptr, |
| long | len, | ||
| rb_encoding * | enc | ||
| ) |
Definition at line 16209 of file ripper.c.
Referenced by rb_mod_const_get(), rb_path_to_class(), and rb_str_format().
| NODE* rb_compile_cstr | ( | const char * | f, |
| const char * | s, | ||
| int | len, | ||
| int | line | ||
| ) |
Definition at line 11104 of file ripper.c.
Referenced by rb_load_file().
| NODE* rb_compile_file | ( | const char * | f, |
| VALUE | file, | ||
| int | start | ||
| ) |
Definition at line 11124 of file ripper.c.
Referenced by rb_iseq_compile_with_option().
| NODE* rb_compile_string | ( | const char * | f, |
| VALUE | s, | ||
| int | line | ||
| ) |
| int rb_enc_symname2_p | ( | const char * | name, |
| long | len, | ||
| rb_encoding * | enc | ||
| ) |
Definition at line 15804 of file ripper.c.
Referenced by rb_enc_symname_p(), rb_mod_const_get(), and reg_named_capture_assign_iter().
| int rb_enc_symname_p | ( | const char * | name, |
| rb_encoding * | enc | ||
| ) |
Definition at line 15703 of file ripper.c.
Referenced by rb_str_symname_p(), and rb_symname_p().
| static int rb_enc_symname_type | ( | const char * | name, |
| long | len, | ||
| rb_encoding * | enc | ||
| ) | [static] |
Definition at line 15709 of file ripper.c.
References id, ID_ATTRSET, ID_CLASS, ID_CONST, ID_GLOBAL, ID_INSTANCE, ID_JUNK, ID_LOCAL, is_identchar, is_special_global_name(), name, rb_enc_isalpha, rb_enc_isupper, rb_enc_mbclen(), and type.
Referenced by rb_enc_symname2_p(), and rb_str_symname_type().
| void rb_gc_mark_parser | ( | void | ) |
Definition at line 15480 of file ripper.c.
Referenced by gc_marks().
| void rb_gc_mark_symbols | ( | void | ) |
Definition at line 15653 of file ripper.c.
Referenced by gc_marks().
| const char* rb_id2name | ( | ID | id | ) |
Definition at line 16068 of file ripper.c.
Referenced by add_opt_method(), addrinfo_inspect(), assignable_gen(), cbsubst_get_subst_arg(), cbsubst_sym_to_subst(), cbsubst_table_setup(), check_dump_arg(), check_exec_redirect(), check_load_arg(), chunk_ii(), control_frame_dump(), econv_opts(), error_pos(), esignal_init(), extract_user_token(), fole_missing(), get_eval_string_core(), gettable_gen(), id2ref(), insn_data_to_s_detail(), insn_operand_intern(), inspect_enumerator(), inspect_i(), inspect_sockaddr(), iow_inspect(), iseq_compile_each(), match_aref(), match_backref_number(), mnew(), must_respond_to(), new_bv_gen(), num_sadded(), ossl_pkcs7_sym2typeid(), ossl_sslctx_set_ssl_version(), r_object0(), racc_yyparse(), rb_attr(), rb_define_class_id_under(), rb_dlcfunc_call(), rb_execarg_addopt(), rb_f_kill(), rb_f_local_variables(), rb_insecure_operation(), rb_method_call_status(), rb_method_entry_make(), rb_notimplement(), rb_search_method_entry(), rb_secure(), rb_str_format(), rb_str_setter(), rb_struct_aref_id(), rb_struct_aset_id(), rb_struct_getmember(), rb_struct_set(), rb_thread_current_status(), rb_undef(), reg_named_capture_assign_iter(), remove_method(), rsock_revlookup_flag(), ruby_debug_print_id(), set_method_visibility(), shadowing_lvar_gen(), sockopt_inspect(), symbol2event_flag(), trap_signm(), validate_label(), vm_call_method(), vm_getivar(), void_expr_gen(), vtable_add(), and warn_unused_var().
Definition at line 16007 of file ripper.c.
Referenced by add_id(), addrinfo_mdump(), fc_path(), id_to_name(), insn_operand_intern(), inspect_struct(), intern_str(), is_private_local_id(), iseq_compile_each(), iseq_data_to_ary(), iseq_load(), location_label(), location_to_str(), method_inspect(), oldbt_iter_cfunc(), r_unique(), rb_attr(), rb_define_class_id_under(), rb_define_module_id_under(), rb_enc_get_index(), rb_id2name(), rb_id2str(), rb_id_quote_unprintable(), rb_iseq_parameters(), rb_method_entry_make(), rb_sym_to_s(), rsock_ipaddr(), sym_capitalize(), sym_downcase(), sym_empty(), sym_encoding(), sym_inspect(), sym_length(), sym_swapcase(), sym_upcase(), trap_handler(), and w_symbol().
| ID rb_id_attrset | ( | ID | id | ) |
Definition at line 14326 of file ripper.c.
Referenced by attrset_gen(), intern_str(), make_struct(), rb_attr(), rb_check_id(), rb_check_id_cstr(), and rb_struct_set().
| ID rb_intern2 | ( | const char * | name, |
| long | len | ||
| ) |
Definition at line 15984 of file ripper.c.
Referenced by global_id(), init_constants(), Init_load(), rb_f_global_variables(), rb_intern(), and yyparse().
| ID rb_intern3 | ( | const char * | name, |
| long | len, | ||
| rb_encoding * | enc | ||
| ) |
Definition at line 15856 of file ripper.c.
Referenced by intern_str(), rb_intern2(), rb_mod_const_get(), and reg_named_capture_assign_iter().
| ID rb_intern_str | ( | VALUE | str | ) |
Definition at line 15997 of file ripper.c.
Referenced by cState_aref(), cState_aset(), dsym_node_gen(), r_symreal(), rb_attr(), rb_id2str(), rb_set_class_path_string(), rb_str_intern(), w_unique(), and yyparse().
| int rb_is_attrset_id | ( | ID | id | ) |
| int rb_is_attrset_name | ( | VALUE | name | ) |
Definition at line 16261 of file ripper.c.
Referenced by rb_check_id(), and rb_check_id_cstr().
| int rb_is_class_id | ( | ID | id | ) |
Definition at line 16115 of file ripper.c.
Referenced by cv_i(), rb_cv_get(), rb_cv_set(), rb_define_class_variable(), rb_mod_cvar_defined(), rb_mod_cvar_get(), rb_mod_cvar_set(), and rb_mod_remove_cvar().
| int rb_is_class_name | ( | VALUE | name | ) |
Definition at line 16243 of file ripper.c.
Referenced by rb_mod_cvar_defined(), rb_mod_cvar_get(), and rb_mod_remove_cvar().
| int rb_is_const_id | ( | ID | id | ) |
Definition at line 16109 of file ripper.c.
Referenced by defined_expr(), fc_i(), inspect_struct(), iseq_compile_each(), make_struct(), ole_const_load(), rb_attr(), rb_autoload(), rb_define_const(), rb_mod_const_defined(), rb_mod_const_get(), rb_mod_const_set(), rb_mod_remove_const(), and sv_i().
| int rb_is_const_name | ( | VALUE | name | ) |
Definition at line 16237 of file ripper.c.
Referenced by rb_mod_const_defined(), and rb_mod_remove_const().
| int rb_is_global_id | ( | ID | id | ) |
| int rb_is_global_name | ( | VALUE | name | ) |
| int rb_is_instance_id | ( | ID | id | ) |
Definition at line 16127 of file ripper.c.
Referenced by inspect_i(), ivar_i(), rb_obj_ivar_defined(), rb_obj_ivar_get(), rb_obj_ivar_set(), and rb_obj_remove_instance_variable().
| int rb_is_instance_name | ( | VALUE | name | ) |
Definition at line 16255 of file ripper.c.
Referenced by rb_obj_ivar_defined(), rb_obj_ivar_get(), and rb_obj_remove_instance_variable().
| int rb_is_junk_id | ( | ID | id | ) |
| int rb_is_junk_name | ( | VALUE | name | ) |
| int rb_is_local_id | ( | ID | id | ) |
Definition at line 16139 of file ripper.c.
Referenced by collect_local_variables_in_iseq(), inspect_struct(), and rb_attr().
| int rb_is_local_name | ( | VALUE | name | ) |
| int rb_is_method_name | ( | VALUE | name | ) |
| NODE* rb_parser_append_print | ( | VALUE | vparser, |
| NODE * | node | ||
| ) |
Definition at line 15485 of file ripper.c.
Referenced by process_options().
| void* rb_parser_calloc | ( | struct parser_params * | parser, |
| size_t | nelem, | ||
| size_t | size | ||
| ) |
| NODE* rb_parser_compile_cstr | ( | volatile VALUE | vparser, |
| const char * | f, | ||
| const char * | s, | ||
| int | len, | ||
| int | line | ||
| ) |
| NODE* rb_parser_compile_file | ( | volatile VALUE | vparser, |
| const char * | f, | ||
| VALUE | file, | ||
| int | start | ||
| ) |
Definition at line 11132 of file ripper.c.
Referenced by iseq_s_compile_file(), load_file_internal(), and rb_compile_file().
| NODE* rb_parser_compile_string | ( | volatile VALUE | vparser, |
| const char * | f, | ||
| VALUE | s, | ||
| int | line | ||
| ) |
Definition at line 11097 of file ripper.c.
Referenced by load_file_internal(), parse_string(), and process_options().
| VALUE rb_parser_encoding | ( | VALUE | vparser | ) |
Definition at line 16473 of file ripper.c.
Referenced by load_file_internal().
| VALUE rb_parser_end_seen_p | ( | VALUE | vparser | ) |
Definition at line 16458 of file ripper.c.
Referenced by load_file_internal().
| void rb_parser_free | ( | struct parser_params * | parser, |
| void * | ptr | ||
| ) |
| VALUE rb_parser_get_yydebug | ( | VALUE | self | ) |
| void* rb_parser_malloc | ( | struct parser_params * | parser, |
| size_t | size | ||
| ) |
| VALUE rb_parser_new | ( | void | ) |
Definition at line 16444 of file ripper.c.
Referenced by iseq_s_compile_file(), parse_string(), process_options(), rb_compile_cstr(), rb_compile_file(), rb_compile_string(), and rb_load_file().
| void* rb_parser_realloc | ( | struct parser_params * | parser, |
| void * | ptr, | ||
| size_t | size | ||
| ) |
| VALUE rb_parser_set_yydebug | ( | VALUE | self, |
| VALUE | flag | ||
| ) |
Definition at line 16503 of file ripper.c.
Referenced by process_options().
| NODE* rb_parser_while_loop | ( | VALUE | vparser, |
| NODE * | node, | ||
| int | chop, | ||
| int | split | ||
| ) |
Definition at line 15517 of file ripper.c.
Referenced by process_options().
| struct kwtable * rb_reserved_word | ( | const char * | str, |
| unsigned int | len | ||
| ) | [read] |
| static int rb_str_symname_type | ( | VALUE | name | ) | [static] |
Definition at line 15810 of file ripper.c.
References rb_enc_get(), rb_enc_symname_type(), RB_GC_GUARD, RSTRING_LEN, StringValuePtr, and type.
Referenced by rb_is_attrset_name(), rb_is_class_name(), rb_is_const_name(), rb_is_global_name(), rb_is_instance_name(), rb_is_junk_name(), rb_is_local_name(), and rb_is_method_name().
| VALUE rb_sym_all_symbols | ( | void | ) |
Definition at line 16100 of file ripper.c.
Referenced by Init_String().
| int rb_symname_p | ( | const char * | name | ) |
| static void reduce_nodes_gen | ( | struct parser_params * | parser, |
| NODE ** | body | ||
| ) | [static] |
Definition at line 14612 of file ripper.c.
References RNode::flags, nd_body, nd_else, nd_head, nd_next, nd_resq, nd_type, NEW_NIL, node, NODE_BEGIN, NODE_BLOCK, NODE_CASE, NODE_ENSURE, NODE_FL_NEWLINE, NODE_IF, NODE_NIL, NODE_RESCUE, NODE_RETURN, NODE_WHEN, and subnodes.
| static VALUE reg_compile_gen | ( | struct parser_params * | parser, |
| VALUE | str, | ||
| int | options | ||
| ) | [static] |
Definition at line 15456 of file ripper.c.
References compile_error, err, NIL_P, PARSER_ARG, Qnil, rb_attr_get(), rb_errinfo, rb_intern, rb_reg_compile(), rb_set_errinfo(), rb_str_append(), rb_str_cat(), RE_OPTION_MASK, reg_fragment_setenc, RSTRING_PTR, ruby_sourcefile, and ruby_sourceline.
| static int reg_fragment_check_gen | ( | struct parser_params * | parser, |
| VALUE | str, | ||
| int | options | ||
| ) | [static] |
Definition at line 15361 of file ripper.c.
References compile_error, err, PARSER_ARG, Qnil, RB_GC_GUARD, rb_obj_as_string(), rb_reg_check_preprocess(), reg_fragment_setenc, and RSTRING_PTR.
| static void reg_fragment_setenc_gen | ( | struct parser_params * | parser, |
| VALUE | str, | ||
| int | options | ||
| ) | [static] |
Definition at line 15322 of file ripper.c.
References compile_error, current_enc, ENC_CODERANGE_7BIT, ENCODING_GET, ENCODING_IS_ASCII8BIT, ENCODING_SET, PARSER_ARG, rb_ascii8bit_encoding(), rb_char_to_option_kcode(), rb_enc_associate(), rb_enc_get(), rb_enc_name, rb_enc_str_coderange(), rb_usascii_encoding(), RE_OPTION_ENCODING_IDX, and RE_OPTION_ENCODING_NONE.
| static NODE * reg_named_capture_assign_gen | ( | struct parser_params * | parser, |
| VALUE | regexp, | ||
| NODE * | match | ||
| ) | [static] |
Definition at line 15424 of file ripper.c.
References block_append, reg_named_capture_assign_t::enc, reg_named_capture_assign_t::fail_block, gettable, INT2FIX, match(), NEW_CALL, NEW_IF, NEW_LIST, NEW_LIT, newline_node(), reg_named_capture_assign_t::num, onig_foreach_name(), reg_named_capture_assign_t::parser, Qnil, rb_enc_get(), rb_intern, reg_named_capture_assign_iter(), RREGEXP, and reg_named_capture_assign_t::succ_block.
| 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] |
Definition at line 15384 of file ripper.c.
References assignable, block_append, dvar_defined, parser_params::enc, reg_named_capture_assign_t::enc, reg_named_capture_assign_t::fail_block, gettable, ID2SYM, idAREF, local_id, MAX_WORD_LENGTH, name, NEW_BEGIN, NEW_CALL, NEW_LIST, NEW_LIT, newline_node(), node_assign, reg_named_capture_assign_t::num, reg_named_capture_assign_t::parser, Qnil, rb_enc_islower, rb_enc_symname2_p(), rb_id2name(), rb_intern, rb_intern3(), rb_reserved_word, rb_warningS, ST_CONTINUE, and reg_named_capture_assign_t::succ_block.
Referenced by reg_named_capture_assign_gen().
| static ID register_symid | ( | ID | id, |
| const char * | name, | ||
| long | len, | ||
| rb_encoding * | enc | ||
| ) | [static] |
Definition at line 15820 of file ripper.c.
References rb_enc_str_new(), and register_symid_str().
| static ID register_symid_str | ( | ID | id, |
| VALUE | str | ||
| ) | [static] |
Definition at line 15827 of file ripper.c.
References global_symbols, id, symbols::id_str, OBJ_FREEZE, st_add_direct(), and symbols::sym_id.
Referenced by intern_str(), and register_symid().
| static NODE * remove_begin | ( | NODE * | node | ) | [static] |
Definition at line 14602 of file ripper.c.
References nd_type, node, and NODE_BEGIN.
Referenced by newline_node(), and yyparse().
| static NODE * ret_args_gen | ( | struct parser_params * | parser, |
| NODE * | node | ||
| ) | [static] |
Definition at line 14891 of file ripper.c.
References nd_set_type, nd_type, no_blockarg(), node, NODE_ARRAY, and NODE_VALUES.
| static void set_file_encoding | ( | struct parser_params * | parser, |
| const char * | str, | ||
| const char * | send | ||
| ) | [static] |
Definition at line 12396 of file ripper.c.
References parser_encode_length(), parser_set_encode(), rb_str_new(), rb_str_resize(), RSTRING_PTR, and STRNCASECMP.
Referenced by parser_yylex().
| static ID shadowing_lvar_gen | ( | struct parser_params * | parser, |
| ID | name | ||
| ) | [static] |
Definition at line 14272 of file ripper.c.
References dvar_curr, dvar_defined_get, dyna_in_block, is_private_local_id(), local_id, LVAR_USED, lvtbl, name, rb_id2name(), rb_warningS, ruby_sourceline, vtable_add(), and yyerror.
| static int simple_re_meta | ( | int | c | ) | [inline, static] |
Definition at line 11624 of file ripper.c.
Referenced by parser_tokadd_string().
| static NODE * splat_array | ( | NODE * | node | ) | [static] |
Definition at line 14398 of file ripper.c.
References nd_type, node, NODE_ARRAY, and NODE_SPLAT.
Referenced by yyparse().
| static int sym_check_asciionly | ( | VALUE | str | ) | [static] |
Definition at line 15836 of file ripper.c.
References ENC_CODERANGE_7BIT, ENC_CODERANGE_BROKEN, FALSE, rb_eEncodingError, rb_enc_asciicompat, rb_enc_get(), rb_enc_str_coderange(), rb_raise(), and TRUE.
Referenced by intern_str(), rb_check_id(), and rb_check_id_cstr().
Definition at line 16077 of file ripper.c.
References ID2SYM, rb_ary_push(), and ST_CONTINUE.
Referenced by rb_sym_all_symbols().
| static int token_info_get_column | ( | struct parser_params * | parser, |
| const char * | token | ||
| ) | [static] |
Definition at line 10771 of file ripper.c.
References lex_p, lex_pbeg, and strlen().
Referenced by token_info_pop(), and token_info_push().
| static int token_info_has_nonspaces | ( | struct parser_params * | parser, |
| const char * | token | ||
| ) | [static] |
Definition at line 10785 of file ripper.c.
References lex_p, lex_pbeg, and strlen().
Referenced by token_info_pop(), and token_info_push().
| static void token_info_pop | ( | struct parser_params * | parser, |
| const char * | token | ||
| ) | [static] |
Definition at line 10815 of file ripper.c.
References token_info::column, token_info::linenum, token_info::next, token_info::nonspc, parser_params::parser_token_info, parser_params::parser_token_info_enabled, rb_compile_warn(), ruby_sourcefile, ruby_sourceline, token_info::token, token_info_get_column(), token_info_has_nonspaces(), and xfree().
| static void token_info_push | ( | struct parser_params * | parser, |
| const char * | token | ||
| ) | [static] |
Definition at line 10798 of file ripper.c.
References ALLOC, token_info::column, token_info::linenum, token_info::next, token_info::nonspc, parser_params::parser_token_info, parser_params::parser_token_info_enabled, ruby_sourceline, token_info::token, token, token_info_get_column(), and token_info_has_nonspaces().
| static int value_expr_gen | ( | struct parser_params * | parser, |
| NODE * | node | ||
| ) | [static] |
Definition at line 14437 of file ripper.c.
References cond, FALSE, nd_type, NODE_AND, NODE_BEGIN, NODE_BLOCK, NODE_BREAK, NODE_DEFN, NODE_DEFS, NODE_IF, NODE_NEXT, NODE_OR, NODE_REDO, NODE_RETRY, NODE_RETURN, parser_warning, rb_warning0, TRUE, value_expr, and yyerror.
| static void void_expr_gen | ( | struct parser_params * | parser, |
| NODE * | node | ||
| ) | [static] |
Definition at line 14499 of file ripper.c.
References nd_line, nd_type, NODE_BACK_REF, NODE_CALL, NODE_COLON2, NODE_COLON3, NODE_CONST, NODE_CVAR, NODE_DEFINED, NODE_DOT2, NODE_DOT3, NODE_DREGX, NODE_DREGX_ONCE, NODE_DSTR, NODE_DVAR, NODE_FALSE, NODE_GVAR, NODE_IVAR, NODE_LIT, NODE_LVAR, NODE_NIL, NODE_NTH_REF, NODE_SELF, NODE_STR, NODE_TRUE, rb_id2name(), rb_warnS, RTEST, ruby_sourceline, ruby_verbose, tCMP, tEQ, tGEQ, tLEQ, tNEQ, tPOW, tUMINUS, and tUPLUS.
| static void void_stmts_gen | ( | struct parser_params * | parser, |
| NODE * | node | ||
| ) | [static] |
Definition at line 14588 of file ripper.c.
References nd_type, NODE_BLOCK, RTEST, ruby_verbose, and void_expr0.
| static void vtable_add | ( | struct vtable * | tbl, |
| ID | id | ||
| ) | [static] |
Definition at line 472 of file ripper.c.
References id, POINTER_P, rb_bug(), rb_id2name(), REALLOC_N, and VTBL_DEBUG.
Referenced by arg_var_gen(), local_var_gen(), and shadowing_lvar_gen().
| static struct vtable* vtable_alloc | ( | struct vtable * | prev | ) | [static, read] |
Definition at line 448 of file ripper.c.
References ALLOC, ALLOC_N, vtable::capa, vtable::pos, vtable::prev, prev, vtable::tbl, and VTBL_DEBUG.
Referenced by dyna_push_gen(), and local_push_gen().
| static void vtable_free | ( | struct vtable * | tbl | ) | [static] |
Definition at line 460 of file ripper.c.
References POINTER_P, VTBL_DEBUG, and xfree().
Referenced by dyna_pop_1(), and local_pop_gen().
| static int vtable_included | ( | const struct vtable * | tbl, |
| ID | id | ||
| ) | [static] |
Definition at line 487 of file ripper.c.
References POINTER_P, vtable::pos, and vtable::tbl.
Referenced by dvar_curr_gen(), dvar_defined_gen(), and local_id_gen().
| static int vtable_size | ( | const struct vtable * | tbl | ) | [static] |
Definition at line 435 of file ripper.c.
References POINTER_P, and vtable::pos.
Referenced by arg_var_gen(), internal_id_gen(), local_tbl_gen(), local_var_gen(), and vtable_tblcpy().
| static ID* vtable_tblcpy | ( | ID * | buf, |
| const struct vtable * | src | ||
| ) | [static] |
Definition at line 15159 of file ripper.c.
References buf, cnt, vtable::tbl, and vtable_size().
Referenced by local_tbl_gen().
| static void warn_unless_e_option | ( | struct parser_params * | parser, |
| NODE * | node, | ||
| const char * | str | ||
| ) | [static] |
Definition at line 14724 of file ripper.c.
References e_option_supplied(), and parser_warn.
Referenced by cond0(), and range_op().
| static void warn_unused_var | ( | struct parser_params * | parser, |
| struct local_vars * | local | ||
| ) | [static] |
Definition at line 15109 of file ripper.c.
References cnt, is_private_local_id(), LVAR_USED, vtable::pos, rb_bug(), rb_id2name(), rb_warn4S, ruby_sourcefile, vtable::tbl, local_vars::used, and local_vars::vars.
Referenced by dyna_pop_1(), and local_pop_gen().
| static void warning_unless_e_option | ( | struct parser_params * | parser, |
| NODE * | node, | ||
| const char * | str | ||
| ) | [static] |
Definition at line 14730 of file ripper.c.
References e_option_supplied(), and parser_warning.
Referenced by cond0().
| static void yy_reduce_print | ( | YYSTYPE * | yyvsp, |
| int | yyrule, | ||
| struct parser_params * | parser | ||
| ) | [static] |
Definition at line 4663 of file ripper.c.
References yy_symbol_print(), and YYFPRINTF.
| static void yy_stack_print | ( | yytype_int16 * | bottom, |
| yytype_int16 * | top | ||
| ) | [static] |
| static void yy_symbol_print | ( | FILE * | yyoutput, |
| int | yytype, | ||
| YYSTYPE const * const | yyvaluep, | ||
| struct parser_params * | parser | ||
| ) | [static] |
Definition at line 4608 of file ripper.c.
References yy_symbol_value_print(), YYFPRINTF, and YYNTOKENS.
Referenced by yy_reduce_print().
| static void yy_symbol_value_print | ( | FILE * | yyoutput, |
| int | yytype, | ||
| YYSTYPE const * const | yyvaluep, | ||
| struct parser_params * | parser | ||
| ) | [static] |
Definition at line 4574 of file ripper.c.
References YYNTOKENS, and YYUSE.
Referenced by yy_symbol_print().
| static NODE* yycompile | ( | struct parser_params * | parser, |
| const char * | f, | ||
| int | line | ||
| ) | [static] |
Definition at line 11009 of file ripper.c.
References rb_suppress_tracing(), ruby_sourcefile, ruby_sourceline, ruby_strdup(), and yycompile0().
Referenced by parser_compile_string(), and rb_parser_compile_file().
| static VALUE yycompile0 | ( | VALUE | arg | ) | [static] |
Definition at line 10949 of file ripper.c.
References compile_for_eval, coverage(), debug_lines(), deferred_nodes, e_option_supplied(), lex_lastline, lex_nextline, lex_p, lex_pbeg, lex_pend, lex_strterm, NEW_NIL, NEW_PRELUDE, parser_prepare(), parser_params::parser_ruby_sourcefile, parser_params::parser_ruby_sourceline, parser_params::parser_token_info_enabled, rb_ary_push(), rb_safe_level, RTEST, ruby_coverage, ruby_debug_lines, ruby_eval_tree, ruby_eval_tree_begin, ruby_sourcefile, ruby_sourceline, ruby_verbose, STR_NEW0, and yyparse.
Referenced by yycompile().
| static void yydestruct | ( | char * | yymsg, |
| int | yytype, | ||
| YYSTYPE * | yyvaluep, | ||
| struct parser_params * | parser | ||
| ) | const [static] |
Definition at line 4944 of file ripper.c.
References YY_SYMBOL_PRINT, and YYUSE.
Referenced by yyparse().
| static int yylex | ( | void * | lval, |
| void * | p | ||
| ) | [static] |
Definition at line 13754 of file ripper.c.
References NIL_P, parser_yylex(), parser_params::parser_yylval, and Qundef.
| int yyparse | ( | ) |
| int yyparse | ( | struct parser_params * | parser | ) |
Definition at line 5009 of file ripper.c.
References alias, ALLOC_N, arg_append, arg_blk_pass(), arg_concat, arg_new(), arg_var, args, aryset, assignable, attrset, block_append, block_dup_check, bodystmt, brace_nest, buf, call_bin_op, call_uni_op, CMDARG_PUSH, cmdarg_stack, command_start, compile_error, compile_for_eval, cond, COND_POP, COND_PUSH, cond_stack, cur_mid, deferred_nodes, dispatch0(), dsym_node, dyna_in_block, dyna_pop, dyna_push, END, escape_Qundef(), evstr2dstr, FIXNUM_P, fixpos(), fixup_nodes(), formal_argument, get_id, get_value, gettable, hash(), head, id, ID2SYM, idAREF, idEq, ifndef_ripper, in_def, in_defined, in_single, INT2FIX, internal_id, is_local_id, keyword__ENCODING__, keyword__FILE__, keyword__LINE__, keyword_false, keyword_nil, keyword_self, keyword_true, lex_state, lex_strterm, list, list_append, list_concat, literal_concat, literal_concat0(), local_id, local_pop, local_push, logop, lpar_beg, match_op, nd_args, nd_iter, nd_lit, nd_next, nd_plen, nd_set_line(), nd_set_type, nd_type, nd_value, negate_lit(), NEW_ALIAS, new_args, NEW_ARGS_AUX, new_args_tail, NEW_ARGSCAT, new_attr_op_assign, NEW_BEGIN, NEW_BLOCK_PASS, NEW_BREAK, new_bv, NEW_CALL, NEW_CASE, NEW_CDECL, NEW_CLASS, NEW_COLON2, NEW_COLON3, new_const_op_assign, NEW_CVAR, NEW_DASGN_CURR, NEW_DEFINED, NEW_DEFN, NEW_DEFS, NEW_DOT2, NEW_DOT3, NEW_DSTR, NEW_DVAR, NEW_ENSURE, NEW_ERRINFO, NEW_EVSTR, new_evstr, NEW_FCALL, NEW_FOR, NEW_GVAR, NEW_HASH, NEW_IF, NEW_ITER, NEW_IVAR, NEW_KW_ARG, NEW_LAMBDA, NEW_LIST, NEW_LIT, NEW_LVAR, NEW_MASGN, NEW_MODULE, NEW_NEXT, NEW_NIL, NEW_NODE, NEW_OP_ASGN1, new_op_assign, NEW_OPT_ARG, NEW_POSTARG, NEW_POSTEXE, NEW_REDO, NEW_RESBODY, NEW_RESCUE, NEW_RETRY, NEW_RETURN, NEW_SCLASS, NEW_SCOPE, NEW_SPLAT, NEW_STR, NEW_SUPER, NEW_UNDEF, NEW_UNLESS, NEW_UNTIL, NEW_VALIAS, NEW_WHEN, NEW_WHILE, NEW_XSTR, NEW_YIELD, new_yield, NEW_ZARRAY, NEW_ZSUPER, newline_node(), NIL_P, node, NODE_AND, NODE_ARRAY, node_assign, NODE_BEGIN, NODE_BLOCK, NODE_BLOCK_PASS, NODE_DASGN, NODE_DASGN_CURR, NODE_DREGX, NODE_DREGX_ONCE, NODE_DSTR, NODE_DSYM, NODE_DXSTR, NODE_ENSURE, NODE_FL_NEWLINE, NODE_LASGN, NODE_LIT, NODE_MASGN, NODE_OR, NODE_RESCUE, NODE_SCOPE, NODE_SELF, NODE_STR, NODE_XSTR, NODE_YIELD, NODE_ZARRAY, NOEX_PRIVATE, NULL, one(), options(), paren_nest, PARSER_ARG, parser_yyerror(), prev, Qnil, Qnone, Qundef, rb_ary_new3(), rb_ary_push(), rb_assoc_new(), rb_backref_error, rb_cArray, rb_gc_force_recycle(), rb_intern, rb_intern2(), rb_intern_str(), rb_parse_in_main(), rb_str_resize(), RB_TYPE_P, rb_warn0, RE_OPTION_MASK, RE_OPTION_ONCE, reduce_nodes, reg_compile, reg_fragment_check, reg_named_capture_assign, remove_begin(), ret_args, ripper_intern(), ruby_eval_tree, ruby_eval_tree_begin, ruby_sourceline, shadowing_lvar, splat_array(), STR_NEW0, T_REGEXP, tANDOP, tAREF, tASET, tCMP, tDSTAR, tEQ, tEQQ, tGEQ, tLEQ, tLSHFT, tMATCH, tNEQ, tNMATCH, token_info_pop, token_info_push, tokline, tOROP, tPOW, tRSHFT, TRUE, tUMINUS, tUPLUS, val, value_expr, void_expr, void_stmts, YY_, YY_REDUCE_PRINT, YY_STACK_PRINT, YY_SYMBOL_PRINT, YYABORT, YYACCEPT, yydestruct(), YYDPRINTF, YYEMPTY, YYEOF, yyerrok, yyerror, YYFINAL, YYID, YYINITDEPTH, YYLAST, YYLEX, yylval, YYMAXDEPTH, YYNTOKENS, YYPACT_NINF, YYPOPSTACK, YYSIZE_T, YYSTACK_ALLOC, YYSTACK_ALLOC_MAXIMUM, YYSTACK_BYTES, YYSTACK_FREE, YYSTACK_RELOCATE, yysyntax_error(), YYTABLE_NINF, YYTERROR, YYTRANSLATE, and zero().
Definition at line 4759 of file ripper.c.
Referenced by yysyntax_error(), and yytnamerr().
Definition at line 4735 of file ripper.c.
References YYSIZE_T.
Referenced by yysyntax_error(), and yytnamerr().
| static YYSIZE_T yysyntax_error | ( | char * | yyresult, |
| int | yystate, | ||
| int | yychar | ||
| ) | [static] |
Definition at line 4831 of file ripper.c.
References YY_, YYLAST, YYNTOKENS, YYPACT_NINF, YYSIZE_MAXIMUM, YYSIZE_T, yystpcpy(), yystrlen(), YYTERROR, yytnamerr(), and YYTRANSLATE.
Referenced by yyparse().
Definition at line 4784 of file ripper.c.
References YYSIZE_T, yystpcpy(), and yystrlen().
Referenced by yysyntax_error().
struct symbols global_symbols [static] |
struct magic_comment magic_comments[] [static] |
{
{"coding", magic_comment_encoding, parser_encode_length},
{"encoding", magic_comment_encoding, parser_encode_length},
{"warn_indent", parser_set_token_info},
}
Definition at line 12261 of file ripper.c.
Referenced by parser_magic_comment().
struct { ... } op_tbl[] [static] |
Referenced by intern_str(), and rb_id2str().
static const rb_data_type_t parser_data_type [static] |
{
"parser",
{
parser_mark,
parser_free,
parser_memsize,
},
}
| const unsigned int ruby_global_name_punct_bits |
{
SPECIAL_PUNCT(0),
SPECIAL_PUNCT(1),
SPECIAL_PUNCT(2),
}
struct st_hash_type symhash [static] |
{
rb_str_hash_cmp,
rb_str_hash,
}
Definition at line 15558 of file ripper.c.
Referenced by parser_yylex(), rb_id2str(), token_info_push(), yaml_parser_fetch_anchor(), yaml_parser_fetch_block_entry(), yaml_parser_fetch_block_scalar(), yaml_parser_fetch_directive(), yaml_parser_fetch_document_indicator(), yaml_parser_fetch_flow_collection_end(), yaml_parser_fetch_flow_collection_start(), yaml_parser_fetch_flow_entry(), yaml_parser_fetch_flow_scalar(), yaml_parser_fetch_key(), yaml_parser_fetch_plain_scalar(), yaml_parser_fetch_stream_end(), yaml_parser_fetch_stream_start(), yaml_parser_fetch_tag(), yaml_parser_fetch_value(), yaml_parser_parse_block_mapping_key(), yaml_parser_parse_block_mapping_value(), yaml_parser_parse_block_sequence_entry(), yaml_parser_parse_document_content(), yaml_parser_parse_document_end(), yaml_parser_parse_document_start(), yaml_parser_parse_flow_mapping_key(), yaml_parser_parse_flow_mapping_value(), yaml_parser_parse_flow_sequence_entry(), yaml_parser_parse_flow_sequence_entry_mapping_end(), yaml_parser_parse_flow_sequence_entry_mapping_key(), yaml_parser_parse_flow_sequence_entry_mapping_value(), yaml_parser_parse_indentless_sequence_entry(), yaml_parser_parse_node(), yaml_parser_parse_stream_start(), yaml_parser_process_directives(), yaml_parser_roll_indent(), and yaml_parser_unroll_indent().
const yytype_int16 yycheck[] [static] |
const yytype_uint16 yydefact[] [static] |
const yytype_int16 yydefgoto[] [static] |
{
-1, 1, 2, 66, 67, 68, 236, 567, 568, 252,
253, 446, 254, 437, 70, 71, 358, 72, 73, 510,
690, 243, 75, 76, 255, 77, 78, 79, 467, 80,
209, 377, 378, 192, 193, 194, 195, 605, 556, 197,
82, 439, 211, 260, 228, 748, 426, 427, 225, 226,
213, 413, 428, 516, 83, 356, 259, 452, 625, 360,
848, 361, 849, 732, 988, 736, 733, 931, 594, 596,
746, 936, 245, 85, 86, 87, 88, 89, 90, 91,
92, 93, 94, 713, 570, 721, 845, 846, 369, 772,
773, 774, 960, 899, 803, 686, 687, 804, 970, 971,
278, 279, 472, 658, 779, 320, 511, 95, 96, 711,
704, 565, 557, 318, 508, 507, 577, 987, 715, 839,
917, 921, 97, 98, 99, 100, 101, 102, 103, 290,
485, 104, 294, 105, 106, 292, 296, 286, 284, 288,
477, 676, 675, 794, 892, 798, 107, 285, 108, 109,
216, 217, 112, 218, 219, 589, 735, 744, 881, 781,
745, 661, 662, 663, 664, 665, 806, 807, 666, 667,
668, 669, 809, 810, 670, 671, 672, 673, 674, 783,
396, 595, 265, 429, 221, 115, 629, 559, 399, 304,
423, 424, 706, 457, 571, 364, 257
}
const yytype_int16 yypact[] [static] |
const yytype_int16 yypgoto[] [static] |
{
-804, -804, -804, -386, -804, 41, -804, -542, 285, -804,
527, -804, 35, -804, -310, -43, -70, 19, -804, -187,
-804, 680, 9, 887, -154, 27, -73, -804, -404, 6,
1733, -328, 886, -52, -804, -24, -804, -804, 13, -804,
1007, -804, 909, -804, -72, 271, -336, 141, 5, -804,
-320, -212, 58, -313, -21, -804, -804, -804, -804, -804,
-804, -804, -804, -804, -804, -804, -804, -804, -804, -804,
-804, -804, 49, -804, -804, -804, -804, -804, -804, -804,
-804, -804, -804, -520, -348, -519, -36, -634, -804, -803,
-773, 214, 300, 37, -804, -405, -804, -653, -804, -18,
-804, -804, -804, -804, -804, 246, -804, -804, -804, -804,
-804, -804, -804, -95, -804, -804, -535, -804, -22, -804,
-804, -804, -804, -804, -804, 908, -804, -804, -804, -804,
714, -804, -804, -804, -804, -804, -804, -804, 940, -804,
-116, -804, -804, -804, -804, -804, 2, -804, 7, -804,
1388, 1539, 906, 1901, 1724, -804, -804, 73, -450, -410,
-412, -769, -627, -718, -134, 228, 111, -804, -804, -804,
-83, -721, -786, 114, 233, -804, -574, -804, -463, -579,
-804, -804, -804, 102, -374, -804, -322, -804, 622, -29,
-15, -221, -578, -243, -62, -11, -2
}
const yytype_uint16 yyprhs[] [static] |
const yytype_uint16 yyr1[] [static] |
const yytype_uint8 yyr2[] [static] |
const yytype_int16 yyrhs[] [static] |
const yytype_uint16 yyrline[] [static] |
const yytype_uint16 yystos[] [static] |
const yytype_int16 yytable[] [static] |
const yytype_uint8 yytranslate[] [static] |
1.7.6.1