about summary refs log tree commit diff homepage
path: root/lib/SMT/Makefile
diff options
context:
space:
mode:
authorCristian Cadar <cristic@cs.stanford.edu>2009-06-08 07:53:36 +0000
committerCristian Cadar <cristic@cs.stanford.edu>2009-06-08 07:53:36 +0000
commit17af2a1562d9d3c0bfac8a5fa56cb622b95fbacb (patch)
tree8c9960892065589e771a7c79ecd77e6dcad2a45a /lib/SMT/Makefile
parentf992f74ff55edfbe8134eee4c5494803da8fdabc (diff)
downloadklee-17af2a1562d9d3c0bfac8a5fa56cb622b95fbacb.tar.gz
Added CVC3's parser for the SMT-LIB grammar.
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@73059 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/SMT/Makefile')
-rw-r--r--lib/SMT/Makefile59
1 files changed, 59 insertions, 0 deletions
diff --git a/lib/SMT/Makefile b/lib/SMT/Makefile
new file mode 100644
index 00000000..ae9c2e18
--- /dev/null
+++ b/lib/SMT/Makefile
@@ -0,0 +1,59 @@
+MODULE = parser
+
+LIBRARY=libparser.a
+
+# Do not optimize the parser code - it compiles forever in some gcc versions
+EXTRAFLAGS = -O0
+
+TRANSIENT_CPP = \
+ parsePL.cpp lexPL.cpp \
+ parseLisp.cpp lexLisp.cpp \
+ parsesmtlib.cpp lexsmtlib.cpp
+
+TRANSIENT = $(TRANSIENT_CPP) \
+  parsePL_defs.h parsePL.output \
+  parseLisp_defs.h parseLisp.output \
+  parsesmtlib_defs.h parsesmtlib.output
+
+SRC = $(TRANSIENT_CPP) parser.cpp
+
+HEADERS = parser_temp.h
+
+# The actual source files for the parser that we want to include in a
+# distribution
+SRC_ORIG = PL.lex PL.y Lisp.lex Lisp.y smtlib.lex smtlib.y parser.cpp
+
+include ../../Makefile.local
+
+##################################################
+# Rules for transient files
+##################################################
+lexPL.cpp:      PL.lex parsePL_defs.h
+		$(LEX) $(LFLAGS) -I -PPL -olexPL.cpp PL.lex
+
+parsePL_defs.h: parsePL.cpp
+
+parsePL.cpp:    PL.y
+		$(YACC) $(YFLAGS) -o parsePL.cpp -p PL --debug -v PL.y
+		@if [ -f parsePL.cpp.h ]; then mv parsePL.cpp.h parsePL.hpp; fi
+		@mv parsePL.hpp parsePL_defs.h
+
+lexLisp.cpp:    Lisp.lex parseLisp_defs.h
+		$(LEX) $(LFLAGS) -I -PLisp -olexLisp.cpp Lisp.lex
+
+parseLisp_defs.h: parseLisp.cpp
+
+parseLisp.cpp:  Lisp.y
+		$(YACC) $(YFLAGS) -o parseLisp.cpp -p Lisp --debug -v Lisp.y
+		@if [ -f parseLisp.cpp.h ]; then mv parseLisp.cpp.h parseLisp.hpp; fi
+		@mv parseLisp.hpp parseLisp_defs.h
+
+lexsmtlib.cpp:  smtlib.lex parsesmtlib_defs.h
+		$(LEX) $(LFLAGS) -I -Psmtlib -olexsmtlib.cpp smtlib.lex
+
+parsesmtlib_defs.h: parsesmtlib.cpp
+
+parsesmtlib.cpp: smtlib.y
+		$(YACC) $(YFLAGS) -o parsesmtlib.cpp -p smtlib --debug -v smtlib.y
+		@if [ -f parsesmtlib.cpp.h ]; then mv parsesmtlib.cpp.h parsesmtlib.hpp; fi
+		@mv parsesmtlib.hpp parsesmtlib_defs.h