GDB (xrefs)

Classes | Macros | Typedefs | Enumerations | Functions | Variables
/tmp/gdb-8.1/gdb/parser-defs.h File Reference
`#include "vec.h"`
`#include "expression.h"`

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

## Enumerations
enum | type_pieces { tp_end = -1, 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 }
enum | precedence { PREC_NULL, PREC_COMMA, PREC_ABOVE_COMMA, PREC_ASSIGN, PREC_LOGICAL_OR, PREC_LOGICAL_AND, PREC_BITWISE_IOR, PREC_BITWISE_AND, PREC_BITWISE_XOR, PREC_EQUAL, PREC_ORDER, PREC_SHIFT, PREC_ADD, PREC_MUL, PREC_REPEAT, PREC_HYPER, PREC_PREFIX, PREC_SUFFIX, PREC_BUILTIN_FUNCTION }

## Functions
| DEF_VEC_P (type_ptr)
int | prefixify_expression (struct expression *expr)
void | write_exp_elt_opcode (struct parser_state *, enum exp_opcode)
void | write_exp_elt_sym (struct parser_state *, struct symbol *)
void | write_exp_elt_longcst (struct parser_state *, LONGEST)
void | write_exp_elt_floatcst (struct parser_state *, const gdb_byte *)
void | write_exp_elt_type (struct parser_state *, struct type *)
void | write_exp_elt_intern (struct parser_state *, struct internalvar *)
void | write_exp_string (struct parser_state *, struct stoken)
void | write_exp_string_vector (struct parser_state *, int type, struct stoken_vector *vec)
void | write_exp_bitstring (struct parser_state *, struct stoken)
void | write_exp_elt_block (struct parser_state *, const struct block *)
void | write_exp_elt_objfile (struct parser_state *, struct objfile *objfile)
void | write_exp_msymbol (struct parser_state *, struct bound_minimal_symbol)
void | write_dollar_variable (struct parser_state *, struct stoken str)
void | mark_struct_expression (struct parser_state *)
const char * | find_template_name_end (const char *)
void | start_arglist (void)
int | end_arglist (void)
char * | copy_name (struct stoken)
void | insert_type (enum type_pieces)
void | push_type (enum type_pieces)
void | push_type_int (int)
void | insert_type_address_space (struct parser_state *, char *)
enum type_pieces | pop_type (void)
int | pop_type_int (void)
struct type_stack * | get_type_stack (void)
struct type_stack * | append_type_stack (struct type_stack *to, struct type_stack *from)
void | push_type_stack (struct type_stack *stack)
void | type_stack_cleanup (void *arg)
void | push_typelist (VEC(type_ptr) *typelist)
int | dump_subexp (struct expression *, struct ui_file *, int)
int | dump_subexp_body_standard (struct expression *, struct ui_file *, int)
void | operator_length (const struct expression *, int, int *, int *)
void | operator_length_standard (const struct expression *, int, int *, int *)
int | operator_check_standard (struct expression *exp, int pos, int(*objfile_func)(struct objfile *objfile, void *data), void *data)
const char * | op_name_standard (enum exp_opcode)
struct type * | follow_types (struct type *)
type_instance_flags | follow_type_instance_flags ()
void | null_post_parser (expression_up *, int)
bool | parse_float (const char *p, int len, const struct type *type, gdb_byte *data)
void | print_subexp (struct expression *, int *, struct ui_file *, enum precedence)
void | print_subexp_standard (struct expression *, int *, struct ui_file *, enum precedence)
void | parser_fprintf (FILE *, const char *,...) ATTRIBUTE_PRINTF(2
void int | exp_uses_objfile (struct expression *exp, struct objfile *objfile)
void | mark_completion_tag (enum type_code, const char *ptr, int length)
void | increase_expout_size (struct parser_state *ps, size_t lenelt)

## 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

## Macro Definition Documentation

## ◆ parse_gdbarch

#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().

## ◆ parse_language

#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().

## Typedef Documentation

## ◆ type_ptr

typedef struct type* type_ptr

Definition at line 132 of file parser-defs.h.

## Enumeration Type Documentation

## ◆ precedence

enum precedence

Enumerator
PREC_NULL |
PREC_COMMA |
PREC_ABOVE_COMMA |
PREC_ASSIGN |
PREC_LOGICAL_OR |
PREC_LOGICAL_AND |
PREC_BITWISE_IOR |
PREC_BITWISE_AND |
PREC_BITWISE_XOR |
PREC_EQUAL |
PREC_ORDER |
PREC_SHIFT |
PREC_ADD |
PREC_MUL |
PREC_REPEAT |
PREC_HYPER |
PREC_PREFIX |
PREC_SUFFIX |
PREC_BUILTIN_FUNCTION |

Definition at line 294 of file parser-defs.h.

## ◆ type_pieces

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.

## Function Documentation

## ◆ append_type_stack()

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().

## ◆ copy_name()

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()

DEF_VEC_P | ( | type_ptr |  | ) |

## ◆ dump_subexp()

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().

## ◆ dump_subexp_body_standard()

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().

## ◆ end_arglist()

int end_arglist | ( | void |  | ) |

Definition at line 143 of file parse.c.

References arglist_len, and funcall_chain.

Referenced by yyparse().

## ◆ exp_uses_objfile()

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().

## ◆ find_template_name_end()

const char* find_template_name_end | ( | const char * |  | ) |

Definition at line 690 of file parse.c.

Referenced by lex_one_token().

## ◆ follow_type_instance_flags()

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().

## ◆ follow_types()

struct type* follow_types | ( | struct type * |  | ) |

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().

## ◆ get_type_stack()

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().

## ◆ increase_expout_size()

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().

## ◆ insert_type()

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.

## ◆ insert_type_address_space()

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().

## ◆ mark_completion_tag()

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().

## ◆ mark_struct_expression()

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().

## ◆ null_post_parser()

void null_post_parser | ( | expression_up * | ,
|  | int |
| ) |  |

Definition at line 1319 of file parse.c.

## ◆ op_name_standard()

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().

## ◆ operator_check_standard()

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().

## ◆ operator_length()

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().

## ◆ operator_length_standard()

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().

## ◆ parse_float()

bool parse_float | ( | const char * | p,
|  | int | len,
|  | const struct type * | type,
|  | gdb_byte * | data
| ) |  |

Definition at line 1331 of file parse.c.

References string, and target_float_from_string().

Referenced by lex_number(), and parse_number().

## ◆ parser_fprintf()

void parser_fprintf | ( | FILE * | ,
|  | const char * | ,
|  |  | ...
| ) |  |

## ◆ pop_type()

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().

## ◆ pop_type_int()

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().

## ◆ prefixify_expression()

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().

## ◆ print_subexp()

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().

## ◆ print_subexp_standard()

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().

## ◆ push_type()

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().

## ◆ push_type_int()

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().

## ◆ push_type_stack()

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().

## ◆ push_typelist()

void push_typelist | ( | VEC(type_ptr) * | typelist | ) |

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().

## ◆ start_arglist()

void start_arglist | ( | void |  | ) |

Definition at line 133 of file parse.c.

References arglist_len, and funcall_chain.

Referenced by yyparse().

## ◆ type_stack_cleanup()

void type_stack_cleanup | ( | void * | arg | ) |

Definition at line 1530 of file parse.c.

References type_stack::elements, and xfree().

Referenced by yyparse().

## ◆ write_dollar_variable()

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().

## ◆ write_exp_bitstring()

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().

## ◆ write_exp_elt_block()

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().

## ◆ write_exp_elt_floatcst()

void write_exp_elt_floatcst | ( | struct parser_state * | ,
|  | const gdb_byte * |
| ) |  |

## ◆ write_exp_elt_intern()

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().

## ◆ write_exp_elt_longcst()

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().

## ◆ write_exp_elt_objfile()

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().

## ◆ write_exp_elt_opcode()

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().

## ◆ write_exp_elt_sym()

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().

## ◆ write_exp_elt_type()

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().

## ◆ write_exp_msymbol()

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().

## ◆ write_exp_string()

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().

## ◆ write_exp_string_vector()

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().

## Variable Documentation

## ◆ arglist_len

int arglist_len

Definition at line 72 of file parse.c.

Referenced by end_arglist(), start_arglist(), and yyparse().

## ◆ comma_terminates

int comma_terminates

Definition at line 77 of file parse.c.

Referenced by lex_one_token(), parse_exp_in_context_1(), rustyylex(), and yylex().

## ◆ exp_descriptor_standard

const struct exp_descriptor exp_descriptor_standard

Definition at line 58 of file parse.c.

## ◆ expression_context_block

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().

## ◆ expression_context_pc

CORE_ADDR expression_context_pc

Definition at line 70 of file parse.c.

Referenced by c_parse(), and parse_exp_in_context_1().

## ◆ innermost_block

const struct block* innermost_block

Definition at line 71 of file parse.c.

## ◆ lexptr

const char* lexptr

Definition at line 74 of file parse.c.

Referenced by parse_exp_in_context_1().

## ◆ paren_depth

int paren_depth

Definition at line 76 of file parse.c.

Referenced by lex_one_token(), parse_exp_in_context_1(), rustyylex(), and yylex().

## ◆ parser_debug

int parser_debug

Definition at line 104 of file parse.c.

Referenced by _initialize_parse(), c_parse(), d_parse(), and go_parse().

## ◆ prev_lexptr

const char* prev_lexptr

Definition at line 75 of file parse.c.

Referenced by parse_exp_in_context_1().