view 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 source

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