X-Git-Url: https://git.kengrimes.com/?p=henge%2Fapc.git;a=blobdiff_plain;f=src%2Flexer.rl;h=553ff3d2a26daea2741a5eb5067cfb9e1a91509e;hp=9b4dc41794fa9a29ef0859364edf0f4bc96e9c9a;hb=4c97482a33d6066134b35d26bf6808476950d728;hpb=a965dcb12c067931a109e0902459e7c4596af323 diff --git a/src/lexer.rl b/src/lexer.rl index 9b4dc41..553ff3d 100644 --- a/src/lexer.rl +++ b/src/lexer.rl @@ -11,6 +11,7 @@ void lexer_pushtok(int, YYSTYPE); /* Public */ int lexer_setdirection(uint8_t*, int); int lexer_lexfile(const uint8_t*); +int lexer_lexdir(const uint8_t*); int lexer_lexstring(const uint8_t*, int); int lexer_setstr(uint8_t*, int); //apc.c @@ -120,7 +121,7 @@ yycstate* apc_cstate; tok = (name | val | ref | dimensions | map | link | SS | direction); - main := (tok tok_delimiter)+ tok [\0]; + main := (tok tok_delimiter)* tok [\0]; write data nofinal noerror noprefix; @@ -171,6 +172,13 @@ int lexer_lexfile return en_main == 1; } +int lexer_lexdir +( uint8_t const* dirname ) +{ uint8_t const* de = dirname; + while (*de++); + return lexer_lexstring(dirname, (int)(de - dirname)); +} + /**************************/ /****Abandon All Hope******/ /**************************/