macro compilation fixed
[scilab.git] / scilab / modules / ast / tests / unit_tests / parser.tst
1 // ============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2016 - DIGITEO - Cedric Delamarre
4 //
5 //  This file is distributed under the same license as the Scilab package.
6 // ============================================================================
7
8 // <-- CLI SHELL MODE -->
9
10
11 // line break
12 colvect(1,1) = 1;
13 colvect(2,1) = -2;
14 linevect = colvect';
15
16
17 a=[1; ...
18 -2];
19 assert_checkequal(a,  colvect);
20 a=[1;...
21 -2];
22 assert_checkequal(a,  colvect);
23 a=[1; ...
24  -2];
25 assert_checkequal(a,  colvect);
26 a=[1;...
27  -2];
28 assert_checkequal(a,  colvect);
29 a=[1; ...
30 - 2];
31 assert_checkequal(a,  colvect);
32 a=[1;...
33 - 2];
34 assert_checkequal(a,  colvect);
35
36 a=[1 ...
37 -2];
38 assert_checkequal(a,  linevect);
39 a=[1...
40 -2];
41 assert_checkequal(a,  -1);
42 a=[1 ...
43  -2];
44 assert_checkequal(a,  linevect);
45 a=[1...
46  -2];
47 assert_checkequal(a,  linevect);
48 a=[1 ...
49 - 2];
50 assert_checkequal(a,  -1);
51 a=[1...
52 - 2];
53 assert_checkequal(a,  -1);
54
55 a=[1; ...//comment
56 -2];
57 assert_checkequal(a,  colvect);
58 a=[1;...//comment
59 -2];
60 assert_checkequal(a,  colvect);
61 a=[1; ...//comment
62  -2];
63 assert_checkequal(a,  colvect);
64 a=[1;...//comment
65  -2];
66 assert_checkequal(a,  colvect);
67 a=[1; ...//comment
68 - 2];
69 assert_checkequal(a,  colvect);
70 a=[1;...//comment
71 - 2];
72 assert_checkequal(a,  colvect);
73
74 a=[1 ...//comment
75 -2];
76 assert_checkequal(a,  linevect);
77 a=[1...//comment
78 -2];
79 assert_checkequal(a,  -1);
80 a=[1 ...//comment
81  -2];
82 assert_checkequal(a,  linevect);
83 a=[1...//comment
84  -2];
85 assert_checkequal(a,  linevect);
86 a=[1 ...//comment
87 - 2];
88 assert_checkequal(a,  -1);
89 a=[1...//comment
90 - 2];
91 assert_checkequal(a,  -1);
92
93 a=[1 ...
94 -2 ];
95 assert_checkequal(a,  linevect);
96 a=[1...
97 -2 ];
98 assert_checkequal(a,  -1);
99 a=[1 ...
100  -2 ];
101 assert_checkequal(a,  linevect);
102 a=[1...
103  -2 ];
104 assert_checkequal(a,  linevect);
105 a=[1 ...
106 - 2 ];
107 assert_checkequal(a,  -1);
108 a=[1...
109 - 2 ];
110 assert_checkequal(a,  -1);
111
112 // Operators within matrices
113 // DOTTIMES
114 a = [[2 3] .* -3];
115 expected = [-6 -9];
116 assert_checkequal(a, expected);
117
118 a = [[2 3] .* ...
119 -3];
120 assert_checkequal(a, expected);
121
122 a = [[2 3] .* ... // a comment
123 -3];
124 assert_checkequal(a, expected);
125
126 //DOTRDIVIDE
127 a = [[2 3] ./ -3];
128 expected = [-2/3 -1];
129 assert_checkequal(a, expected);
130
131 a = [[2 3] ./ ...
132 -3];
133 assert_checkequal(a, expected);
134
135 a = [[2 3] ./ ... // a comment
136 -3];
137 assert_checkequal(a, expected);
138
139 //DOTLDIVIDE
140 a = [[2 3] .\ -3];
141 expected = [-3/2 -1];
142 assert_checkequal(a, expected);
143
144 a = [[2 3] .\ ...
145 -3];
146 assert_checkequal(a, expected);
147
148 a = [[2 3] .\ ... // a comment
149 -3];
150 assert_checkequal(a, expected);
151
152 //DOTPOWER
153 a = [[2 3] .^ -3];
154 expected = [(2^(-3)), (3^(-3))];
155 assert_checkequal(a, expected);
156
157 a = [[2 3] .^ ...
158 -3];
159 assert_checkequal(a, expected);
160
161 a = [[2 3] .^ ... // a comment
162 -3];
163 assert_checkequal(a, expected);
164
165 //MINUS
166 a = [[2 3] - -3];
167 expected = [(2-(-3)), (3-(-3))];
168 assert_checkequal(a, expected);
169
170 a = [[2 3] - ...
171 -3];
172 assert_checkequal(a, expected);
173
174 a = [[2 3] - ... // a comment
175 -3];
176 assert_checkequal(a, expected);
177
178 //PLUS
179 a = [[2 3] + -3];
180 expected = [(2+(-3)), (3+(-3))];
181 assert_checkequal(a, expected);
182
183 a = [[2 3] + ...
184 -3];
185 assert_checkequal(a, expected);
186
187 a = [[2 3] + ... // a comment
188 -3];
189 assert_checkequal(a, expected);
190
191 //TIMES
192 a = [2 * -3];
193 expected = [(2*(-3))];
194 assert_checkequal(a, expected);
195
196 a = [2 * ...
197  -3];
198 assert_checkequal(a, expected);
199
200 a = [2  * ... // a comment
201  -3];
202 assert_checkequal(a, expected);
203
204 //RDIVIDE
205 a = [2 / -3];
206 expected = [(2/(-3))];
207 assert_checkequal(a, expected);
208
209 a = [2 / ...
210  -3];
211 assert_checkequal(a, expected);
212
213 a = [2  / ... // a comment
214  -3];
215 assert_checkequal(a, expected);
216
217 //LDIVIDE
218 a = [2 \ -3];
219 expected = [(2\(-3))];
220 assert_checkequal(a, expected);
221
222 a = [2 \ ...
223  -3];
224 assert_checkequal(a, expected);
225
226 a = [2  \ ... // a comment
227  -3];
228 assert_checkequal(a, expected);
229
230 //POWER
231 a = [2 ^ -3];
232 expected = [(2^(-3))];
233 assert_checkequal(a, expected);
234
235 a = [2 ^ ...
236  -3];
237 assert_checkequal(a, expected);
238
239 a = [2  ^ ... // a comment
240  -3];
241 assert_checkequal(a, expected);
242
243 //KRONTIMES
244 a = [[2 3] .*. -3];
245 expected = [([2, 3].*.(-3))];
246 assert_checkequal(a, expected);
247
248 a = [[2 3] .*. ...
249  -3];
250 assert_checkequal(a, expected);
251
252 a = [[2 3] .*. ... // a comment
253  -3];
254 assert_checkequal(a, expected);
255
256 //KRONRDIVIDE
257 a = [[2 3] ./. -3];
258 expected = [([2, 3]./.(-3))];
259 assert_checkequal(a, expected);
260
261 a = [[2 3] ./. ...
262  -3];
263 assert_checkequal(a, expected);
264
265 a = [[2 3] ./. ... // a comment
266  -3];
267 assert_checkequal(a, expected);
268
269 //KRONLDIVIDE
270 a = [[2 3] .\. -3];
271 expected = [([2, 3].\.(-3))];
272 assert_checkequal(a, expected);
273
274 a = [[2 3] .\. ...
275  -3];
276 assert_checkequal(a, expected);
277
278 a = [[2 3] .\. ... // a comment
279  -3];
280 assert_checkequal(a, expected);
281
282 //EQ
283 a = [[2 3] == -3];
284 expected = [([2, 3]==(-3))];
285 assert_checkequal(a, expected);
286
287 a = [[2 3] == ...
288  -3];
289 assert_checkequal(a, expected);
290
291 a = [[2 3] == ... // a comment
292  -3];
293 assert_checkequal(a, expected);
294
295 //NE
296 a = [[2 3] ~= -3];
297 expected = [([2, 3]~=(-3))];
298 assert_checkequal(a, expected);
299
300 a = [[2 3] ~= ...
301  -3];
302 assert_checkequal(a, expected);
303
304 a = [[2 3]  ~= ... // a comment
305  -3];
306 assert_checkequal(a, expected);
307
308 //LT
309 a = [[2 3] < -3];
310 expected = [([2, 3]<(-3))];
311 assert_checkequal(a, expected);
312
313 a = [[2 3] < ...
314  -3];
315 assert_checkequal(a, expected);
316
317 a = [[2 3]  < ... // a comment
318  -3];
319 assert_checkequal(a, expected);
320
321 //GT
322 a = [[2 3] > -3];
323 expected = [([2, 3]>(-3))];
324 assert_checkequal(a, expected);
325
326 a = [[2 3] > ...
327  -3];
328 assert_checkequal(a, expected);
329
330 a = [[2 3]  > ... // a comment
331  -3];
332 assert_checkequal(a, expected);
333
334 //LE
335 a = [[2 3] <= -3];
336 expected = [([2, 3]<=(-3))];
337 assert_checkequal(a, expected);
338
339 a = [[2 3] <= ...
340  -3];
341 assert_checkequal(a, expected);
342
343 a = [[2 3]  <= ... // a comment
344  -3];
345 assert_checkequal(a, expected);
346
347 //GE
348 a = [[2 3] >= -3];
349 expected = [([2, 3]>=(-3))];
350 assert_checkequal(a, expected);
351
352 a = [[2 3] >= ...
353  -3];
354 assert_checkequal(a, expected);
355
356 a = [[2 3]  >= ... // a comment
357  -3];
358 assert_checkequal(a, expected);
359
360