|
GDB (xrefs)
|
Go to the source code of this file.
Classes | |
| struct | parser_state |
| struct | stoken |
| struct | typed_stoken |
| struct | stoken_vector |
| struct | ttype |
| struct | symtoken |
| struct | objc_class_str |
| union | type_stack_elt |
| struct | type_stack |
| struct | op_print |
| struct | exp_descriptor |
Macros | |
| #define | parse_gdbarch(ps) ((ps)->expout->gdbarch) |
| #define | parse_language(ps) ((ps)->expout->language_defn) |
Typedefs | |
| typedef struct type * | type_ptr |
Variables | |
| int | parser_debug |
| const struct block * | expression_context_block |
| CORE_ADDR | expression_context_pc |
| const struct block * | innermost_block |
| int | arglist_len |
| const char * | lexptr |
| const char * | prev_lexptr |
| int | paren_depth |
| int | comma_terminates |
| const struct exp_descriptor | exp_descriptor_standard |
| #define parse_gdbarch | ( | ps | ) | ((ps)->expout->gdbarch) |
Definition at line 35 of file parser-defs.h.
Referenced by rust_parser::arch(), classify_name(), convert_ast_to_expression(), end_msglist(), find_primitive_type(), insert_type_address_space(), lex_one_token(), parse_number(), type_char(), type_system_address(), VEC(), write_dollar_variable(), yylex(), and yyparse().
| #define parse_language | ( | ps | ) | ((ps)->expout->language_defn) |
Definition at line 36 of file parser-defs.h.
Referenced by classify_name(), convert_ast_to_expression(), find_primitive_type(), rust_parser::language(), lex_one_token(), type_char(), type_system_address(), VEC(), yylex(), and yyparse().
Definition at line 132 of file parser-defs.h.
| enum precedence |
Definition at line 294 of file parser-defs.h.
| enum type_pieces |
| Enumerator | |
|---|---|
| tp_end | |
| tp_pointer | |
| tp_reference | |
| tp_rvalue_reference | |
| tp_array | |
| tp_function | |
| tp_function_with_arguments | |
| tp_const | |
| tp_volatile | |
| tp_space_identifier | |
| tp_type_stack | |
Definition at line 137 of file parser-defs.h.
| struct type_stack* append_type_stack | ( | struct type_stack * | to, |
| struct type_stack * | from | ||
| ) |
Definition at line 1489 of file parse.c.
References type_stack::depth, type_stack::elements, and type_stack_reserve().
Referenced by yyparse().
| char* copy_name | ( | struct stoken | ) |
Definition at line 761 of file parse.c.
References xrealloc().
Referenced by add_psymbol_to_bcache(), add_psymbol_to_list(), c_print_token(), classify_inner_name(), classify_name(), classify_packaged_name(), classify_unsafe_function(), lex_one_token(), minimal_symbol_reader::record_full(), record_minimal_symbol(), symbol_set_names(), VEC(), write_dollar_variable(), yylex(), and yyparse().
| DEF_VEC_P | ( | type_ptr | ) |
| int dump_subexp | ( | struct expression * | , |
| struct ui_file * | , | ||
| int | |||
| ) |
Definition at line 761 of file expprint.c.
References dump_subexp_body(), expression::elts, fprintf_filtered(), op_name(), and exp_element::opcode.
Referenced by ada_dump_subexp_body(), dump_prefix_expression(), dump_subexp_body_standard(), and rust_dump_subexp_body().
| int dump_subexp_body_standard | ( | struct expression * | , |
| struct ui_file * | , | ||
| int | |||
| ) |
Definition at line 795 of file expprint.c.
References exp_element::block, BOTH_BOUND_DEFAULT, BYTES_TO_EXP_ELEM, dump_subexp(), expression::elts, flags, exp_element::floatconst, fprintf_filtered(), fputs_filtered(), gdb_print_host_address, hex_string(), HIGH_BOUND_DEFAULT, exp_element::internalvar, internalvar_name(), exp_element::longconst, longest_to_int(), LOW_BOUND_DEFAULT, exp_element::msymbol, MSYMBOL_PRINT_NAME, NONE_BOUND_DEFAULT, exp_element::objfile, exp_element::opcode, op_print::opcode, plongest(), print_floating(), exp_element::string, exp_element::symbol, SYMBOL_PRINT_NAME, exp_element::type, TYPE_INSTANCE_FLAG_CONST, TYPE_INSTANCE_FLAG_VOLATILE, and type_print().
Referenced by ada_dump_subexp_body(), and rust_dump_subexp_body().
| int end_arglist | ( | void | ) |
Definition at line 143 of file parse.c.
References arglist_len, and funcall_chain.
Referenced by yyparse().
| void int exp_uses_objfile | ( | struct expression * | exp, |
| struct objfile * | objfile | ||
| ) |
Definition at line 1850 of file parse.c.
References exp_iterate(), exp_uses_objfile_iter(), gdb_assert, and objfile::separate_debug_objfile_backlink.
Referenced by clear_dangling_display_expressions().
| const char* find_template_name_end | ( | const char * | ) |
Definition at line 690 of file parse.c.
Referenced by lex_one_token().
| type_instance_flags follow_type_instance_flags | ( | ) |
Definition at line 1556 of file parse.c.
References flags, gdb_assert_not_reached, pop_type(), tp_const, tp_end, tp_volatile, TYPE_INSTANCE_FLAG_CONST, and TYPE_INSTANCE_FLAG_VOLATILE.
Referenced by yyparse().
Definition at line 1580 of file parse.c.
References type_stack::depth, follow_types(), gdb_assert, gdb_assert_not_reached, lookup_array_range_type(), lookup_function_type(), lookup_function_type_with_arguments(), lookup_lvalue_reference_type(), lookup_pointer_type(), lookup_rvalue_reference_type(), make_cv_type(), make_type_with_address_space(), pop_type(), pop_type_int(), pop_type_stack(), process_reference(), PROP_UNDEFINED, tp_array, tp_const, tp_end, tp_function, tp_function_with_arguments, tp_pointer, tp_reference, tp_rvalue_reference, tp_space_identifier, tp_type_stack, tp_volatile, TYPE_CONST, TYPE_HIGH_BOUND_KIND, TYPE_INDEX_TYPE, type_stack, TYPE_VOLATILE, VEC(), VEC_address, VEC_free, and VEC_length.
Referenced by follow_types(), and yyparse().
| struct type_stack* get_type_stack | ( | void | ) |
Definition at line 1515 of file parse.c.
References type_stack::depth, type_stack::elements, type_stack::size, type_stack, and XNEW.
Referenced by yyparse().
| void increase_expout_size | ( | struct parser_state * | ps, |
| size_t | lenelt | ||
| ) |
Definition at line 1860 of file parse.c.
References EXP_ELEM_TO_BYTES, cleanup_check::ps, and XRESIZEVAR.
Referenced by write_exp_bitstring(), write_exp_string(), and write_exp_string_vector().
| void insert_type | ( | enum | type_pieces | ) |
Definition at line 1386 of file parse.c.
References type_stack::depth, gdb_assert, insert_into_type_stack(), type_stack_elt::piece, tp_const, tp_pointer, tp_reference, tp_rvalue_reference, and tp_volatile.
| void insert_type_address_space | ( | struct parser_state * | , |
| char * | |||
| ) |
Definition at line 1430 of file parse.c.
References address_space_name_to_int(), type_stack::depth, insert_into_type_stack(), type_stack_elt::int_val, parse_gdbarch, type_stack_elt::piece, pstate, and tp_space_identifier.
Referenced by yyparse().
| void mark_completion_tag | ( | enum | type_code, |
| const char * | ptr, | ||
| int | length | ||
| ) |
Definition at line 556 of file parse.c.
References expout_completion_name, expout_last_struct, expout_tag_completion_type, gdb_assert, parse_completion, TYPE_CODE_ENUM, TYPE_CODE_STRUCT, TYPE_CODE_UNDEF, TYPE_CODE_UNION, and xmalloc().
Referenced by yyparse().
| void mark_struct_expression | ( | struct parser_state * | ) |
Definition at line 544 of file parse.c.
References expout_last_struct, expout_tag_completion_type, gdb_assert, parse_completion, cleanup_check::ps, and TYPE_CODE_UNDEF.
Referenced by convert_ast_to_expression(), and yyparse().
| void null_post_parser | ( | expression_up * | , |
| int | |||
| ) |
| const char* op_name_standard | ( | enum | exp_opcode | ) |
Definition at line 695 of file expprint.c.
References op_print::opcode, and xsnprintf().
Referenced by ada_op_name(), and rust_op_name().
| int operator_check_standard | ( | struct expression * | exp, |
| int | pos, | ||
| int(*)(struct objfile *objfile, void *data) | objfile_func, | ||
| void * | data | ||
| ) |
Definition at line 1723 of file parse.c.
References exp_element::block, expression::elts, gdb_assert, exp_element::longconst, lookup_objfile_from_block(), exp_element::objfile, exp_element::symbol, symbol_objfile(), SYMBOL_TYPE, exp_element::type, and TYPE_OBJFILE.
Referenced by ada_operator_check(), and rust_operator_check().
| void operator_length | ( | const struct expression * | , |
| int | , | ||
| int * | , | ||
| int * | |||
| ) |
Definition at line 827 of file parse.c.
References language_defn::la_exp_desc, expression::language_defn, and exp_descriptor::operator_length.
Referenced by exp_iterate(), length_of_subexp(), prefixify_subexp(), and watchpoint_exp_is_const().
| void operator_length_standard | ( | const struct expression * | , |
| int | , | ||
| int * | , | ||
| int * | |||
| ) |
Definition at line 837 of file parse.c.
References _, BOTH_BOUND_DEFAULT, BYTES_TO_EXP_ELEM, expression::elts, error(), HIGH_BOUND_DEFAULT, exp_element::longconst, longest_to_int(), LOW_BOUND_DEFAULT, NONE_BOUND_DEFAULT, and exp_element::opcode.
Referenced by ada_operator_length(), and rust_operator_length().
Definition at line 1331 of file parse.c.
References string, and target_float_from_string().
Referenced by lex_number(), and parse_number().
| void parser_fprintf | ( | FILE * | , |
| const char * | , | ||
| ... | |||
| ) |
| enum type_pieces pop_type | ( | void | ) |
Definition at line 1451 of file parse.c.
References type_stack::depth, type_stack::elements, type_stack_elt::piece, and tp_end.
Referenced by follow_type_instance_flags(), follow_types(), and yyparse().
| int pop_type_int | ( | void | ) |
Definition at line 1459 of file parse.c.
References type_stack::depth, type_stack::elements, and type_stack_elt::int_val.
Referenced by follow_types(), and yyparse().
| int prefixify_expression | ( | struct expression * | expr | ) |
Definition at line 789 of file parse.c.
References EXP_ELEM_TO_BYTES, expression::nelts, and prefixify_subexp().
Referenced by dtrace_probe::build_arg_exprs(), stap_probe::parse_arguments(), and parse_exp_in_context_1().
| void print_subexp | ( | struct expression * | , |
| int * | , | ||
| struct ui_file * | , | ||
| enum | precedence | ||
| ) |
Definition at line 49 of file expprint.c.
References language_defn::la_exp_desc, expression::language_defn, and exp_descriptor::print_subexp.
Referenced by ada_print_subexp(), print_expression(), print_subexp_standard(), and rust_print_subexp().
| void print_subexp_standard | ( | struct expression * | , |
| int * | , | ||
| struct ui_file * | , | ||
| enum | precedence | ||
| ) |
Definition at line 58 of file expprint.c.
References _, exp_element::block, BLOCK_FUNCTION, builtin_type::builtin_char, BYTES_TO_EXP_ELEM, expression::elts, error(), flags, exp_element::floatconst, fprintf_filtered(), fprintf_unfiltered(), fputs_filtered(), fputs_unfiltered(), gdb_assert, expression::gdbarch, get_no_prettyformat_print_options(), get_user_print_options(), HIGH_BOUND_DEFAULT, exp_element::internalvar, internalvar_name(), language_defn::la_language, language_defn::la_name, language_defn::la_name_of_this, language_defn::la_op_print_tab, LA_PRINT_STRING, language_c, expression::language_defn, exp_element::longconst, longest_to_int(), LOW_BOUND_DEFAULT, exp_element::msymbol, MSYMBOL_PRINT_NAME, name, NONE_BOUND_DEFAULT, exp_element::opcode, op_print::opcode, PREC_ABOVE_COMMA, PREC_ASSIGN, PREC_BUILTIN_FUNCTION, PREC_COMMA, PREC_HYPER, PREC_NULL, PREC_PREFIX, PREC_SUFFIX, op_print::precedence, print_subexp(), op_print::right_assoc, selector, exp_element::string, op_print::string, exp_element::symbol, SYMBOL_PRINT_NAME, target_read_string(), exp_element::type, TYPE_CODE, TYPE_CODE_FUNC, TYPE_INSTANCE_FLAG_CONST, TYPE_INSTANCE_FLAG_VOLATILE, type_name_no_tag(), type_print(), value_at_lazy(), value_from_contents(), value_from_longest(), value_print(), and xfree().
Referenced by ada_print_subexp(), and rust_print_subexp().
| void push_type | ( | enum | type_pieces | ) |
Definition at line 1408 of file parse.c.
References check_type_stack_depth(), type_stack::depth, type_stack::elements, and type_stack_elt::piece.
Referenced by push_type_stack(), push_typelist(), and yyparse().
| void push_type_int | ( | int | ) |
Definition at line 1415 of file parse.c.
References check_type_stack_depth(), type_stack::depth, type_stack::elements, and type_stack_elt::int_val.
Referenced by yyparse().
| void push_type_stack | ( | struct type_stack * | stack | ) |
Definition at line 1503 of file parse.c.
References check_type_stack_depth(), type_stack::depth, type_stack::elements, push_type(), type_stack_elt::stack_val, and tp_type_stack.
Referenced by yyparse().
Definition at line 1543 of file parse.c.
References check_type_stack_depth(), type_stack::depth, type_stack::elements, push_type(), and tp_function_with_arguments.
Referenced by yyparse().
| void start_arglist | ( | void | ) |
Definition at line 133 of file parse.c.
References arglist_len, and funcall_chain.
Referenced by yyparse().
| void type_stack_cleanup | ( | void * | arg | ) |
Definition at line 1530 of file parse.c.
References type_stack::elements, and xfree().
Referenced by yyparse().
| void write_dollar_variable | ( | struct parser_state * | , |
| struct stoken | str | ||
| ) |
Definition at line 594 of file parse.c.
References block_symbol::block, copy_name(), create_internalvar(), stoken::length, lookup_bound_minimal_symbol(), lookup_only_internalvar(), lookup_symbol(), bound_minimal_symbol::minsym, parse_gdbarch, cleanup_check::ps, stoken::ptr, block_symbol::symbol, user_reg_map_name_to_regnum(), VAR_DOMAIN, write_exp_elt_block(), write_exp_elt_intern(), write_exp_elt_longcst(), write_exp_elt_opcode(), write_exp_elt_sym(), write_exp_msymbol(), and write_exp_string().
Referenced by convert_ast_to_expression(), yylex(), and yyparse().
| void write_exp_bitstring | ( | struct parser_state * | , |
| struct stoken | |||
| ) |
Definition at line 413 of file parse.c.
References bits, BYTES_TO_EXP_ELEM, HOST_CHAR_BIT, increase_expout_size(), stoken::length, cleanup_check::ps, stoken::ptr, and write_exp_elt_longcst().
| void write_exp_elt_block | ( | struct parser_state * | , |
| const struct block * | |||
| ) |
Definition at line 235 of file parse.c.
References exp_element::block, memset(), cleanup_check::ps, and write_exp_elt().
Referenced by convert_ast_to_expression(), write_ambiguous_var(), write_dollar_variable(), write_var_from_sym(), and yyparse().
| void write_exp_elt_floatcst | ( | struct parser_state * | , |
| const gdb_byte * | |||
| ) |
| void write_exp_elt_intern | ( | struct parser_state * | , |
| struct internalvar * | |||
| ) |
Definition at line 287 of file parse.c.
References exp_element::internalvar, memset(), cleanup_check::ps, and write_exp_elt().
Referenced by write_dollar_variable().
| void write_exp_elt_longcst | ( | struct parser_state * | , |
| LONGEST | |||
| ) |
Definition at line 255 of file parse.c.
References exp_element::longconst, memset(), cleanup_check::ps, and write_exp_elt().
Referenced by aarch64_stap_parse_special_token(), amd64_dtrace_parse_probe_argument(), arm_stap_parse_special_token(), convert_ast_to_expression(), end_msglist(), i386_stap_parse_special_token_three_arg_disp(), i386_stap_parse_special_token_triplet(), stap_parse_register_operand(), stap_parse_single_operand(), write_dollar_variable(), write_exp_bitstring(), write_exp_string(), write_exp_string_vector(), write_int(), write_object_renaming(), and yyparse().
| void write_exp_elt_objfile | ( | struct parser_state * | , |
| struct objfile * | objfile | ||
| ) |
Definition at line 245 of file parse.c.
References memset(), exp_element::objfile, cleanup_check::ps, and write_exp_elt().
Referenced by write_exp_msymbol().
| void write_exp_elt_opcode | ( | struct parser_state * | , |
| enum | exp_opcode | ||
| ) |
Definition at line 205 of file parse.c.
References memset(), exp_element::opcode, cleanup_check::ps, and write_exp_elt().
Referenced by aarch64_stap_parse_special_token(), amd64_dtrace_parse_probe_argument(), arm_stap_parse_special_token(), dtrace_probe::build_arg_exprs(), convert_ast_to_expression(), i386_stap_parse_special_token_three_arg_disp(), i386_stap_parse_special_token_triplet(), ppc_stap_parse_special_token(), stap_parse_argument(), stap_parse_argument_1(), stap_parse_register_operand(), stap_parse_single_operand(), write_ambiguous_var(), write_dollar_variable(), write_exp_msymbol(), write_exp_op_with_string(), write_exp_string_vector(), write_int(), write_object_renaming(), write_var_from_sym(), and yyparse().
| void write_exp_elt_sym | ( | struct parser_state * | , |
| struct symbol * | |||
| ) |
Definition at line 215 of file parse.c.
References memset(), cleanup_check::ps, exp_element::symbol, and write_exp_elt().
Referenced by convert_ast_to_expression(), write_ambiguous_var(), write_dollar_variable(), write_var_from_sym(), and yyparse().
| void write_exp_elt_type | ( | struct parser_state * | , |
| struct type * | |||
| ) |
Definition at line 277 of file parse.c.
References memset(), cleanup_check::ps, exp_element::type, and write_exp_elt().
Referenced by aarch64_stap_parse_special_token(), amd64_dtrace_parse_probe_argument(), arm_stap_parse_special_token(), dtrace_probe::build_arg_exprs(), convert_ast_to_expression(), i386_stap_parse_special_token_three_arg_disp(), i386_stap_parse_special_token_triplet(), stap_parse_argument(), stap_parse_register_operand(), stap_parse_single_operand(), write_int(), write_object_renaming(), and yyparse().
| void write_exp_msymbol | ( | struct parser_state * | , |
| struct bound_minimal_symbol | |||
| ) |
Definition at line 531 of file parse.c.
References bound_minimal_symbol::minsym, bound_minimal_symbol::objfile, cleanup_check::ps, write_exp_elt_msym(), write_exp_elt_objfile(), and write_exp_elt_opcode().
Referenced by write_dollar_variable(), write_var_or_type(), and yyparse().
| void write_exp_string | ( | struct parser_state * | , |
| struct stoken | |||
| ) |
Definition at line 318 of file parse.c.
References BYTES_TO_EXP_ELEM, increase_expout_size(), stoken::length, cleanup_check::ps, stoken::ptr, and write_exp_elt_longcst().
Referenced by aarch64_stap_parse_special_token(), amd64_dtrace_parse_probe_argument(), arm_stap_parse_special_token(), convert_ast_to_expression(), i386_stap_parse_special_token_three_arg_disp(), i386_stap_parse_special_token_triplet(), ppc_stap_parse_special_token(), stap_parse_register_operand(), write_destructor_name(), write_dollar_variable(), write_exp_op_with_string(), and yyparse().
| void write_exp_string_vector | ( | struct parser_state * | , |
| int | type, | ||
| struct stoken_vector * | vec | ||
| ) |
Definition at line 360 of file parse.c.
References BYTES_TO_EXP_ELEM, EXP_ELEM_TO_BYTES, increase_expout_size(), stoken_vector::len, typed_stoken::length, cleanup_check::ps, typed_stoken::ptr, stoken_vector::tokens, write_exp_elt_longcst(), and write_exp_elt_opcode().
Referenced by yyparse().
| int arglist_len |
Definition at line 72 of file parse.c.
Referenced by end_arglist(), start_arglist(), and yyparse().
| int comma_terminates |
Definition at line 77 of file parse.c.
Referenced by lex_one_token(), parse_exp_in_context_1(), rustyylex(), and yylex().
| const struct exp_descriptor exp_descriptor_standard |
| const struct block* expression_context_block |
Definition at line 69 of file parse.c.
Referenced by c_parse(), clear_symtab_users(), convert_ast_to_expression(), convert_ast_to_type(), crate_name(), lex_one_token(), parse_exp_in_context_1(), super_name(), VEC(), write_name_assoc(), write_var_or_type(), yylex(), yyparse(), and objfile::~objfile().
| CORE_ADDR expression_context_pc |
Definition at line 70 of file parse.c.
Referenced by c_parse(), and parse_exp_in_context_1().
| const char* lexptr |
Definition at line 74 of file parse.c.
Referenced by parse_exp_in_context_1().
| int paren_depth |
Definition at line 76 of file parse.c.
Referenced by lex_one_token(), parse_exp_in_context_1(), rustyylex(), and yylex().
| int parser_debug |
Definition at line 104 of file parse.c.
Referenced by _initialize_parse(), c_parse(), d_parse(), and go_parse().
| const char* prev_lexptr |
Definition at line 75 of file parse.c.
Referenced by parse_exp_in_context_1().
1.8.14