Browse Source

[master] Merge trac4125 (parser build)

Francis Dupont 9 years ago
parent
commit
f4bf83b15c

+ 2 - 0
configure.ac

@@ -1255,6 +1255,8 @@ EOF
     $RM -f bisontest.y bisontest.cc
 fi
 
+AM_CONDITIONAL([GENERATE_PARSER], [test x$enable_generate_parser != xno])
+
 AC_ARG_ENABLE(generate_docs, [AC_HELP_STRING([--enable-generate-docs],
   [regenerate documentation using Docbook [default=no]])],
   enable_generate_docs=$enableval, enable_generate_docs=no)

+ 9 - 0
src/lib/eval/Makefile.am

@@ -73,6 +73,8 @@ maintainer-clean-local:
 # Make sure you have both flex and bison installed.
 parser-clean: maintainer-clean-local
 
+if GENERATE_PARSER
+
 parser: lexer.cc location.hh position.hh stack.hh parser.cc parser.h
 	@echo "Flex/bison files regenerated"
 
@@ -82,3 +84,10 @@ location.hh position.hh stack.hh parser.cc parser.h: parser.yy
 
 lexer.cc: lexer.ll
 	$(LEX) -o lexer.cc lexer.ll
+
+else
+
+parser location.hh position.hh stack.hh parser.cc parser.h lexer.cc:
+	@echo Parser generation disabled. Configure with --enable-generate-parser to enable it.
+
+endif

+ 1 - 1
src/lib/eval/location.hh

@@ -1,4 +1,4 @@
-// Generated 2015114
+// Generated 2015115
 // A Bison parser, made by GNU Bison 3.0.4.
 
 // Locations for Bison parsers in C++

+ 1 - 1
src/lib/eval/parser.cc

@@ -595,7 +595,7 @@ namespace isc { namespace eval {
   case 6:
 #line 90 "parser.yy" // lalr1.cc:859
     {
-                      int n;
+                      int n = 0;
                       try {
                           n  = boost::lexical_cast<int>(yystack_[1].value.as< std::string > ());
                       } catch (const boost::bad_lexical_cast &) {

+ 1 - 1
src/lib/eval/parser.yy

@@ -88,7 +88,7 @@ string_expr : STRING
                   }
             | OPTION "[" INTEGER "]"
                   {
-                      int n;
+                      int n = 0;
                       try {
                           n  = boost::lexical_cast<int>($3);
                       } catch (const boost::bad_lexical_cast &) {

+ 1 - 1
src/lib/eval/position.hh

@@ -1,4 +1,4 @@
-// Generated 2015114
+// Generated 2015115
 // A Bison parser, made by GNU Bison 3.0.4.
 
 // Positions for Bison parsers in C++

+ 1 - 1
src/lib/eval/stack.hh

@@ -1,4 +1,4 @@
-// Generated 2015114
+// Generated 2015115
 // A Bison parser, made by GNU Bison 3.0.4.
 
 // Stack handling for Bison parsers in C++