blob: 384ca71a006a00ae6a821b0a45cb1f097e92a4ab (
plain)
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
|
a `;` terminates the current statement just like a newline,
so multiple statements can sit on the same source line without
forcing a line break between them.
<<<
var a int = 1; var b int = 2
a = a + b; b = a - b
a; b; c; d; e; f; g;
;;;;0;;;;
>>>
(variable (declaration a (type name int) (initializer (expr 1))))
(variable (declaration b (type name int) (initializer (expr 2))))
(expr (binary = (expr (name a)) (expr (binary + (expr (name a)) (expr (name b))))))
(expr (binary = (expr (name b)) (expr (binary - (expr (name a)) (expr (name b))))))
(expr (name a))
(expr (name b))
(expr (name c))
(expr (name d))
(expr (name e))
(expr (name f))
(expr (name g))
(expr 0)
|