Changes between Version 101 and Version 102 of IR


Ignore:
Timestamp:
11/30/15 10:01:22 (10 years ago)
Author:
siegel
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • IR

    v101 v102  
    2727
    2828{{{
    29 program: block ;
     29program: typedef* vardecl* fundef+ ;
    3030block: '{' typedef* vardecl* fundef* statement* '}' ;
    3131statement: block | basicStmt ;
     
    383383* `lib="..."`: function is a system function defined in specified library
    384384* `guard="...":` the name of the guard function
     385* `main` : this is the program entry point (global scope only)
    385386
    386387System functions:
     
    468469== Program ==
    469470
    470 A program consists of a sequence of global variable declarations, which may include declarations annotated by `input` and `output`,
    471 followed by a sequence of function declarations and definitions.
     471A program consists of a sequence of type definitions, followed by a sequence of variable declarations, followed by a sequence of function definitions.  This is called the "global scope."
     472
     473The variable declarations in the global scope may use the options
    472474* `input`
    473475* `output`
     476
     477There must be exactly one global function definition with option `main`.  This function must consume no inputs and return an `Integer` (check this).
    474478
    475479== Semantics ==