source:
tests/expression.cfa
@
33a484f
Last change on this file since 33a484f was 33a484f, checked in by , 5 years ago | |
---|---|
|
|
File size: 1.0 KB |
Rev | Line | |
---|---|---|
[948fdef] | 1 | struct S { int i; }; |
2 | void ?{}( S & s, int i ) {} | |
3 | int ?`mary( int ); | |
4 | int ?`mary( S ); | |
5 | [int] ?`mary( [int, int] ); | |
[33a484f] | 6 | int & ?`jane( int & ); |
[948fdef] | 7 | int jack( int ); |
8 | ||
[a0dcd2e] | 9 | int main() { |
[948fdef] | 10 | int a[3] = { 0, 0, 0 }; |
11 | S s = { 3 }, * ps = &s; | |
12 | [int] t; | |
13 | * [int] pt = &t; | |
14 | int i = 3, j = 4; | |
[62edde5] | 15 | |
16 | // operators | |
17 | ||
18 | ! i; | |
19 | ~i; | |
20 | +i; | |
21 | -i; | |
[948fdef] | 22 | *ps; |
23 | ++ps; | |
24 | --ps; | |
25 | ps++; | |
26 | ps--; | |
27 | ||
28 | i+j; | |
29 | i-j; | |
30 | i*j; | |
31 | ||
32 | i/j; | |
33 | i%j; | |
34 | i^j; | |
35 | i&j; | |
36 | i|j; | |
37 | i<j; | |
38 | i>j; | |
39 | i=j; | |
40 | ||
41 | i==j; | |
42 | i!=j; | |
43 | i<<j; | |
44 | i>>j; | |
45 | i<=j; | |
46 | i>=j; | |
47 | i&&j; | |
48 | i||j; | |
49 | ps->i; | |
50 | ||
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; | |
61 | ||
62 | i?i:j; | |
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.