C Cross Referencing & Documentation tool. Version 1.6e.
C parser.
References Variables: | first | parse-yacc.c |
#define YYBISON_VERSION "3.0.4"
#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 |