caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] adding an ocaml interpreter to my C program
@ 2004-01-07  9:01 Kip Macy
  2004-01-07 13:00 ` Richard Jones
  0 siblings, 1 reply; 7+ messages in thread
From: Kip Macy @ 2004-01-07  9:01 UTC (permalink / raw)
  To: caml-list

It is possible to add many scripting languages as configuration
languages for an arbitrary C program. One can transfer control
to the interpreter, let it use the C bindings to modify program
state, and then get control back. I'll give perl as an example:

void sourceperl(int argc, char **argv) {
        PerlInterpreter gdb_perl = perl_alloc();
        perl_construct(gdb_perl);
        PL_exit_flags |= PERL_EXIT_DESTRUCT_END;
        perl_parse(gdb_perl, NULL, argc, argv, (char **)NULL);
        perl_run(gdb_perl);
        perl_destruct(gdb_perl);

}

I don't see any obvious way of doing this with ocaml. I could link in
GDB to the toplevel and use the toplevel as a frontend, but that isn't
what I'm interested in doing.

I'm using perl as a powerful macro language for gdb by just doing:
(gdb) sourceperl mycoreanalyser.pl
<OUTPUT>

I'd like to also be able to support:
(gdb) sourceocaml mycoranalyser.ml

Is there any way for me to do this?


Thanks.


				-Kip





-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2004-01-08 10:37 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-01-07  9:01 [Caml-list] adding an ocaml interpreter to my C program Kip Macy
2004-01-07 13:00 ` Richard Jones
2004-01-07 15:42   ` Kip Macy
2004-01-07 16:04     ` Richard Jones
2004-01-07 16:51       ` Damien Doligez
2004-01-07 21:09   ` Kip Macy
2004-01-08 16:40     ` Adolf Mathias

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).