From 6446df78afb4f3da2aa90e25b18b471fb272a8a9 Mon Sep 17 00:00:00 2001 From: Jose Antonio Ortega Ruiz Date: Thu, 23 Aug 2001 00:01:08 +0000 Subject: mixguile commands --- configure.in | 5 +- mixgtk/Makefile.am | 13 ++- mixguile/.cvsignore | 1 + mixguile/Makefile.am | 19 +++- mixguile/mixguile-commands.scm | 227 +++++++++++++++++++++++++++++++++++++++++ mixguile/mixguile.scm | 24 +++++ mixguile/mixguile_main.c | 4 +- mixutils/Makefile.am | 10 -- po/ChangeLog | 40 ++++++++ 9 files changed, 322 insertions(+), 21 deletions(-) create mode 100644 mixguile/mixguile-commands.scm create mode 100644 mixguile/mixguile.scm diff --git a/configure.in b/configure.in index b7deb10..9e143f4 100644 --- a/configure.in +++ b/configure.in @@ -110,7 +110,7 @@ dnl Check for libglade if test x$gui = xtrue; then AM_PATH_LIBGLADE([LIBS="$LIBS $LIBGLADE_LIBS" CFLAGS="$CFLAGS $LIBGLADE_CFLAGS"], - [AC_MSG_WARN(Cannot find GTK+: the GUI shall not be built) gui=false]) + [(Cannot find libglade: the GUI shall not be built) gui=false]) fi dnl use the provided getopt if gnu getopt is not available @@ -154,4 +154,7 @@ echo " - mixvm (MIX virtual machine${rlinfo}${guileinfo})" if test x$gui = xtrue; then echo " - gmixvm (mixvm GTK+ GUI${guileinfo})" fi +if test x$wguile = xtrue; then +echo " - mixguile (the mixvm guile shell)" +fi echo diff --git a/mixgtk/Makefile.am b/mixgtk/Makefile.am index 7183c36..461a4ab 100644 --- a/mixgtk/Makefile.am +++ b/mixgtk/Makefile.am @@ -15,14 +15,16 @@ XPMS = clear.xpm colors.xpm compile.xpm edit.xpm font.xpm fontl.xpm \ symbols.xpm extern.xpm devdir.xpm EXTRA_DIST = mixgtk.glade $(XPMS) -INCLUDES = -I$(includedir) -DGLADE_FILE=\""$(pkgdatadir)/mixgtk.glade"\"\ - -DLOCAL_GLADE_FILE=\"mixgtk.glade\" -LDADD = $(top_builddir)/mixlib/libmix.a $(top_builddir)/lib/libreplace.a $(INTLLIBS) + +if MAKE_GUI pkgdata_DATA = mixgtk.glade $(XPMS) -if MAKE_GUI +INCLUDES = -I$(includedir) -DGLADE_FILE=\""$(pkgdatadir)/mixgtk.glade"\"\ + -DLOCAL_GLADE_FILE=\"mixgtk.glade\" +LDADD = $(top_builddir)/mixlib/libmix.a $(top_builddir)/lib/libreplace.a $(INTLLIBS) + bin_PROGRAMS = gmixvm gmixvm_SOURCES = gmixvm.c mixgtk.h mixgtk.c \ mixgtk_config.h mixgtk_config.c \ @@ -37,6 +39,3 @@ gmixvm_SOURCES = gmixvm.c mixgtk.h mixgtk.c \ mixgtk_fontsel.h mixgtk_fontsel.c \ mixgtk_wm.h mixgtk_wm.c endif - - - diff --git a/mixguile/.cvsignore b/mixguile/.cvsignore index e995588..fd2e71f 100644 --- a/mixguile/.cvsignore +++ b/mixguile/.cvsignore @@ -1,3 +1,4 @@ .deps Makefile Makefile.in +mixguile diff --git a/mixguile/Makefile.am b/mixguile/Makefile.am index 664c7cd..392b08d 100644 --- a/mixguile/Makefile.am +++ b/mixguile/Makefile.am @@ -10,16 +10,33 @@ # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -INCLUDES = -I$(includedir) -DG_LOG_DOMAIN=\"libmixguile\" + +SCM_FILES = mixguile.scm mixguile-commands.scm +EXTRA_DIST = $(SCM_FILES) noinst_LIBRARIES = libmixguile.a if MAKE_GUILE + +SCM_PATHS = -DSCM_FILE=\""$(pkgdatadir)/mixguile.scm"\"\ + -DLOCAL_SCM_FILE=\"mixguile.scm\" + +pkgdata_DATA = $(SCM_FILES) + +libmixguile_a_INCLUDES = -I$(includedir) -DG_LOG_DOMAIN=\"libmixguile\" libmixguile_a_SOURCES = mixguile.h mixguile.c \ mixguile_cmd_dispatcher.h mixguile_cmd_dispatcher.c \ xmixguile_cmd_dispatcher.h xmixguile_cmd_dispatcher.c +bin_PROGRAMS = mixguile +mixguile_INCLUDES = -I$(includedir) $(SCM_PATHS) +mixguile_LDADD = $(top_builddir)/mixlib/libmix.a \ + $(top_builddir)/lib/libreplace.a \ + $(top_builddir)/mixguile/libmixguile.a $(INTLLIBS) +mixguile_SOURCES = mixguile_main.c + else + libmixguile_a_SOURCES = endif diff --git a/mixguile/mixguile-commands.scm b/mixguile/mixguile-commands.scm new file mode 100644 index 0000000..2615179 --- /dev/null +++ b/mixguile/mixguile-commands.scm @@ -0,0 +1,227 @@ +;; -*-scheme-*- -------------- mixguile-commands.scm : +; mixvm commands implementation using the mixvm-cmd primitive +; ------------------------------------------------------------------ +; Last change: Time-stamp: "01/08/23 00:15:59 jao" +; ------------------------------------------------------------------ +; Copyright (C) 2001 Free Software Foundation, Inc. +; +; This program is free software; you can redistribute it and/or modify +; it under the terms of the GNU General Public License as published by +; the Free Software Foundation; either version 2 of the License, or +; (at your option) any later version. +; +; This program is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +; GNU General Public License for more details. +; +; You should have received a copy of the GNU General Public License +; along with this program; if not, write to the Free Software +; Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +; +;; + +;; auxiliar functions for argument conversion +(define argsym->string + (lambda (arg) + (cond ((symbol? arg) (symbol->string arg)) + ((string? arg) arg) + (else (error "Wrong argument type" arg))))) + +(define argnsym->string + (lambda (arg) + (cond ((null? arg) "") + ((pair? arg) (argsym->string (car arg))) + (else (argsym->string arg))))) + +(define argnum->string + (lambda (arg) + (cond ((number? arg) (number->string arg)) + ((string? arg) arg) + (else (error "Wrong argument type" arg))))) + +(define argnnum->string + (lambda (arg) + (cond ((null? arg) "") + ((pair? arg) (argnum->string (car arg))) + (else (argnum->string arg))))) + +;;; mixvm commands + +; preg +(define mix-preg + (lambda (. reg) + (mixvm-cmd "preg" (argnsym->string reg)))) + +; sreg +(define mix-sreg + (lambda (reg val) (mix-set-reg! reg val))) + +; pmem +(define mix-pmem + (lambda (no) + (mixvm-cmd "pmem" (argnum->string no)))) + +; smem +(define mix-smem + (lambda (cell value) (mix-set-cell! cell value))) + +; pall +(define mix-pall (lambda () (mixvm-cmd "pall" ""))) + +; pc +(define mix-pc (lambda () (mixvm-cmd "pc" ""))) + +; pflags +(define mix-pflags (lambda () (mixvm-cmd "pflags" ""))) + +; sover +(define mix-sover + (lambda (val) + (let ((bval (if val #t #f))) + (mix-set-over! bval)))) + +; psym +(define mix-psym + (lambda (. sym) + (mixvm-cmd "psym" (argnsym->string sym)))) + +; ssym +(define mix-ssym + (lambda (sym value) + (mixvm-cmd "ssym" + (string-append + (argsym->string sym) " " (argnum->string value))))) + +; run +(define mix-run + (lambda (. file) + (mixvm-cmd "run" (argnsym->string file)))) + +; next +(define mix-next + (lambda (. no) + (mixvm-cmd "next" (argnnum->string no)))) + +; load +(define mix-load + (lambda (file) + (mixvm-cmd "load" (argsym->string file)))) + +; compile +(define mix-compile + (lambda (. file) + (mixvm-cmd "compile" (argnsym->string file)))) + +; devdir +(define mix-devdir + (lambda (. dir) + (mixvm-cmd "devdir" (argnsym->string dir)))) + +; edit +(define mix-edit + (lambda (. file) + (mixvm-cmd "edit" (argnsym->string file)))) + +; help +(define mix-help + (lambda (. cmd) + (mixvm-cmd "help" (argnsym->string help)))) + +; pasm +(define mix-pasm (lambda () (mixvm-cmd "pasm" ""))) + +; sasm +(define mix-sasm + (lambda (path) + (mixvm-cmd "sasm" (argsym->string path)))) + +; pedit +(define mix-pedit (lambda () (mixvm-cmd "pedit" ""))) + +; sedit +(define mix-sedit + (lambda (path) + (mixvm-cmd "sedit" (argsym->string path)))) + +; sbp +(define mix-sbp + (lambda (line) + (mixvm-cmd "sbp" (argnum->string line)))) + +; cbp +(define mix-cbp + (lambda (line) + (mixvm-cmd "cbp" (argnum->string line)))) + +; sbpa +(define mix-sbpa + (lambda (addr) + (mixvm-cmd "sbpa" (argnum->string addr)))) + +; cbpa +(define mix-cbpa + (lambda (addr) + (mixvm-cmd "cbpa" (argnum->string addr)))) + + +; sbpc +(define mix-sbpc (lambda () (mixvm-cmd "sbpc" ""))) + +; cbpc +(define mix-cbpc (lambda () (mixvm-cmd "cbpc" ""))) + +; sbpo +(define mix-sbpo (lambda () (mixvm-cmd "sbpo" ""))) + +; cbpo +(define mix-cbpo (lambda () (mixvm-cmd "cbpo" ""))) + +; sbpm +(define mix-sbpm + (lambda (cell) + (mixvm-cmd "sbpm" (argnum->string cell)))) + +; cbpm +(define mix-cbpm + (lambda (cell) + (mixvm-cmd "cbpm" (argnum->string cell)))) + +; sbpr +(define mix-sbpr + (lambda (reg) + (mixvm-cmd "sbpr" (argsym->string reg)))) + +; cbpr +(define mix-cbpr + (lambda (reg) + (mixvm-cmd "cbpr" (argsym->string reg)))) + +; pbt +(define mix-pbt + (lambda (. num) + (mixvm-cmd "pbt" (argnnum->string num)))) + +; timing +(define mix-timing + (lambda (. on) + (mixvm-cmd "timing" (cond ((null? on) "") + (on "on") + (else "off"))))) + +; timing +(define mix-tracing + (lambda (. on) + (mixvm-cmd "tracing" (cond ((null? on) "") + (on "on") + (else "off"))))) + +; w2d +(define mix-w2d + (lambda (w) + (mixvm-cmd "w2d" w))); + +; weval +(define mix-weval + (lambda (exp) + (mixvm-cmd "weval" (argsym->string exp)))) diff --git a/mixguile/mixguile.scm b/mixguile/mixguile.scm new file mode 100644 index 0000000..664c61b --- /dev/null +++ b/mixguile/mixguile.scm @@ -0,0 +1,24 @@ +;; -*-scheme-*- -------------- mixguile.scm : +; mixguile bootstrap file +; ------------------------------------------------------------------ +; Last change: Time-stamp: "01/08/23 00:16:53 jao" +; ------------------------------------------------------------------ +; Copyright (C) 2001 Free Software Foundation, Inc. +; +; This program is free software; you can redistribute it and/or modify +; it under the terms of the GNU General Public License as published by +; the Free Software Foundation; either version 2 of the License, or +; (at your option) any later version. +; +; This program is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +; GNU General Public License for more details. +; +; You should have received a copy of the GNU General Public License +; along with this program; if not, write to the Free Software +; Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +; +;; + +(load "mixguile-commands.scm") diff --git a/mixguile/mixguile_main.c b/mixguile/mixguile_main.c index 46a35f1..de9bfa4 100644 --- a/mixguile/mixguile_main.c +++ b/mixguile/mixguile_main.c @@ -1,4 +1,4 @@ -/* -*-c-*- -------------- mixguile.c : +/* -*-c-*- -------------- mixguile_main.c : * Main function for mixguile, the MIX Guile shell * ------------------------------------------------------------------ * Last change: Time-stamp: "01/08/22 01:20:01 jao" @@ -23,7 +23,7 @@ #include #include -#include +#include "mixguile.h" static void inner_main_ (int argc, char *argv[]) diff --git a/mixutils/Makefile.am b/mixutils/Makefile.am index 7e1313d..1c8cdd5 100644 --- a/mixutils/Makefile.am +++ b/mixutils/Makefile.am @@ -14,17 +14,7 @@ INCLUDES = -I$(includedir) LDADD = $(top_builddir)/mixlib/libmix.a $(top_builddir)/lib/libreplace.a \ $(top_builddir)/mixguile/libmixguile.a $(INTLLIBS) -if MAKE_GUILE - -bin_PROGRAMS = mixasm mixvm mixguile -mixguile_SOURCES = mixguile.c - -else - bin_PROGRAMS = mixasm mixvm - -endif - mixasm_SOURCES = mixasm.c mixasm_comp.h mixasm_comp.c mixvm_SOURCES = mixvm.c mixvm_loop.c mixvm_command.h mixvm_command.c diff --git a/po/ChangeLog b/po/ChangeLog index bdea604..da3c46e 100644 --- a/po/ChangeLog +++ b/po/ChangeLog @@ -1,3 +1,43 @@ +2001-08-23 gettextize + + * Makefile.in.in: Upgrade to gettext-0.10.39. + +2001-08-22 gettextize + + * Makefile.in.in: Upgrade to gettext-0.10.39. + +2001-08-22 gettextize + + * Makefile.in.in: Upgrade to gettext-0.10.39. + +2001-08-22 gettextize + + * Makefile.in.in: Upgrade to gettext-0.10.39. + +2001-08-22 gettextize + + * Makefile.in.in: Upgrade to gettext-0.10.39. + +2001-08-21 gettextize + + * Makefile.in.in: Upgrade to gettext-0.10.39. + +2001-08-20 gettextize + + * Makefile.in.in: Upgrade to gettext-0.10.39. + +2001-08-20 gettextize + + * Makefile.in.in: Upgrade to gettext-0.10.39. + +2001-08-20 gettextize + + * Makefile.in.in: Upgrade to gettext-0.10.39. + +2001-08-20 gettextize + + * Makefile.in.in: Upgrade to gettext-0.10.39. + 2001-08-17 gettextize * Makefile.in.in: Upgrade to gettext-0.10.39. -- cgit v1.2.3