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