C Cross Referencing & Documentation tool. Version 1.6e.
C parser.
| References Variables: | first | parse-yacc.c |
#define YYBISON_VERSION "3.0.2"
#define YYSKELETON_NAME "yacc.c"
#define yylex cxref_yylex
The variable must be LOCAL or EXTERNAL or GLOBAL, so this checks and sets that.
#define YY_YY_Y_TAB_H_INCLUDED
#define LITERAL 260
#define ELLIPSES 262
#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 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 YYSIZE_T __SIZE_TYPE__
#define YY_( Msgid )
#define YY_ATTRIBUTE( Spec )
#define YYUSE( E )
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
#define YY_IGNORE_MAYBE_UNINITIALIZED_END
#define YY_INITIAL_VALUE( Value )
#define YYSTACK_ALLOC YYMALLOC
#define YYSTACK_FREE YYFREE
#define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
#define YYMALLOC malloc
#define YYFREE free
#define YYSTACK_RELOCATE( Stack_alloc, Stack )
#define YYCOPY( Dst, Src, Count )
#define YYLAST 1500
#define YYNNTS 172
#define YYNRULES 379
#define YYTRANSLATE( YYX )
#define YYPACT_NINF -406
#define yypact_value_is_default( Yystate )
#define YYTABLE_NINF -246
#define yytable_value_is_error( Yytable_value )
#define YYBACKUP( Token, Value )
#define YYFPRINTF fprintf
#define YYDPRINTF( Args )
#define YY_LOCATION_PRINT( File, Loc )
#define YY_SYMBOL_PRINT( Title, Type, Value, Location )
#define YY_STACK_PRINT( Bottom, Top )
#define YY_REDUCE_PRINT( Rule )
#define YYMAXDEPTH 10000
#define yystrlen strlen
#define YYCASE_( N, S )
#define YYPOPSTACK( N )
A structure to hold the information about an object.
| struct _stack | |
| { | |
| char* name; | The name of the object. |
| char* type; | The type of the object. |
| char* qual; | The type qualifier of the object. |
| } |
| enum yytokentype | |
| { | |
| 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 unsigned char yytype_uint8
typedef signed char yytype_int8
typedef unsigned short int yytype_uint16
typedef short int yytype_int16
| union yyalloc | |
| { | |
| yytype_int16 yyss_alloc; | |
| yystype yyvs_alloc; | |
| } |
| 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 |
A flag that is set to true when typedef is seen in a statement.
| Visible in: | parse-yacc.c | |
| type.c | ||
| Used in: | ResetParser() | parse-yacc.c |
| SeenStructUnionEnd() | type.c | |
| SeenStructUnionStart() | type.c | |
| yyparse() | parse-yacc.c |
| Visible in: | parse-yacc.c | |
| Used in: | yyerror() | parse-yacc.c |
| yyparse() | parse-yacc.c |
| Visible in: | parse-yacc.c | |
| Used in: | yyparse() | parse-yacc.c |
When in a header file, some stuff can be skipped over quickly.
extern int in_header
| Defined in: | preproc.c |
The scope of the function / variable that is being examined.
| Used in: | ResetParser() | |
| yyparse() |
When in a function or a function definition, the behaviour is different.
| Used in: | ResetParser() | |
| yyparse() |
When in a function or a function definition, the behaviour is different.
| Used in: | ResetParser() | |
| yyparse() |
When in a function or a function definition, the behaviour is different.
| Used in: | ResetParser() | |
| yyparse() |
The parsing stack first value.
| Used in: | parse-yacc.c | |
| ResetParser() | ||
| push() |
The parsing stack list of all values.
| Used in: | ResetParser() | |
| pop() | ||
| push() |
The parsing stack current values.
| Used in: | ResetParser() | |
| pop() | ||
| push() | ||
| reset() | ||
| yyparse() |
The depth of the stack currently in use.
| Used in: | ResetParser() | |
| pop() | ||
| push() |
The depth of the stack total malloced.
| Used in: | ResetParser() | |
| push() |
Declarations that are in the same statement share this comment.
| Used in: | ResetParser() | |
| yyparse() |
When inside a struct / union / enum definition, this is the depth.
| Used in: | ResetParser() | |
| cxref_yylex() | ||
| yyparse() |
When inside a struct / union definition, this is the component type.
| Used in: | ResetParser() | |
| yyparse() |
To solve the problem where a type name is used as an identifier.
| Used in: | ResetParser() | |
| cxref_yylex() | ||
| yyparse() |
static const yytype_uint8 yytranslate[]
| Used in: | yyerror() | |
| yyparse() |
static const yytype_uint16 yyrline[]
| Used in: | yy_reduce_print() |
static const char* const yytname[]
| Used in: | yy_symbol_print() | |
| yyerror() | ||
| yysyntax_error() |
static const yytype_uint16 yytoknum[]
static const yytype_int16 yypact[]
| Used in: | yyparse() | |
| yysyntax_error() |
static const yytype_uint16 yydefact[]
| Used in: | yyparse() |
static const yytype_int16 yypgoto[]
| Used in: | yyparse() |
static const yytype_int16 yydefgoto[]
| Used in: | yyparse() |
static const yytype_int16 yytable[]
| Used in: | yyparse() |
static const yytype_int16 yycheck[]
| Used in: | yyparse() | |
| yysyntax_error() |
static const yytype_uint16 yystos[]
| Used in: | yy_reduce_print() | |
| yyparse() |
static const yytype_uint16 yyr1[]
| Used in: | yyparse() |
static const yytype_uint8 yyr2[]
| Used in: | yy_reduce_print() | |
| yyparse() |
| Used in: | cxref_yylex() | |
| yyerror() |
| Used in: | cxref_yylex() | |
| yyerror() |
| Used in: | cxref_yylex() | |
| yyerror() |
| Used in: | cxref_yylex() | |
| yyerror() |
Reset the Parser, ready for the next file.
| 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 | |
Call the lexer, the feedback from the parser to the lexer is applied here.
static int cxref_yylex ( void )
| 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 | |
Pop a level from the stack.
| 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 |
Push a level onto the stack.
| 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 |
Reset the current level on the stack.
| Called by: | ResetParser() | parse-yacc.c |
| pop() | parse-yacc.c | |
| push() | parse-yacc.c | |
| yyparse() | parse-yacc.c | |
| References Variables: | current | parse-yacc.c |
static void yy_reduce_print ( yytype_int16* 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 | |
static void yy_stack_print ( yytype_int16* yybottom, yytype_int16* yytop )
| Calls: | fprintf() | |
| Called by: | yyparse() | parse-yacc.c |
static void yy_symbol_print ( FILE* yyoutput, int yytype, yystype const* const yyvaluep )
| Calls: | yy_symbol_value_print() | parse-yacc.c |
| fprintf() | ||
| Called by: | yy_reduce_print() | parse-yacc.c |
| yydestruct() | parse-yacc.c | |
| yyparse() | parse-yacc.c | |
| References Variables: | yytname | parse-yacc.c |
static void yy_symbol_value_print ( FILE* yyoutput, int yytype, yystype const* const yyvaluep )
| Calls: | printf() | |
| Called by: | yy_symbol_print() | parse-yacc.c |
static void yydestruct ( const char* yymsg, int yytype, yystype* yyvaluep )
| Calls: | yy_symbol_print() | parse-yacc.c |
| fprintf() | ||
| Called by: | yyparse() | parse-yacc.c |
| References Variables: | yydebug | parse-yacc.c |
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 | |
static char* yystpcpy ( char* yydest, const char* yysrc )
| Called by: | yytnamerr() | parse-yacc.c |
| Calls: | yytnamerr() | parse-yacc.c |
| strlen() | ||
| Called by: | yyparse() | parse-yacc.c |
| References Variables: | yycheck | parse-yacc.c |
| yypact | parse-yacc.c | |
| yytname | parse-yacc.c | |
static long unsigned int yytnamerr ( char* yyres, const char* yystr )
| Calls: | yystpcpy() | parse-yacc.c |
| strlen() | ||
| Called by: | yysyntax_error() | parse-yacc.c |