Diff
Not logged in

Differences From Artifact [c261410428]:

To Artifact [38950647bb]:


279
280
281
282
283
284
285
286
287
288
289
290
291
292
293

294
295
296
297
298
299





300
301
302
303
304
305
306
279
280
281
282
283
284
285








286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304







-
-
-
-
-
-
-
-
+






+
+
+
+
+







				 * for us. In the end though, a close paren is
				 * not really a binary operator, and some
				 * special coding in ParseExpr() make sure we
				 * never put an actual CLOSE_PAREN node in the
				 * parse tree. The sub-expression between
				 * parens becomes the single argument of the
				 * matching OPEN_PAREN unary operator. */

#define SEPARATOR	( BINARY | 29)
#define ASSIGN		( BINARY | 30)
				/* ASSIGN, like EXPON, is right
				 * associative, and this distinction
				 * is coded directly in ParseExpr() */

#define END		(BINARY | 31)
#define END		(BINARY | 28)
				/* This lexeme represents the end of the
				 * string being parsed. Treating it as a
				 * binary operator follows the same logic as
				 * the CLOSE_PAREN lexeme and END pairs with
				 * START, in the same way that CLOSE_PAREN
				 * pairs with OPEN_PAREN. */
#define SEPARATOR      ( BINARY | 29)
#define ASSIGN         ( BINARY | 30)
				/* ASSIGN, like EXPON, is right associative,
 				 * and this distinction is coded directly in
				 * ParseExpr() */

/*
 * When ParseExpr() builds the parse tree it must choose which operands to
 * connect to which operators.  This is done according to operator precedence.
 * The greater an operator's precedence the greater claim it has to link to an
 * available operand.  The Precedence enumeration lists the precedence values
 * used by Tcl expression operators, from lowest to highest claim.  Each