From 5fe9222b36ad49d74c84edb04d6bc4a7d844be01 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 26 Oct 2004 22:54:26 +0000 Subject: * Don't use ATmake / ATmatch anymore, nor the ATMatcher class. Instead we generate data bindings (build and match functions) for the constructors specified in `constructors.def'. In particular this removes the conversions between AFuns and strings, and Nix expression evaluation now seems 3 to 4 times faster. --- src/libexpr/Makefile.am | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'src/libexpr/Makefile.am') diff --git a/src/libexpr/Makefile.am b/src/libexpr/Makefile.am index 45145a6bdb18..99ed1a5ed3f8 100644 --- a/src/libexpr/Makefile.am +++ b/src/libexpr/Makefile.am @@ -2,9 +2,10 @@ noinst_LIBRARIES = libexpr.a libexpr_a_SOURCES = nixexpr.cc nixexpr.hh parser.cc parser.hh \ eval.cc eval.hh primops.cc \ - lexer-tab.c lexer-tab.h parser-tab.c parser-tab.h + lexer-tab.c lexer-tab.h parser-tab.c parser-tab.h \ + constructors.hh -EXTRA_DIST = lexer.l parser.y +EXTRA_DIST = lexer.l parser.y constructors.cc AM_CXXFLAGS = \ -I.. ${bdb_include} ${aterm_include} -I../libutil -I../libstore @@ -23,4 +24,12 @@ lexer-tab.c lexer-tab.h: lexer.l $(flex) --outfile lexer-tab.c --header-file=lexer-tab.h lexer.l +# ATerm helper function generation. + +constructors.cc constructors.hh: aterm-helper.pl constructors.def + $(perl) aterm-helper.pl constructors.hh constructors.cc < constructors.def + +nixexpr.hh: constructors.hh + + CLEANFILES = -- cgit 1.4.1