diff options
author | Gabriel Dos Reis <gdr@axiomatics.org> | 2017-01-02 14:03:55 -0800 |
---|---|---|
committer | Gabriel Dos Reis <gdr@axiomatics.org> | 2017-01-02 14:03:55 -0800 |
commit | b56562693a88f88e7c290de9e1dc18d96a0da792 (patch) | |
tree | 63944417087417292c9d3e41972fa7ac89dea0bc | |
parent | 2bd3cc876cc90b8e28e0e8d88a5982f69729f867 (diff) | |
download | open-axiom-b56562693a88f88e7c290de9e1dc18d96a0da792.tar.gz |
Include a native entry point for parsing Boot source files, and for
transpiling to Lisp.
-rwxr-xr-x | configure | 20 | ||||
-rw-r--r-- | configure.ac | 4 | ||||
-rw-r--r-- | src/ChangeLog | 10 | ||||
-rw-r--r-- | src/boot/Makefile.am | 5 | ||||
-rw-r--r-- | src/boot/Makefile.in | 8 | ||||
-rw-r--r-- | src/include/open-axiom/Parser | 53 | ||||
-rw-r--r-- | src/include/open-axiom/dialect | 16 | ||||
-rw-r--r-- | src/io/std-streams.cxx (renamed from src/io/std-streams.cc) | 0 | ||||
-rw-r--r-- | src/lib/Makefile.in | 25 | ||||
-rw-r--r-- | src/lib/bsdsignal.cxx (renamed from src/lib/bsdsignal.c) | 0 | ||||
-rw-r--r-- | src/lib/cfuns-c.cxx (renamed from src/lib/cfuns-c.c) | 0 | ||||
-rw-r--r-- | src/lib/sockio-c.cxx (renamed from src/lib/sockio-c.c) | 0 | ||||
-rw-r--r-- | src/syntax/Parser.cxx | 134 | ||||
-rw-r--r-- | src/syntax/token.cxx (renamed from src/syntax/token.cc) | 0 | ||||
-rw-r--r-- | src/utils/Makefile.am | 5 | ||||
-rw-r--r-- | src/utils/Makefile.in | 44 |
16 files changed, 248 insertions, 76 deletions
@@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for OpenAxiom 1.5.0-2016-12-26. +# Generated by GNU Autoconf 2.69 for OpenAxiom 1.5.0-2017-01-02. # # Report bugs to <open-axiom-bugs@lists.sf.net>. # @@ -590,8 +590,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='OpenAxiom' PACKAGE_TARNAME='openaxiom' -PACKAGE_VERSION='1.5.0-2016-12-26' -PACKAGE_STRING='OpenAxiom 1.5.0-2016-12-26' +PACKAGE_VERSION='1.5.0-2017-01-02' +PACKAGE_STRING='OpenAxiom 1.5.0-2017-01-02' PACKAGE_BUGREPORT='open-axiom-bugs@lists.sf.net' PACKAGE_URL='' @@ -1421,7 +1421,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures OpenAxiom 1.5.0-2016-12-26 to adapt to many kinds of systems. +\`configure' configures OpenAxiom 1.5.0-2017-01-02 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1496,7 +1496,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of OpenAxiom 1.5.0-2016-12-26:";; + short | recursive ) echo "Configuration of OpenAxiom 1.5.0-2017-01-02:";; esac cat <<\_ACEOF @@ -1613,7 +1613,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -OpenAxiom configure 1.5.0-2016-12-26 +OpenAxiom configure 1.5.0-2017-01-02 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2430,7 +2430,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by OpenAxiom $as_me 1.5.0-2016-12-26, which was +It was created by OpenAxiom $as_me 1.5.0-2017-01-02, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3449,7 +3449,7 @@ fi # Define the identity of the package. PACKAGE='openaxiom' - VERSION='1.5.0-2016-12-26' + VERSION='1.5.0-2017-01-02' cat >>confdefs.h <<_ACEOF @@ -20087,7 +20087,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by OpenAxiom $as_me 1.5.0-2016-12-26, which was +This file was extended by OpenAxiom $as_me 1.5.0-2017-01-02, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -20157,7 +20157,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -OpenAxiom config.status 1.5.0-2016-12-26 +OpenAxiom config.status 1.5.0-2017-01-02 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index 96a9a818..f7731eda 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -dnl Copyright (C) 2006-2016, Gabriel Dos Reis. +dnl Copyright (C) 2006-2017, Gabriel Dos Reis. dnl All rights reserved. dnl dnl Redistribution and use in source and binary forms, with or without @@ -33,7 +33,7 @@ dnl Makefiles for building OpenAxiom interpreter, compiler, libraries, and dnl auxiliary tools where appropriate. dnl -AC_INIT([OpenAxiom], [1.5.0-2016-12-26], +AC_INIT([OpenAxiom], [1.5.0-2017-01-02], [open-axiom-bugs@lists.sf.net]) dnl Most of the macros used in this configure.ac are defined in files diff --git a/src/ChangeLog b/src/ChangeLog index ab2df6a9..b1302e3a 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,13 @@ +2017-01-02 Gabriel Dos Reis <gdr@axiomatics.org> + + * lib/Makefile.in (core_SOURCES): Include files for IO, + tokenization, and parsing. + * include/open-axiom/Parser (boot_to_lisp): New exported entry point. + * boot/Makefile.am (bemol_LDADD): Add libopen-axiom-core + * include/open-axiom/dialect: Add documentation. + * syntax/Parser.cxx: New. + * utils/Makefile.am (libOpenAxiom_a_SOURCES): Adjust. + 2016-12-29 Gabriel Dos Reis <gdr@axiomatics.org> * lisp/core.lisp.in ($NativeModulePrefix): Define and export. diff --git a/src/boot/Makefile.am b/src/boot/Makefile.am index 9a3b320a..5a4ecaa1 100644 --- a/src/boot/Makefile.am +++ b/src/boot/Makefile.am @@ -1,6 +1,6 @@ # Copyright (c) 1991-2002, The Numerical Algorithms Group Ltd. # All rights reserved. -# Copyright (C) 2007-2014, Gabriel Dos Reis. +# Copyright (C) 2007-2017, Gabriel Dos Reis. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -74,7 +74,8 @@ bemol_SOURCES = \ bemol.cc bemol_LDADD = \ - $(oa_target_libdir)/libOpenAxiom.a + $(oa_target_libdir)/libOpenAxiom.a \ + $(oa_target_libdir)/libopen-axiom-core.a oa_target_bootdir = $(oa_targetdir)/boot if OA_ECL_RT diff --git a/src/boot/Makefile.in b/src/boot/Makefile.in index c3d91bec..885b9636 100644 --- a/src/boot/Makefile.in +++ b/src/boot/Makefile.in @@ -16,7 +16,7 @@ # Copyright (c) 1991-2002, The Numerical Algorithms Group Ltd. # All rights reserved. -# Copyright (C) 2007-2014, Gabriel Dos Reis. +# Copyright (C) 2007-2017, Gabriel Dos Reis. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -157,7 +157,8 @@ CONFIG_CLEAN_VPATH_FILES = PROGRAMS = $(noinst_PROGRAMS) am_bemol_OBJECTS = bemol.$(OBJEXT) bemol_OBJECTS = $(am_bemol_OBJECTS) -bemol_DEPENDENCIES = $(oa_target_libdir)/libOpenAxiom.a +bemol_DEPENDENCIES = $(oa_target_libdir)/libOpenAxiom.a \ + $(oa_target_libdir)/libopen-axiom-core.a AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent @@ -461,7 +462,8 @@ bemol_SOURCES = \ bemol.cc bemol_LDADD = \ - $(oa_target_libdir)/libOpenAxiom.a + $(oa_target_libdir)/libOpenAxiom.a \ + $(oa_target_libdir)/libopen-axiom-core.a oa_target_bootdir = $(oa_targetdir)/boot @OA_ECL_RT_FALSE@oa_bootsys_linkset = diff --git a/src/include/open-axiom/Parser b/src/include/open-axiom/Parser new file mode 100644 index 00000000..735e67d6 --- /dev/null +++ b/src/include/open-axiom/Parser @@ -0,0 +1,53 @@ +// -*- C++ -*- +// Copyright (C) 2016-2017, Gabriel Dos Reis. +// All rights reserved. +// Written by Gabriel Dos Reis. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// - Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// - Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// - Neither the name of OpenAxiom. nor the names of its contributors +// may be used to endorse or promote products derived from this +// software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +// IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +// PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER +// OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifndef OPENAXIOM_PARSER_included +#define OPENAXIOM_PARSER_included + +#include <string> + +namespace OpenAxiom { + // Translate a Boot input source code to a Lisp source code. + // Both parameters point to the pathnames of the input source file + // and the output source file, respectively. Return zero on success. + extern "C" int boot_to_lisp(const char*, const char*); + + namespace Error { + // Exception type for filesystem error. + struct CannotOpenFile { + std::string path; + }; + } +} + +#endif // OPENAXIOM_PARSER_included diff --git a/src/include/open-axiom/dialect b/src/include/open-axiom/dialect index 5d5218c6..6350e91e 100644 --- a/src/include/open-axiom/dialect +++ b/src/include/open-axiom/dialect @@ -1,5 +1,5 @@ // -*- C++ -*- -// Copyright (C) 2013-2014, Gabriel Dos Reis. +// Copyright (C) 2013-2017, Gabriel Dos Reis. // All rights reserved. // Written by Gabriel Dos Reis. // @@ -34,14 +34,16 @@ #ifndef OPENAXIOM_DIALECT_included #define OPENAXIOM_DIALECT_included +#include <stdint.h> + namespace OpenAxiom { // Languages for which we have parsers. - enum class Language { - Spad = 0x1, - Boot = 0x2, - Lisp = 0x4, - BootSpad = Spad | Boot, - All = Spad | Boot | Lisp, + enum class Language : uint8_t { + Spad = 0x1, // Spad programming language + Boot = 0x2, // Boot programming language + Lisp = 0x4, // Lisp programming language + BootSpad = Spad | Boot, // Boot or Spad + All = Spad | Boot | Lisp, // All supported programming languages }; } diff --git a/src/io/std-streams.cc b/src/io/std-streams.cxx index a0a470ee..a0a470ee 100644 --- a/src/io/std-streams.cc +++ b/src/io/std-streams.cxx diff --git a/src/lib/Makefile.in b/src/lib/Makefile.in index 7a8d4609..aeecfabf 100644 --- a/src/lib/Makefile.in +++ b/src/lib/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2016, Gabriel Dos Reis. +# Copyright (C) 2007-2017, Gabriel Dos Reis. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -31,7 +31,14 @@ -core_SOURCES = bsdsignal.c cfuns-c.c sockio-c.c +core_SOURCES = \ + bsdsignal.cxx \ + cfuns-c.cxx \ + sockio-c.cxx \ + ../io/std-streams.cxx \ + ../io/InputFragment.cxx \ + ../syntax/token.cxx \ + ../syntax/Parser.cxx terminal_io_SOURCES = cursor.c edin.c fnct_key.c openpty.c prt.c wct.c @@ -52,9 +59,9 @@ unused_SOURCES = emupty.c libopen_axiom_core_SOURCES = $(core_SOURCES) ifeq (@oa_use_libtool_for_shared_lib@,no) -libopen_axiom_core_objects = $(libopen_axiom_core_SOURCES:.c=.$(OBJEXT)) +libopen_axiom_core_objects = $(libopen_axiom_core_SOURCES:.cxx=.$(OBJEXT)) else -libopen_axiom_core_objects = $(libopen_axiom_core_SOURCES:.c=.lo) +libopen_axiom_core_objects = $(libopen_axiom_core_SOURCES:.cxx=.lo) endif libspad_objects = $(libspad_SOURCES:.c=.lo) @@ -67,7 +74,7 @@ subdir = src/lib/ .PHONY: all all-lib .SUFFIXES: -.SUFFIXES: .o .lib .obj .c .h +.SUFFIXES: .o .lib .obj .c .h .cxx all: all-ax @@ -90,14 +97,18 @@ $(oa_target_libdir)/$(oa_shrlib_prefix)open-axiom-core$(SHREXT): \ $(libopen_axiom_core_objects) \ @oa_c_runtime_extra@ -lm -libopen-axiom-core.$(LIBEXT): $(libopen_axiom_core_SOURCES:.c=.lo) - $(LINK) -o $@ $(libopen_axiom_core_SOURCES:.c=.lo) +libopen-axiom-core.$(LIBEXT): $(libopen_axiom_core_SOURCES:.cxx=.lo) + $(LINK) -o $@ $(libopen_axiom_core_SOURCES:.cxx=.lo) libspad.$(LIBEXT): $(libspad_objects) $(LINK) -o $@ $(libspad_objects) .PRECIOUS: %.$(OBJEXT) +%.$(OBJEXT) %.lo: %.cxx $(oa_c_macros_h) + $(COMPILE) $(oa_shrobj_flags) -no-suppress -o $@ $(CFLAGS) \ + $(oa_includes) $(AXIOM_X11_CFLAGS) $< + %.$(OBJEXT) %.lo: %.c $(oa_c_macros_h) $(COMPILE) $(oa_shrobj_flags) -no-suppress -o $@ $(CFLAGS) \ $(oa_includes) $(AXIOM_X11_CFLAGS) $< diff --git a/src/lib/bsdsignal.c b/src/lib/bsdsignal.cxx index 07fc6b54..07fc6b54 100644 --- a/src/lib/bsdsignal.c +++ b/src/lib/bsdsignal.cxx diff --git a/src/lib/cfuns-c.c b/src/lib/cfuns-c.cxx index 11c28691..11c28691 100644 --- a/src/lib/cfuns-c.c +++ b/src/lib/cfuns-c.cxx diff --git a/src/lib/sockio-c.c b/src/lib/sockio-c.cxx index 24b8f475..24b8f475 100644 --- a/src/lib/sockio-c.c +++ b/src/lib/sockio-c.cxx diff --git a/src/syntax/Parser.cxx b/src/syntax/Parser.cxx new file mode 100644 index 00000000..e8759d2b --- /dev/null +++ b/src/syntax/Parser.cxx @@ -0,0 +1,134 @@ +// -*- C++ -*- +// Copyright (C) 2014-2017, Gabriel Dos Reis. +// All rights reserved. +// Written by Gabriel Dos Reis. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// - Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// - Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// - Neither the name of OpenAxiom. nor the names of its contributors +// may be used to endorse or promote products derived from this +// software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +// IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +// PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER +// OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#include <iostream> +#include <fstream> +#include <vector> +#include <string> +#include <stack> +#include <iterator> +#include <ctype.h> + +#include <open-axiom/diagnostics> +#include <open-axiom/InputFragment> +#include <open-axiom/SourceInput> +#include <open-axiom/Parser> + +namespace { + using namespace OpenAxiom; + + using TokenSequence = TokenStream<Token>; + + // Simple wrapper around standard file streams, along with the pathname + // to the file. + template<typename T> + struct FileAs { + const char* path; + T stream; + FileAs(const char* p, std::ios_base::openmode flags) + : path{ p }, stream{ p, flags } + { + if (!stream) + throw Error::CannotOpenFile{ path }; + } + }; + + using InputFile = FileAs<std::ifstream>; + using OutputFile = FileAs<std::ofstream>; + + // Helper function for streaming out details of tokens. + std::ostream& operator<<(std::ostream& os, const Token& t) { + os << t.category << '{' << t.start << '-' << t.end << '}'; + return os; + } + + // FIXME: This is just a stub to get a native parsing entry point + // into the bootsys and interpsys images. + void transpile_boot_to_lisp(InputFile& in, OutputFile& out) { + SourceInput src { in.stream }; + while (auto f = src.get()) { + out.stream << "================================================\n"; + out.stream << f; + try { + TokenSequence ts { f, Language::Boot }; + for (auto& t : ts) { + out.stream << '\t' << t; + switch (t.category) { + case TokenCategory::Junk: + case TokenCategory::Unclassified: + out.stream //<< f[t.start.line].sub_string(t.start.column, t.end.column) + << " in file " << in.path + << " at line " << t.start.line + << ", column " << t.start.column; + break; + default: + break; + } + out.stream << '\n'; + } + } + catch(const EndOfStringUnseen& e) { + std::cerr << in.path << ": syntax error: " + << "premature end of line before matching quote " + << "of string literal on line " << e.line + << " at column " << e.column + << std::endl; + } + catch (const MissingExponent& e) { + std::cerr << in.path << ": syntax error: " + << "missing exponent of floating point constant " + << "on line " << e.line + << ", column " << e.column + << std::endl; + } + out.stream << "================================================\n"; + } + out.stream << std::flush; + } +} + +namespace OpenAxiom { + + int boot_to_lisp(const char* boot_path, const char* lisp_path) try { + InputFile in { boot_path, std::ios_base::binary }; + OutputFile out { lisp_path, std::ios_base::binary }; + transpile_boot_to_lisp(in, out); + return 0; + } + catch (const Error::CannotOpenFile& e) { + Diagnostics::StandardStream diagnostics { }; + diagnostics.error() << "error: could not open file `" + << e.path << "'\n"; + return -1; + } +} diff --git a/src/syntax/token.cc b/src/syntax/token.cxx index 74b58fa2..74b58fa2 100644 --- a/src/syntax/token.cc +++ b/src/syntax/token.cxx diff --git a/src/utils/Makefile.am b/src/utils/Makefile.am index dc138e11..d2f49303 100644 --- a/src/utils/Makefile.am +++ b/src/utils/Makefile.am @@ -1,4 +1,4 @@ -# Copyright (C) 2011-2014, Gabriel Dos Reis. +# Copyright (C) 2011-2017, Gabriel Dos Reis. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -40,9 +40,6 @@ libOpenAxiom_a_SOURCES = \ storage.cc string-pool.cc command.cc \ filesystem.cc \ ../io/Input.cc \ - ../io/std-streams.cc \ - ../io/InputFragment.cxx \ - ../syntax/token.cc \ ../syntax/sexpr.cc \ ../rt/vm.cc \ ../rt/Lisp.cc \ diff --git a/src/utils/Makefile.in b/src/utils/Makefile.in index 95e438e6..2e2d184c 100644 --- a/src/utils/Makefile.in +++ b/src/utils/Makefile.in @@ -14,7 +14,7 @@ @SET_MAKE@ -# Copyright (C) 2011-2014, Gabriel Dos Reis. +# Copyright (C) 2011-2017, Gabriel Dos Reis. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -147,10 +147,8 @@ libOpenAxiom_a_LIBADD = am__dirstamp = $(am__leading_dot)dirstamp am_libOpenAxiom_a_OBJECTS = storage.$(OBJEXT) string-pool.$(OBJEXT) \ command.$(OBJEXT) filesystem.$(OBJEXT) ../io/Input.$(OBJEXT) \ - ../io/std-streams.$(OBJEXT) ../io/InputFragment.$(OBJEXT) \ - ../syntax/token.$(OBJEXT) ../syntax/sexpr.$(OBJEXT) \ - ../rt/vm.$(OBJEXT) ../rt/Lisp.$(OBJEXT) \ - ../rt/Database.$(OBJEXT) + ../syntax/sexpr.$(OBJEXT) ../rt/vm.$(OBJEXT) \ + ../rt/Lisp.$(OBJEXT) ../rt/Database.$(OBJEXT) libOpenAxiom_a_OBJECTS = $(am_libOpenAxiom_a_OBJECTS) PROGRAMS = $(noinst_PROGRAMS) am_hammer_OBJECTS = hammer.$(OBJEXT) @@ -425,9 +423,6 @@ libOpenAxiom_a_SOURCES = \ storage.cc string-pool.cc command.cc \ filesystem.cc \ ../io/Input.cc \ - ../io/std-streams.cc \ - ../io/InputFragment.cxx \ - ../syntax/token.cc \ ../syntax/sexpr.cc \ ../rt/vm.cc \ ../rt/Lisp.cc \ @@ -488,18 +483,12 @@ clean-noinstLIBRARIES: @: > ../io/$(DEPDIR)/$(am__dirstamp) ../io/Input.$(OBJEXT): ../io/$(am__dirstamp) \ ../io/$(DEPDIR)/$(am__dirstamp) -../io/std-streams.$(OBJEXT): ../io/$(am__dirstamp) \ - ../io/$(DEPDIR)/$(am__dirstamp) -../io/InputFragment.$(OBJEXT): ../io/$(am__dirstamp) \ - ../io/$(DEPDIR)/$(am__dirstamp) ../syntax/$(am__dirstamp): @$(MKDIR_P) ../syntax @: > ../syntax/$(am__dirstamp) ../syntax/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) ../syntax/$(DEPDIR) @: > ../syntax/$(DEPDIR)/$(am__dirstamp) -../syntax/token.$(OBJEXT): ../syntax/$(am__dirstamp) \ - ../syntax/$(DEPDIR)/$(am__dirstamp) ../syntax/sexpr.$(OBJEXT): ../syntax/$(am__dirstamp) \ ../syntax/$(DEPDIR)/$(am__dirstamp) ../rt/$(am__dirstamp): @@ -543,13 +532,10 @@ distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@../io/$(DEPDIR)/Input.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@../io/$(DEPDIR)/InputFragment.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@../io/$(DEPDIR)/std-streams.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@../rt/$(DEPDIR)/Database.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@../rt/$(DEPDIR)/Lisp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@../rt/$(DEPDIR)/vm.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@../syntax/$(DEPDIR)/sexpr.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@../syntax/$(DEPDIR)/token.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/command.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filesystem.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hammer.Po@am__quote@ @@ -580,30 +566,6 @@ distclean-compile: @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $< -.cxx.o: -@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ -@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ -@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< - -.cxx.obj: -@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ -@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ -@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.cxx.lo: -@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ -@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ -@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $< - mostlyclean-libtool: -rm -f *.lo |