octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Graphical octave frontend


From: Paul Kienzle
Subject: Re: Graphical octave frontend
Date: Mon, 10 Mar 2003 21:01:43 -0500
User-agent: Mozilla/5.0 (Windows; U; Win 9x 4.90; en-US; rv:1.3a) Gecko/20021212

Ulrich Kuettler wrote:

I hope you share my enthusiasm about it because to go further I need
your kind help and support. My aim is to link against out of the box
octave libraries. But there might be a few changes necessary. For

There are a number of projects which want a
'headless' octave, such as a windows port,
a tcl extension, a perl extension, an R extension,
and various parallel octave implementations which
need to take over from the read-eval-print loop.
Lots of ambition but not much time.

An alternative approach is to run octave in a
separate process and use pipes (e.g., octave-forge
extra/engine) or TCP/IP sockets (e.g., octave-forge
main/miscellaneous/listen.cc).  Neither interface is
complete, but both have been used successfully in
some projects.

example could the build process be much smoother if octave's config.h
had another name. (I'm also very much in favour of John Eaton's
suggestion to introduce an "octave" namespace.) Another issue I
haven't solved yet is how a library's user finds the error messages
when error_state != 0.

Look in listen.cc:

   bind_global_error_variable();
   octave_value def = get_builtin_value("__error_text__");
   std::string str = def.string_value();

I also have:

   clear_gloabl_error_variable(NULL);

but I don't think it is needed.

The function get_builtin_value is not (yet) in
variables.cc.  It is defined as follows:

octave_value
get_builtin_value (const std::string& nm)
{
 octave_value retval;
 symbol_record *sr = fbi_sym_tab->lookup (nm);
 if (sr) {
   octave_value sr_def = sr->def ();
   if (sr_def.is_undefined())
     error ("get_builtin_value: undefined symbol `%s'", nm.c_str ());
   else
     retval = sr_def;
 } else error("get_builtin_value: unkonwn_symbol %s",nm.c_str());
}

Paul Kienzle
address@hidden



reply via email to

[Prev in Thread] Current Thread [Next in Thread]