X-Git-Url: https://www.kengrimes.com/gitweb/?p=henge%2Fapc.git;a=blobdiff_plain;f=src%2Fscanner.c;h=96b66b63de96695c48b784e268097d9f59a2643b;hp=686e1fe4b1c5d8a00b9d10ed62fc4cae01aeae0c;hb=9693be009736f21eb40549d74034b570bce5dbe2;hpb=626bf46e0e2c2658242460fc63526dd4f14de0f6 diff --git a/src/scanner.c b/src/scanner.c index 686e1fe..96b66b6 100644 --- a/src/scanner.c +++ b/src/scanner.c @@ -20,6 +20,7 @@ #include //chdir #include //opendir #include //unicode strings +#include //strlen /* Internal */ #include "parser.tab.h" /* Public */ @@ -30,10 +31,8 @@ int scanner_scandir(DIR*); yypstate* apc_pstate; yycstate* apc_cstate; /* Private */ -extern //lexer.c -int lexer_lexfile(uint8_t const*); extern //lexer.rl -int lexer_lexstring(uint8_t const*, int); +int lexer_lexfile(uint8_t const*); #define PUSHTOK(T,L) yypush_parse(apc_pstate, T, L, apc_cstate) /* Init @@ -95,23 +94,23 @@ int scanner_scandir switch (direntp->d_type) { case DT_REG: printf("lexfile %s\n",direntp->d_name); - //lexer_lexfile((uint8_t*)direntp->d_name); + lexer_lexfile((uint8_t*)direntp->d_name); goto scan_next_dirent; case DT_DIR: - //lexer_lexstring((uint8_t*)direntp->d_name); //lex the dirname + lexer_lexfile((uint8_t*)direntp->d_name); //lex the dirname printf("lexdir %s\n",direntp->d_name); if (chdir(direntp->d_name)) //change to the specified dir goto libfail; errno = 0; if ((cdirp = opendir(".")) == NULL || errno) //open it goto libfail; - //PUSHTOK(CLOPEN, 0); //push "Open Directory" token + PUSHTOK(CLOPEN, NULL); //push "Open Directory" token printf("Scanner entered [%s]\n",direntp->d_name); if(scanner_scandir(cdirp)) //scan the directory goto libfail; if (chdir("..")) //return to the parent dir goto libfail; - //PUSHTOK(CLCLOSE, 0); //push "Close Directory" token + PUSHTOK(CLCLOSE, NULL); //push "Close Directory" token printf("Scanner returned\n"); goto scan_next_dirent; //continue scan case DT_UNKNOWN: