diff options
author | dgp <dgp@users.sourceforge.net> | 2012-03-07 20:54:01 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2012-03-07 20:54:01 (GMT) |
commit | 4b85ca90cba7edb9a10caead17ffa8d407e1e2b3 (patch) | |
tree | 7fdc0e94be0b9736465bd7a1d66db263e433ce7a /generic/tclParse.h | |
parent | acd5c4da2bafcf9f001a0bc72e1554fb47224266 (diff) | |
download | tcl-4b85ca90cba7edb9a10caead17ffa8d407e1e2b3.zip tcl-4b85ca90cba7edb9a10caead17ffa8d407e1e2b3.tar.gz tcl-4b85ca90cba7edb9a10caead17ffa8d407e1e2b3.tar.bz2 |
Refactor TclScanElement() part of list parsing to take advantage of tables
constructed for the task of script parsing. Ought to speed generation of
string representation of lists, though the effect is likely only noticeable
on long lists made up primarily of simple elements (not needing quoting).
Diffstat (limited to 'generic/tclParse.h')
-rw-r--r-- | generic/tclParse.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/generic/tclParse.h b/generic/tclParse.h new file mode 100644 index 0000000..be1ab15 --- /dev/null +++ b/generic/tclParse.h @@ -0,0 +1,17 @@ +/* + * Minimal set of shared macro definitions and declarations so that multiple + * source files can make use of the parsing table in tclParse.c + */ + +#define TYPE_NORMAL 0 +#define TYPE_SPACE 0x1 +#define TYPE_COMMAND_END 0x2 +#define TYPE_SUBS 0x4 +#define TYPE_QUOTE 0x8 +#define TYPE_CLOSE_PAREN 0x10 +#define TYPE_CLOSE_BRACK 0x20 +#define TYPE_BRACE 0x40 + +#define CHAR_TYPE(c) (charTypeTable+128)[(int)(c)] + +MODULE_SCOPE const char charTypeTable[]; |