Changes between Version 61 and Version 62 of IR


Ignore:
Timestamp:
11/25/15 18:15:19 (10 years ago)
Author:
siegel
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • IR

    v61 v62  
    3030
    3131  { // begin new scope
    32     Real x;
     32   x: Real;
    3333L2 :
    3434      when (g3) stmt3; goto L4;
     
    152152 * `\and(e1, e2)`, `\or(e1, e2)`: logical and/or operation
    153153 * `\eq(e1, e2)`, `\neq(e1, e2)`: equality/inequality test
    154  * `\forall`, `\exists` :  `\forall {Integer i | e0} e1`. `\exists` is similar.  ** Is this the best notation? **
     154 * `\forall <i1:T1, i2:T2, ...>, e1, e2` : universal quantification.  For all i1 in type T1, i2 in type T2, ...: if e1 holds, then e2 holds.  The only reason for having two expressions e1 and e2 is possible side-effects (exceptions) in e2 if e1 does not hold.  For example, e1 can be x!=0, and e2 can safely divide by 0.
     155 * `\exists <i1:T1, i2:T2, ...>, e1, e2`: existential quantification.  There is some i1 in type T1, i2 in type T2, ..., such that e1 holds and e2 holds.
    155156* Numeric
    156157 * 123, -123, 3.1415, etc. : values of type `Integer`, `Int`, `Real`, `Float`.   **NEED TO BE MORE SPECIFIC**