1 /* \aThis file was automatically generated. Do not edit! */
3 typedef struct PSI_Validator PSI_Validator
;
4 typedef struct decl_typedefs decl_typedefs
;
5 typedef struct decl_typedef decl_typedef
;
6 typedef struct decl_type decl_type
;
11 struct decl_type
*real
;
17 struct decl_typedefs
{
21 typedef struct decls decls
;
22 typedef struct decl decl
;
23 typedef struct decl_abi decl_abi
;
27 typedef struct decl_arg decl_arg
;
28 typedef struct decl_var decl_var
;
31 unsigned pointer_level
;
37 typedef struct decl_args decl_args
;
52 typedef struct impls impls
;
53 typedef struct impl impl
;
54 typedef struct impl_func impl_func
;
55 typedef struct impl_args impl_args
;
56 typedef struct impl_arg impl_arg
;
57 typedef struct impl_type impl_type
;
62 typedef struct impl_var impl_var
;
67 typedef struct impl_def_val impl_def_val
;
88 impl_type
*return_type
;
90 typedef struct impl_stmts impl_stmts
;
91 typedef struct impl_stmt impl_stmt
;
92 typedef struct let_stmt let_stmt
;
93 typedef struct let_value let_value
;
94 typedef struct let_func let_func
;
102 unsigned null_pointer_ref
:1;
108 typedef struct set_stmt set_stmt
;
109 typedef struct set_value set_value
;
110 typedef struct set_func set_func
;
115 typedef struct decl_vars decl_vars
;
128 typedef struct ret_stmt ret_stmt
;
154 struct PSI_Validator
{
162 void PSI_ValidatorDtor(PSI_Validator
*V
);
163 int PSI_ValidatorValidate(PSI_Validator
*V
);
164 typedef struct PSI_Lexer PSI_Lexer
;
174 char *cur
, *tok
, *lim
, *eof
, *ctx
, *mrk
, buf
[BSIZE
];
176 void PSI_LexerDtor(PSI_Lexer
*L
);
177 PSI_Validator
*PSI_ValidatorInit(PSI_Validator
*V
,PSI_Lexer
*L
);
178 void PSI_ParserFree(void *p
,void(*freeProc
)(void *));
179 PSI_Lexer
*PSI_LexerInit(PSI_Lexer
*L
,const char *filename
);
180 void *PSI_ParserAlloc(void *(*mallocProc
)(size_t));
181 int main(int argc
,char *argv
[]);
182 typedef struct PSI_Token PSI_Token
;
189 #define PSI_ParserTOKENTYPE PSI_Token *
190 #define PSI_ParserARG_PDECL ,PSI_Lexer *L
191 void PSI_Parser(void *yyp
,int yymajor
,PSI_ParserTOKENTYPE yyminor PSI_ParserARG_PDECL
);
192 PSI_Token
*PSI_TokenAlloc(PSI_Lexer
*L
,token_t t
);
193 token_t
PSI_LexerScan(PSI_Lexer
*L
);
195 void PSI_ParserTrace(FILE *TraceFILE
,char *zTracePrompt
);