]> git.unchartedbackwaters.co.uk Git - francis/stp.git/commitdiff
Clean up the build system for src/parser.
authorkhooyp <khooyp@e59a4935-1847-0410-ae03-e826735625c1>
Thu, 10 Feb 2011 01:59:02 +0000 (01:59 +0000)
committerkhooyp <khooyp@e59a4935-1847-0410-ae03-e826735625c1>
Thu, 10 Feb 2011 01:59:02 +0000 (01:59 +0000)
- Rename files consistently to be usable in pattern rules, and use patterns rules for flex/bison.

git-svn-id: https://stp-fast-prover.svn.sourceforge.net/svnroot/stp-fast-prover/trunk/stp@1138 e59a4935-1847-0410-ae03-e826735625c1

src/parser/Makefile
src/parser/cvc.lex [moved from src/parser/cvclib.lex with 99% similarity]
src/parser/cvc.y [moved from src/parser/cvclib.y with 100% similarity]
src/parser/smt.lex [moved from src/parser/smtlib.lex with 99% similarity]
src/parser/smt.y [moved from src/parser/smtlib.y with 100% similarity]
src/parser/smt2.lex [moved from src/parser/smtlib2.lex with 99% similarity]
src/parser/smt2.y [moved from src/parser/smtlib2.y with 100% similarity]

index f2f705386f24b20eaa1826b926c8219281b9e54a..5e331393b3a31b9501476405a7bc3cf9f4bf4fe9 100644 (file)
@@ -3,9 +3,9 @@ include $(TOP)/scripts/Makefile.common
 
 #`From the flex manual>: -Cfe' is often a good compromise between speed and size for production scanners.
 LEX=flex -Cfe
-YACC=bison -d -y --debug -v
+YACC=bison --debug -v
 
-SRCS = lexCVC.cpp parseCVC.cpp parseSMT.cpp lexSMT.cpp LetMgr.cpp parse2SMT.cpp lex2SMT.cpp
+SRCS = $(foreach foo,cvc smt smt2,lex$(foo).cpp parse$(foo).cpp) LetMgr.cpp
 OBJS = $(SRCS:.cpp=.o)
 
 
@@ -13,36 +13,15 @@ libparser.a: $(OBJS)
        $(RM) $@
        $(AR) qcs $@ $^
 
-lexCVC.cpp:    cvclib.lex parseCVC_defs.h ../AST/AST.h
-               $(LEX)  -olexCVC.cpp -Pcvc cvclib.lex
+lex%.cpp: %.lex parse%.hpp ../AST/AST.h
+       $(LEX) -o$@ -P$* $<
 
-#For rules with multiple targets. Make runs the rule once for each
-#target.  These rules are "pattern rules" which only run once (rather
-#than twice).
+parse%.cpp parse%.hpp: %.y
+       $(YACC) -o parse$*.cpp -d -p $* $<
 
-parseCV%_defs.h parseCV%.cpp:  cvclib.y
-               $(YACC) -o cvc.tab.c -p cvc cvclib.y
-               @cp  cvc.tab.c parseCVC.cpp
-               @cp  cvc.tab.h parseCVC_defs.h
-
-lexSMT.cpp:    parseSMT_defs.h smtlib.lex ../AST/AST.h
-               $(LEX) -olexSMT.cpp -Psmt smtlib.lex
-
-parseSM%_defs.h parseSM%.cpp:smtlib.y
-               $(YACC) -o smt.tab.c -p smt smtlib.y
-               @cp  smt.tab.c parseSMT.cpp
-               @cp  smt.tab.h parseSMT_defs.h
-
-lex2SMT.cpp: parse2SMT_defs.h smtlib2.lex ../AST/AST.h
-               $(LEX) -olex2SMT.cpp -Psmt2 smtlib2.lex
-
-parse2SM%_defs.h parse2SM%.cpp:smtlib2.y
-               $(YACC) -o smt2.tab.c -p smt2 smtlib2.y
-               @cp  smt2.tab.c parse2SMT.cpp
-               @cp  smt2.tab.h parse2SMT_defs.h
 
 clean:
-       $(RM) *.o parseCVC_defs.h parseSMT_defs.h *~ lexSMT.cpp parseSMT.cpp lexCVC.cpp parseCVC.cpp *.output smt.tab.* smt2.tab.* cvc.tab.* lex.yy.c libparser.a parse2SMT.cpp parse2SMT_defs.h lex2SMT.cpp .#*
+       $(RM) *.o *~ *.a .#* depend lex*.cpp parse*.cpp parse*.hpp *.output
 
 ifeq (,$(filter clean configclean distclean,$(MAKECMDGOALS)))
 depend: $(SRCS)
similarity index 99%
rename from src/parser/cvclib.lex
rename to src/parser/cvc.lex
index fc26be2520111e61f366bd84541c903ba712ecf6..e9089a974562f71a442c9d2940de73e290e90856 100644 (file)
@@ -9,7 +9,7 @@
 
 #include <iostream>
 #include "parser.h"
-#include "parseCVC_defs.h"
+#include "parsecvc.hpp"
 #include "ParserInterface.h"
 
   using namespace std;
similarity index 100%
rename from src/parser/cvclib.y
rename to src/parser/cvc.y
similarity index 99%
rename from src/parser/smtlib.lex
rename to src/parser/smt.lex
index 4326f4459bb93bd6bf396698f42a9383bd82a9e6..4fa24b73882ae431d9cbb9dc1ad54855d0da2a61 100644 (file)
@@ -35,7 +35,7 @@
   // -*- c++ -*-
 #include <iostream>
 #include "parser.h"
-#include "parseSMT_defs.h"
+#include "parsesmt.hpp"
 #include "ParserInterface.h"
 
   using namespace std;
similarity index 100%
rename from src/parser/smtlib.y
rename to src/parser/smt.y
similarity index 99%
rename from src/parser/smtlib2.lex
rename to src/parser/smt2.lex
index 411e9e7efb155b97253ec3d7b80b1c060f64f5d8..510b455ba89202d2f474e6033999f004acb469c7 100644 (file)
@@ -43,7 +43,7 @@
    ********************************************************************/
   // -*- c++ -*-L
 #include "parser.h"
-#include "parse2SMT_defs.h"
+#include "parsesmt2.hpp"
 #include "ParserInterface.h"
 
   extern char *smt2text;
similarity index 100%
rename from src/parser/smtlib2.y
rename to src/parser/smt2.y