Changes between Version 120 and Version 121 of IR2
- Timestamp:
- 06/08/21 14:38:03 (5 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
IR2
v120 v121 42 42 43 43 {{{ 44 program: typedef* decl* function-definition+ ; 44 program: param* typedef* decl* function-definition+ ; 45 param: '$param' type-specifier declarator ('=' constant-expr)? ';' ; 45 46 typedef: 46 47 type-param-list? … … 62 63 | '$atomic_f' /* function invocations take place atomically */ 63 64 ; 64 object-decl: type- specifier declarator ('=' expr)? ';' ;65 object-decl: type-qualifier? type-specifier declarator ('=' expr)? ';' ; 65 66 function-definition: type-param-list? function-qualifier* type-specifier declarator contract-clause* block ; 66 67 block: '{' typedef* decl* function-definition* statement* '}' ; … … 139 140 | '$rel' type-args /* relation: set of n-tuples with specified component types */ 140 141 ; 142 type-qualifier : '$size' '(' constant-expr ')' /* size specification (in bytes) */ 141 143 declarator: '*'* direct-declarator ; 142 144 direct-declarator: … … 152 154 | '(' abstract-declarator ')' 153 155 ; 154 type-name: type- specifier abstract-declarator ;156 type-name: type-qualifier? type-specifier abstract-declarator ; 155 157 type-args: '<' type-name (',' type-name)* '>'; 156 158 parameter-type-list: type-specifier declarator (',' type-specifier declarator)* ;
