GNU Octave  6.2.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
interpreter-private.h
Go to the documentation of this file.
1 ////////////////////////////////////////////////////////////////////////
2 //
3 // Copyright (C) 2017-2021 The Octave Project Developers
4 //
5 // See the file COPYRIGHT.md in the top-level directory of this
6 // distribution or <https://octave.org/copyright/>.
7 //
8 // This file is part of Octave.
9 //
10 // Octave is free software: you can redistribute it and/or modify it
11 // under the terms of the GNU General Public License as published by
12 // the Free Software Foundation, either version 3 of the License, or
13 // (at your option) any later version.
14 //
15 // Octave is distributed in the hope that it will be useful, but
16 // WITHOUT ANY WARRANTY; without even the implied warranty of
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 // GNU General Public License for more details.
19 //
20 // You should have received a copy of the GNU General Public License
21 // along with Octave; see the file COPYING. If not, see
22 // <https://www.gnu.org/licenses/>.
23 //
24 ////////////////////////////////////////////////////////////////////////
25 
26 #if ! defined (octave_interpreter_private_h)
27 #define octave_interpreter_private_h 1
28 
29 #include "octave-config.h"
30 
31 #include <list>
32 #include <string>
33 
34 #include "symtab.h"
35 
36 class gh_manager;
37 
38 namespace octave
39 {
40  class bp_table;
41  class cdef_manager;
42  class child_list;
43  class display_info;
44  class dynamic_loader;
45  class error_system;
46  class event_manager;
47  class gtk_manager;
48  class help_system;
49  class input_system;
50  class interpreter;
51  class load_path;
52  class load_save_system;
53  class output_system;
54  class tree_evaluator;
55  class type_info;
56 
57  extern interpreter& __get_interpreter__ (const std::string& who);
58 
59  extern dynamic_loader& __get_dynamic_loader__ (const std::string& who);
60 
61  extern error_system& __get_error_system__ (const std::string& who);
62 
63  extern gh_manager& __get_gh_manager__ (const std::string& who);
64 
65  extern help_system& __get_help_system__ (const std::string& who);
66 
67  extern input_system& __get_input_system__ (const std::string& who);
68 
69  extern load_path& __get_load_path__ (const std::string& who);
70 
71  extern load_save_system& __get_load_save_system__ (const std::string& who);
72 
73  extern event_manager& __get_event_manager__ (const std::string& who);
74 
75  extern output_system& __get_output_system__ (const std::string& who);
76 
77  extern type_info& __get_type_info__ (const std::string& who);
78 
79  extern symbol_table& __get_symbol_table__ (const std::string& who);
80 
81  extern symbol_scope __get_current_scope__ (const std::string& who);
82 
83  extern symbol_scope __require_current_scope__ (const std::string& who);
84 
85  extern tree_evaluator& __get_evaluator__ (const std::string& who);
86 
87  extern bp_table& __get_bp_table__ (const std::string& who);
88 
89  extern child_list& __get_child_list__ (const std::string& who);
90 
91  extern cdef_manager& __get_cdef_manager__ (const std::string& who);
92 
93  extern display_info& __get_display_info__ (const std::string& who);
94 
95  extern gtk_manager& __get_gtk_manager__ (const std::string& who);
96 
97  // Functions that could be methods in the interpreter class but maybe
98  // shouldn't be exposed as part of the public interface.
99 
100  // Convert octave_value object ARG to be a function handle object. It
101  // may be a function handle, inline function, the name of a function,
102  // or the text of an inline function that has the given argument names
103  // PARAMETER_NAMES. Use of the latter form is discouraged.
104 
106  get_function_handle (interpreter& interp, const octave_value& arg,
107  const std::string& parameter_name);
108 
110  get_function_handle (interpreter& interp, const octave_value& arg,
111  const std::list<std::string>& parameter_names
112  = std::list<std::string> ());
113 }
114 
115 #endif
help_system & __get_help_system__(const std::string &who)
gh_manager & __get_gh_manager__(const std::string &who)
output_system & __get_output_system__(const std::string &who)
type_info & __get_type_info__(const std::string &who)
error_system & __get_error_system__(const std::string &who)
interpreter & __get_interpreter__(const std::string &who)
load_save_system & __get_load_save_system__(const std::string &who)
bp_table & __get_bp_table__(const std::string &who)
dynamic_loader & __get_dynamic_loader__(const std::string &who)
tree_evaluator & __get_evaluator__(const std::string &who)
gtk_manager & __get_gtk_manager__(const std::string &who)
event_manager & __get_event_manager__(const std::string &who)
octave_value get_function_handle(interpreter &interp, const octave_value &arg, const std::string &parameter_name)
input_system & __get_input_system__(const std::string &who)
display_info & __get_display_info__(const std::string &who)
symbol_scope __get_current_scope__(const std::string &who)
symbol_table & __get_symbol_table__(const std::string &who)
child_list & __get_child_list__(const std::string &who)
symbol_scope __require_current_scope__(const std::string &who)
cdef_manager & __get_cdef_manager__(const std::string &who)
load_path & __get_load_path__(const std::string &who)