Changes between Version 120 and Version 121 of IR2


Ignore:
Timestamp:
06/08/21 14:38:03 (5 years ago)
Author:
siegel
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • IR2

    v120 v121  
    4242
    4343{{{
    44 program: typedef* decl* function-definition+ ;
     44program: param* typedef* decl* function-definition+ ;
     45param: '$param' type-specifier declarator ('=' constant-expr)? ';' ;
    4546typedef:
    4647  type-param-list?
     
    6263  | '$atomic_f'  /* function invocations take place atomically */
    6364  ;
    64 object-decl: type-specifier declarator ('=' expr)? ';' ;
     65object-decl: type-qualifier? type-specifier declarator ('=' expr)? ';' ;
    6566function-definition: type-param-list? function-qualifier* type-specifier declarator contract-clause* block ;
    6667block: '{' typedef* decl* function-definition* statement* '}' ;
     
    139140  | '$rel' type-args  /* relation: set of n-tuples with specified component types */
    140141  ;
     142type-qualifier : '$size' '(' constant-expr ')'   /* size specification (in bytes) */
    141143declarator: '*'* direct-declarator ;
    142144direct-declarator:
     
    152154  | '(' abstract-declarator ')'
    153155  ;
    154 type-name: type-specifier abstract-declarator ;
     156type-name: type-qualifier? type-specifier abstract-declarator ;
    155157type-args: '<' type-name (',' type-name)* '>';
    156158parameter-type-list: type-specifier declarator (',' type-specifier declarator)* ;