Mercurial > hg > octave-lyh
changeset 10207:76a880a588ce
error when using ~ in matrix expression
author | Jaroslav Hajek <highegg@gmail.com> |
---|---|
date | Wed, 27 Jan 2010 13:13:26 +0100 |
parents | 37a08e0ce2dc |
children | c54ee101d13c |
files | src/ChangeLog src/oct-parse.yy |
diffstat | 2 files changed, 19 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2010-01-27 Jaroslav Hajek <highegg@gmail.com> + + * oct-parse.yy (validate_matrix_row): New static helper func. + (cell_or_matrix_row): Call it here. + 2010-01-27 Jaroslav Hajek <highegg@gmail.com> * oct-lvalue.h (octave_lvalue::is_black_hole): New method.
--- a/src/oct-parse.yy +++ b/src/oct-parse.yy @@ -315,6 +315,10 @@ static tree_decl_command * make_decl_command (int tok, token *tok_val, tree_decl_init_list *lst); +// Validate argument list forming a matrix or cell row. +static tree_argument_list * +validate_matrix_row (tree_argument_list *row); + // Finish building a matrix list. static tree_expression * finish_matrix (tree_matrix *m); @@ -714,9 +718,9 @@ cell_or_matrix_row : arg_list - { $$ = $1; } + { $$ = validate_matrix_row ($1); } | arg_list ',' // Ignore trailing comma. - { $$ = $1; } + { $$ = validate_matrix_row ($1); } ; fcn_handle : '@' FCN_HANDLE @@ -3104,6 +3108,14 @@ return retval; } +static tree_argument_list * +validate_matrix_row (tree_argument_list *row) +{ + if (row && row->has_magic_tilde ()) + yyerror ("invalid use of tilde (~) in matrix expression"); + return row; +} + // Finish building a matrix list. static tree_expression *