1 /* \aThis file was automatically generated. Do not edit! */
3 #define PSI_T_COMMENT 1
7 #define PSI_T_BOOLVAL 35
9 #define PSI_T_INTVAL 33
11 #define PSI_T_FLOATVAL 34
12 #define PSI_T_FLOAT 12
13 #define PSI_T_FUNCTION 24
14 #define PSI_T_DOUBLE 13
16 #define PSI_T_SINT16 16
17 #define PSI_T_SINT32 18
18 #define PSI_T_SINT64 20
19 #define PSI_T_SINT8 14
20 #define PSI_T_STRING 44
21 #define PSI_T_STRVAL 32
22 #define PSI_T_UINT16 17
23 #define PSI_T_UINT32 19
24 #define PSI_T_UINT64 21
25 #define PSI_T_UINT8 15
26 #define PSI_T_ARRAY 45
27 #define PSI_T_TO_BOOL 40
28 #define PSI_T_TO_FLOAT 39
29 #define PSI_T_TO_INT 38
30 #define PSI_T_TO_STRING 37
31 #define PSI_T_TYPEDEF 5
35 #define PSI_T_NSNAME 25
36 #define PSI_T_QUOTED_STRING 3
37 #define PSI_T_DIGIT 46
39 #define PSI_T_REFERENCE 29
40 #define PSI_T_POINTER 50
41 #define PSI_T_DOLLAR 28
42 #define PSI_T_EQUALS 30
44 #define PSI_T_RBRACE 23
45 #define PSI_T_LBRACE 22
46 #define PSI_T_COLON 26
49 #define PSI_T_RPAREN 8
50 #define PSI_T_LPAREN 7
52 typedef struct PSI_Lexer PSI_Lexer
;
53 typedef struct decl_typedefs decl_typedefs
;
54 typedef struct decl_typedef decl_typedef
;
55 typedef struct decl_type decl_type
;
59 struct decl_type
*real
;
65 struct decl_typedefs
{
69 typedef struct decls decls
;
70 typedef struct decl decl
;
71 typedef struct decl_abi decl_abi
;
75 typedef struct decl_arg decl_arg
;
76 typedef struct decl_var decl_var
;
79 unsigned pointer_level
;
85 typedef struct decl_args decl_args
;
100 typedef struct impls impls
;
101 typedef struct impl impl
;
102 typedef struct impl_func impl_func
;
103 typedef struct impl_args impl_args
;
104 typedef struct impl_arg impl_arg
;
105 typedef struct impl_type impl_type
;
110 typedef struct impl_var impl_var
;
113 unsigned reference
:1;
115 typedef struct impl_def_val impl_def_val
;
116 struct impl_def_val
{
136 impl_type
*return_type
;
138 typedef struct impl_stmts impl_stmts
;
139 typedef struct impl_stmt impl_stmt
;
140 typedef struct let_stmt let_stmt
;
141 typedef struct let_value let_value
;
142 typedef struct let_func let_func
;
150 unsigned null_pointer_ref
:1;
156 typedef struct set_stmt set_stmt
;
157 typedef struct set_value set_value
;
158 typedef struct set_func set_func
;
163 typedef struct decl_vars decl_vars
;
176 typedef struct ret_stmt ret_stmt
;
211 char *cur
, *tok
, *lim
, *eof
, *ctx
, *mrk
, buf
[BSIZE
];
213 token_t
PSI_LexerScan(PSI_Lexer
*L
);
214 PSI_Lexer
*PSI_LexerInit(PSI_Lexer
*L
,const char *filename
);
215 void PSI_LexerFree(PSI_Lexer
**L
);
216 void PSI_LexerDtor(PSI_Lexer
*L
);
217 size_t PSI_LexerFill(PSI_Lexer
*L
,size_t n
);
218 typedef struct PSI_Token PSI_Token
;
225 PSI_Token
*PSI_TokenAlloc(PSI_Lexer
*L
,token_t t
);