From 9693be009736f21eb40549d74034b570bce5dbe2 Mon Sep 17 00:00:00 2001 From: ken Date: Sat, 14 Jan 2017 12:25:40 -0800 Subject: [PATCH] enable lexer --- src/scanner.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) 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: -- 2.18.0