GNU Octave
4.2.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
libgui
src
octave-interpreter.cc
Go to the documentation of this file.
1
/*
2
3
Copyright (C) 2013-2017 John W. Eaton
4
Copyright (C) 2011-2016 Jacob Dawid
5
6
This file is part of Octave.
7
8
Octave is free software; you can redistribute it and/or modify it
9
under the terms of the GNU General Public License as published by the
10
Free Software Foundation; either version 3 of the License, or (at your
11
option) any later version.
12
13
Octave is distributed in the hope that it will be useful, but WITHOUT
14
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
15
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
16
for more details.
17
18
You should have received a copy of the GNU General Public License
19
along with Octave; see the file COPYING. If not, see
20
<http://www.gnu.org/licenses/>.
21
22
*/
23
24
#if defined (HAVE_CONFIG_H)
25
# include "config.h"
26
#endif
27
28
#include "
octave.h
"
29
30
#include "
octave-interpreter.h
"
31
32
octave_interpreter::octave_interpreter
(octave::application *app_context)
33
:
QObject
(), thread_manager (), m_app_context (app_context),
34
m_exit_status (0)
35
{ }
36
37
void
38
octave_interpreter::execute
(
void
)
39
{
40
thread_manager
.
register_current_thread
();
41
42
octave_thread_manager::unblock_interrupt_signal
();
43
44
// The application context owns the interpreter.
45
46
m_app_context
->create_interpreter ();
47
48
emit
octave_ready_signal
();
49
50
m_exit_status
=
m_app_context
->execute_interpreter ();
51
}
52
53
void
54
octave_interpreter::interrupt
(
void
)
55
{
56
thread_manager
.
interrupt
();
57
}
octave-interpreter.h
octave_thread_manager::interrupt
void interrupt(void)
Definition:
thread-manager.h:83
octave_interpreter::interrupt
void interrupt(void)
Definition:
octave-interpreter.cc:54
QObject
octave_thread_manager::unblock_interrupt_signal
static void unblock_interrupt_signal(void)
Definition:
thread-manager.cc:110
octave_interpreter::m_exit_status
int m_exit_status
Definition:
octave-interpreter.h:63
octave_interpreter::execute
void execute(void)
Definition:
octave-interpreter.cc:38
octave_thread_manager::register_current_thread
void register_current_thread(void)
Definition:
thread-manager.h:81
octave_interpreter::octave_ready_signal
void octave_ready_signal()
Definition:
moc-octave-interpreter.cc:105
octave_interpreter::m_app_context
octave::application * m_app_context
Definition:
octave-interpreter.h:61
octave_interpreter::octave_interpreter
octave_interpreter(octave::application *app_context)
Definition:
octave-interpreter.cc:32
octave.h
octave_interpreter::thread_manager
octave_thread_manager thread_manager
Definition:
octave-interpreter.h:59
Generated on Wed May 10 2017 15:42:43 for GNU Octave by
1.8.8