[doc] Misc. small improvements
[scilab.git] / scilab / modules / ast / tests / unit_tests / parser.dia.ref
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 // <-- CLI SHELL MODE -->
8 // line break
9 colvect(1,1) = 1;
10 colvect(2,1) = -2;
11 linevect = colvect';
12 a=[1; ...
13 -2];
14 assert_checkequal(a,  colvect);
15 a=[1;...
16 -2];
17 assert_checkequal(a,  colvect);
18 a=[1; ...
19  -2];
20 assert_checkequal(a,  colvect);
21 a=[1;...
22  -2];
23 assert_checkequal(a,  colvect);
24 a=[1; ...
25 - 2];
26 assert_checkequal(a,  colvect);
27 a=[1;...
28 - 2];
29 assert_checkequal(a,  colvect);
30 a=[1 ...
31 -2];
32 assert_checkequal(a,  linevect);
33 a=[1...
34 -2];
35 assert_checkequal(a,  -1);
36 a=[1 ...
37  -2];
38 assert_checkequal(a,  linevect);
39 a=[1...
40  -2];
41 assert_checkequal(a,  linevect);
42 a=[1 ...
43 - 2];
44 assert_checkequal(a,  -1);
45 a=[1...
46 - 2];
47 assert_checkequal(a,  -1);
48 a=[1; ...//comment
49 -2];
50 assert_checkequal(a,  colvect);
51 a=[1;...//comment
52 -2];
53 assert_checkequal(a,  colvect);
54 a=[1; ...//comment
55  -2];
56 assert_checkequal(a,  colvect);
57 a=[1;...//comment
58  -2];
59 assert_checkequal(a,  colvect);
60 a=[1; ...//comment
61 - 2];
62 assert_checkequal(a,  colvect);
63 a=[1;...//comment
64 - 2];
65 assert_checkequal(a,  colvect);
66 a=[1 ...//comment
67 -2];
68 assert_checkequal(a,  linevect);
69 a=[1...//comment
70 -2];
71 assert_checkequal(a,  -1);
72 a=[1 ...//comment
73  -2];
74 assert_checkequal(a,  linevect);
75 a=[1...//comment
76  -2];
77 assert_checkequal(a,  linevect);
78 a=[1 ...//comment
79 - 2];
80 assert_checkequal(a,  -1);
81 a=[1...//comment
82 - 2];
83 assert_checkequal(a,  -1);
84 a=[1 ...
85 -2 ];
86 assert_checkequal(a,  linevect);
87 a=[1...
88 -2 ];
89 assert_checkequal(a,  -1);
90 a=[1 ...
91  -2 ];
92 assert_checkequal(a,  linevect);
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,  -1);
102 // Operators within matrices
103 // DOTTIMES
104 a = [[2 3] .* -3];
105 expected = [-6 -9];
106 assert_checkequal(a, expected);
107 a = [[2 3] .* ...
108 -3];
109 assert_checkequal(a, expected);
110 a = [[2 3] .* ... // a comment
111 -3];
112 assert_checkequal(a, expected);
113 //DOTRDIVIDE
114 a = [[2 3] ./ -3];
115 expected = [-2/3 -1];
116 assert_checkequal(a, expected);
117 a = [[2 3] ./ ...
118 -3];
119 assert_checkequal(a, expected);
120 a = [[2 3] ./ ... // a comment
121 -3];
122 assert_checkequal(a, expected);
123 //DOTLDIVIDE
124 a = [[2 3] .\ -3];
125 expected = [-3/2 -1];
126 assert_checkequal(a, expected);
127 a = [[2 3] .\ ...
128 -3];
129 assert_checkequal(a, expected);
130 a = [[2 3] .\ ... // a comment
131 -3];
132 assert_checkequal(a, expected);
133 //DOTPOWER
134 a = [[2 3] .^ -3];
135 expected = [(2^(-3)), (3^(-3))];
136 assert_checkequal(a, expected);
137 a = [[2 3] .^ ...
138 -3];
139 assert_checkequal(a, expected);
140 a = [[2 3] .^ ... // a comment
141 -3];
142 assert_checkequal(a, expected);
143 //MINUS
144 a = [[2 3] - -3];
145 expected = [(2-(-3)), (3-(-3))];
146 assert_checkequal(a, expected);
147 a = [[2 3] - ...
148 -3];
149 assert_checkequal(a, expected);
150 a = [[2 3] - ... // a comment
151 -3];
152 assert_checkequal(a, expected);
153 //PLUS
154 a = [[2 3] + -3];
155 expected = [(2+(-3)), (3+(-3))];
156 assert_checkequal(a, expected);
157 a = [[2 3] + ...
158 -3];
159 assert_checkequal(a, expected);
160 a = [[2 3] + ... // a comment
161 -3];
162 assert_checkequal(a, expected);
163 //TIMES
164 a = [2 * -3];
165 expected = [(2*(-3))];
166 assert_checkequal(a, expected);
167 a = [2 * ...
168  -3];
169 assert_checkequal(a, expected);
170 a = [2  * ... // a comment
171  -3];
172 assert_checkequal(a, expected);
173 //RDIVIDE
174 a = [2 / -3];
175 expected = [(2/(-3))];
176 assert_checkequal(a, expected);
177 a = [2 / ...
178  -3];
179 assert_checkequal(a, expected);
180 a = [2  / ... // a comment
181  -3];
182 assert_checkequal(a, expected);
183 //LDIVIDE
184 a = [2 \ -3];
185 expected = [(2\(-3))];
186 assert_checkequal(a, expected);
187 a = [2 \ ...
188  -3];
189 assert_checkequal(a, expected);
190 a = [2  \ ... // a comment
191  -3];
192 assert_checkequal(a, expected);
193 //POWER
194 a = [2 ^ -3];
195 expected = [(2^(-3))];
196 assert_checkequal(a, expected);
197 a = [2 ^ ...
198  -3];
199 assert_checkequal(a, expected);
200 a = [2  ^ ... // a comment
201  -3];
202 assert_checkequal(a, expected);
203 //KRONTIMES
204 a = [[2 3] .*. -3];
205 expected = [([2, 3].*.(-3))];
206 assert_checkequal(a, expected);
207 a = [[2 3] .*. ...
208  -3];
209 assert_checkequal(a, expected);
210 a = [[2 3] .*. ... // a comment
211  -3];
212 assert_checkequal(a, expected);
213 //KRONRDIVIDE
214 a = [[2 3] ./. -3];
215 expected = -[2 3] / 3;
216 assert_checkequal(a, expected);
217 a = [[2 3] ./. ...
218  -3];
219 assert_checkequal(a, expected);
220 a = [[2 3] ./. ... // a comment
221  -3];
222 assert_checkequal(a, expected);
223 //KRONLDIVIDE
224 a = [-3 .\. [2 3]];
225 assert_checkequal(a, expected);
226 a = [-3 .\. ...
227  [2 3]];
228 assert_checkequal(a, expected);
229 a = [-3 .\. ... // a comment
230  [2 3]];
231 assert_checkequal(a, expected);
232 //EQ
233 a = [[2 3] == -3];
234 expected = [([2, 3]==(-3))];
235 assert_checkequal(a, expected);
236 a = [[2 3] == ...
237  -3];
238 assert_checkequal(a, expected);
239 a = [[2 3] == ... // a comment
240  -3];
241 assert_checkequal(a, expected);
242 //NE
243 a = [[2 3] ~= -3];
244 expected = [([2, 3]~=(-3))];
245 assert_checkequal(a, expected);
246 a = [[2 3] ~= ...
247  -3];
248 assert_checkequal(a, expected);
249 a = [[2 3]  ~= ... // a comment
250  -3];
251 assert_checkequal(a, expected);
252 //LT
253 a = [[2 3] < -3];
254 expected = [([2, 3]<(-3))];
255 assert_checkequal(a, expected);
256 a = [[2 3] < ...
257  -3];
258 assert_checkequal(a, expected);
259 a = [[2 3]  < ... // a comment
260  -3];
261 assert_checkequal(a, expected);
262 //GT
263 a = [[2 3] > -3];
264 expected = [([2, 3]>(-3))];
265 assert_checkequal(a, expected);
266 a = [[2 3] > ...
267  -3];
268 assert_checkequal(a, expected);
269 a = [[2 3]  > ... // a comment
270  -3];
271 assert_checkequal(a, expected);
272 //LE
273 a = [[2 3] <= -3];
274 expected = [([2, 3]<=(-3))];
275 assert_checkequal(a, expected);
276 a = [[2 3] <= ...
277  -3];
278 assert_checkequal(a, expected);
279 a = [[2 3]  <= ... // a comment
280  -3];
281 assert_checkequal(a, expected);
282 //GE
283 a = [[2 3] >= -3];
284 expected = [([2, 3]>=(-3))];
285 assert_checkequal(a, expected);
286 a = [[2 3] >= ...
287  -3];
288 assert_checkequal(a, expected);
289 a = [[2 3]  >= ... // a comment
290  -3];
291 assert_checkequal(a, expected);
292 // bug_14361
293 a=[1; .../* a comment */
294 -2];
295 assert_checkequal(a,  colvect);
296 a=[1;.../* a comment */
297 -2];
298 assert_checkequal(a,  colvect);
299 a=[1; .../* a comment */
300  -2];
301 assert_checkequal(a,  colvect);
302 a=[1;.../* a comment */
303  -2];
304 assert_checkequal(a,  colvect);
305 a=[1; .../* a comment */
306 - 2];
307 assert_checkequal(a,  colvect);
308 a=[1;.../* a comment */
309 - 2];
310 assert_checkequal(a,  colvect);
311 a=[1 .../* a comment */
312 -2];
313 assert_checkequal(a,  linevect);
314 a=[1.../* a comment */
315 -2];
316 assert_checkequal(a,  -1);
317 a=[1 .../* a comment */
318  -2];
319 assert_checkequal(a,  linevect);
320 a=[1.../* a comment */
321  -2];
322 assert_checkequal(a,  linevect);
323 a=[1 .../* a comment */
324 - 2];
325 assert_checkequal(a,  -1);
326 a=[1.../* a comment */
327 - 2];
328 assert_checkequal(a,  -1);
329 // Operators within matrices
330 // DOTTIMES
331 a = [[2 3] .* ... /* a comment */
332 -3];
333 expected = [-6 -9];
334 assert_checkequal(a, expected);
335 //DOTRDIVIDE
336 a = [[2 3] ./ ... /* a comment */
337 -3];
338 expected = [-2/3 -1];
339 assert_checkequal(a, expected);
340 //DOTLDIVIDE
341 a = [[2 3] .\ ... /* a comment */
342 -3];
343 expected = [-3/2 -1];
344 assert_checkequal(a, expected);
345 //DOTPOWER
346 a = [[2 3] .^ ... /* a comment */
347 -3];
348 expected = [(2^(-3)), (3^(-3))];
349 assert_checkequal(a, expected);
350 //MINUS
351 a = [[2 3] - ... /* a comment */
352 -3];
353 expected = [(2-(-3)), (3-(-3))];
354 assert_checkequal(a, expected);
355 //PLUS
356 a = [[2 3] + ... /* a comment */
357 -3];
358 expected = [(2+(-3)), (3+(-3))];
359 assert_checkequal(a, expected);
360 //TIMES
361 a = [2  * ... /* a comment */
362  -3];
363 expected = [(2*(-3))];
364 assert_checkequal(a, expected);
365 //RDIVIDE
366 a = [2  / ... /* a comment */
367  -3];
368 expected = [(2/(-3))];
369 assert_checkequal(a, expected);
370 //LDIVIDE
371 a = [2  \ ... /* a comment */
372  -3];
373 expected = [(2\(-3))];
374 assert_checkequal(a, expected);
375 //POWER
376 a = [2  ^ ... /* a comment */
377  -3];
378 expected = [(2^(-3))];
379 assert_checkequal(a, expected);
380 //KRONTIMES
381 a = [[2 3] .*. ... /* a comment */
382  -3];
383 expected = [([2, 3].*.(-3))];
384 assert_checkequal(a, expected);
385 //kronrdivide
386 a = [[2 3] ./. ... /* a comment */
387  -3];
388 expected = [([2, 3] ./. (-3))];
389 assert_checkequal(a, expected);
390 //KRONLDIVIDE
391 a = [-3 .\.  ... /* a comment */
392  [2 3]];
393 assert_checkequal(a, expected);
394 //EQ
395 a = [[2 3] == ... /* a comment */
396  -3];
397 expected = [([2, 3]==(-3))];
398 assert_checkequal(a, expected);
399 //NE
400 a = [[2 3]  ~= ... /* a comment */
401  -3];
402 expected = [([2, 3]~=(-3))];
403 assert_checkequal(a, expected);
404 //LT
405 a = [[2 3]  < ... /* a comment */
406  -3];
407 expected = [([2, 3]<(-3))];
408 assert_checkequal(a, expected);
409 //GT
410 a = [[2 3]  > ... /* a comment */
411  -3];
412 expected = [([2, 3]>(-3))];
413 assert_checkequal(a, expected);
414 //LE
415 a = [[2 3]  <= ... /* a comment */
416  -3];
417 expected = [([2, 3]<=(-3))];
418 assert_checkequal(a, expected);
419 //GE
420 a = [[2 3]  >= ... /* a comment */
421  -3];
422 expected = [([2, 3]>=(-3))];
423 assert_checkequal(a, expected);
424 // Comments on several lines
425 a=[1; .../* a comment 
426  on several lines */
427 -2];
428 assert_checkequal(a,  colvect);
429 a=[1;.../* a comment 
430  on several lines */
431 -2];
432 assert_checkequal(a,  colvect);
433 a=[1; .../* a comment 
434  on several lines */
435  -2];
436 assert_checkequal(a,  colvect);
437 a=[1;.../* a comment 
438  on several lines */
439  -2];
440 assert_checkequal(a,  colvect);
441 a=[1; .../* a comment 
442  on several lines */
443 - 2];
444 assert_checkequal(a,  colvect);
445 a=[1;.../* a comment 
446  on several lines */
447 - 2];
448 assert_checkequal(a,  colvect);
449 a=[1 .../* a comment 
450  on several lines */
451 -2];
452 assert_checkequal(a,  linevect);
453 a=[1.../* a comment 
454  on several lines */
455 -2];
456 assert_checkequal(a,  -1);
457 a=[1 .../* a comment 
458  on several lines */
459  -2];
460 assert_checkequal(a,  linevect);
461 a=[1.../* a comment 
462  on several lines */
463  -2];
464 assert_checkequal(a,  linevect);
465 a=[1 .../* a comment 
466  on several lines */
467 - 2];
468 assert_checkequal(a,  -1);
469 a=[1.../* a comment 
470  on several lines */
471 - 2];
472 assert_checkequal(a,  -1);
473 // Operators within matrices
474 // DOTTIMES
475 a = [[2 3] .* ... /* a comment 
476  on several lines */
477 -3];
478 expected = [-6 -9];
479 assert_checkequal(a, expected);
480 //DOTRDIVIDE
481 a = [[2 3] ./ ... /* a comment 
482  on several lines */
483 -3];
484 expected = [-2/3 -1];
485 assert_checkequal(a, expected);
486 //DOTLDIVIDE
487 a = [[2 3] .\ ... /* a comment 
488  on several lines */
489 -3];
490 expected = [-3/2 -1];
491 assert_checkequal(a, expected);
492 //DOTPOWER
493 a = [[2 3] .^ ... /* a comment 
494  on several lines */
495 -3];
496 expected = [(2^(-3)), (3^(-3))];
497 assert_checkequal(a, expected);
498 //MINUS
499 a = [[2 3] - ... /* a comment 
500  on several lines */
501 -3];
502 expected = [(2-(-3)), (3-(-3))];
503 assert_checkequal(a, expected);
504 //PLUS
505 a = [[2 3] + ... /* a comment 
506  on several lines */
507 -3];
508 expected = [(2+(-3)), (3+(-3))];
509 assert_checkequal(a, expected);
510 //TIMES
511 a = [2  * ... /* a comment 
512  on several lines */
513  -3];
514 expected = [(2*(-3))];
515 assert_checkequal(a, expected);
516 //RDIVIDE
517 a = [2  / ... /* a comment 
518  on several lines */
519  -3];
520 expected = [(2/(-3))];
521 assert_checkequal(a, expected);
522 //LDIVIDE
523 a = [2  \ ... /* a comment 
524  on several lines */
525  -3];
526 expected = [(2\(-3))];
527 assert_checkequal(a, expected);
528 //POWER
529 a = [2  ^ ... /* a comment 
530  on several lines */
531  -3];
532 expected = [(2^(-3))];
533 assert_checkequal(a, expected);
534 //KRONTIMES
535 a = [[2 3] .*. ... /* a comment 
536  on several lines */
537  -3];
538 expected = [([2, 3].*.(-3))];
539 assert_checkequal(a, expected);
540 //KRONRDIVIDE
541 a = [[2 3] ./. ... /* a comment 
542  on several lines */
543  -3];
544 expected = [([2, 3]./.(-3))];
545 assert_checkequal(a, expected);
546 //KRONLDIVIDE
547 a = [ -3 .\. ... /* a comment 
548  on several lines */
549  [2 3] ];
550 assert_checkequal(a, expected);
551 //EQ
552 a = [[2 3] == ... /* a comment 
553  on several lines */
554  -3];
555 expected = [([2, 3]==(-3))];
556 assert_checkequal(a, expected);
557 //NE
558 a = [[2 3]  ~= ... /* a comment 
559  on several lines */
560  -3];
561 expected = [([2, 3]~=(-3))];
562 assert_checkequal(a, expected);
563 //LT
564 a = [[2 3]  < ... /* a comment 
565  on several lines */
566  -3];
567 expected = [([2, 3]<(-3))];
568 assert_checkequal(a, expected);
569 //GT
570 a = [[2 3]  > ... /* a comment 
571  on several lines */
572  -3];
573 expected = [([2, 3]>(-3))];
574 assert_checkequal(a, expected);
575 //LE
576 a = [[2 3]  <= ... /* a comment 
577  on several lines */
578  -3];
579 expected = [([2, 3]<=(-3))];
580 assert_checkequal(a, expected);
581 //GE
582 a = [[2 3]  >= ... /* a comment 
583  on several lines */
584  -3];
585 expected = [([2, 3]>=(-3))];
586 assert_checkequal(a, expected);
587 // Special behaviour of ... with + and -
588 a = [1 +...
589 2]
590  a  = 
591    3.
592 expected = 3;
593 assert_checkequal(a, expected);
594 a = [1 +...
595  2]
596  a  = 
597    3.
598 expected = 3;
599 assert_checkequal(a, expected);
600 a = [1 +...
601  +2]
602  a  = 
603    3.
604 expected = 3;
605 assert_checkequal(a, expected);
606 a = [1 -...
607 2]
608  a  = 
609   -1.
610 expected = -1;
611 assert_checkequal(a, expected);
612 a = [1 -...
613  2]
614  a  = 
615   -1.
616 expected = -1;
617 assert_checkequal(a, expected);
618 a = [1 -...
619  -2]
620  a  = 
621    3.
622 expected = 3;
623 assert_checkequal(a, expected);
624 // Case with multiline comment
625 str_cmd = ["a = [1 -... /* the start of a";
626           "multiline comment */ 2 3]"]; // this currently generates an error
627 assert_checktrue(execstr(str_cmd, "errcatch") <> 0);
628 // bug_14374 comments in SHELLMODE
629 // Testing if shellmode execution with command
630 // convstr a u // a comment
631 // convstr a /* a comment */
632 // convstr a u /* some text
633 //                ending comment here */
634 exec(SCI + "/modules/ast/tests/nonreg_tests/bug_14374.tst");
635 // Bug 7646: matrix transpose extraction
636 exec(SCI + "/modules/ast/tests/nonreg_tests/bug_7646.tst");
637 // Bug 14662: matrix concatenation with simple quote and space led to a parser error
638 exec(SCI + "/modules/ast/tests/nonreg_tests/bug_14662.tst");
639 // Bug 14667: multi line string in matrix generated a non terminal parser state
640 exec(SCI + "/modules/ast/tests/nonreg_tests/bug_14667.tst");