GDB (xrefs)
Classes | Defines | Typedefs | Enumerations | Functions | Variables
/home/stan/gdb/src/gdb/parser-defs.h File Reference
#include "doublest.h"
#include "vec.h"
#include "expression.h"

Go to the source code of this file.

Classes

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

Defines

#define parse_gdbarch   (expout->gdbarch)
#define parse_language   (expout->language_defn)

Typedefs

typedef struct typetype_ptr

Enumerations

enum  type_pieces {
  tp_end = -1, tp_pointer, tp_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)
void initialize_expout (int, const struct language_defn *, struct gdbarch *)
void reallocate_expout (void)
int prefixify_expression (struct expression *expr)
void write_exp_elt_opcode (enum exp_opcode)
void write_exp_elt_sym (struct symbol *)
void write_exp_elt_longcst (LONGEST)
void write_exp_elt_dblcst (DOUBLEST)
void write_exp_elt_decfloatcst (gdb_byte *)
void write_exp_elt_type (struct type *)
void write_exp_elt_intern (struct internalvar *)
void write_exp_string (struct stoken)
void write_exp_string_vector (int type, struct stoken_vector *vec)
void write_exp_bitstring (struct stoken)
void write_exp_elt_block (const struct block *)
void write_exp_elt_objfile (struct objfile *objfile)
void write_exp_msymbol (struct bound_minimal_symbol)
void write_dollar_variable (struct stoken str)
void mark_struct_expression (void)
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 (char *)
enum type_pieces pop_type (void)
int pop_type_int (void)
struct type_stackget_type_stack (void)
struct type_stackappend_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 length_of_subexp (struct expression *, int)
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)
char * op_name_standard (enum exp_opcode)
struct typefollow_types (struct type *)
void null_post_parser (struct expression **, int)
int parse_float (const char *p, int len, DOUBLEST *d, const char **suffix)
int parse_c_float (struct gdbarch *gdbarch, const char *p, int len, DOUBLEST *d, struct type **t)
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)

Variables

int parser_debug
struct expressionexpout
int expout_size
int expout_ptr
struct blockexpression_context_block
CORE_ADDR expression_context_pc
struct blockinnermost_block
struct blockblock_found
int arglist_len
const char * lexptr
const char * prev_lexptr
int paren_depth
int comma_terminates
struct exp_descriptor exp_descriptor_standard

Define Documentation

#define parse_gdbarch   (expout->gdbarch)

Typedef Documentation

typedef struct type* type_ptr

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


Enumeration Type Documentation

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 289 of file parser-defs.h.

Enumerator:
tp_end 
tp_pointer 
tp_reference 
tp_array 
tp_function 
tp_function_with_arguments 
tp_const 
tp_volatile 
tp_space_identifier 
tp_type_stack 

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


Function Documentation

struct type_stack* append_type_stack ( struct type_stack to,
struct type_stack from 
) [read]

Definition at line 1573 of file parse.c.

References type_stack::depth, type_stack::elements, memcpy(), to, and type_stack_reserve().

char* copy_name ( struct stoken  )
int dump_subexp ( struct expression ,
struct ui_file ,
int   
)
int dump_subexp_body_standard ( struct expression ,
struct ui_file ,
int   
)
int end_arglist ( void  )

Definition at line 162 of file parse.c.

References arglist_len, funcall::arglist_len, funcall_chain, funcall::next, and xfree().

void int exp_uses_objfile ( struct expression exp,
struct objfile objfile 
)
const char* find_template_name_end ( const char *  )

Definition at line 737 of file parse.c.

Referenced by lex_one_token().

struct type* follow_types ( struct type ) [read]
struct type_stack* get_type_stack ( void  ) [read]

Definition at line 1599 of file parse.c.

References type_stack::depth, type_stack::elements, type_stack::size, and type_stack.

void initialize_expout ( int  ,
const struct language_defn ,
struct gdbarch  
)
void insert_type ( enum  type_pieces)
void insert_type_address_space ( char *  )
int length_of_subexp ( struct expression ,
int   
)

Definition at line 854 of file parse.c.

References length_of_subexp(), and operator_length().

Referenced by copy_exp(), length_of_subexp(), and prefixify_subexp().

void mark_completion_tag ( enum  type_code,
const char *  ptr,
int  length 
)
void mark_struct_expression ( void  )
void null_post_parser ( struct expression **  ,
int   
)

Definition at line 1353 of file parse.c.

char* op_name_standard ( enum  exp_opcode)

Definition at line 664 of file expprint.c.

References xsnprintf().

Referenced by ada_op_name().

int operator_check_standard ( struct expression exp,
int  pos,
int(*)(struct objfile *objfile, void *data)  objfile_func,
void *  data 
)
void operator_length ( const struct expression ,
int  ,
int ,
int  
)
void operator_length_standard ( const struct expression ,
int  ,
int ,
int  
)
int parse_c_float ( struct gdbarch gdbarch,
const char *  p,
int  len,
DOUBLEST d,
struct type **  t 
)
int parse_float ( const char *  p,
int  len,
DOUBLEST d,
const char **  suffix 
)

Definition at line 1365 of file parse.c.

References DOUBLEST_SCAN_FORMAT, len, memcpy(), xfree(), and xmalloc().

Referenced by parse_c_float(), and parse_number().

void parser_fprintf ( FILE *  ,
const char *  ,
  ... 
)
enum type_pieces pop_type ( void  )

Definition at line 1535 of file parse.c.

References type_stack::depth, type_stack::elements, type_stack_elt::piece, and tp_end.

Referenced by follow_types().

int pop_type_int ( void  )

Definition at line 1543 of file parse.c.

References type_stack::depth, type_stack::elements, and type_stack_elt::int_val.

Referenced by follow_types().

int prefixify_expression ( struct expression expr)

Definition at line 836 of file parse.c.

References len, memcpy(), expression::nelts, and prefixify_subexp().

Referenced by parse_exp_in_context_1(), and stap_parse_probe_arguments().

void print_subexp ( struct expression ,
int ,
struct ui_file ,
enum  precedence 
)
void print_subexp_standard ( struct expression ,
int ,
struct ui_file ,
enum  precedence 
)
void push_type ( enum  type_pieces)
void push_type_int ( int  )
void push_type_stack ( struct type_stack stack)
void push_typelist ( VEC(type_ptr)*  typelist)
void reallocate_expout ( void  )

Definition at line 208 of file parse.c.

References EXP_ELEM_TO_BYTES, expout_ptr, expression::nelts, and xrealloc().

Referenced by parse_exp_in_context_1(), and stap_parse_argument().

void start_arglist ( void  )

Definition at line 147 of file parse.c.

References arglist_len, funcall::arglist_len, funcall_chain, and xmalloc().

void type_stack_cleanup ( void *  arg)

Definition at line 1614 of file parse.c.

References type_stack::elements, and xfree().

void write_dollar_variable ( struct stoken  str)
void write_exp_bitstring ( struct stoken  )
void write_exp_elt_block ( const struct block )

Definition at line 289 of file parse.c.

References exp_element::doubleconst, memset(), and write_exp_elt().

void write_exp_elt_intern ( struct internalvar )

Definition at line 321 of file parse.c.

References exp_element::internalvar, memset(), and write_exp_elt().

Referenced by write_dollar_variable().

void write_exp_elt_objfile ( struct objfile objfile)

Definition at line 269 of file parse.c.

References memset(), exp_element::objfile, and write_exp_elt().

Referenced by write_exp_msymbol().

void write_exp_elt_opcode ( enum  exp_opcode)
void write_exp_elt_sym ( struct symbol )
void write_exp_elt_type ( struct type )
void write_exp_string ( struct stoken  )
void write_exp_string_vector ( int  type,
struct stoken_vector vec 
)

Variable Documentation

Definition at line 76 of file parse.c.

Referenced by end_arglist(), and start_arglist().

struct block* block_found

Definition at line 144 of file symtab.c.

Referenced by push_variable(), standard_lookup(), and write_dollar_variable().

Definition at line 81 of file parse.c.

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

Definition at line 59 of file parse.c.

struct expression* expout

Definition at line 74 of file parse.c.

Referenced by c_parse(), and parse_exp_in_context_1().

Definition at line 75 of file parse.c.

const char* lexptr

Definition at line 80 of file parse.c.

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

Definition at line 108 of file parse.c.

Referenced by c_parse(), and go_parse().

Definition at line 79 of file parse.c.

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

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines