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);
+  }
+}