Ignore:
Timestamp:
Feb 1, 2020, 1:27:09 PM (4 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
Children:
33a484f
Parents:
c334ecd
Message:

change backquotes identifiers to xxx syntax, change priority of postfix function call

File:
1 edited

Legend:

Unmodified
Added
Removed
  • tests/expression.cfa

    rc334ecd r948fdef  
     1struct S { int i; };
     2void ?{}( S & s, int i ) {}
     3int ?`mary( int );
     4int ?`mary( S );
     5[int] ?`mary( [int, int] );
     6int jack( int );
     7
    18int main() {
    2     struct s { int i; } x, *p = &x;
    3     int i = 3;
     9    int a[3] = { 0, 0, 0 };
     10    S s = { 3 }, * ps = &s;
     11    [int] t;
     12    * [int] pt = &t;
     13    int i = 3, j = 4;
    414
    515    // operators
     
    919    +i;
    1020    -i;
    11     *p;
    12     ++p;
    13     --p;
    14     p++;
    15     p--;
     21    *ps;
     22    ++ps;
     23    --ps;
     24    ps++;
     25    ps--;
    1626
    17     i+i;
    18     i-i;
    19     i*i;
     27    i+j;
     28    i-j;
     29    i*j;
    2030
    21     i/i;
    22     i%i;
    23     i^i;
    24     i&i;
    25     i|i;
    26     i<i;
    27     i>i;
    28     i=i;
     31    i/j;
     32    i%j;
     33    i^j;
     34    i&j;
     35    i|j;
     36    i<j;
     37    i>j;
     38    i=j;
    2939
    30     i==i;
    31     i!=i;
    32     i<<i;
    33     i>>i;
    34     i<=i;
    35     i>=i;
    36     i&&i;
    37     i||i;
    38     p->i;
    39     i*=i;
    40     i/=i;
    41     i%=i;
    42     i+=i;
    43     i-=i;
    44     i&=i;
    45     i|=i;
    46     i^=i;
    47     i<<=i;
    48     i>>=i;
     40    i==j;
     41    i!=j;
     42    i<<j;
     43    i>>j;
     44    i<=j;
     45    i>=j;
     46    i&&j;
     47    i||j;
     48    ps->i;
    4949
    50     i?i:i;
     50    i*=j;
     51    i/=j;
     52    i%=j;
     53    i+=j;
     54    i-=j;
     55    i&=j;
     56    i|=j;
     57    i^=j;
     58    i<<=j;
     59    i>>=j;
     60
     61    i?i:j;
     62
     63    // postfix function call
     64
     65    (3 + 4)`mary;
     66    ({3 + 4;})`mary;
     67    [3, 4]`mary;
     68    3`mary;
     69    a[0]`mary;
     70    a[0]`mary`mary;
     71    s{0}`mary;
     72    jack(3)`mary;
     73    s.i`mary;
     74    t.0`mary;
     75    s.[i]`mary;
     76    ps->i`mary;
     77    pt->0`mary;
     78    ps->[i]`mary;
     79    i++`mary;
     80    i--`mary;
     81    (S){2}`mary;
     82    (S)@{2}`mary;
    5183} // main
Note: See TracChangeset for help on using the changeset viewer.