Mercurial > octave
annotate test/bug-38576.tst @ 16360:11115c237231
recognize variables when parsing (bug #38576)
* lex.h, lex.ll (lexical_feedback::mark_as_variable,
lexical_feedback::maybe_mark_previous_token_as_variable,
lexical_feedback::mark_as_variables, octave_lexer::is_variable):
New fucntions.
("="): Call maybe_mark_previous_toke_as_variable.
(handle_identifier): Don't tag variables as possible commands.
(param_list): Mark names in list as variables.
(octave_base_parser::validate_matrix_for_assignment): Likewise.
* pt-arg-list.h, pt-arg-list.cc (tree_argument_list::variable_names):
New function.
* pt-misc.h, pt-misc.cc (tree_parameter_list::variable_names):
New function.
* token.h, token.cc (token::symbol_name, token::is_symbol):
New functions.
* test/bug-38576.tst: New file.
* test/Makefile.am (FCN_FILES): Add bug-38576.tst to the list.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Sat, 23 Mar 2013 15:02:29 -0400 |
parents | |
children | 730bc06134f9 |
rev | line source |
---|---|
16360
11115c237231
recognize variables when parsing (bug #38576)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
1 %!function r = f1 () |
11115c237231
recognize variables when parsing (bug #38576)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
2 %! ls = svd (1); |
11115c237231
recognize variables when parsing (bug #38576)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
3 %! r = eval ("ls -1;"); |
11115c237231
recognize variables when parsing (bug #38576)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
4 %!endfunction |
11115c237231
recognize variables when parsing (bug #38576)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
5 %!function r = f2 () |
11115c237231
recognize variables when parsing (bug #38576)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
6 %! [u,ls,v] = svd (1); |
11115c237231
recognize variables when parsing (bug #38576)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
7 %! r = eval ("ls -1;"); |
11115c237231
recognize variables when parsing (bug #38576)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
8 %!endfunction |
11115c237231
recognize variables when parsing (bug #38576)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
9 %!function r = f3 (ls) |
11115c237231
recognize variables when parsing (bug #38576)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
10 %! r = eval ("ls -1;"); |
11115c237231
recognize variables when parsing (bug #38576)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
11 %!endfunction |
11115c237231
recognize variables when parsing (bug #38576)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
12 |
11115c237231
recognize variables when parsing (bug #38576)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
13 %!assert (f1 (), 0); |
11115c237231
recognize variables when parsing (bug #38576)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
14 %!assert (f2 (), 0); |
11115c237231
recognize variables when parsing (bug #38576)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
15 %!assert (ischar (f3 ()), true); |
11115c237231
recognize variables when parsing (bug #38576)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
16 %!assert (f3 (1), 0); |