...
1;; Tokens can be delimited by parentheses
2
3(module
4 (func(nop))
5)
6(module
7 (func (nop)nop)
8)
9(module
10 (func nop(nop))
11)
12(module
13 (func(nop)(nop))
14)
15(module
16 (func $f(nop))
17)
18(module
19 (func br 0(nop))
20)
21(module
22 (table 1 funcref)
23 (func)
24 (elem (i32.const 0)0)
25)
26(module
27 (table 1 funcref)
28 (func $f)
29 (elem (i32.const 0)$f)
30)
31(module
32 (memory 1)
33 (data (i32.const 0)"a")
34)
35(module
36 (import "spectest" "print"(func))
37)
38
39
40;; Tokens can be delimited by comments
41
42(module
43 (func;;bla
44 )
45)
46(module
47 (func (nop);;bla
48 )
49)
50(module
51 (func nop;;bla
52 )
53)
54(module
55 (func $f;;bla
56 )
57)
58(module
59 (func br 0;;bla
60 )
61)
62(module
63 (data "a";;bla
64 )
65)
66
67
68;; Space required between symbols and non-parenthesis tokens
69
70(module
71 (func (block $l (i32.const 0) (br_table 0 $l)))
72)
73(assert_malformed
74 (module quote
75 "(func (block $l (i32.const 0) (br_table 0$l)))"
76 )
77 "unknown operator"
78)
79
80(module
81 (func (block $l (i32.const 0) (br_table $l 0)))
82)
83(assert_malformed
84 (module quote
85 "(func (block $l (i32.const 0) (br_table $l0)))"
86 )
87 "unknown label"
88)
89
90(module
91 (func (block $l (i32.const 0) (br_table $l $l)))
92)
93(assert_malformed
94 (module quote
95 "(func (block $l (i32.const 0) (br_table $l$l)))"
96 )
97 "unknown label"
98)
99
100(module
101 (func (block $l0 (i32.const 0) (br_table $l0)))
102)
103(module
104 (func (block $l$l (i32.const 0) (br_table $l$l)))
105)
106
107
108;; Space required between strings and non-parenthesis tokens
109
110(module
111 (data "a")
112)
113(assert_malformed
114 (module quote
115 "(data\"a\")"
116 )
117 "unknown operator"
118)
119
120(module
121 (data $l "a")
122)
123(assert_malformed
124 (module quote
125 "(data $l\"a\")"
126 )
127 "unknown operator"
128)
129
130(module
131 (data $l " a")
132)
133(assert_malformed
134 (module quote
135 "(data $l\" a\")"
136 )
137 "unknown operator"
138)
139
140(module
141 (data $l "a ")
142)
143(assert_malformed
144 (module quote
145 "(data $l\"a \")"
146 )
147 "unknown operator"
148)
149
150(module
151 (data $l "a " "b")
152)
153(assert_malformed
154 (module quote
155 "(data $l\"a \"\"b\")"
156 )
157 "unknown operator"
158)
159
160(module
161 (data $l "")
162)
163(assert_malformed
164 (module quote
165 "(data $l\"\")"
166 )
167 "unknown operator"
168)
169
170(module
171 (data $l " ")
172)
173(assert_malformed
174 (module quote
175 "(data $l\" \")"
176 )
177 "unknown operator"
178)
179
180(module
181 (data $l " ")
182)
183(assert_malformed
184 (module quote
185 "(data $l\" \")"
186 )
187 "unknown operator"
188)
189
190(module
191 (data "a" "b")
192)
193(assert_malformed
194 (module quote
195 "(data \"a\"\"b\")"
196 )
197 "unknown operator"
198)
199
200(module
201 (data "a" " b")
202)
203(assert_malformed
204 (module quote
205 "(data \"a\"\" b\")"
206 )
207 "unknown operator"
208)
209
210(module
211 (data "a " "b")
212)
213(assert_malformed
214 (module quote
215 "(data \"a \"\"b\")"
216 )
217 "unknown operator"
218)
219
220(module
221 (data "" "")
222)
223(assert_malformed
224 (module quote
225 "(data \"\"\"\")"
226 )
227 "unknown operator"
228)
229
230(module
231 (data "" " ")
232)
233(assert_malformed
234 (module quote
235 "(data \"\"\" \")"
236 )
237 "unknown operator"
238)
239
240(module
241 (data " " "")
242)
243(assert_malformed
244 (module quote
245 "(data \" \"\"\")"
246 )
247 "unknown operator"
248)
249
250
251(assert_malformed
252 (module quote
253 "(func \"a\"x)"
254 )
255 "unknown operator"
256)
257(assert_malformed
258 (module quote
259 "(func \"a\"0)"
260 )
261 "unknown operator"
262)
263(assert_malformed
264 (module quote
265 "(func 0\"a\")"
266 )
267 "unknown operator"
268)
269(assert_malformed
270 (module quote
271 "(func \"a\"$x)"
272 )
273 "unknown operator"
274)
View as plain text