From octave-maintainers-request at bevo dot che dot wisc dot edu Mon Dec 16 12:31:28 2002 Subject: Re: ROctave From: Andy Adler To: "John W. Eaton" cc: Duncan Temple Lang , octave-maintainers mailing list Date: Mon, 16 Dec 2002 13:31:04 -0500 (EST) On Mon, 16 Dec 2002, John W. Eaton wrote: > octave_init (); // perhaps with an argument to say not interactive? > > // other stuff... > > for (;;) > { > // ... > > octave_value result = parse_and_execute_octave_command (???); > > // or some other method of controlling Octave... > } > > Though I'm not sure what would be best. As things are now, > octave_value is probably only useful inside a C++ program, and it's > not clear to me how we should control Octave from another program. In > some cases, parsing and evaluating strings might be OK, but in other > cases, you may want to build a parse tree using some function calls > and then evaluate that directly, skipping the lexer/parser. > > As a minimum, I think we need to write a few functions that allow us > to initialize Octave without starting up the interactive I/O system so > we can just use Octave as a compute engine. This is exactly the functionality I need to write a proper Inline::Octave for Perl. Currently I'm doing it by controlling stdin / stdout with two pipes, but it's a real pain. Note: this API also needs a good way to get errors and warnings back from octave. Andy