comparison libinterp/parse-tree/parse.h @ 17731:f79bf671a493

eliminate global LEXER variable * input.h, input.cc (octave_base_reader::lexer): New member variable. (octave_base_reader::octave_base_reader): Initialize lexer. (octave_base_reader::octave_base_reader (const octave_base_reader&)): Also copy pflag and lexer. (octave_base_reader::reading_fcn_file, octave_base_reader::reading_classdef_file, octave_base_reader::reading_script_file): New functions. (octave_base_reader::do_input_echo): Call reading_script file instead of using global LEXER variable. (get_user_input): Don't user global LEXER variable. Only check interactive and forced_interactive to decide whether to temporarily set forced_interactive to true. (octave_terminal_reader::octave_terminal_reader, octave_file_reader::octave_file_reader, octave_eval_string_reader::octave_eval_string_reader, octave_input_reader::octave_input_reader): New optional arg, lexer. * toplev.cc (main_loop): Don't user global LEXER variable. Eliminate unused unwind_protect frame. * lex.h, lex.ll (octave_base_lexer::cleanup): Delete unused function. (octave_lexer::octave_lexer): Pass this to input_reader initializer. * parse.h, oct-parse.in.yy (octave_base_parser::init): Delete unneded function. (octave_base_parser::octave_base_parser, octave_push_parser::init, octave_push_parser::octave_push_parser): Don't call octave_base_parser::init. (eval_string): Don't use global LEXER variable. Eliminate unused unwind_protect frame.
author John W. Eaton <jwe@octave.org>
date Tue, 22 Oct 2013 18:43:36 -0400
parents efbe746f8fa8
children d63878346099
comparison
equal deleted inserted replaced
17730:580990c2ce04 17731:f79bf671a493
136 parsing_subfunctions (false), max_fcn_depth (0), 136 parsing_subfunctions (false), max_fcn_depth (0),
137 curr_fcn_depth (0), primary_fcn_scope (-1), 137 curr_fcn_depth (0), primary_fcn_scope (-1),
138 curr_class_name (), function_scopes (), primary_fcn_ptr (0), 138 curr_class_name (), function_scopes (), primary_fcn_ptr (0),
139 subfunction_names (), stmt_list (0), 139 subfunction_names (), stmt_list (0),
140 lexer (lxr) 140 lexer (lxr)
141 { 141 { }
142 init ();
143 }
144 142
145 ~octave_base_parser (void); 143 ~octave_base_parser (void);
146
147 void init (void);
148 144
149 void reset (void); 145 void reset (void);
150 146
151 // Error mesages for mismatched end tokens. 147 // Error mesages for mismatched end tokens.
152 void end_error (const char *type, token::end_tok_type ettype, int l, int c); 148 void end_error (const char *type, token::end_tok_type ettype, int l, int c);