about summary refs log tree commit diff
path: root/src/libexpr/Makefile.am
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2004-01-30T15·21+0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2004-01-30T15·21+0000
commitc5baaafae69394082817ede9e6eb3910c4601a72 (patch)
treebfc2599717c4274e16ba02959617254873c0c007 /src/libexpr/Makefile.am
parentabd1878b26200ba3fa75592637aa87e04f52100d (diff)
* Replaced the SDF parser by a substantially faster Bison/Flex
  parser (roughly 80x faster).

  The absolutely latest version of Bison (1.875c) is required for
  reentrant GLR support, as well as a recent version of Flex (say,
  2.5.31).  Note that most Unix distributions ship with the
  prehistoric Flex 2.5.4, which doesn't support reentrancy.

Diffstat (limited to 'src/libexpr/Makefile.am')
-rw-r--r--src/libexpr/Makefile.am18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/libexpr/Makefile.am b/src/libexpr/Makefile.am
index a11dbbda6c26..66a3008ed507 100644
--- a/src/libexpr/Makefile.am
+++ b/src/libexpr/Makefile.am
@@ -1,20 +1,22 @@
 noinst_LIBRARIES = libexpr.a
 
 libexpr_a_SOURCES = nixexpr.cc nixexpr.hh parser.cc parser.hh \
- eval.cc eval.hh primops.cc primops.hh nix.sdf
+ eval.cc eval.hh primops.cc primops.hh \
+ lexer-tab.c lexer-tab.h parser-tab.c parser-tab.h
 
 AM_CXXFLAGS = \
  -I.. -I../../externals/inst/include -I../libutil -I../libstore
+AM_CFLAGS = \
+ -I../../externals/inst/include
 
 
-# Parse table generation.
+# Parser generation.
 
-parser.o: parse-table.h
+parser-tab.c parser-tab.h: parser.y
+	../grammartest/inst/bin/bison -v -o parser-tab.c parser.y -d
 
-parse-table.h: nix.tbl
-	../bin2c/bin2c nixParseTable < $< > $@ || (rm $@ && exit 1)
+lexer-tab.c lexer-tab.h: lexer.l
+	flex --outfile lexer-tab.c --header-file=lexer-tab.h lexer.l 
 
-%.tbl: %.sdf
-	../../externals/inst/bin/sdf2table -s -i $< -o $@
 
-CLEANFILES = parse-table.h nix.tbl
+CLEANFILES =