Changes between Version 5 and Version 6 of CIVLite


Ignore:
Timestamp:
09/21/23 21:29:18 (3 years ago)
Author:
siegel
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • CIVLite

    v5 v6  
    6363assertion: 'assert' expr ';'
    6464
    65 alloc: 'alloc' expr '[' expr ']' ';'
    66 
    6765exprlist: expr (',' expr)*
    6866
    6967lval: ID | lval '[' expr ']'
    7068
    71 expr: lval | constant | '(' expr ')' | expr '+' expr | ...
    72  // operators: + - * / mod  - == != >= > < <= && || !
     69expr: lval | constant | '(' expr ')' | expr '+' expr | ... // + - * / mod  - == != >= > < <= && || !
     70  | 'array' '(' type ',' expr ',' expr ')' // array(element-type, length, value)
     71
    7372
    7473program: paramdecl* vardecl* function*
     
    7675Example:
    7776
    78 int[][] %a;
    79 fun void %f(int %n, int %m) {
    80   alloc %a, %n;
    81   alloc %a[0], %m;
    82 
    83   free %a;
     77fun int[][] %zero2d(int %n, int %m) {
     78  int[][] %a;
     79  %a = array(int[], %n, array(int, %m, 0));
     80  return %a;
    8481}
    8582