File parse-yacc.c

C Cross Referencing & Documentation tool. Version 1.6e.
C parser.

References Variables: first parse-yacc.c

Included Files


Preprocessor definitions

#define YYBISON 30704

#define YYBISON_VERSION "3.7.4"

#define YYSKELETON_NAME "yacc.c"

#define YYPURE 0

#define YYPUSH 0

#define YYPULL 1

#define yylex cxref_yylex

The variable must be LOCAL or EXTERNAL or GLOBAL, so this checks and sets that.

#define SCOPE

#define YY_CAST( Type, Val )

#define YY_REINTERPRET_CAST( Type, Val )

#define YY_NULLPTR

#define YY_YY_Y_TAB_H_INCLUDED

#define YYTOKENTYPE

#define YYEMPTY -2

#define YYEOF 0

#define YYerror 256

#define YYUNDEF 257

#define IDENTIFIER 258

#define TYPE_NAME 259

#define LITERAL 260

#define STRING_LITERAL 261

#define ELLIPSES 262

#define MUL_ASSIGN 263

#define DIV_ASSIGN 264

#define MOD_ASSIGN 265

#define ADD_ASSIGN 266

#define SUB_ASSIGN 267

#define LEFT_ASSIGN 268

#define RIGHT_ASSIGN 269

#define AND_ASSIGN 270

#define XOR_ASSIGN 271

#define OR_ASSIGN 272

#define EQ_OP 273

#define NE_OP 274

#define PTR_OP 275

#define AND_OP 276

#define OR_OP 277

#define DEC_OP 278

#define INC_OP 279

#define LE_OP 280

#define GE_OP 281

#define LEFT_SHIFT 282

#define RIGHT_SHIFT 283

#define SIZEOF 284

#define TYPEDEF 285

#define EXTERN 286

#define STATIC 287

#define AUTO 288

#define REGISTER 289

#define CONST 290

#define VOLATILE 291

#define VOID 292

#define INLINE 293

#define CHAR 294

#define SHORT 295

#define INT 296

#define LONG 297

#define SIGNED 298

#define UNSIGNED 299

#define FLOAT 300

#define DOUBLE 301

#define BOOL 302

#define STRUCT 303

#define UNION 304

#define ENUM 305

#define CASE 306

#define DEFAULT 307

#define IF 308

#define ELSE 309

#define SWITCH 310

#define WHILE 311

#define DO 312

#define FOR 313

#define GOTO 314

#define CONTINUE 315

#define BREAK 316

#define RETURN 317

#define ASM 318

#define YYPTRDIFF_T __PTRDIFF_TYPE__

#define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__

#define YYSIZE_T __SIZE_TYPE__

#define YYSIZE_MAXIMUM

#define YYSIZEOF( X )

#define YY_( Msgid )

#define YY_ATTRIBUTE_PURE

#define YY_ATTRIBUTE_UNUSED

#define YYUSE( E )

#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN

#define YY_IGNORE_MAYBE_UNINITIALIZED_END

#define YY_INITIAL_VALUE( Value )

#define YY_IGNORE_USELESS_CAST_BEGIN

#define YY_IGNORE_USELESS_CAST_END

#define YY_ASSERT( E )

#define YYSTACK_ALLOC YYMALLOC

#define YYSTACK_FREE YYFREE

#define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM

#define YYMALLOC malloc

#define YYFREE free

#define YYSTACK_GAP_MAXIMUM

#define YYSTACK_BYTES( N )

#define YYCOPY_NEEDED 1

#define YYSTACK_RELOCATE( Stack_alloc, Stack )

#define YYCOPY( Dst, Src, Count )

#define YYFINAL 92

#define YYLAST 1500

#define YYNTOKENS 88

#define YYNNTS 172

#define YYNRULES 379

#define YYNSTATES 572

#define YYMAXUTOK 318

#define YYTRANSLATE( YYX )

Accessing symbol of state STATE.

#define YY_ACCESSING_SYMBOL( State )

#define YYPACT_NINF -406

#define yypact_value_is_default( Yyn )

#define YYTABLE_NINF -246

#define yytable_value_is_error( Yyn )

#define yyerrok

#define yyclearin

#define YYACCEPT

#define YYABORT

#define YYERROR

#define YYRECOVERING

#define YYBACKUP( Token, Value )

#define YYERRCODE YYUNDEF

#define YYFPRINTF fprintf

#define YYDPRINTF( Args )

#define YY_LOCATION_PRINT( File, Loc )

#define YY_SYMBOL_PRINT( Title, Kind, Value, Location )

#define YY_STACK_PRINT( Bottom, Top )

#define YY_REDUCE_PRINT( Rule )

#define YYINITDEPTH 200

#define YYMAXDEPTH 10000

#define YYPOPSTACK( N )


Typedef stack

A structure to hold the information about an object.

typedef struct _stack stack

struct _stack  
   {  
      char* name; The name of the object.
      char* type; The type of the object.
      char* qual; The type qualifier of the object.
   }  

Type enum yytokentype


enum yytokentype
enum yytokentype  
   {  
      YYEMPTY;  
      YYEOF;  
      YYerror;  
      YYUNDEF;  
      IDENTIFIER;  
      TYPE_NAME;  
      LITERAL;  
      STRING_LITERAL;  
      ELLIPSES;  
      MUL_ASSIGN;  
      DIV_ASSIGN;  
      MOD_ASSIGN;  
      ADD_ASSIGN;  
      SUB_ASSIGN;  
      LEFT_ASSIGN;  
      RIGHT_ASSIGN;  
      AND_ASSIGN;  
      XOR_ASSIGN;  
      OR_ASSIGN;  
      EQ_OP;  
      NE_OP;  
      PTR_OP;  
      AND_OP;  
      OR_OP;  
      DEC_OP;  
      INC_OP;  
      LE_OP;  
      GE_OP;  
      LEFT_SHIFT;  
      RIGHT_SHIFT;  
      SIZEOF;  
      TYPEDEF;  
      EXTERN;  
      STATIC;  
      AUTO;  
      REGISTER;  
      CONST;  
      VOLATILE;  
      VOID;  
      INLINE;  
      CHAR;  
      SHORT;  
      INT;  
      LONG;  
      SIGNED;  
      UNSIGNED;  
      FLOAT;  
      DOUBLE;  
      BOOL;  
      STRUCT;  
      UNION;  
      ENUM;  
      CASE;  
      DEFAULT;  
      IF;  
      ELSE;  
      SWITCH;  
      WHILE;  
      DO;  
      FOR;  
      GOTO;  
      CONTINUE;  
      BREAK;  
      RETURN;  
      ASM;  
   }  

Typedef yytoken_kind_t

typedef enum yytokentype yytoken_kind_t

See: Type enum yytokentype

Type enum yysymbol_kind_t


enum yysymbol_kind_t
enum yysymbol_kind_t  
   {  
      YYSYMBOL_YYEMPTY;  
      YYSYMBOL_YYEOF;  
      YYSYMBOL_YYerror;  
      YYSYMBOL_YYUNDEF;  
      YYSYMBOL_IDENTIFIER;  
      YYSYMBOL_TYPE_NAME;  
      YYSYMBOL_LITERAL;  
      YYSYMBOL_STRING_LITERAL;  
      YYSYMBOL_ELLIPSES;  
      YYSYMBOL_MUL_ASSIGN;  
      YYSYMBOL_DIV_ASSIGN;  
      YYSYMBOL_MOD_ASSIGN;  
      YYSYMBOL_ADD_ASSIGN;  
      YYSYMBOL_SUB_ASSIGN;  
      YYSYMBOL_LEFT_ASSIGN;  
      YYSYMBOL_RIGHT_ASSIGN;  
      YYSYMBOL_AND_ASSIGN;  
      YYSYMBOL_XOR_ASSIGN;  
      YYSYMBOL_OR_ASSIGN;  
      YYSYMBOL_EQ_OP;  
      YYSYMBOL_NE_OP;  
      YYSYMBOL_PTR_OP;  
      YYSYMBOL_AND_OP;  
      YYSYMBOL_OR_OP;  
      YYSYMBOL_DEC_OP;  
      YYSYMBOL_INC_OP;  
      YYSYMBOL_LE_OP;  
      YYSYMBOL_GE_OP;  
      YYSYMBOL_LEFT_SHIFT;  
      YYSYMBOL_RIGHT_SHIFT;  
      YYSYMBOL_SIZEOF;  
      YYSYMBOL_TYPEDEF;  
      YYSYMBOL_EXTERN;  
      YYSYMBOL_STATIC;  
      YYSYMBOL_AUTO;  
      YYSYMBOL_REGISTER;  
      YYSYMBOL_CONST;  
      YYSYMBOL_VOLATILE;  
      YYSYMBOL_VOID;  
      YYSYMBOL_INLINE;  
      YYSYMBOL_CHAR;  
      YYSYMBOL_SHORT;  
      YYSYMBOL_INT;  
      YYSYMBOL_LONG;  
      YYSYMBOL_SIGNED;  
      YYSYMBOL_UNSIGNED;  
      YYSYMBOL_FLOAT;  
      YYSYMBOL_DOUBLE;  
      YYSYMBOL_BOOL;  
      YYSYMBOL_STRUCT;  
      YYSYMBOL_UNION;  
      YYSYMBOL_ENUM;  
      YYSYMBOL_CASE;  
      YYSYMBOL_DEFAULT;  
      YYSYMBOL_IF;  
      YYSYMBOL_ELSE;  
      YYSYMBOL_SWITCH;  
      YYSYMBOL_WHILE;  
      YYSYMBOL_DO;  
      YYSYMBOL_FOR;  
      YYSYMBOL_GOTO;  
      YYSYMBOL_CONTINUE;  
      YYSYMBOL_BREAK;  
      YYSYMBOL_RETURN;  
      YYSYMBOL_ASM;  
      YYSYMBOL_64_;  
      YYSYMBOL_65_;  
      YYSYMBOL_66_;  
      YYSYMBOL_67_;  
      YYSYMBOL_68_;  
      YYSYMBOL_69_;  
      YYSYMBOL_70_;  
      YYSYMBOL_71_;  
      YYSYMBOL_72_;  
      YYSYMBOL_73_;  
      YYSYMBOL_74_;  
      YYSYMBOL_75_;  
      YYSYMBOL_76_;  
      YYSYMBOL_77_;  
      YYSYMBOL_78_;  
      YYSYMBOL_79_;  
      YYSYMBOL_80_;  
      YYSYMBOL_81_;  
      YYSYMBOL_82_;  
      YYSYMBOL_83_;  
      YYSYMBOL_84_;  
      YYSYMBOL_85_;  
      YYSYMBOL_86_;  
      YYSYMBOL_87_;  
      YYSYMBOL_YYACCEPT;  
      YYSYMBOL_file;  
      YYSYMBOL_program;  
      YYSYMBOL_top_level_declaration;  
      YYSYMBOL_declaration_list;  
      YYSYMBOL_declaration;  
      YYSYMBOL_declaration_specifiers;  
      YYSYMBOL_declaration_specifiers1;  
      YYSYMBOL_initialized_declarator_list;  
      YYSYMBOL_97_1;  
      YYSYMBOL_initialized_declarator;  
      YYSYMBOL_initialized_declarator1;  
      YYSYMBOL_initializer_part;  
      YYSYMBOL_initializer;  
      YYSYMBOL_struct_initializer_list;  
      YYSYMBOL_named_initializer;  
      YYSYMBOL_designator;  
      YYSYMBOL_designator_list;  
      YYSYMBOL_named_initializer_index;  
      YYSYMBOL_abstract_declarator;  
      YYSYMBOL_direct_abstract_declarator;  
      YYSYMBOL_declarator;  
      YYSYMBOL_pointer;  
      YYSYMBOL_direct_declarator;  
      YYSYMBOL_simple_declarator;  
      YYSYMBOL_array_declarator;  
      YYSYMBOL_114_2;  
      YYSYMBOL_115_3;  
      YYSYMBOL_name;  
      YYSYMBOL_storage_class_specifier;  
      YYSYMBOL_type_qualifier_list;  
      YYSYMBOL_type_qualifier;  
      YYSYMBOL_type_specifier;  
      YYSYMBOL_type_specifier1;  
      YYSYMBOL_floating_type_specifier;  
      YYSYMBOL_integer_type_specifier;  
      YYSYMBOL_integer_type_specifier_part;  
      YYSYMBOL_boolean_type_specifier;  
      YYSYMBOL_typedef_name;  
      YYSYMBOL_void_type_specifier;  
      YYSYMBOL_type_name;  
      YYSYMBOL_enumeration_type_specifier;  
      YYSYMBOL_enumeration_type_definition;  
      YYSYMBOL_131_4;  
      YYSYMBOL_132_5;  
      YYSYMBOL_enumeration_definition_list;  
      YYSYMBOL_enumeration_definition_list1;  
      YYSYMBOL_enumeration_constant_definition;  
      YYSYMBOL_enumeration_constant;  
      YYSYMBOL_enumeration_type_reference;  
      YYSYMBOL_enumeration_tag;  
      YYSYMBOL_structure_type_specifier;  
      YYSYMBOL_structure_type_definition;  
      YYSYMBOL_141_6;  
      YYSYMBOL_142_7;  
      YYSYMBOL_structure_type_reference;  
      YYSYMBOL_structure_tag;  
      YYSYMBOL_union_type_specifier;  
      YYSYMBOL_union_type_definition;  
      YYSYMBOL_147_8;  
      YYSYMBOL_148_9;  
      YYSYMBOL_union_type_reference;  
      YYSYMBOL_union_tag;  
      YYSYMBOL_field_list;  
      YYSYMBOL_field_list1;  
      YYSYMBOL_field_list2;  
      YYSYMBOL_component_declaration;  
      YYSYMBOL_155_10;  
      YYSYMBOL_156_11;  
      YYSYMBOL_157_12;  
      YYSYMBOL_component_declarator_list;  
      YYSYMBOL_component_declarator;  
      YYSYMBOL_simple_component;  
      YYSYMBOL_bit_field;  
      YYSYMBOL_width;  
      YYSYMBOL_component_name;  
      YYSYMBOL_function_definition;  
      YYSYMBOL_165_13;  
      YYSYMBOL_function_specifier;  
      YYSYMBOL_function_specifier1;  
      YYSYMBOL_function_declarator;  
      YYSYMBOL_function_declarator0;  
      YYSYMBOL_function_direct_declarator;  
      YYSYMBOL_171_14;  
      YYSYMBOL_function_declarator1;  
      YYSYMBOL_function_declarator2;  
      YYSYMBOL_identifier_list;  
      YYSYMBOL_parameter_type_list;  
      YYSYMBOL_parameter_list;  
      YYSYMBOL_parameter_declaration;  
      YYSYMBOL_statement;  
      YYSYMBOL_compound_statement;  
      YYSYMBOL_180_15;  
      YYSYMBOL_181_16;  
      YYSYMBOL_compound_statement_body;  
      YYSYMBOL_block_item_list;  
      YYSYMBOL_block_item;  
      YYSYMBOL_conditional_statement;  
      YYSYMBOL_if_else_statement;  
      YYSYMBOL_if_statement;  
      YYSYMBOL_iterative_statement;  
      YYSYMBOL_do_statement;  
      YYSYMBOL_for_statement;  
      YYSYMBOL_191_17;  
      YYSYMBOL_for_expressions;  
      YYSYMBOL_for_expression_or_declaration;  
      YYSYMBOL_while_statement;  
      YYSYMBOL_labeled_statement;  
      YYSYMBOL_case_label;  
      YYSYMBOL_default_label;  
      YYSYMBOL_named_label;  
      YYSYMBOL_switch_statement;  
      YYSYMBOL_break_statement;  
      YYSYMBOL_continue_statement;  
      YYSYMBOL_expression_statement;  
      YYSYMBOL_goto_statement;  
      YYSYMBOL_null_statement;  
      YYSYMBOL_return_statement;  
      YYSYMBOL_expression;  
      YYSYMBOL_comma_expression;  
      YYSYMBOL_assignment_expression;  
      YYSYMBOL_assignment_op;  
      YYSYMBOL_conditional_expression;  
      YYSYMBOL_logical_or_expression;  
      YYSYMBOL_logical_and_expression;  
      YYSYMBOL_bitwise_or_expression;  
      YYSYMBOL_bitwise_xor_expression;  
      YYSYMBOL_bitwise_and_expression;  
      YYSYMBOL_equality_expression;  
      YYSYMBOL_equality_op;  
      YYSYMBOL_relational_expression;  
      YYSYMBOL_relational_op;  
      YYSYMBOL_shift_expression;  
      YYSYMBOL_shift_op;  
      YYSYMBOL_additive_expression;  
      YYSYMBOL_add_op;  
      YYSYMBOL_multiplicative_expression;  
      YYSYMBOL_mult_op;  
      YYSYMBOL_unary_expression;  
      YYSYMBOL_address_expression;  
      YYSYMBOL_bitwise_negation_expression;  
      YYSYMBOL_cast_expression;  
      YYSYMBOL_indirection_expression;  
      YYSYMBOL_logical_negation_expression;  
      YYSYMBOL_predecrement_expression;  
      YYSYMBOL_preincrement_expression;  
      YYSYMBOL_sizeof_expression;  
      YYSYMBOL_unary_minus_expression;  
      YYSYMBOL_unary_plus_expression;  
      YYSYMBOL_postfix_expression;  
      YYSYMBOL_component_selection_expression;  
      YYSYMBOL_direct_component_selection;  
      YYSYMBOL_indirect_component_selection;  
      YYSYMBOL_function_call;  
      YYSYMBOL_function_call_direct;  
      YYSYMBOL_postdecrement_expression;  
      YYSYMBOL_postincrement_expression;  
      YYSYMBOL_subscript_expression;  
      YYSYMBOL_primary_expression;  
      YYSYMBOL_string_literal;  
      YYSYMBOL_parenthesized_expression;  
      YYSYMBOL_249_18;  
      YYSYMBOL_250_19;  
      YYSYMBOL_constant_expression;  
      YYSYMBOL_expression_list;  
      YYSYMBOL_asm_statement;  
      YYSYMBOL_asm_type;  
      YYSYMBOL_asm_inout_list;  
      YYSYMBOL_asm_inout;  
      YYSYMBOL_asm_clobber_list;  
      YYSYMBOL_asm_label;  
      YYSYMBOL_named_label_address;  
   }  

Typedef yysymbol_kind_t

typedef enum yysymbol_kind_t yysymbol_kind_t

See: Type enum yysymbol_kind_t

Typedef yytype_int8

typedef signed char yytype_int8


Typedef yytype_int16

typedef short int yytype_int16


Typedef yytype_uint8

typedef unsigned char yytype_uint8


Typedef yytype_uint16

typedef short unsigned int yytype_uint16


Typedef yy_state_t

typedef yytype_int16 yy_state_t

See: Typedef yytype_int16

Typedef yy_state_fast_t

typedef int yy_state_fast_t


Type union yyalloc


union yyalloc
union yyalloc  
   {  
      yy_state_t yyss_alloc;  
      yystype yyvs_alloc;  
   }  

Global Variable yydebug

int yydebug

Visible in:   cxref.c
    func.c
    parse-lex.c
    parse-yacc.c
    parse-yy.h
    preproc.c
    type.c
    var.c
Used in: DocumentTheFile() cxref.c
  yydestruct() parse-yacc.c
  yyparse() parse-yacc.c

Global Variable yylval

yystype yylval

Visible in:   cxref.c
    func.c
    parse-lex.c
    parse-yacc.c
    parse-yacc.h
    parse-yy.h
    preproc.c
    type.c
    var.c
Used in: cxref_yylex() parse-yacc.c
  yyerror() parse-yacc.c
  yylex() parse-lex.c
  yyparse() parse-yacc.c

Global Variable in_typedef

A flag that is set to true when typedef is seen in a statement.

int in_typedef

Visible in:   parse-yacc.c
    type.c
Used in: ResetParser() parse-yacc.c
  SeenStructUnionEnd() type.c
  SeenStructUnionStart() type.c
  yyparse() parse-yacc.c

Global Variable yychar

int yychar

Visible in:   parse-yacc.c
Used in: yyerror() parse-yacc.c
  yyparse() parse-yacc.c

Global Variable yynerrs

int yynerrs

Visible in:   parse-yacc.c
Used in: yyparse() parse-yacc.c

External Variables

in_header

When in a header file, some stuff can be skipped over quickly.

extern int in_header

Defined in: preproc.c

Local Variables

scope

The scope of the function / variable that is being examined.

static int scope

Used in: ResetParser()  
  yyparse()  

in_function

When in a function or a function definition, the behaviour is different.

static int in_function

Used in: ResetParser()  
  yyparse()  

in_funcdef

When in a function or a function definition, the behaviour is different.

static int in_funcdef

Used in: ResetParser()  
  yyparse()  

in_funcbody

When in a function or a function definition, the behaviour is different.

static int in_funcbody

Used in: ResetParser()  
  yyparse()  

first

The parsing stack first value.

static stack first

Used in:   parse-yacc.c
  ResetParser()  
  push()  

list

The parsing stack list of all values.

static stack* list

Used in: ResetParser()  
  pop()  
  push()  

current

The parsing stack current values.

static stack* current

Used in: ResetParser()  
  pop()  
  push()  
  reset()  
  yyparse()  

depth

The depth of the stack currently in use.

static int depth

Used in: ResetParser()  
  pop()  
  push()  

maxdepth

The depth of the stack total malloced.

static int maxdepth

Used in: ResetParser()  
  push()  

common_comment

Declarations that are in the same statement share this comment.

static char* common_comment

Used in: ResetParser()  
  yyparse()  

in_structunion

When inside a struct / union / enum definition, this is the depth.

static int in_structunion

Used in: ResetParser()  
  cxref_yylex()  
  yyparse()  

comp_type

When inside a struct / union definition, this is the component type.

static char* comp_type

Used in: ResetParser()  
  yyparse()  

in_type_spec

To solve the problem where a type name is used as an identifier.

static int in_type_spec

Used in: ResetParser()  
  cxref_yylex()  
  yyparse()  

yytranslate

static const yytype_int8 yytranslate[]

Used in: yyerror()  
  yyparse()  

yyrline

static const yytype_int16 yyrline[]

Used in: yy_reduce_print()  

yytname

static const char* const yytname[]

Used in: yyerror()  
  yysymbol_name()  

yytoknum

static const yytype_int16 yytoknum[]

yypact

static const yytype_int16 yypact[]

Used in: yyparse()  

yydefact

static const yytype_int16 yydefact[]

Used in: yyparse()  

yypgoto

static const yytype_int16 yypgoto[]

Used in: yyparse()  

yydefgoto

static const yytype_int16 yydefgoto[]

Used in: yyparse()  

yytable

static const yytype_int16 yytable[]

Used in: yyparse()  

yycheck

static const yytype_int16 yycheck[]

Used in: yyparse()  

yystos

static const yytype_int16 yystos[]

Used in: yy_reduce_print()  
  yyparse()  

yyr1

static const yytype_int16 yyr1[]

Used in: yyparse()  

yyr2

static const yytype_int8 yyr2[]

Used in: yy_reduce_print()  
  yyparse()  

last_yylex

static int last_yylex[11]

Used in: cxref_yylex()  
  yyerror()  

last_yylval

static char* last_yylval[11]

Used in: cxref_yylex()  
  yyerror()  

count

static int count

Used in: cxref_yylex()  
  yyerror()  

modcount

static int modcount

Used in: cxref_yylex()  
  yyerror()  

Global Function ResetParser()

Reset the Parser, ready for the next file.

void ResetParser ( void )

Prototyped in: cxref.h
Calls: SafeFree() memory.c
  reset() parse-yacc.c
Called by: main() cxref.c
References Variables: common_comment parse-yacc.c
  comp_type parse-yacc.c
  current parse-yacc.c
  depth parse-yacc.c
  first parse-yacc.c
  in_funcbody parse-yacc.c
  in_funcdef parse-yacc.c
  in_function parse-yacc.c
  in_structunion parse-yacc.c
  in_type_spec parse-yacc.c
  in_typedef parse-yacc.c
  list parse-yacc.c
  maxdepth parse-yacc.c
  scope parse-yacc.c

Global Function yyparse()

int yyparse ( void )

Prototyped in: parse-yy.h
Calls: CheckFunctionVariableRef() func.c
  ConcatStrings() memory.c
  CopyString() memory.c
  DownScope() var.c
  GetCurrentComment() comment.c
  IsAScopeVariable() var.c
  IsATypeName() type.c
  SeenFunctionArg() func.c
  SeenFunctionCall() func.c
  SeenFunctionDeclaration() func.c
  SeenFunctionDefinition() func.c
  SeenFunctionProto() func.c
  SeenScopeVariable() var.c
  SeenStructUnionComp() type.c
  SeenStructUnionEnd() type.c
  SeenStructUnionStart() type.c
  SeenTypedef() type.c
  SeenTypedefName() type.c
  SeenVariableDefinition() var.c
  SetCurrentComment() comment.c
  UpScope() var.c
  cxref_yylex() parse-yacc.c
  pop() parse-yacc.c
  push() parse-yacc.c
  reset() parse-yacc.c
  yy_reduce_print() parse-yacc.c
  yy_stack_print() parse-yacc.c
  yy_symbol_print() parse-yacc.c
  yydestruct() parse-yacc.c
  yyerror() parse-yacc.c
  __builtin_memcpy(), fprintf(), free(), malloc(), strcmp(), strlen(), strstr()
Called by: DocumentTheFile() cxref.c
References Variables: common_comment parse-yacc.c
  comp_type parse-yacc.c
  current parse-yacc.c
  in_funcbody parse-yacc.c
  in_funcdef parse-yacc.c
  in_function parse-yacc.c
  in_header preproc.c
  in_structunion parse-yacc.c
  in_type_spec parse-yacc.c
  in_typedef parse-yacc.c
  scope parse-yacc.c
  yychar parse-yacc.c
  yycheck parse-yacc.c
  yydebug parse-yacc.c
  yydefact parse-yacc.c
  yydefgoto parse-yacc.c
  yylval parse-yacc.c
  yynerrs parse-yacc.c
  yypact parse-yacc.c
  yypgoto parse-yacc.c
  yyr1 parse-yacc.c
  yyr2 parse-yacc.c
  yystos parse-yacc.c
  yytable parse-yacc.c
  yytranslate parse-yacc.c

Local Function cxref_yylex()

Call the lexer, the feedback from the parser to the lexer is applied here.

static int cxref_yylex ( void )

int cxref_yylex
Returns the value from the lexer, modified due to parser feedback.

Prototyped in: parse-yacc.c
Calls: yylex() parse-lex.c
Called by: yyerror() parse-yacc.c
  yyparse() parse-yacc.c
References Variables: count parse-yacc.c
  in_structunion parse-yacc.c
  in_type_spec parse-yacc.c
  last_yylex parse-yacc.c
  last_yylval parse-yacc.c
  modcount parse-yacc.c
  yylval parse-yacc.c

Local Function pop()

Pop a level from the stack.

static void pop ( void )

Calls: reset() parse-yacc.c
Called by: yyparse() parse-yacc.c
References Variables: current parse-yacc.c
  depth parse-yacc.c
  list parse-yacc.c

Local Function push()

Push a level onto the stack.

static void push ( void )

Calls: SafeMalloc() memory.c
  SafeRealloc() memory.c
  reset() parse-yacc.c
Called by: yyparse() parse-yacc.c
References Variables: current parse-yacc.c
  depth parse-yacc.c
  first parse-yacc.c
  list parse-yacc.c
  maxdepth parse-yacc.c

Local Function reset()

Reset the current level on the stack.

static void reset ( void )

Called by: ResetParser() parse-yacc.c
  pop() parse-yacc.c
  push() parse-yacc.c
  yyparse() parse-yacc.c
References Variables: current parse-yacc.c

Local Function yy_reduce_print()

static void yy_reduce_print ( yy_state_t* yyssp, yystype* yyvsp, int yyrule )

Calls: yy_symbol_print() parse-yacc.c
  fprintf()
Called by: yyparse() parse-yacc.c
References Variables: yyr2 parse-yacc.c
  yyrline parse-yacc.c
  yystos parse-yacc.c

Local Function yy_stack_print()

static void yy_stack_print ( yy_state_t* yybottom, yy_state_t* yytop )

Calls: fprintf()
Called by: yyparse() parse-yacc.c

Local Function yy_symbol_print()

static void yy_symbol_print ( FILE* yyo, yysymbol_kind_t yykind, yystype const* const yyvaluep )

Calls: yy_symbol_value_print() parse-yacc.c
  yysymbol_name() parse-yacc.c
  fprintf()
Called by: yy_reduce_print() parse-yacc.c
  yydestruct() parse-yacc.c
  yyparse() parse-yacc.c

Local Function yy_symbol_value_print()

static void yy_symbol_value_print ( FILE* yyo, yysymbol_kind_t yykind, yystype const* const yyvaluep )

Calls: printf()
Called by: yy_symbol_print() parse-yacc.c

Local Function yydestruct()

static void yydestruct ( const char* yymsg, yysymbol_kind_t yykind, yystype* yyvaluep )

Calls: yy_symbol_print() parse-yacc.c
  fprintf()
Called by: yyparse() parse-yacc.c
References Variables: yydebug parse-yacc.c

Local Function yyerror()

Stop parsing the current file, due to an error.

static void yyerror ( const char* s )

char *s The error message to print out.

Prototyped in: parse-yacc.c
Calls: cxref_yylex() parse-yacc.c
  yylex() parse-lex.c
  fflush(), fprintf()
Called by: yyparse() parse-yacc.c
References Variables: count parse-yacc.c
  last_yylex parse-yacc.c
  last_yylval parse-yacc.c
  modcount parse-yacc.c
  parse_file parse-lex.c
  parse_line parse-lex.c
  yychar parse-yacc.c
  yylval parse-yacc.c
  yytname parse-yacc.c
  yytranslate parse-yacc.c

Local Function yysymbol_name()

static const char* yysymbol_name ( yysymbol_kind_t yysymbol )

Prototyped in: parse-yacc.c
Called by: yy_symbol_print() parse-yacc.c
References Variables: yytname parse-yacc.c