comparison 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
comparison
equal deleted inserted replaced
16680:de79cdbbdf7c 16681:d3619d4d267c
861 && curr_lexer->space_follows_previous_token ()) 861 && curr_lexer->space_follows_previous_token ())
862 { 862 {
863 yyless (0); 863 yyless (0);
864 curr_lexer->push_start_state (COMMAND_START); 864 curr_lexer->push_start_state (COMMAND_START);
865 } 865 }
866 else if (curr_lexer->at_beginning_of_statement)
867 {
868 curr_lexer->current_input_column++;
869 int retval = curr_lexer->handle_string ('\'');
870 return curr_lexer->count_token_internal (retval);
871 }
866 else 872 else
867 { 873 {
868 int tok = curr_lexer->previous_token_value (); 874 int tok = curr_lexer->previous_token_value ();
869 875
870 if (curr_lexer->whitespace_is_significant ()) 876 if (curr_lexer->whitespace_is_significant ())