Browse Source

[5132] several parser files regenerated

Tomek 8 years ago
parent
commit
fb402f7569
6 changed files with 689 additions and 734 deletions
  1. 284 356
      src/lib/eval/lexer.cc
  2. 4 5
      src/lib/eval/location.hh
  3. 296 289
      src/lib/eval/parser.cc
  4. 97 74
      src/lib/eval/parser.h
  5. 4 5
      src/lib/eval/position.hh
  6. 4 5
      src/lib/eval/stack.hh

File diff suppressed because it is too large
+ 284 - 356
src/lib/eval/lexer.cc


+ 4 - 5
src/lib/eval/location.hh

@@ -1,4 +1,3 @@
-// Generated 201702011420
 // A Bison parser, made by GNU Bison 3.0.4.
 
 // Locations for Bison parsers in C++
@@ -41,9 +40,9 @@
 
 # include "position.hh"
 
-#line 14 "parser.yy" // location.cc:296
+#line 14 "parser.yy" // location.cc:337
 namespace isc { namespace eval {
-#line 46 "location.hh" // location.cc:296
+#line 46 "location.hh" // location.cc:337
   /// Abstract a location.
   class location
   {
@@ -187,7 +186,7 @@ namespace isc { namespace eval {
     return ostr;
   }
 
-#line 14 "parser.yy" // location.cc:296
+#line 14 "parser.yy" // location.cc:337
 } } // isc::eval
-#line 192 "location.hh" // location.cc:296
+#line 192 "location.hh" // location.cc:337
 #endif // !YY_EVAL_LOCATION_HH_INCLUDED

File diff suppressed because it is too large
+ 296 - 289
src/lib/eval/parser.cc


+ 97 - 74
src/lib/eval/parser.h

@@ -40,7 +40,7 @@
 #ifndef YY_EVAL_PARSER_H_INCLUDED
 # define YY_EVAL_PARSER_H_INCLUDED
 // //                    "%code requires" blocks.
-#line 17 "parser.yy" // lalr1.cc:377
+#line 17 "parser.yy" // lalr1.cc:392
 
 #include <string>
 #include <eval/token.h>
@@ -51,7 +51,7 @@
 using namespace isc::dhcp;
 using namespace isc::eval;
 
-#line 55 "parser.h" // lalr1.cc:377
+#line 55 "parser.h" // lalr1.cc:392
 
 # include <cassert>
 # include <cstdlib> // std::abort
@@ -134,9 +134,9 @@ using namespace isc::eval;
 # endif /* ! defined YYDEBUG */
 #endif  /* ! defined EVALDEBUG */
 
-#line 14 "parser.yy" // lalr1.cc:377
+#line 14 "parser.yy" // lalr1.cc:392
 namespace isc { namespace eval {
-#line 140 "parser.h" // lalr1.cc:377
+#line 140 "parser.h" // lalr1.cc:392
 
 
 
@@ -399,11 +399,13 @@ namespace isc { namespace eval {
         TOKEN_ANY = 297,
         TOKEN_DATA = 298,
         TOKEN_ENTERPRISE = 299,
-        TOKEN_STRING = 300,
-        TOKEN_INTEGER = 301,
-        TOKEN_HEXSTRING = 302,
-        TOKEN_OPTION_NAME = 303,
-        TOKEN_IP_ADDRESS = 304
+        TOKEN_TOPLEVEL_BOOL = 300,
+        TOKEN_TOPLEVEL_STRING = 301,
+        TOKEN_STRING = 302,
+        TOKEN_INTEGER = 303,
+        TOKEN_HEXSTRING = 304,
+        TOKEN_OPTION_NAME = 305,
+        TOKEN_IP_ADDRESS = 306
       };
     };
 
@@ -700,6 +702,14 @@ namespace isc { namespace eval {
 
     static inline
     symbol_type
+    make_TOPLEVEL_BOOL (const location_type& l);
+
+    static inline
+    symbol_type
+    make_TOPLEVEL_STRING (const location_type& l);
+
+    static inline
+    symbol_type
     make_STRING (const std::string& v, const location_type& l);
 
     static inline
@@ -923,12 +933,12 @@ namespace isc { namespace eval {
     enum
     {
       yyeof_ = 0,
-      yylast_ = 174,     ///< Last index in yytable_.
-      yynnts_ = 15,  ///< Number of nonterminal symbols.
-      yyfinal_ = 35, ///< Termination state number.
+      yylast_ = 179,     ///< Last index in yytable_.
+      yynnts_ = 17,  ///< Number of nonterminal symbols.
+      yyfinal_ = 27, ///< Termination state number.
       yyterror_ = 1,
       yyerrcode_ = 256,
-      yyntokens_ = 50  ///< Number of tokens.
+      yyntokens_ = 52  ///< Number of tokens.
     };
 
 
@@ -975,9 +985,9 @@ namespace isc { namespace eval {
       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
-      45,    46,    47,    48,    49
+      45,    46,    47,    48,    49,    50,    51
     };
-    const unsigned int user_token_number_max_ = 304;
+    const unsigned int user_token_number_max_ = 306;
     const token_number_type undef_token_ = 2;
 
     if (static_cast<int>(t) <= yyeof_)
@@ -1010,44 +1020,44 @@ namespace isc { namespace eval {
   {
       switch (other.type_get ())
     {
-      case 56: // option_repr_type
+      case 60: // option_repr_type
         value.copy< TokenOption::RepresentationType > (other.value);
         break;
 
-      case 60: // pkt4_field
+      case 64: // pkt4_field
         value.copy< TokenPkt4::FieldType > (other.value);
         break;
 
-      case 61: // pkt6_field
+      case 65: // pkt6_field
         value.copy< TokenPkt6::FieldType > (other.value);
         break;
 
-      case 58: // pkt_metadata
+      case 62: // pkt_metadata
         value.copy< TokenPkt::MetadataType > (other.value);
         break;
 
-      case 62: // relay6_field
+      case 66: // relay6_field
         value.copy< TokenRelay6Field::FieldType > (other.value);
         break;
 
-      case 45: // "constant string"
-      case 46: // "integer"
-      case 47: // "constant hexstring"
-      case 48: // "option name"
-      case 49: // "ip address"
+      case 47: // "constant string"
+      case 48: // "integer"
+      case 49: // "constant hexstring"
+      case 50: // "option name"
+      case 51: // "ip address"
         value.copy< std::string > (other.value);
         break;
 
-      case 55: // option_code
+      case 59: // option_code
         value.copy< uint16_t > (other.value);
         break;
 
-      case 54: // integer_expr
-      case 59: // enterprise_id
+      case 58: // integer_expr
+      case 63: // enterprise_id
         value.copy< uint32_t > (other.value);
         break;
 
-      case 57: // nest_level
+      case 61: // nest_level
         value.copy< uint8_t > (other.value);
         break;
 
@@ -1068,44 +1078,44 @@ namespace isc { namespace eval {
     (void) v;
       switch (this->type_get ())
     {
-      case 56: // option_repr_type
+      case 60: // option_repr_type
         value.copy< TokenOption::RepresentationType > (v);
         break;
 
-      case 60: // pkt4_field
+      case 64: // pkt4_field
         value.copy< TokenPkt4::FieldType > (v);
         break;
 
-      case 61: // pkt6_field
+      case 65: // pkt6_field
         value.copy< TokenPkt6::FieldType > (v);
         break;
 
-      case 58: // pkt_metadata
+      case 62: // pkt_metadata
         value.copy< TokenPkt::MetadataType > (v);
         break;
 
-      case 62: // relay6_field
+      case 66: // relay6_field
         value.copy< TokenRelay6Field::FieldType > (v);
         break;
 
-      case 45: // "constant string"
-      case 46: // "integer"
-      case 47: // "constant hexstring"
-      case 48: // "option name"
-      case 49: // "ip address"
+      case 47: // "constant string"
+      case 48: // "integer"
+      case 49: // "constant hexstring"
+      case 50: // "option name"
+      case 51: // "ip address"
         value.copy< std::string > (v);
         break;
 
-      case 55: // option_code
+      case 59: // option_code
         value.copy< uint16_t > (v);
         break;
 
-      case 54: // integer_expr
-      case 59: // enterprise_id
+      case 58: // integer_expr
+      case 63: // enterprise_id
         value.copy< uint32_t > (v);
         break;
 
-      case 57: // nest_level
+      case 61: // nest_level
         value.copy< uint8_t > (v);
         break;
 
@@ -1213,44 +1223,44 @@ namespace isc { namespace eval {
     // Type destructor.
     switch (yytype)
     {
-      case 56: // option_repr_type
+      case 60: // option_repr_type
         value.template destroy< TokenOption::RepresentationType > ();
         break;
 
-      case 60: // pkt4_field
+      case 64: // pkt4_field
         value.template destroy< TokenPkt4::FieldType > ();
         break;
 
-      case 61: // pkt6_field
+      case 65: // pkt6_field
         value.template destroy< TokenPkt6::FieldType > ();
         break;
 
-      case 58: // pkt_metadata
+      case 62: // pkt_metadata
         value.template destroy< TokenPkt::MetadataType > ();
         break;
 
-      case 62: // relay6_field
+      case 66: // relay6_field
         value.template destroy< TokenRelay6Field::FieldType > ();
         break;
 
-      case 45: // "constant string"
-      case 46: // "integer"
-      case 47: // "constant hexstring"
-      case 48: // "option name"
-      case 49: // "ip address"
+      case 47: // "constant string"
+      case 48: // "integer"
+      case 49: // "constant hexstring"
+      case 50: // "option name"
+      case 51: // "ip address"
         value.template destroy< std::string > ();
         break;
 
-      case 55: // option_code
+      case 59: // option_code
         value.template destroy< uint16_t > ();
         break;
 
-      case 54: // integer_expr
-      case 59: // enterprise_id
+      case 58: // integer_expr
+      case 63: // enterprise_id
         value.template destroy< uint32_t > ();
         break;
 
-      case 57: // nest_level
+      case 61: // nest_level
         value.template destroy< uint8_t > ();
         break;
 
@@ -1277,44 +1287,44 @@ namespace isc { namespace eval {
     super_type::move(s);
       switch (this->type_get ())
     {
-      case 56: // option_repr_type
+      case 60: // option_repr_type
         value.move< TokenOption::RepresentationType > (s.value);
         break;
 
-      case 60: // pkt4_field
+      case 64: // pkt4_field
         value.move< TokenPkt4::FieldType > (s.value);
         break;
 
-      case 61: // pkt6_field
+      case 65: // pkt6_field
         value.move< TokenPkt6::FieldType > (s.value);
         break;
 
-      case 58: // pkt_metadata
+      case 62: // pkt_metadata
         value.move< TokenPkt::MetadataType > (s.value);
         break;
 
-      case 62: // relay6_field
+      case 66: // relay6_field
         value.move< TokenRelay6Field::FieldType > (s.value);
         break;
 
-      case 45: // "constant string"
-      case 46: // "integer"
-      case 47: // "constant hexstring"
-      case 48: // "option name"
-      case 49: // "ip address"
+      case 47: // "constant string"
+      case 48: // "integer"
+      case 49: // "constant hexstring"
+      case 50: // "option name"
+      case 51: // "ip address"
         value.move< std::string > (s.value);
         break;
 
-      case 55: // option_code
+      case 59: // option_code
         value.move< uint16_t > (s.value);
         break;
 
-      case 54: // integer_expr
-      case 59: // enterprise_id
+      case 58: // integer_expr
+      case 63: // enterprise_id
         value.move< uint32_t > (s.value);
         break;
 
-      case 57: // nest_level
+      case 61: // nest_level
         value.move< uint8_t > (s.value);
         break;
 
@@ -1377,7 +1387,8 @@ namespace isc { namespace eval {
      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
-     295,   296,   297,   298,   299,   300,   301,   302,   303,   304
+     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
+     305,   306
     };
     return static_cast<token_type> (yytoken_number_[type]);
   }
@@ -1641,6 +1652,18 @@ namespace isc { namespace eval {
   }
 
   EvalParser::symbol_type
+  EvalParser::make_TOPLEVEL_BOOL (const location_type& l)
+  {
+    return symbol_type (token::TOKEN_TOPLEVEL_BOOL, l);
+  }
+
+  EvalParser::symbol_type
+  EvalParser::make_TOPLEVEL_STRING (const location_type& l)
+  {
+    return symbol_type (token::TOKEN_TOPLEVEL_STRING, l);
+  }
+
+  EvalParser::symbol_type
   EvalParser::make_STRING (const std::string& v, const location_type& l)
   {
     return symbol_type (token::TOKEN_STRING, v, l);
@@ -1671,9 +1694,9 @@ namespace isc { namespace eval {
   }
 
 
-#line 14 "parser.yy" // lalr1.cc:377
+#line 14 "parser.yy" // lalr1.cc:392
 } } // isc::eval
-#line 1677 "parser.h" // lalr1.cc:377
+#line 1700 "parser.h" // lalr1.cc:392
 
 
 

+ 4 - 5
src/lib/eval/position.hh

@@ -1,4 +1,3 @@
-// Generated 201702011420
 // A Bison parser, made by GNU Bison 3.0.4.
 
 // Positions for Bison parsers in C++
@@ -51,9 +50,9 @@
 #  endif
 # endif
 
-#line 14 "parser.yy" // location.cc:296
+#line 14 "parser.yy" // location.cc:337
 namespace isc { namespace eval {
-#line 56 "position.hh" // location.cc:296
+#line 56 "position.hh" // location.cc:337
   /// Abstract a position.
   class position
   {
@@ -175,7 +174,7 @@ namespace isc { namespace eval {
     return ostr << pos.line << '.' << pos.column;
   }
 
-#line 14 "parser.yy" // location.cc:296
+#line 14 "parser.yy" // location.cc:337
 } } // isc::eval
-#line 180 "position.hh" // location.cc:296
+#line 180 "position.hh" // location.cc:337
 #endif // !YY_EVAL_POSITION_HH_INCLUDED

+ 4 - 5
src/lib/eval/stack.hh

@@ -1,4 +1,3 @@
-// Generated 201702011420
 // A Bison parser, made by GNU Bison 3.0.4.
 
 // Stack handling for Bison parsers in C++
@@ -41,9 +40,9 @@
 
 # include <vector>
 
-#line 14 "parser.yy" // stack.hh:132
+#line 14 "parser.yy" // stack.hh:151
 namespace isc { namespace eval {
-#line 46 "stack.hh" // stack.hh:132
+#line 46 "stack.hh" // stack.hh:151
   template <class T, class S = std::vector<T> >
   class stack
   {
@@ -151,8 +150,8 @@ namespace isc { namespace eval {
     unsigned int range_;
   };
 
-#line 14 "parser.yy" // stack.hh:132
+#line 14 "parser.yy" // stack.hh:151
 } } // isc::eval
-#line 156 "stack.hh" // stack.hh:132
+#line 156 "stack.hh" // stack.hh:151
 
 #endif // !YY_EVAL_STACK_HH_INCLUDED