projects
/
henge
/
apc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
api update
[henge/apc.git]
/
src
/
lexer.rl
diff --git
a/src/lexer.rl
b/src/lexer.rl
index
c7600ae
..
ff2fa14
100644
(file)
--- a/
src/lexer.rl
+++ b/
src/lexer.rl
@@
-113,7
+113,7
@@
uint8_t lval_offs;
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 ;
write data nofinal noerror noprefix;
write data nofinal noerror noprefix;
@@
-141,18
+141,11
@@
int lexer_lexstring
{ uint8_t* p, * ts, * pe, * eof;
int cs, ntok;
YYSTYPE lval;
{ uint8_t* p, * ts, * pe, * eof;
int cs, ntok;
YYSTYPE lval;
-
ntok = 0;
p = ts = str;
ntok = 0;
p = ts = str;
- pe = eof = p + size + 1;
-
- dprintf("\n|---Begin lexstring on p = %U, pe = %p.---|\n",p, pe);
-
+ pe = eof = p + size;
%%write init;
%%write exec;
%%write init;
%%write exec;
-
- dprintf("\n|---Ending lexstring of file %U, pushed %d tokens.---|\n",str, ntok);
-
return ntok;
}
return ntok;
}
@@
-177,14
+170,17
@@
int lexer_lexfile
// Mark the end of the filename
filename_end = iter;
// Lex from either the last period, if present, or filename end
// Mark the end of the filename
filename_end = iter;
// Lex from either the last period, if present, or filename end
+ dprintf("%U\n\t",filename);
ntok = (last_period) ?
lexer_lexstring(filename, (int)(last_period - filename))
: lexer_lexstring(filename, (int)(iter - filename));
ntok = (last_period) ?
lexer_lexstring(filename, (int)(last_period - filename))
: lexer_lexstring(filename, (int)(iter - filename));
+
// Replace nulls with their original '_'
for (iter = filename; iter < filename_end; iter++)
if (*iter == '\0')
*iter = '_';
PUSHPATH(filename);
// Replace nulls with their original '_'
for (iter = filename; iter < filename_end; iter++)
if (*iter == '\0')
*iter = '_';
PUSHPATH(filename);
+ dprintf("\n\t[%i Token%s]\n", ntok, (ntok > 1) ? "s" : "");
return ntok + 1;
}
return ntok + 1;
}
@@
-192,14
+188,18
@@
int lexer_lexdir
( uint8_t* dirname )
{ int ntok;
ntok = 0;
( uint8_t* dirname )
{ int ntok;
ntok = 0;
+ if (DEBUG) putchar('\t');
PUSHNAME(dirname);
PUSHOP(CLOPEN);
PUSHNAME(dirname);
PUSHOP(CLOPEN);
+ if (DEBUG) putchar('\n');
return ntok;
}
int lexer_closedir
( void )
{ int ntok = 0;
return ntok;
}
int lexer_closedir
( void )
{ int ntok = 0;
+ if (DEBUG) putchar('\t');
PUSHOP(CLCLOSE);
PUSHOP(CLCLOSE);
+ if (DEBUG) putchar('\n');
return ntok;
}
return ntok;
}