diff options
author | Bad Diode <bd@badd10de.dev> | 2024-06-26 15:27:24 +0200 |
---|---|---|
committer | Bad Diode <bd@badd10de.dev> | 2024-06-26 15:27:24 +0200 |
commit | e40b04daf942ae01125d43e5cd402a08735075fd (patch) | |
tree | d3ff43f11d08e02afa3ffdb1521aa0cea034ec6b /tests | |
parent | 3dd1208c63b69b099b718be77457852c40692ed3 (diff) | |
download | bdl-e40b04daf942ae01125d43e5cd402a08735075fd.tar.gz bdl-e40b04daf942ae01125d43e5cd402a08735075fd.zip |
Consolidate semantic analyzer functions
Diffstat (limited to 'tests')
-rw-r--r-- | tests/semantics.bad | 59 |
1 files changed, 38 insertions, 21 deletions
diff --git a/tests/semantics.bad b/tests/semantics.bad index 6fa1c59..18ebec1 100644 --- a/tests/semantics.bad +++ b/tests/semantics.bad | |||
@@ -1,27 +1,44 @@ | |||
1 | struct vec { | 1 | fun foo(): int { |
2 | x: f64 | 2 | 1 |
3 | y: f64 | ||
4 | huh: { | ||
5 | z: int | ||
6 | id: str | ||
7 | } | ||
8 | } | 3 | } |
4 | ; fun bar(): int { | ||
5 | ; fun foo(): int 1 + 2 | ||
6 | ; 1 | ||
7 | ; } | ||
8 | ; struct vec { | ||
9 | ; x: f64 | ||
10 | ; y: f64 | ||
11 | ; huh: { | ||
12 | ; z: int | ||
13 | ; id: str | ||
14 | ; } | ||
15 | ; } | ||
16 | ; let a = 1 | ||
17 | ; let a = 2 | ||
18 | ; struct vec { | ||
19 | ; x: f64 | ||
20 | ; y: f64 | ||
21 | ; huh: { | ||
22 | ; z: int | ||
23 | ; id: str | ||
24 | ; } | ||
25 | ; } | ||
9 | 26 | ||
10 | let v: vec = vec : { | 27 | ; let v: vec = vec : { |
11 | x = 10.0 | 28 | ; x = 10.0 |
12 | huh = { | 29 | ; huh = { |
13 | z = 10 | 30 | ; z = 10 |
14 | id = "blah" | 31 | ; id = "blah" |
15 | } | 32 | ; } |
16 | } | 33 | ; } |
17 | 34 | ||
18 | fun foo(): nil { | 35 | ; fun foo(): nil { |
19 | struct vec { | 36 | ; struct vec { |
20 | z: f64 | 37 | ; z: f64 |
21 | } | 38 | ; } |
22 | let a: vec | 39 | ; let a: vec |
23 | set a.z = 1.0 | 40 | ; set a.z = 1.0 |
24 | } | 41 | ; } |
25 | 42 | ||
26 | ; struct vec { | 43 | ; struct vec { |
27 | ; x: f64 = 2.0 | 44 | ; x: f64 = 2.0 |