Changes between Version 41 and Version 42 of IR2


Ignore:
Timestamp:
04/28/21 17:31:23 (5 years ago)
Author:
siegel
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • IR2

    v41 v42  
    77* The basic representation of a function is as a "program graph"---a directed graph in which the nodes are locations and edges are atomic statements.
    88* Expressions are side-effect free.
     9* There are no automatic conversions. All conversions must be by explicit casts or other functions. Operations such as numeric addition (add) require that both operands have the exact same type.
     10* In general, symbols can be used before they are defined, as long as they are in scope. For example, a function f can call g, even if g is defined after f in the same scope. There is no need for a "prototype". Similarly, a type definition can refer to a type defined later, or can refer to itself in its own definition.
    911
    1012
     
    26281. a type for $state ?
    27291. How do you model `malloc` when the element type is not known?  (Create a type `$byte`?)
    28 
     301. How do you specify the guard of a system function (this should be the name of another function)
     311. How do you iterate over a domain?
    2932
    3033== Grammar ==
     
    189192
    190193{{{
    191 $parspawn($proc * proc_array, $domain d, void (*f)($int, ...));  /* parallel spawn */
     194void $parspawn($proc * proc_array, $domain d, void (*f)($int, ...));  /* parallel spawn */
     195void $atomic_enter();
     196void $atomic_exit();
     197void $yield();
    192198
    193199}}}