Lugaru's Epsilon
Programmer's
Editor

Context:
Epsilon User's Manual and Reference
   . . .
   Introduction to EEL
      Epsilon Extension Language Features
      EEL Tutorial
   Epsilon Extension Language
      . . .
      Conversions
      Operator Grouping
      Order of Evaluation
      Expressions
      Constant Expressions
      . . .
   Primitives and EEL Subroutines
      Buffer Primitives
      Display Primitives
      File Primitives
      . . .
      Defining Language Modes
   . . .

Previous   Up    Next
Operator Grouping  Epsilon Extension Language   Constants and Identifiers


Epsilon User's Manual and Reference > Epsilon Extension Language >

Order of Evaluation

Most operators do not guarantee a particular order of evaluation for their operands. If an operator does, we mention that fact in its description below. In the absence of such a guarantee, the compiler may rearrange calculations within a single expression as it wishes, if the result would be unchanged ignoring any possible side effects.

For example, if an expression assigns a value to a variable and uses the variable in the same expression, the result is undefined unless an operator that guarantees order of evaluation occurs at an appropriate point.

Note that parentheses do not alter the order of evaluation, but only serve to change the grouping of operators. Thus in the statement

i = foo() + (bar() + baz());

the three functions may be called in any order.



Previous   Up    Next
Operator Grouping  Epsilon Extension Language   Constants and Identifiers


Lugaru Copyright (C) 1984, 2012 Lugaru Software Ltd. All Rights Reserved.