source: tests/expression.cfa @ 42a99b0

ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationjenkins-sandboxnew-astnew-ast-unique-exprpthread-emulationqualifiedEnum
Last change on this file since 42a99b0 was e56eb455, checked in by Peter A. Buhr <pabuhr@…>, 5 years ago

fix build problem

  • Property mode set to 100644
File size: 1.1 KB
RevLine 
[948fdef]1struct S { int i; };
[e56eb455]2void ?{}( S & s, int i ) { s.i = i; }
[948fdef]3int ?`mary( int );
4int ?`mary( S );
5[int] ?`mary( [int, int] );
[33a484f]6int & ?`jane( int & );
[948fdef]7int jack( int );
8
[a0dcd2e]9int main() {
[948fdef]10    int a[3] = { 0, 0, 0 };
11    S s = { 3 }, * ps = &s;
[e56eb455]12    [int] t = { 3 };
[948fdef]13    * [int] pt = &t;
[e56eb455]14    int i = 1, j = 2;
[62edde5]15
16    // operators
17
[e56eb455]18    !i;
[62edde5]19    ~i;
20    +i;
21    -i;
[948fdef]22    *ps;
23    ++ps;
24    --ps;
25    ps++;
26    ps--;
27
[e56eb455]28    i + j;
29    i - j;
30    i * j;
[948fdef]31
[e56eb455]32    i / j;
33    i % j;
34    i ^ j;
35    i & j;
36    i | j;
37    i < j;
38    i > j;
39    i = j;
[948fdef]40
[e56eb455]41    i == j;
42    i != j;
43    i << j;
44    i >> j;
45    i <= j;
46    i >= j;
47    i && j;
48    i || j;
[948fdef]49    ps->i;
50
[e56eb455]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    i >>= j;
[948fdef]61
[e56eb455]62    i ? i : j;
[948fdef]63
64    // postfix function call
65
66    (3 + 4)`mary;
67    ({3 + 4;})`mary;
68    [3, 4]`mary;
69    3`mary;
70    a[0]`mary;
71    a[0]`mary`mary;
72    s{0}`mary;
[33a484f]73    a[3]`jane++;
[948fdef]74    jack(3)`mary;
75    s.i`mary;
76    t.0`mary;
77    s.[i]`mary;
78    ps->i`mary;
79    pt->0`mary;
80    ps->[i]`mary;
81    i++`mary;
82    i--`mary;
83    (S){2}`mary;
84    (S)@{2}`mary;
[a0dcd2e]85} // main
Note: See TracBrowser for help on using the repository browser.