projects
/
henge
/
apc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
merged
[henge/apc.git]
/
src
/
lexer.rl
diff --git
a/src/lexer.rl
b/src/lexer.rl
index
9b4dc41
..
553ff3d
100644
(file)
--- 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*);
/* 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
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);
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;
write data nofinal noerror noprefix;
@@
-171,6
+172,13
@@
int lexer_lexfile
return en_main == 1;
}
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******/
/**************************/
/**************************/
/****Abandon All Hope******/
/**************************/