-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathArithExprPrecedence.cool
28 lines (26 loc) · 1.15 KB
/
ArithExprPrecedence.cool
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
class Main() {
{
var io: IO = new IO();
io.out_string("`2 * 2 - 3 / 3` = "); io.out_int(2 * 2 - 3 / 3); io.out_nl();
io.out_string("`2 + 2 * 3 - 3` = "); io.out_int(2 + 2 * 3 - 3); io.out_nl();
io.out_string("`1 + 2 * 3 / 4` = "); io.out_int(1 + 2 * 3 / 4); io.out_nl();
io.out_string("`1 + 2 * 3` = "); io.out_int(1 + 2 * 3); io.out_nl();
io.out_string("`(1 + 2) * 3` = "); io.out_int((1 + 2) * 3); io.out_nl();
io.out_string("`1 + (2 * 3)` = "); io.out_int(1 + (2 * 3)); io.out_nl();
io.out_string("`4 - 4 / 2` = "); io.out_int(4 - 4 / 2); io.out_nl();
io.out_string("`(4 - 4) / 2` = "); io.out_int((4 - 4) / 2); io.out_nl();
io.out_string("`-1 - 1` = "); io.out_int(-1 - 1); io.out_nl();
io.out_string("`-(1 - 1)` = "); io.out_int(-(1 - 1)); io.out_nl()
};
}
// DIAG: Build succeeded: Errors: 0. Warnings: 0
// OUT: `2 * 2 - 3 / 3` = 3
// OUT: `2 + 2 * 3 - 3` = 5
// OUT: `1 + 2 * 3 / 4` = 2
// OUT: `1 + 2 * 3` = 7
// OUT: `(1 + 2) * 3` = 9
// OUT: `1 + (2 * 3)` = 7
// OUT: `4 - 4 / 2` = 2
// OUT: `(4 - 4) / 2` = 0
// OUT: `-1 - 1` = -2
// OUT: `-(1 - 1)` = 0