Continue syntax overhaul
This commit is contained in:
parent
405a2dc86c
commit
7398f073ed
80
Cargo.lock
generated
80
Cargo.lock
generated
@ -1,80 +0,0 @@
|
||||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
version = 3
|
||||
|
||||
[[package]]
|
||||
name = "aho-corasick"
|
||||
version = "1.1.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ea5d730647d4fadd988536d06fecce94b7b4f2a7efdae548f1cf4b63205518ab"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cc"
|
||||
version = "1.0.83"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
|
||||
dependencies = [
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.148"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b"
|
||||
|
||||
[[package]]
|
||||
name = "memchr"
|
||||
version = "2.6.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
|
||||
|
||||
[[package]]
|
||||
name = "regex"
|
||||
version = "1.9.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ebee201405406dbf528b8b672104ae6d6d63e6d118cb10e4d51abbc7b58044ff"
|
||||
dependencies = [
|
||||
"aho-corasick",
|
||||
"memchr",
|
||||
"regex-automata",
|
||||
"regex-syntax",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "regex-automata"
|
||||
version = "0.3.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "59b23e92ee4318893fa3fe3e6fb365258efbfe6ac6ab30f090cdcbb7aa37efa9"
|
||||
dependencies = [
|
||||
"aho-corasick",
|
||||
"memchr",
|
||||
"regex-syntax",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "regex-syntax"
|
||||
version = "0.7.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da"
|
||||
|
||||
[[package]]
|
||||
name = "tree-sitter"
|
||||
version = "0.20.10"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e747b1f9b7b931ed39a548c1fae149101497de3c1fc8d9e18c62c1a66c683d3d"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"regex",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tree-sitter-dust"
|
||||
version = "0.0.1"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"tree-sitter",
|
||||
]
|
@ -6,7 +6,6 @@ function { "Hiya" }
|
||||
|
||||
---
|
||||
|
||||
|
||||
(root
|
||||
(item
|
||||
(statement
|
||||
@ -22,7 +21,7 @@ function { "Hiya" }
|
||||
Function Call
|
||||
==================
|
||||
|
||||
(foobar "Hiya")
|
||||
foobar("Hiya")
|
||||
|
||||
---
|
||||
|
||||
@ -66,4 +65,41 @@ function <message number> {
|
||||
(identifier)))
|
||||
(statement
|
||||
(expression
|
||||
(identifier)))))))))
|
||||
(identifier)))))))))
|
||||
|
||||
==================
|
||||
Complex Function Call
|
||||
==================
|
||||
|
||||
foobar (
|
||||
"hi"
|
||||
42
|
||||
{
|
||||
x = 1
|
||||
y = 2
|
||||
}
|
||||
)
|
||||
|
||||
---
|
||||
|
||||
(root
|
||||
(item
|
||||
(statement
|
||||
(expression
|
||||
(function_call
|
||||
(identifier)
|
||||
(expression
|
||||
(value
|
||||
(string)))
|
||||
(expression
|
||||
(value
|
||||
(integer)))
|
||||
(expression
|
||||
(value
|
||||
(map
|
||||
(identifier)
|
||||
(value
|
||||
(integer))
|
||||
(identifier)
|
||||
(value
|
||||
(integer))))))))))
|
||||
|
@ -22,7 +22,7 @@ Simple Map
|
||||
Map Assignment
|
||||
==================
|
||||
|
||||
{
|
||||
x = {
|
||||
answer = 42
|
||||
}
|
||||
|
||||
@ -31,12 +31,15 @@ Map Assignment
|
||||
(root
|
||||
(item
|
||||
(statement
|
||||
(expression
|
||||
(value
|
||||
(map
|
||||
(identifier)
|
||||
(assignment
|
||||
(identifier)
|
||||
(statement
|
||||
(expression
|
||||
(value
|
||||
(integer))))))))
|
||||
(map
|
||||
(identifier)
|
||||
(value
|
||||
(integer))))))))))
|
||||
|
||||
==================
|
||||
Map Access
|
||||
|
@ -1,273 +0,0 @@
|
||||
"Index", "Eruption length (mins)","Eruption wait (mins)"
|
||||
1, 3.600, 79
|
||||
2, 1.800, 54
|
||||
3, 3.333, 74
|
||||
4, 2.283, 62
|
||||
5, 4.533, 85
|
||||
6, 2.883, 55
|
||||
7, 4.700, 88
|
||||
8, 3.600, 85
|
||||
9, 1.950, 51
|
||||
10, 4.350, 85
|
||||
11, 1.833, 54
|
||||
12, 3.917, 84
|
||||
13, 4.200, 78
|
||||
14, 1.750, 47
|
||||
15, 4.700, 83
|
||||
16, 2.167, 52
|
||||
17, 1.750, 62
|
||||
18, 4.800, 84
|
||||
19, 1.600, 52
|
||||
20, 4.250, 79
|
||||
21, 1.800, 51
|
||||
22, 1.750, 47
|
||||
23, 3.450, 78
|
||||
24, 3.067, 69
|
||||
25, 4.533, 74
|
||||
26, 3.600, 83
|
||||
27, 1.967, 55
|
||||
28, 4.083, 76
|
||||
29, 3.850, 78
|
||||
30, 4.433, 79
|
||||
31, 4.300, 73
|
||||
32, 4.467, 77
|
||||
33, 3.367, 66
|
||||
34, 4.033, 80
|
||||
35, 3.833, 74
|
||||
36, 2.017, 52
|
||||
37, 1.867, 48
|
||||
38, 4.833, 80
|
||||
39, 1.833, 59
|
||||
40, 4.783, 90
|
||||
41, 4.350, 80
|
||||
42, 1.883, 58
|
||||
43, 4.567, 84
|
||||
44, 1.750, 58
|
||||
45, 4.533, 73
|
||||
46, 3.317, 83
|
||||
47, 3.833, 64
|
||||
48, 2.100, 53
|
||||
49, 4.633, 82
|
||||
50, 2.000, 59
|
||||
51, 4.800, 75
|
||||
52, 4.716, 90
|
||||
53, 1.833, 54
|
||||
54, 4.833, 80
|
||||
55, 1.733, 54
|
||||
56, 4.883, 83
|
||||
57, 3.717, 71
|
||||
58, 1.667, 64
|
||||
59, 4.567, 77
|
||||
60, 4.317, 81
|
||||
61, 2.233, 59
|
||||
62, 4.500, 84
|
||||
63, 1.750, 48
|
||||
64, 4.800, 82
|
||||
65, 1.817, 60
|
||||
66, 4.400, 92
|
||||
67, 4.167, 78
|
||||
68, 4.700, 78
|
||||
69, 2.067, 65
|
||||
70, 4.700, 73
|
||||
71, 4.033, 82
|
||||
72, 1.967, 56
|
||||
73, 4.500, 79
|
||||
74, 4.000, 71
|
||||
75, 1.983, 62
|
||||
76, 5.067, 76
|
||||
77, 2.017, 60
|
||||
78, 4.567, 78
|
||||
79, 3.883, 76
|
||||
80, 3.600, 83
|
||||
81, 4.133, 75
|
||||
82, 4.333, 82
|
||||
83, 4.100, 70
|
||||
84, 2.633, 65
|
||||
85, 4.067, 73
|
||||
86, 4.933, 88
|
||||
87, 3.950, 76
|
||||
88, 4.517, 80
|
||||
89, 2.167, 48
|
||||
90, 4.000, 86
|
||||
91, 2.200, 60
|
||||
92, 4.333, 90
|
||||
93, 1.867, 50
|
||||
94, 4.817, 78
|
||||
95, 1.833, 63
|
||||
96, 4.300, 72
|
||||
97, 4.667, 84
|
||||
98, 3.750, 75
|
||||
99, 1.867, 51
|
||||
100, 4.900, 82
|
||||
101, 2.483, 62
|
||||
102, 4.367, 88
|
||||
103, 2.100, 49
|
||||
104, 4.500, 83
|
||||
105, 4.050, 81
|
||||
106, 1.867, 47
|
||||
107, 4.700, 84
|
||||
108, 1.783, 52
|
||||
109, 4.850, 86
|
||||
110, 3.683, 81
|
||||
111, 4.733, 75
|
||||
112, 2.300, 59
|
||||
113, 4.900, 89
|
||||
114, 4.417, 79
|
||||
115, 1.700, 59
|
||||
116, 4.633, 81
|
||||
117, 2.317, 50
|
||||
118, 4.600, 85
|
||||
119, 1.817, 59
|
||||
120, 4.417, 87
|
||||
121, 2.617, 53
|
||||
122, 4.067, 69
|
||||
123, 4.250, 77
|
||||
124, 1.967, 56
|
||||
125, 4.600, 88
|
||||
126, 3.767, 81
|
||||
127, 1.917, 45
|
||||
128, 4.500, 82
|
||||
129, 2.267, 55
|
||||
130, 4.650, 90
|
||||
131, 1.867, 45
|
||||
132, 4.167, 83
|
||||
133, 2.800, 56
|
||||
134, 4.333, 89
|
||||
135, 1.833, 46
|
||||
136, 4.383, 82
|
||||
137, 1.883, 51
|
||||
138, 4.933, 86
|
||||
139, 2.033, 53
|
||||
140, 3.733, 79
|
||||
141, 4.233, 81
|
||||
142, 2.233, 60
|
||||
143, 4.533, 82
|
||||
144, 4.817, 77
|
||||
145, 4.333, 76
|
||||
146, 1.983, 59
|
||||
147, 4.633, 80
|
||||
148, 2.017, 49
|
||||
149, 5.100, 96
|
||||
150, 1.800, 53
|
||||
151, 5.033, 77
|
||||
152, 4.000, 77
|
||||
153, 2.400, 65
|
||||
154, 4.600, 81
|
||||
155, 3.567, 71
|
||||
156, 4.000, 70
|
||||
157, 4.500, 81
|
||||
158, 4.083, 93
|
||||
159, 1.800, 53
|
||||
160, 3.967, 89
|
||||
161, 2.200, 45
|
||||
162, 4.150, 86
|
||||
163, 2.000, 58
|
||||
164, 3.833, 78
|
||||
165, 3.500, 66
|
||||
166, 4.583, 76
|
||||
167, 2.367, 63
|
||||
168, 5.000, 88
|
||||
169, 1.933, 52
|
||||
170, 4.617, 93
|
||||
171, 1.917, 49
|
||||
172, 2.083, 57
|
||||
173, 4.583, 77
|
||||
174, 3.333, 68
|
||||
175, 4.167, 81
|
||||
176, 4.333, 81
|
||||
177, 4.500, 73
|
||||
178, 2.417, 50
|
||||
179, 4.000, 85
|
||||
180, 4.167, 74
|
||||
181, 1.883, 55
|
||||
182, 4.583, 77
|
||||
183, 4.250, 83
|
||||
184, 3.767, 83
|
||||
185, 2.033, 51
|
||||
186, 4.433, 78
|
||||
187, 4.083, 84
|
||||
188, 1.833, 46
|
||||
189, 4.417, 83
|
||||
190, 2.183, 55
|
||||
191, 4.800, 81
|
||||
192, 1.833, 57
|
||||
193, 4.800, 76
|
||||
194, 4.100, 84
|
||||
195, 3.966, 77
|
||||
196, 4.233, 81
|
||||
197, 3.500, 87
|
||||
198, 4.366, 77
|
||||
199, 2.250, 51
|
||||
200, 4.667, 78
|
||||
201, 2.100, 60
|
||||
202, 4.350, 82
|
||||
203, 4.133, 91
|
||||
204, 1.867, 53
|
||||
205, 4.600, 78
|
||||
206, 1.783, 46
|
||||
207, 4.367, 77
|
||||
208, 3.850, 84
|
||||
209, 1.933, 49
|
||||
210, 4.500, 83
|
||||
211, 2.383, 71
|
||||
212, 4.700, 80
|
||||
213, 1.867, 49
|
||||
214, 3.833, 75
|
||||
215, 3.417, 64
|
||||
216, 4.233, 76
|
||||
217, 2.400, 53
|
||||
218, 4.800, 94
|
||||
219, 2.000, 55
|
||||
220, 4.150, 76
|
||||
221, 1.867, 50
|
||||
222, 4.267, 82
|
||||
223, 1.750, 54
|
||||
224, 4.483, 75
|
||||
225, 4.000, 78
|
||||
226, 4.117, 79
|
||||
227, 4.083, 78
|
||||
228, 4.267, 78
|
||||
229, 3.917, 70
|
||||
230, 4.550, 79
|
||||
231, 4.083, 70
|
||||
232, 2.417, 54
|
||||
233, 4.183, 86
|
||||
234, 2.217, 50
|
||||
235, 4.450, 90
|
||||
236, 1.883, 54
|
||||
237, 1.850, 54
|
||||
238, 4.283, 77
|
||||
239, 3.950, 79
|
||||
240, 2.333, 64
|
||||
241, 4.150, 75
|
||||
242, 2.350, 47
|
||||
243, 4.933, 86
|
||||
244, 2.900, 63
|
||||
245, 4.583, 85
|
||||
246, 3.833, 82
|
||||
247, 2.083, 57
|
||||
248, 4.367, 82
|
||||
249, 2.133, 67
|
||||
250, 4.350, 74
|
||||
251, 2.200, 54
|
||||
252, 4.450, 83
|
||||
253, 3.567, 73
|
||||
254, 4.500, 73
|
||||
255, 4.150, 88
|
||||
256, 3.817, 80
|
||||
257, 3.917, 71
|
||||
258, 4.450, 83
|
||||
259, 2.000, 56
|
||||
260, 4.283, 79
|
||||
261, 4.767, 78
|
||||
262, 4.533, 84
|
||||
263, 1.850, 58
|
||||
264, 4.250, 83
|
||||
265, 1.983, 43
|
||||
266, 2.250, 60
|
||||
267, 4.750, 75
|
||||
268, 4.117, 81
|
||||
269, 2.150, 46
|
||||
270, 4.417, 90
|
||||
271, 1.817, 46
|
||||
272, 4.467, 74
|
|
@ -1,15 +0,0 @@
|
||||
suspects = ("White", "Green");
|
||||
rooms = ("Library", "Kitchen");
|
||||
weapons = ("Rope", "Lead Pipe");
|
||||
|
||||
make_guess = {
|
||||
current_room = input.0;
|
||||
|
||||
if length(suspects) == 1
|
||||
&& length(rooms) == 1
|
||||
&& length(weapons) == 1
|
||||
then
|
||||
output 'It was ' + suspects.0 + ' in the ' + rooms.0 + ' with the ' + weapons.0 '!';
|
||||
else
|
||||
output 'I accuse ' + random(suspects) + ' in the ' + current_room + ' with the ' + random(weapons) '!';
|
||||
};
|
@ -1,114 +0,0 @@
|
||||
# transform
|
||||
|
||||
list = (1, 2, 3);
|
||||
test = transform(list, 'input + 1');
|
||||
assert_equal((2, 3, 4), test);
|
||||
|
||||
# string
|
||||
|
||||
test = string(42);
|
||||
assert_equal("42", test);
|
||||
|
||||
test = string(42.42);
|
||||
assert_equal("42.42", test);
|
||||
|
||||
test = string(false);
|
||||
assert_equal("false", test);
|
||||
|
||||
# create_table
|
||||
|
||||
table = create_table(
|
||||
("text", "num"),
|
||||
(
|
||||
("foo", 1),
|
||||
("bar", 2)
|
||||
)
|
||||
);
|
||||
|
||||
# rows
|
||||
|
||||
test = rows(table);
|
||||
assert_equal(
|
||||
(
|
||||
("foo", 1),
|
||||
("bar", 2)
|
||||
),
|
||||
test
|
||||
);
|
||||
|
||||
# insert
|
||||
|
||||
test = insert(
|
||||
table,
|
||||
(
|
||||
("foo", 1),
|
||||
("bar", 2)
|
||||
)
|
||||
);
|
||||
assert_equal(
|
||||
create_table(
|
||||
("text", "num"),
|
||||
(
|
||||
("foo", 1),
|
||||
("bar", 2),
|
||||
("foo", 1),
|
||||
("bar", 2)
|
||||
)
|
||||
),
|
||||
test
|
||||
);
|
||||
|
||||
# select
|
||||
|
||||
table = create_table(
|
||||
("text", "number", "bool"),
|
||||
(
|
||||
("a", 1, true),
|
||||
("b", 2, true),
|
||||
("a", 3, true)
|
||||
)
|
||||
);
|
||||
|
||||
test_table = create_table(
|
||||
("text", "bool"),
|
||||
(
|
||||
("a", true),
|
||||
("b", true),
|
||||
("a", true)
|
||||
)
|
||||
);
|
||||
|
||||
assert_equal(select(table, ("text", "bool")), test_table);
|
||||
|
||||
test_table = create_table(
|
||||
("text", "number", "bool"),
|
||||
(
|
||||
("a", 1, true),
|
||||
("a", 3, true)
|
||||
)
|
||||
);
|
||||
|
||||
assert_equal(where(table, 'text == "a"'), test_table);
|
||||
|
||||
# count
|
||||
|
||||
table = create_table(
|
||||
("text", "number", "bool"),
|
||||
(
|
||||
("a", 1, true),
|
||||
("b", 2, true),
|
||||
("a", 3, true)
|
||||
)
|
||||
);
|
||||
test = count(table);
|
||||
assert_equal(3, test);
|
||||
|
||||
test = count("123");
|
||||
assert_equal(3, test);
|
||||
|
||||
test = count(1, 2, 3);
|
||||
assert_equal(3, test);
|
||||
|
||||
map.x.z.y = 1;
|
||||
test = count(map);
|
||||
assert_equal(1, test);
|
@ -1,4 +0,0 @@
|
||||
dob = from_toml("1979-05-27T07:32:00-08:00");
|
||||
toml = to_toml(dob);
|
||||
|
||||
assert_equal(toml, "1979-05-27T07:32:00-08:00");
|
@ -1,4 +0,0 @@
|
||||
raw_data = download <"https://api.sampleapis.com/futurama/cast">
|
||||
dust_data = from_json <raw_data>
|
||||
|
||||
assert_equal <"Billy West", data.0.name>
|
@ -1,34 +0,0 @@
|
||||
fizzbuzz_basic = function <limit> {
|
||||
count = 1
|
||||
|
||||
while count < limit {
|
||||
count += 1
|
||||
|
||||
if count % 3 == 0 && count % 5 == 0 {
|
||||
output 'fizzbuzz'
|
||||
} else {
|
||||
if count % 3 == 0 {
|
||||
output 'fizz'
|
||||
}
|
||||
|
||||
if count % 5 == 0 {
|
||||
output 'buzz'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fizzbuzz_match <limit> {
|
||||
count = 1
|
||||
|
||||
while count < 1 {
|
||||
output match [count % 3 == 0, count % 5 == 0] {
|
||||
[true, false] => 'fizz'
|
||||
[false, true] => 'buzz'
|
||||
[true, true] => 'fizzbuzz'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fizzbuzz_basic<15>
|
||||
fizzbuzz_match<15>
|
@ -1,6 +0,0 @@
|
||||
# This will read a CSV file and display it as a line plot in a GUI window.
|
||||
read_file("examples/assets/faithful.csv")
|
||||
-> from_csv(input)
|
||||
-> rows(input)
|
||||
-> transform(input, 'input.1')
|
||||
-> plot(input);
|
@ -1,7 +0,0 @@
|
||||
numbers = [1, 2, 3]
|
||||
|
||||
x = numbers.0
|
||||
y = numbers.1
|
||||
z = numbers.2
|
||||
|
||||
assert_equal <x + y, z>
|
@ -1,9 +0,0 @@
|
||||
foo = "bar";
|
||||
func = 'foo';
|
||||
|
||||
assert_equal("bar", func());
|
||||
|
||||
foo = "xyz";
|
||||
|
||||
assert_equal("xyz", func());
|
||||
|
@ -1,29 +0,0 @@
|
||||
table = create_table(
|
||||
("text", "number", "bool"),
|
||||
(
|
||||
("a", 1, true),
|
||||
("b", 2, true),
|
||||
("a", 3, true)
|
||||
)
|
||||
);
|
||||
|
||||
test_table = create_table(
|
||||
("text", "bool"),
|
||||
(
|
||||
("a", true),
|
||||
("b", true),
|
||||
("a", true)
|
||||
)
|
||||
);
|
||||
|
||||
assert_equal(select(table, ("text", "bool")), test_table);
|
||||
|
||||
test_table = create_table(
|
||||
("text", "number", "bool"),
|
||||
(
|
||||
("a", 1, true),
|
||||
("a", 3, true)
|
||||
)
|
||||
);
|
||||
|
||||
assert_equal(where(table, 'text == "a"'), test_table);
|
@ -1,10 +0,0 @@
|
||||
x = 1
|
||||
y = "hello dust!"
|
||||
z = 42.0
|
||||
list = (3, 2, x)
|
||||
big_list = (x, y, z, list)
|
||||
foo = {
|
||||
x = "bar"
|
||||
y = 42
|
||||
z = 0
|
||||
}
|
@ -158,8 +158,8 @@ module.exports = grammar({
|
||||
)),
|
||||
|
||||
function_call: $ => prec.right(seq(
|
||||
'(',
|
||||
$.identifier,
|
||||
'(',
|
||||
repeat(seq($.expression)),
|
||||
')',
|
||||
)),
|
||||
|
@ -677,14 +677,14 @@
|
||||
"content": {
|
||||
"type": "SEQ",
|
||||
"members": [
|
||||
{
|
||||
"type": "STRING",
|
||||
"value": "("
|
||||
},
|
||||
{
|
||||
"type": "SYMBOL",
|
||||
"name": "identifier"
|
||||
},
|
||||
{
|
||||
"type": "STRING",
|
||||
"value": "("
|
||||
},
|
||||
{
|
||||
"type": "REPEAT",
|
||||
"content": {
|
||||
|
7066
src/parser.c
7066
src/parser.c
File diff suppressed because it is too large
Load Diff
@ -1,57 +0,0 @@
|
||||
use std::fs::read_to_string;
|
||||
|
||||
use dust::*;
|
||||
|
||||
#[test]
|
||||
fn collections() {
|
||||
let file_contents = read_to_string("examples/collections.ds").unwrap();
|
||||
|
||||
for result in eval(&file_contents) {
|
||||
result.unwrap();
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn list() {
|
||||
let file_contents = read_to_string("examples/list.ds").unwrap();
|
||||
|
||||
for result in eval(&file_contents) {
|
||||
result.unwrap();
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn table() {
|
||||
let file_contents = read_to_string("examples/table.ds").unwrap();
|
||||
|
||||
for result in eval(&file_contents) {
|
||||
result.unwrap();
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn variables() {
|
||||
let file_contents = read_to_string("examples/variables.ds").unwrap();
|
||||
|
||||
for result in eval(&file_contents) {
|
||||
result.unwrap();
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn scope() {
|
||||
let file_contents = read_to_string("examples/scope.ds").unwrap();
|
||||
|
||||
for result in eval(&file_contents) {
|
||||
result.unwrap();
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn data_formats() {
|
||||
let file_contents = read_to_string("examples/data_formats.ds").unwrap();
|
||||
|
||||
for result in eval(&file_contents) {
|
||||
result.unwrap();
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user