6732b7dbac8b1a2b46b6e5f0861a35d1243b54cd
7 static volatile int TRACE
;
9 static void loop(PSI_Lexer
*L
, void *P
)
15 PSI_ParserTrace(stdout
, "> ");
18 while (-1 != (t
= PSI_LexerScan(L
))) {
19 T
= PSI_TokenAlloc(L
, t
);
22 printf("# Token: <%s>(%d)\n", T
->text
, t
);
25 PSI_Parser(P
, t
, T
, L
);
27 PSI_Parser(P
, 0, T
, L
);
30 int main(int argc
, char *argv
[])
33 void *P
= PSI_ParserAlloc(malloc
);
35 TRACE
= !!getenv("TRACE");
37 if (!PSI_LexerInit(&L
, argv
[1])) {
38 perror("Failed to init lexer");
44 PSI_ParserFree(P
, free
);