1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
-
+
|
/*
* tclCompExpr.c --
*
* This file contains the code to compile Tcl expressions.
*
* Copyright (c) 1997 Sun Microsystems, Inc.
*
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
* RCS: @(#) $Id: tclCompExpr.c,v 1.3 1999/04/16 00:46:44 stanton Exp $
* RCS: @(#) $Id: tclCompExpr.c,v 1.4 1999/08/19 02:59:08 hobbs Exp $
*/
#include "tclInt.h"
#include "tclCompile.h"
/*
* The stuff below is a bit of a hack so that this file can be used in
|
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
|
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
|
-
+
|
operator = tokenPtr->start;
savedChar = operator[tokenPtr->size];
operator[tokenPtr->size] = 0;
hPtr = Tcl_FindHashEntry(&opHashTable, operator);
if (hPtr == NULL) {
code = CompileMathFuncCall(exprTokenPtr, operator, infoPtr,
envPtr, &endPtr);
envPtr, &endPtr);
operator[tokenPtr->size] = (char) savedChar;
if (code != TCL_OK) {
goto done;
}
maxDepth = envPtr->maxStackDepth;
tokenPtr = endPtr;
infoPtr->exprIsJustVarRef = 0;
|