From 551b450a8551ac704ce8d8140d451d485f8559a2 Mon Sep 17 00:00:00 2001 From: dgp Date: Thu, 16 Feb 2017 20:38:17 +0000 Subject: Complete the conversion from "=" to ":=" as the assignment operator. --- generic/tclCompExpr.c | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/generic/tclCompExpr.c b/generic/tclCompExpr.c index c9b21ce..f47aeb5 100644 --- a/generic/tclCompExpr.c +++ b/generic/tclCompExpr.c @@ -312,7 +312,7 @@ enum Precedence { PREC_OPEN_PAREN, /* "(" */ PREC_COMMA, /* "," */ PREC_SEPARATOR, /* ";" */ - PREC_ASSIGN, /* "=" */ + PREC_ASSIGN, /* ":=" */ PREC_CONDITIONAL, /* "?", ":" */ PREC_OR, /* "||" */ PREC_AND, /* "&&" */ @@ -475,9 +475,9 @@ static const unsigned char Lexeme[] = { COMMA /* , */, MINUS /* - */, 0 /* . */, DIVIDE /* / */, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0-9 */ - /*COLON*/0 /* : */, SEPARATOR /* ; */, + 0 /* : or := */, SEPARATOR /* ; */, 0 /* < or << or <= */, - 0 /* = or == */, + 0 /* == or INCOMPLETE */, 0 /* > or >> or >= */, QUESTION /* ? */, INVALID /* @ */, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* A-M */ @@ -750,14 +750,7 @@ ParseExpr( start+scanned, numBytes-scanned)+1] == '=') { lexeme = VARNAME; - /* - * When we compile the expression we'll need the function - * name, and there's no place in the parse tree to store - * it, so we keep a separate list of all the function - * names we've parsed in the order we found them. - */ - - // Tcl_ListObjAppendElement(NULL, funcList, literal); + /* The variable name is stored as an OT_LITERAL below */ } else if (Tcl_GetBooleanFromObj(NULL,literal,&b) == TCL_OK) { lexeme = BOOLEAN; @@ -1965,7 +1958,7 @@ ParseLexeme( *lexemePtr = EQUAL; return 2; } - *lexemePtr = ASSIGN; + *lexemePtr = INCOMPLETE; return 1; case '!': -- cgit v0.12