cvs commit: hugs98/src HugsAPI.h errors.c evaluator.c evaluator.h goal.c goal.h observe.c observe.h opts.c opts.h output.h strutil.c strutil.h Makefile.in builtin.c builtin.h compiler.c connect.h errors.h ffi.c hugs.c hugsscript.c input.c iomonad.c machdep.c ...

sof 2003/03/09 15:53:14 PST Modified files: src Makefile.in builtin.c builtin.h compiler.c connect.h errors.h ffi.c hugs.c hugsscript.c input.c iomonad.c machdep.c machdep.h output.c prelude.h runhugs.c script.c script.h server.c server.h static.c storage.c subst.c type.c src/msc Makefile src/winhugs Makefile Winbrows.c Winhugs.h winhugs.c Added files: src HugsAPI.h errors.c evaluator.c evaluator.h goal.c goal.h observe.c observe.h opts.c opts.h output.h strutil.c strutil.h Log: First attempt at improving modularity of the Hugs codebase. This commit splits up and factors out the numerable tasks that the main hugs.c file had become burdened with over the years. The following new modules have been introduced: * evaluator.{c,h} -- evaluator engine * errors.{c,h} -- error handling + output * goal.{c,h} -- handling progress towards interp goals. * observe.{c,h} -- observation specific code (Note: support is only available in interactive builds.) * opts.{c,h} -- parsing and representing interpreter options. * strutil.{c,h} -- string utilities (not too much in here at present, but will grow.) * HugsAPI.h -- the public header file for the HugsAPI; server.h is now assumed to be internal to the Hugs sources. * server.c -- now a separate module; no longer literally includes hugs.c * hugs.c -- now only responsible for handling the interactive UI and all its commands. * winhugs/winhugs.c -- separate module; no longer literally included by hugs.c Code that supports a separate evaluator thread has been moved to here (from hugs.c) This was all brought about by wanting to expose the HugsAPI / server interface to external code (invoked via the FFI), and also re-use some of the server.c code to provide an extended version of the HugsAPI. What seemed like an innocent little change at first turned out not to be! [Untested on autoconf-based plats; true to form, I've no doubt mucked up Makefile.in some.] Revision Changes Path 1.41 +47 -32 hugs98/src/Makefile.in 1.51 +6 -65 hugs98/src/builtin.c 1.2 +6 -3 hugs98/src/builtin.h 1.16 +3 -2 hugs98/src/compiler.c 1.71 +48 -70 hugs98/src/connect.h 1.9 +7 -16 hugs98/src/errors.h 1.26 +3 -2 hugs98/src/ffi.c 1.121 +98 -1697 hugs98/src/hugs.c 1.3 +6 -0 hugs98/src/hugsscript.c 1.62 +8 -7 hugs98/src/input.c 1.48 +2 -3 hugs98/src/iomonad.c 1.82 +15 -4 hugs98/src/machdep.c 1.2 +20 -3 hugs98/src/machdep.h 1.30 +3 -2 hugs98/src/output.c 1.44 +2 -44 hugs98/src/prelude.h 1.16 +8 -5 hugs98/src/runhugs.c 1.3 +78 -4 hugs98/src/script.c 1.2 +13 -2 hugs98/src/script.h 1.32 +63 -72 hugs98/src/server.c 1.10 +18 -68 hugs98/src/server.h 1.146 +6 -2 hugs98/src/static.c 1.66 +5 -2 hugs98/src/storage.c 1.27 +4 -2 hugs98/src/subst.c 1.69 +4 -2 hugs98/src/type.c 1.27 +45 -28 hugs98/src/msc/Makefile 1.16 +57 -29 hugs98/src/winhugs/Makefile 1.6 +5 -7 hugs98/src/winhugs/Winbrows.c 1.6 +7 -10 hugs98/src/winhugs/Winhugs.h 1.13 +154 -19 hugs98/src/winhugs/winhugs.c
participants (1)
-
Sigbjorn Finne