Changes between Version 54 and Version 55 of IR


Ignore:
Timestamp:
11/25/15 10:42:02 (10 years ago)
Author:
zmanchun
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • IR

    v54 v55  
    1616Example:
    1717{{{
    18 f(;Integer) {  // now sure what this signature means.  maybe something like "f(x:Integer): Integer {" ?
     18f(): Integer {  // something like "f(x:Integer): Integer {" ?
    1919  x: Real;
    2020  y: Real;
     
    5757  when (\true) x:=3*y; goto L2;
    5858L2:
    59   when(\true) a_t:=\dytype(Array[Integer, x+1]); goto L3;
     59  when(\true) a_t:=\dytype(Array[Integer, x+1]); goto L3; // Array[Integer] is refined here using x+1
    6060L3:
    6161  when (\true) a:=\new(a_t); goto L4;
     
    213213
    214214* Assign:  `e1:=e2;`
    215 * Call: `e0(e1,...,en);` and `e:=e0(e1,...,en);`
     215* Call: `\call e0, (e1,...,en);` and `\call e, e0, (e1,...,en);`
    216216 * regular function (one with flow graph)
    217217 * ** distinguish this kind of call from an expression involving a pure system or abstract call???**
    218 * Spawn: `\spawn e0(e1,...,en);` and `e:=\spawn e0(e1,...,en);`
    219 * Wait: `\wait(e);`
    220 * Wailtall: `\waitall(e)` where `e` is an array of process references (`Proc`) to be waited for;
     218* Spawn: `\spawn e0, (e1,...,en);` and `\spawn e, e0, (e1,...,en);`
     219* Wait: `\wait e;`
     220* Wailtall: `\waitall e` where `e` is an array of process references (`Proc`) to be waited for;
    221221* Allocation
    222  * `e:=\allocate(h,t,e);`, where
     222 * `\allocate e, h,t,e0;`, where
    223223  * `h` as type `Heap`
    224224  * `t` has type `Dytype`