11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
-
|
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*/
#include "tclInt.h"
#define ALLOW_DEPRECATED_OPCODES
#include "tclCompile.h"
#include <assert.h>
/*
* Variable that controls whether compilation tracing is enabled and, if so,
* what level of tracing is desired:
* 0: no compilation tracing
* 1: summarize compilation of top level cmds and proc bodies
* 2: display all instructions of each ByteCode compiled
|
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
|
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
|
-
+
|
ExtCmdLoc *eclPtr = envPtr->extCmdMapPtr;
Tcl_Obj *cmdObj;
Command *cmdPtr = NULL;
int code = TCL_ERROR, expand = -1;
int cmdKnown;
int *wlines;
Tcl_Size wlineat, numWords = parsePtr->numWords;
Tcl_Size cmdLine = envPtr->line;
int cmdLine = envPtr->line;
Tcl_Size *clNext = envPtr->clNext;
Tcl_Size cmdIdx = envPtr->numCommands;
Tcl_Size startCodeOffset = CurrentOffset(envPtr);
Tcl_Size depth = TclGetStackDepth(envPtr);
assert (numWords > 0);
|
4817
4818
4819
4820
4821
4822
4823
4824
4825
4826
4827
4828
4829
4830
4831
|
4816
4817
4818
4819
4820
4821
4822
4823
4824
4825
4826
4827
4828
4829
4830
4831
|
-
+
+
|
*----------------------------------------------------------------------
*/
int
TclIsEmptyToken(
const Tcl_Token *tokenPtr)
{
const char *ptr, *end;
int ucs4, chLen = 0;
int ucs4;
Tcl_Size chLen = 0;
end = tokenPtr[1].start + tokenPtr[1].size;
for (ptr = tokenPtr[1].start; ptr < end; ptr += chLen) {
chLen = TclUtfToUniChar(ptr, &ucs4);
// Can't use Tcl_UniCharIsSpace; see test dict-22.24
if (!TclIsSpaceProcM((unsigned) ucs4)) {
return 0;
|