X-Git-Url: https://www.kengrimes.com/gitweb/?p=henge%2Fapc.git;a=blobdiff_plain;f=src%2Fapc.c;h=9f267ac960e706dc5befdf5243126bbb11b5f186;hp=3b5774f9e34a67177b3391603e2b9d3d491388ce;hb=4fb15555f514c5a20245b4640fe22a8bc3010f2d;hpb=0dc97f87cbbe47ef84501678f302404d042428b1 diff --git a/src/apc.c b/src/apc.c index 3b5774f..9f267ac 100644 --- a/src/apc.c +++ b/src/apc.c @@ -24,18 +24,28 @@ #define DEFAULT_PAGESIZE 4096 const char* cargs['Z'] = {0}; const long sys_pagesize; +yypstate* apc_pstate; +yycstate* apc_cstate; int main(int, char*[]); + extern //bison int yyparse(void); extern //lexer.c int lexer_init(void); +extern +int scanner_init(void); +extern +int scanner(yypstate*, yycstate*); extern //ir.c int ir_init(void); extern //apc/parser.tab.c YYSTYPE yylval; +extern +yycstate* yycstate_new(void); + extern //lexer.c int lexer(void); @@ -80,11 +90,16 @@ int main } if ((sys_pagesize = sysconf(_SC_PAGESIZE)) == 0) sys_pagesize = DEFAULT_PAGESIZE; - if (lexer_init() || ir_init()) + + apc_pstate = yypstate_new(); + apc_cstate = yycstate_new(); + + if (scanner_init() || ir_init()) { perror("init"); exit(EXIT_FAILURE); } - yyparse(); + scanner(); + exit(EXIT_SUCCESS); }