Changes between Version 27 and Version 28 of IR2


Ignore:
Timestamp:
04/28/21 12:27:20 (5 years ago)
Author:
siegel
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • IR2

    v27 v28  
    1212* pure functions?  A pure function is a mathematical function of its arguments.  It cannot modify the state.
    1313* state functions? A state function is a function of the current state (including arguments, global variables, ...).  It cannot modify the state.  Every pure function is a state function.
    14 * declarators need parentheses
    1514* `$depends_on`
    1615* read/write sets: function calls to start, stop monitoring reads/writes?  All part of mem library
     
    9291  | '$rel' '<' type-list '>'  /* relation: set of n-tuples with specified component types */
    9392  ;
    94 declarator: '*'* ID ('[' ']' | '(' type-list? ')')* ;
    95 type-name: type-specifier '*'* ('[' ']' | '(' type-list? ')')* ;
     93declarator '*'* direct-declarator ;
     94direct-declarator:
     95    ID  /* variable being declared */
     96  | direct-declarator '[' ']'  /* array of ... */
     97  | direct-declarator  '(' type-list? ')'  /* function consuming ... and returning ... */
     98  | '(' declarator ')'
     99  ;
     100type-name: ... /* same as declarator but without the ID */
    96101type-list: type-name (',' type-name)* ;
    97 complete-type-name: type-specifier '*'* ('[' expr ']' | '(' type-list? ')')* ;
     102complete-type-name: ... /* same as declarator except '[' expr ']' */
    98103
    99104}}}