Mercurial > octave
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 (); |