Mercurial > jwe > qt-gui-with-push-parser
diff interpreter.cpp @ 4:0e154787183d
new interpreter and qt_interpreter objects
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Wed, 22 May 2019 17:30:46 -0400 |
parents | |
children | 1b575145197e |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/interpreter.cpp Wed May 22 17:30:46 2019 -0400 @@ -0,0 +1,47 @@ +#include <string> + +#include <unistd.h> + +#include "interpreter.h" +#include "parser.h" + +#include "main.h" +#include "gui-main.h" +#include "tty-main.h" + +namespace interpreter +{ + void init (void) + { + parser::init (); + } + + void fini (void) + { + parser::fini (); + } + + int parse_and_execute (const std::string& line) + { + return parser::parse_and_execute (line); + } + + void emit_result (double value) + { + // Simulate a delay in calculation. + sleep (1); + + if (calc::tty_mode) + tty::emit_result (value); + else + gui::emit_result (value); + } + + void emit_error (const char *msg) + { + if (calc::tty_mode) + tty::emit_error (msg); + else + gui::emit_error (msg); + } +}