X-Git-Url: https://www.kengrimes.com/gitweb/?p=henge%2Fapc.git;a=blobdiff_plain;f=src%2Fapc.c;h=0e7c124eab3ad0a0c43fad64bafa5f4c78d03e0e;hp=cea384743f0377d264eaa7145ddc7bf50fefdb6d;hb=50200436b705f712b1c82ad58a78b413754e614b;hpb=d47bdba72dd5fef398bc485067fdc59147303253 diff --git a/src/apc.c b/src/apc.c index cea3847..0e7c124 100644 --- a/src/apc.c +++ b/src/apc.c @@ -17,25 +17,26 @@ #include //strndupa /* Posix */ #include //exit -#include //getopt +#include //getopt, sysconf /* Internal */ #include "parser.tab.h" //bison +#define DEFAULT_PAGESIZE 4096 const char* cargs['Z'] = {0}; +long sys_pagesize; int main(int, char*[]); -extern //bison -int yyparse(void); extern //lexer.c -int lexer_init(void); -extern //ir.c -int ir_init(void); - -extern //apc/parser.tab.c -YYSTYPE yylval; -extern //lexer.c -int lexer(void); +int lexer_init(void); +extern //scanner.c +int scanner_init(void); +extern //scanner.c +void scanner_quit(void); +extern //scanner.c +int scanner_scanpath(char const*); +//extern //ir.c +//int ir_init(void); /* Main entry from terminal parses the command line and kicks off recursive scanning @@ -55,6 +56,7 @@ int main "\t\t-o\tOutput filename \t\t[a.asspak]\n" \ "\t\t-h\tPrint this help\n" #define DONE -1 +#define SCANPATH (cargs['d'] ? cargs['d'] : "./") { int opt; getopt: @@ -76,11 +78,15 @@ int main printf(USAGE_LONG); exit(EXIT_SUCCESS); } - if (lexer_init() || ir_init()) + if ((sys_pagesize = sysconf(_SC_PAGESIZE)) == 0) + sys_pagesize = DEFAULT_PAGESIZE; + + if (scanner_init())// || ir_init()) { perror("init"); exit(EXIT_FAILURE); } - yyparse(); + scanner_scanpath(SCANPATH); + scanner_quit(); exit(EXIT_SUCCESS); }