Mercurial > hg > octave-lyh
comparison libinterp/parse-tree/pt-mat.cc @ 16924:aebb54d99dba
improve compatibility of parsing of matrices and cell arrays
* oct-parse.in.yy (matrix_rows1, cell_rows1): Delete non-terminals.
(matrix, matrix_rows, cell, cell_rows): Ignore empty elements.
(cell_or_matrix_row): Handle leading and trailing commas.
(octave_base_parser::finish_matrix, octave_base_parser::finish_cell):
Handle null matrix and cell objects.
* pt-mat.cc: New tests.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Mon, 08 Jul 2013 12:20:04 -0400 |
parents | 70f465930546 |
children | bc924baa2c4e |
comparison
equal
deleted
inserted
replaced
16923:5d08a2ec7edb | 16924:aebb54d99dba |
---|---|
1334 %!assert (class (["a", true]), "char") | 1334 %!assert (class (["a", true]), "char") |
1335 %!assert (class (["a", "a"]), "char") | 1335 %!assert (class (["a", "a"]), "char") |
1336 | 1336 |
1337 %!assert (class ([cell(1), struct("foo", "bar")]), "cell") | 1337 %!assert (class ([cell(1), struct("foo", "bar")]), "cell") |
1338 %!error [struct("foo", "bar"), cell(1)] | 1338 %!error [struct("foo", "bar"), cell(1)] |
1339 | |
1340 %!assert ([,1], 1) | |
1341 %!assert ([1,], 1) | |
1342 %!assert ([,1,], 1) | |
1343 %!assert ([,1,;;], 1) | |
1344 %!assert ([,1,;,;], 1) | |
1345 | |
1346 %!assert ([1,1], ones (1, 2)) | |
1347 %!assert ([,1,1], ones (1, 2)) | |
1348 %!assert ([1,1,], ones (1, 2)) | |
1349 %!assert ([,1,1,], ones (1, 2)) | |
1350 %!assert ([,1,1,;;], ones (1, 2)) | |
1351 %!assert ([,1,1,;,;], ones (1, 2)) | |
1352 %!assert ([,;,1,1], ones (1, 2)) | |
1353 | |
1354 %!assert ([1;1], ones (2, 1)) | |
1355 %!assert ([1,;1], ones (2, 1)) | |
1356 %!assert ([1,;,;1], ones (2, 1)) | |
1357 | |
1358 %!error eval ("[,,]") | |
1359 %!error eval ("[,,;,]") | |
1360 %!error eval ("[,;,,;,]") | |
1361 | |
1362 %!assert (isnull ([,])) | |
1363 %!assert (isnull ([;])) | |
1364 %!assert (isnull ([;;])) | |
1365 %!assert (isnull ([;,;])) | |
1366 %!assert (isnull ([,;,;,])) | |
1339 */ | 1367 */ |
1340 | 1368 |
1341 DEFUN (string_fill_char, args, nargout, | 1369 DEFUN (string_fill_char, args, nargout, |
1342 "-*- texinfo -*-\n\ | 1370 "-*- texinfo -*-\n\ |
1343 @deftypefn {Built-in Function} {@var{val} =} string_fill_char ()\n\ | 1371 @deftypefn {Built-in Function} {@var{val} =} string_fill_char ()\n\ |