GDB (xrefs)
|
#include "defs.h"
#include <ctype.h>
#include "arch-utils.h"
#include "symtab.h"
#include "gdbtypes.h"
#include "frame.h"
#include "expression.h"
#include "value.h"
#include "command.h"
#include "language.h"
#include "parser-defs.h"
#include "gdbcmd.h"
#include "symfile.h"
#include "inferior.h"
#include "target-float.h"
#include "block.h"
#include "source.h"
#include "objfiles.h"
#include "user-regs.h"
#include <algorithm>
#include "gdbsupport/gdb_optional.h"
#include "c-exp.h"
Go to the source code of this file.
Functions | |
static void | show_expressiondebug (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value) |
static void | show_parserdebug (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value) |
static expression_up | parse_exp_in_context (const char **, CORE_ADDR, const struct block *, int, bool, innermost_block_tracker *, std::unique_ptr< expr_completion_base > *) |
type * | find_minsym_type_and_address (minimal_symbol *msymbol, struct objfile *objfile, CORE_ADDR *address_p) |
const char * | find_template_name_end (const char *p) |
std::string | copy_name (struct stoken token) |
expression_up | parse_exp_1 (const char **stringptr, CORE_ADDR pc, const struct block *block, int comma, innermost_block_tracker *tracker) |
expression_up | parse_expression (const char *string, innermost_block_tracker *tracker, bool void_context_p) |
expression_up | parse_expression_with_language (const char *string, enum language lang) |
expression_up | parse_expression_for_completion (const char *string, std::unique_ptr< expr_completion_base > *completer) |
bool | parse_float (const char *p, int len, const struct type *type, gdb_byte *data) |
bool | fits_in_type (int n_sign, ULONGEST n, int type_bits, bool type_signed_p) |
void | parser_fprintf (FILE *x, const char *y,...) |
bool | exp_uses_objfile (struct expression *exp, struct objfile *objfile) |
void | _initialize_parse () |
Variables | |
static unsigned int | expressiondebug = 0 |
bool | parser_debug |
void _initialize_parse | ( | ) |
Definition at line 684 of file parse.c.
Referenced by initialize_all_files().
std::string copy_name | ( | struct stoken | token | ) |
Definition at line 407 of file parse.c.
Referenced by partial_symtab::add_psymbol(), classify_inner_name(), classify_inner_name(), classify_name(), classify_name(), classify_name(), classify_packaged_name(), classify_unsafe_function(), general_symbol_info::compute_and_set_names(), lex_one_token(), lex_one_token(), lex_one_token(), parser_state::push_dollar(), minimal_symbol_reader::record_full(), record_minimal_symbol(), write_name_assoc(), yylex(), yylex(), yylex(), yylex(), and yyparse().
bool exp_uses_objfile | ( | struct expression * | exp, |
struct objfile * | objfile | ||
) |
Definition at line 675 of file parse.c.
References expression::op, and objfile::separate_debug_objfile_backlink.
Referenced by clear_dangling_display_expressions(), and varobj_invalidate_if_uses_objfile().
type * find_minsym_type_and_address | ( | minimal_symbol * | msymbol, |
struct objfile * | objfile, | ||
CORE_ADDR * | address_p | ||
) |
Definition at line 100 of file parse.c.
References obj_section::addr(), bound_minimal_symbol::minsym, mst_bss, mst_data, mst_data_gnu_ifunc, mst_file_bss, mst_file_data, mst_file_text, mst_slot_got_plt, mst_solib_trampoline, mst_text, mst_text_gnu_ifunc, msymbol_is_function(), objfile_type::nodebug_data_symbol, objfile_type::nodebug_got_plt_symbol, objfile_type::nodebug_text_gnu_ifunc_symbol, objfile_type::nodebug_text_symbol, objfile_type::nodebug_tls_symbol, objfile_type::nodebug_unknown_symbol, general_symbol_info::obj_section(), overlay_debugging, symbol_overlayed_address(), target_translate_tls_address(), obj_section::the_bfd_section, minimal_symbol::type(), bound_minimal_symbol::value_address(), and minimal_symbol::value_raw_address().
Referenced by evaluate_var_msym_value(), and gen_msym_var_ref().
const char * find_template_name_end | ( | const char * | p | ) |
Definition at line 338 of file parse.c.
Referenced by lex_one_token().
bool fits_in_type | ( | int | n_sign, |
ULONGEST | n, | ||
int | type_bits, | ||
bool | type_signed_p | ||
) |
Definition at line 619 of file parse.c.
Referenced by parse_number(), parse_number(), parse_number(), parse_number(), and processInt().
expression_up parse_exp_1 | ( | const char ** | stringptr, |
CORE_ADDR | pc, | ||
const struct block * | block, | ||
int | comma, | ||
innermost_block_tracker * | tracker | ||
) |
Definition at line 424 of file parse.c.
References parse_exp_in_context().
Referenced by ada_read_renaming_var_value(), agent_eval_command_one(), create_breakpoint(), create_excep_cond_exprs(), encode_actions_1(), find_condition_and_thread(), maint_agent_printf_command(), parse_cmd_to_aexpr(), parse_to_comma_and_eval(), set_breakpoint_condition(), set_breakpoint_location_condition(), update_breakpoint_locations(), update_watchpoint(), validate_actionline(), varobj_create(), varobj_set_value(), and watch_command_1().
|
static |
Definition at line 435 of file parse.c.
References block_linkage_function(), compunit_symtab::blockvector(), symtab::compunit(), current_language, block::entry_pc(), error_no_arg(), expr_builder::expout, expressiondebug, func, gdb_stdlog, get_current_arch(), get_current_source_symtab_and_line(), get_selected_block(), language_defn::la_language, language_def(), language_mode_auto, language_unknown, parser_state::lexptr, parser_state::m_completion_state, parser_state::parse_completion, language_defn::parser(), expr_builder::release(), set_language(), blockvector::static_block(), and symtab_and_line::symtab.
Referenced by parse_exp_1(), parse_expression(), and parse_expression_for_completion().
expression_up parse_expression | ( | const char * | string, |
innermost_block_tracker * | tracker, | ||
bool | void_context_p | ||
) |
Definition at line 546 of file parse.c.
References parse_exp_in_context().
Referenced by check_thread_db_callback(), display_command(), do_one_display(), dump_arc_instruction_command(), execute_control_command_1(), gnuv3_get_type_from_type_info(), info_mach_region_command(), init_if_undefined_command(), maintenance_print_type(), mi_cmd_data_evaluate_expression(), output_command(), parse_and_eval(), parse_and_eval_address(), parse_and_eval_long(), parse_and_eval_type(), parse_expression_with_language(), print_object_command(), print_variable_or_computed(), process_print_command_args(), return_command(), set_command(), whatis_exp(), and x_command().
expression_up parse_expression_for_completion | ( | const char * | string, |
std::unique_ptr< expr_completion_base > * | completer | ||
) |
Definition at line 578 of file parse.c.
References parse_exp_in_context().
Referenced by complete_expression().
expression_up parse_expression_with_language | ( | const char * | string, |
enum language | lang | ||
) |
Definition at line 561 of file parse.c.
References current_language, language_defn::la_language, parse_expression(), and set_language().
Referenced by dtrace_process_dof_probe().
bool parse_float | ( | const char * | p, |
int | len, | ||
const struct type * | type, | ||
gdb_byte * | data | ||
) |
Definition at line 609 of file parse.c.
References target_float_from_string().
Referenced by rust_parser::lex_number(), parse_number(), parse_number(), parse_number(), parse_number(), parse_number(), parse_number(), and processReal().
void parser_fprintf | ( | FILE * | x, |
const char * | y, | ||
... | |||
) |
Definition at line 655 of file parse.c.
References gdb_printf(), gdb_stderr, and gdb_vprintf().
|
static |
Definition at line 57 of file parse.c.
References gdb_printf().
|
static |
Definition at line 68 of file parse.c.
References gdb_printf().
|
static |
Definition at line 55 of file parse.c.
Referenced by parse_exp_in_context().
bool parser_debug |
Definition at line 65 of file parse.c.
Referenced by ada_parse(), c_parse(), d_parse(), f_language::parser(), and go_language::parser().