summaryrefslogtreecommitdiffstats
path: root/generic/tclParse.c
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2012-03-07 20:54:01 (GMT)
committerdgp <dgp@users.sourceforge.net>2012-03-07 20:54:01 (GMT)
commit4b85ca90cba7edb9a10caead17ffa8d407e1e2b3 (patch)
tree7fdc0e94be0b9736465bd7a1d66db263e433ce7a /generic/tclParse.c
parentacd5c4da2bafcf9f001a0bc72e1554fb47224266 (diff)
downloadtcl-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.c')
-rw-r--r--generic/tclParse.c14
1 files changed, 2 insertions, 12 deletions
diff --git a/generic/tclParse.c b/generic/tclParse.c
index 3c984bf..f0050c6 100644
--- a/generic/tclParse.c
+++ b/generic/tclParse.c
@@ -14,6 +14,7 @@
*/
#include "tclInt.h"
+#include "tclParse.h"
/*
* The following table provides parsing information about each possible 8-bit
@@ -41,18 +42,7 @@
* TYPE_BRACE - Character is a curly brace (either left or right).
*/
-#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)]
-
-static const char charTypeTable[] = {
+const char charTypeTable[] = {
/*
* Negative character values, from -128 to -1:
*/