GDB (xrefs)
|
#include "parser-defs.h"
Public Member Functions | |
parser_state (const struct language_defn *lang, struct gdbarch *gdbarch, const struct block *context_block, CORE_ADDR context_pc, parser_flags flags, const char *input, bool completion, innermost_block_tracker *tracker) | |
DISABLE_COPY_AND_ASSIGN (parser_state) | |
void | start_arglist () |
int | end_arglist () |
void | mark_struct_expression (expr::structop_base_operation *op) |
void | mark_completion_tag (enum type_code tag, const char *ptr, int length) |
void | mark_completion (std::unique_ptr< expr_completion_base > completer) |
void | push (expr::operation_up &&op) |
template<typename T , typename... Arg> | |
void | push_new (Arg... args) |
void | push_c_string (int, struct stoken_vector *vec) |
void | push_symbol (const char *name, block_symbol sym) |
void | push_dollar (struct stoken str) |
expr::operation_up | pop () |
std::vector< expr::operation_up > | pop_vector (int n) |
template<typename T > | |
void | wrap () |
template<typename T > | |
void | wrap2 () |
![]() | |
expr_builder (const struct language_defn *lang, struct gdbarch *gdbarch) | |
DISABLE_COPY_AND_ASSIGN (expr_builder) | |
ATTRIBUTE_UNUSED_RESULT expression_up | release () |
struct gdbarch * | gdbarch () |
const struct language_defn * | language () |
void | set_operation (expr::operation_up &&op) |
Public Attributes | |
const struct block *const | expression_context_block |
const CORE_ADDR | expression_context_pc |
const char * | lexptr |
const char * | prev_lexptr = nullptr |
int | arglist_len = 0 |
std::unique_ptr< expr_completion_base > | m_completion_state |
innermost_block_tracker * | block_tracker |
bool | comma_terminates |
bool | parse_completion |
bool | void_context_p |
bool | debug |
![]() | |
expression_up | expout |
Private Attributes | |
std::vector< int > | m_funcall_chain |
std::vector< expr::operation_up > | m_operations |
Definition at line 138 of file parser-defs.h.
|
inline |
Definition at line 143 of file parser-defs.h.
parser_state::DISABLE_COPY_AND_ASSIGN | ( | parser_state | ) |
|
inline |
Definition at line 177 of file parser-defs.h.
References arglist_len, and m_funcall_chain.
Referenced by yyparse().
|
inline |
Definition at line 198 of file parser-defs.h.
References m_completion_state.
Referenced by yyparse().
void parser_state::mark_completion_tag | ( | enum type_code | tag, |
const char * | ptr, | ||
int | length ) |
Definition at line 112 of file parse.c.
References m_completion_state, and parse_completion.
Referenced by yyparse().
void parser_state::mark_struct_expression | ( | expr::structop_base_operation * | op | ) |
Definition at line 101 of file parse.c.
References m_completion_state, and parse_completion.
Referenced by rust_parser::parse_field(), write_var_or_type_completion(), and yyparse().
|
inline |
Definition at line 229 of file parser-defs.h.
References m_operations.
Referenced by ada_funcall(), ada_pop(), c_parse(), d_parse(), end_msglist(), fortran_wrap2_kind(), fortran_wrap3_kind(), rust_parser::parse_atom(), f_language::parser(), go_language::parser(), m2_language::parser(), pascal_language::parser(), pop_vector(), wrap(), wrap2(), wrap_binop_intrinsic(), wrap_ternop_intrinsic(), wrap_unop_intrinsic(), and yyparse().
|
inline |
Definition at line 237 of file parser-defs.h.
References pop().
Referenced by ada_funcall(), end_msglist(), and yyparse().
|
inline |
Definition at line 205 of file parser-defs.h.
References m_operations.
Referenced by ada_addrof(), ada_funcall(), ada_un_wrap2(), ada_wrap2(), ada_wrap_op(), ada_wrap_overload(), wrap(), wrap2(), write_selectors(), and yyparse().
void parser_state::push_c_string | ( | int | kind, |
struct stoken_vector * | vec ) |
Definition at line 126 of file parse.c.
References stoken_vector::len, typed_stoken::length, typed_stoken::ptr, and stoken_vector::tokens.
Referenced by yyparse().
void parser_state::push_dollar | ( | struct stoken | str | ) |
Definition at line 162 of file parse.c.
References block_tracker, copy_name(), create_internalvar(), expression_context_block, INNERMOST_BLOCK_FOR_REGISTERS, stoken::length, lookup_bound_minimal_symbol(), lookup_only_internalvar(), lookup_symbol(), bound_minimal_symbol::minsym, stoken::ptr, block_symbol::symbol, innermost_block_tracker::update(), user_reg_map_name_to_regnum(), and VAR_DOMAIN.
Referenced by rust_parser::parse_atom(), and yyparse().
|
inline |
Definition at line 212 of file parser-defs.h.
References m_operations.
Referenced by ada_wrap(), ada_wrap3(), end_msglist(), fortran_wrap2_kind(), fortran_wrap3_kind(), wrap_binop_intrinsic(), wrap_ternop_intrinsic(), wrap_unop_intrinsic(), write_ambiguous_var(), write_int(), write_name_assoc(), write_object_renaming(), write_var_from_sym(), write_var_or_type(), and yyparse().
void parser_state::push_symbol | ( | const char * | name, |
block_symbol | sym ) |
Definition at line 139 of file parse.c.
References block_tracker, have_full_symbols(), have_partial_symbols(), lookup_bound_minimal_symbol(), bound_minimal_symbol::minsym, name, block_symbol::symbol, symbol_read_needs_frame(), and innermost_block_tracker::update().
Referenced by yyparse().
|
inline |
Definition at line 168 of file parser-defs.h.
References arglist_len, and m_funcall_chain.
Referenced by yyparse().
|
inline |
Definition at line 248 of file parser-defs.h.
Referenced by wrap_unop_intrinsic(), and yyparse().
|
inline |
Definition at line 258 of file parser-defs.h.
Referenced by wrap_binop_intrinsic(), and yyparse().
int parser_state::arglist_len = 0 |
Definition at line 288 of file parser-defs.h.
Referenced by end_arglist(), start_arglist(), and yyparse().
innermost_block_tracker* parser_state::block_tracker |
Definition at line 294 of file parser-defs.h.
Referenced by ada_funcall(), maybe_overload(), push_dollar(), push_symbol(), resolve(), rust_parser::update_innermost_block(), write_var_from_sym(), and yyparse().
bool parser_state::comma_terminates |
Definition at line 297 of file parser-defs.h.
Referenced by rust_parser::lex_one_token(), lex_one_token(), lex_one_token(), lex_one_token(), yylex(), yylex(), and yylex().
bool parser_state::debug |
Definition at line 306 of file parser-defs.h.
Referenced by ada_parse(), c_parse(), d_parse(), f_language::parser(), and go_language::parser().
const struct block* const parser_state::expression_context_block |
Definition at line 268 of file parser-defs.h.
Referenced by c_parse(), classify_name(), rust_parser::crate_name(), lex_one_token(), rust_parser::name_to_operation(), push_dollar(), rust_parser::rust_lookup_type(), rust_parser::super_name(), write_name_assoc(), write_var_or_type(), yylex(), yylex(), yylex(), yylex(), yylex(), yylex(), and yyparse().
const CORE_ADDR parser_state::expression_context_pc |
Definition at line 275 of file parser-defs.h.
Referenced by c_parse().
const char* parser_state::lexptr |
Definition at line 280 of file parser-defs.h.
Referenced by ada_parse(), find_completion_bounds(), finished_macro_expansion(), rust_parser::lex_character(), rust_parser::lex_escape(), rust_parser::lex_hex(), rust_parser::lex_identifier(), rust_parser::lex_number(), rust_parser::lex_one_token(), lex_one_token(), lex_one_token(), lex_one_token(), rust_parser::lex_operator(), rust_parser::lex_string(), match_string_literal(), parse_exp_in_context(), parse_number(), rust_parser::push_back(), rewind_to_char(), rewind_to_char(), scan_macro_expansion(), yyerror(), yyerror(), yyerror(), yyerror(), yyerror(), yyerror(), yyerror(), yylex(), yylex(), and yylex().
std::unique_ptr<expr_completion_base> parser_state::m_completion_state |
Definition at line 291 of file parser-defs.h.
Referenced by mark_completion(), mark_completion_tag(), mark_struct_expression(), and parse_exp_in_context().
|
private |
Definition at line 313 of file parser-defs.h.
Referenced by end_arglist(), and start_arglist().
|
private |
Definition at line 316 of file parser-defs.h.
Referenced by pop(), push(), and push_new().
bool parser_state::parse_completion |
Definition at line 300 of file parser-defs.h.
Referenced by ada_funcall(), rust_parser::lex_identifier(), rust_parser::lex_one_token(), lex_one_token(), lex_one_token(), lex_one_token(), mark_completion_tag(), mark_struct_expression(), maybe_overload(), parse_exp_in_context(), rust_language::parser(), processAttribute(), processAttribute(), resolve(), yylex(), and yylex().
const char* parser_state::prev_lexptr = nullptr |
Definition at line 284 of file parser-defs.h.
Referenced by rust_parser::lex_identifier(), rust_parser::lex_one_token(), lex_one_token(), lex_one_token(), lex_one_token(), rust_parser::parse_entry_point(), rust_parser::push_back(), yyerror(), yyerror(), yyerror(), yyerror(), yyerror(), yyerror(), yylex(), yylex(), and yylex().
bool parser_state::void_context_p |
Definition at line 303 of file parser-defs.h.
Referenced by ada_parse().