Mercurial > hg > octave-avbm
diff src/oct-parse.yy @ 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 | 0a5a769b8fc0 |
line wrap: on
line diff
--- 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 *