Changes between Version 79 and Version 80 of IR
- Timestamp:
- 11/28/15 09:23:18 (10 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
IR
v79 v80 4 4 Questions: 5 5 * fix notation for contracts 6 * can labels, whens, chooses be optional? 7 * quotes around variables in declarations? 8 * quotes around function names in definitions, prototypes? 6 * can labels, whens, chooses be optional? See proposed statement grammar below. 7 * quotes around variables in declarations? Could be awkward but might simplify parsing. 8 * quotes around function names in definitions, prototypes? Could be awkward. 9 9 * is there ever a need for a function prototype? Could variable decl notation be used instead? NO, variable decls are different, those are state variables. 10 10 * should we leave our parameter names in abstract and system functions? They are not needed for anything. THEY ARE NEEDED FOR CONTRACTS, sometimes, and maybe for documentation. Consider making them optional. 11 11 12 Proposed statement grammar: 13 {{{ 14 statement: (ID ':')? (simpleStmt | chooseStmt) 15 16 simpleStmt: 17 (guardedStmt | primitiveStmt) ('goto' ID ';')? 18 19 guardedStmt: 20 'when' expr 'do' primitiveStmt 21 22 chooseStmt: 'begin choose' simpleStmt+ 'end choose' 23 }}} 24 25 If goto is missing, default is the next location. 26 If guard missing, deafult is true. 12 27 13 28 … … 385 400 pointer, ... 386 401 Should these be called part of the language, or not? 387
