Mercurial > octave-nkf
diff libinterp/parse-tree/lex.ll @ 16681:d3619d4d267c
recognize character string at beginning of statement (bug #38926, #38958)
* lex.ll ("'"): Always begin a character string if at the beginning of
a statement.
* oct-parse.in.yy (stmt_begin): New non-terminal.
(anon_fcn_handle, if_cmd_list1, elseif_clause, switch_case,
loop_command): Use it.
* pt-fcn-handle.cc, for.tst, if.tst, switch.tst, while.tst:
New tests.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Sat, 18 May 2013 16:21:32 -0400 |
parents | de79cdbbdf7c |
children | e1c6ad54259f d56cbc17566e |
line wrap: on
line diff
--- a/libinterp/parse-tree/lex.ll Sat May 18 14:34:25 2013 -0400 +++ b/libinterp/parse-tree/lex.ll Sat May 18 16:21:32 2013 -0400 @@ -863,6 +863,12 @@ yyless (0); curr_lexer->push_start_state (COMMAND_START); } + else if (curr_lexer->at_beginning_of_statement) + { + curr_lexer->current_input_column++; + int retval = curr_lexer->handle_string ('\''); + return curr_lexer->count_token_internal (retval); + } else { int tok = curr_lexer->previous_token_value ();