Changes between Version 18 and Version 19 of CIVLite


Ignore:
Timestamp:
10/03/23 14:52:00 (3 years ago)
Author:
siegel
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • CIVLite

    v18 v19  
    2020
    2121{{{
    22 constant: INT | 'null' | '{' (constant (',' constant)*)? '}'
     22constant: INT | 'null'
    2323string: '"' .* '"'
    2424type: 'int' | 'proc' | type[]
    2525typedvar: type ID
    26 paramdecl: 'param' typedvar ('=' constant)? ';'
     26paramdecl: 'param' typedvar ('=' expr)? ';'
    2727vardecl: typedvar ';'
    2828formallist: typedvar (',' typedvar)*
     
    5151expr: lval | constant | '(' expr ')' | expr '+' expr | ... // + - * / mod  - == != >= > < <= && || !
    5252  | 'ite' '(' expr ',' expr ',' expr ')'
    53   | 'array' '(' type ',' expr ',' expr ')' // array(element-type, length, value)
     53  | '(' type ')' 'array' '(' expr ',' expr ')' // (T[])array(length, value)
     54  | '(' type ')' '{' (expr (',' expr)*)? '}' // (T[]){x1, ..., xn}
    5455
    5556program: paramdecl* vardecl* function*
     
    6061int[][] %zero2d(int %n, int %m) {
    6162  int[][] %a;
    62   %a = array(int[], %n, array(int, %m, 0));
     63  %a = (int[][])array(%n, (int[])array(%m, 0));
    6364  return %a;
    6465}