comparison libinterp/octave-value/ov-usr-fcn.cc @ 22196:dd992fd74fce

put parser, lexer, and evaluator in namespace; interpreter now owns evaluator * oct-parse.in.yy, parse.h: Move parser classes to octave namespace. * lex.ll, lex.h: Move lexer classes to octave namespace. * pt-eval.h, pt-eval.cc: Move evaluator class to octave namespace. Don't define global current evaluator pointer here. * debug.cc, error.cc, input.cc, input.h, ls-mat-ascii.cc, pt-jit.cc, sighandlers.cc, utils.cc, variables.cc, ov-usr-fcn.cc, pt-assign.cc, pt-exp.h, pt-id.cc: Update for namespaces. * interpreter.cc, interpreter.h (current_evaluator): New global var. (interpreter::m_evaluator): New data member. (interpreter::~interpreter): Delete evaluator.
author John W. Eaton <jwe@octave.org>
date Tue, 12 Jul 2016 14:28:07 -0400
parents 8de49f15e182
children dbf7fd79e391
comparison
equal deleted inserted replaced
22195:93ed9396f2c3 22196:dd992fd74fce
139 139
140 octave_call_stack::push (this); 140 octave_call_stack::push (this);
141 141
142 frame.add_fcn (octave_call_stack::pop); 142 frame.add_fcn (octave_call_stack::pop);
143 143
144 // Update line number even if debugging.
144 frame.protect_var (Vtrack_line_num); 145 frame.protect_var (Vtrack_line_num);
145 Vtrack_line_num = true; // update line no. even if debugging 146 Vtrack_line_num = true;
146 147
147 frame.protect_var (tree_evaluator::statement_context); 148 frame.protect_var (octave::tree_evaluator::statement_context);
148 tree_evaluator::statement_context = tree_evaluator::script; 149 octave::tree_evaluator::statement_context = octave::tree_evaluator::script;
149 150
150 BEGIN_PROFILER_BLOCK (octave_user_script) 151 BEGIN_PROFILER_BLOCK (octave_user_script)
151 152
152 cmd_list->accept (*current_evaluator); 153 cmd_list->accept (*octave::current_evaluator);
153 154
154 END_PROFILER_BLOCK 155 END_PROFILER_BLOCK
155 156
156 if (tree_return_command::returning) 157 if (tree_return_command::returning)
157 tree_return_command::returning = 0; 158 tree_return_command::returning = 0;
581 frame.protect_var (curr_unwind_protect_frame); 582 frame.protect_var (curr_unwind_protect_frame);
582 curr_unwind_protect_frame = &frame; 583 curr_unwind_protect_frame = &frame;
583 584
584 // Evaluate the commands that make up the function. 585 // Evaluate the commands that make up the function.
585 586
586 frame.protect_var (tree_evaluator::statement_context); 587 frame.protect_var (octave::tree_evaluator::statement_context);
587 tree_evaluator::statement_context = tree_evaluator::function; 588 octave::tree_evaluator::statement_context = octave::tree_evaluator::function;
588 589
589 BEGIN_PROFILER_BLOCK (octave_user_function) 590 BEGIN_PROFILER_BLOCK (octave_user_function)
590 591
591 if (is_special_expr ()) 592 if (is_special_expr ())
592 { 593 {
596 retval = (lvalue_list 597 retval = (lvalue_list
597 ? expr->rvalue (nargout, lvalue_list) 598 ? expr->rvalue (nargout, lvalue_list)
598 : expr->rvalue (nargout)); 599 : expr->rvalue (nargout));
599 } 600 }
600 else 601 else
601 cmd_list->accept (*current_evaluator); 602 cmd_list->accept (*octave::current_evaluator);
602 603
603 END_PROFILER_BLOCK 604 END_PROFILER_BLOCK
604 605
605 if (echo_commands) 606 if (echo_commands)
606 print_code_function_trailer (); 607 print_code_function_trailer ();