/src/kea/src/bin/d2/d2_parser.h
Line | Count | Source |
1 | | // A Bison parser, made by GNU Bison 3.8.2. |
2 | | |
3 | | // Skeleton interface for Bison LALR(1) parsers in C++ |
4 | | |
5 | | // Copyright (C) 2002-2015, 2018-2021 Free Software Foundation, Inc. |
6 | | |
7 | | // This program is free software: you can redistribute it and/or modify |
8 | | // it under the terms of the GNU General Public License as published by |
9 | | // the Free Software Foundation, either version 3 of the License, or |
10 | | // (at your option) any later version. |
11 | | |
12 | | // This program is distributed in the hope that it will be useful, |
13 | | // but WITHOUT ANY WARRANTY; without even the implied warranty of |
14 | | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
15 | | // GNU General Public License for more details. |
16 | | |
17 | | // You should have received a copy of the GNU General Public License |
18 | | // along with this program. If not, see <https://www.gnu.org/licenses/>. |
19 | | |
20 | | // As a special exception, you may create a larger work that contains |
21 | | // part or all of the Bison parser skeleton and distribute that work |
22 | | // under terms of your choice, so long as that work isn't itself a |
23 | | // parser generator using the skeleton or a modified version thereof |
24 | | // as a parser skeleton. Alternatively, if you modify or redistribute |
25 | | // the parser skeleton itself, you may (at your option) remove this |
26 | | // special exception, which will cause the skeleton and the resulting |
27 | | // Bison output files to be licensed under the GNU General Public |
28 | | // License without this special exception. |
29 | | |
30 | | // This special exception was added by the Free Software Foundation in |
31 | | // version 2.2 of Bison. |
32 | | |
33 | | |
34 | | /** |
35 | | ** \file d2_parser.h |
36 | | ** Define the isc::d2::parser class. |
37 | | */ |
38 | | |
39 | | // C++ LALR(1) parser skeleton written by Akim Demaille. |
40 | | |
41 | | // DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual, |
42 | | // especially those whose name start with YY_ or yy_. They are |
43 | | // private implementation details that can be changed or removed. |
44 | | |
45 | | #ifndef YY_D2_PARSER_D2_PARSER_H_INCLUDED |
46 | | # define YY_D2_PARSER_D2_PARSER_H_INCLUDED |
47 | | // "%code requires" blocks. |
48 | | #line 17 "d2_parser.yy" |
49 | | |
50 | | #include <config.h> |
51 | | #include <string> |
52 | | #include <cc/data.h> |
53 | | #include <d2srv/d2_config.h> |
54 | | #include <boost/lexical_cast.hpp> |
55 | | #include <d2/parser_context_decl.h> |
56 | | |
57 | | using namespace isc::d2; |
58 | | using namespace isc::data; |
59 | | using namespace std; |
60 | | |
61 | | #line 62 "d2_parser.h" |
62 | | |
63 | | # include <cassert> |
64 | | # include <cstdlib> // std::abort |
65 | | # include <iostream> |
66 | | # include <stdexcept> |
67 | | # include <string> |
68 | | # include <vector> |
69 | | |
70 | | #if defined __cplusplus |
71 | | # define YY_CPLUSPLUS __cplusplus |
72 | | #else |
73 | | # define YY_CPLUSPLUS 199711L |
74 | | #endif |
75 | | |
76 | | // Support move semantics when possible. |
77 | | #if 201103L <= YY_CPLUSPLUS |
78 | 11.6M | # define YY_MOVE std::move |
79 | | # define YY_MOVE_OR_COPY move |
80 | | # define YY_MOVE_REF(Type) Type&& |
81 | | # define YY_RVREF(Type) Type&& |
82 | | # define YY_COPY(Type) Type |
83 | | #else |
84 | | # define YY_MOVE |
85 | | # define YY_MOVE_OR_COPY copy |
86 | | # define YY_MOVE_REF(Type) Type& |
87 | | # define YY_RVREF(Type) const Type& |
88 | | # define YY_COPY(Type) const Type& |
89 | | #endif |
90 | | |
91 | | // Support noexcept when possible. |
92 | | #if 201103L <= YY_CPLUSPLUS |
93 | | # define YY_NOEXCEPT noexcept |
94 | | # define YY_NOTHROW |
95 | | #else |
96 | | # define YY_NOEXCEPT |
97 | | # define YY_NOTHROW throw () |
98 | | #endif |
99 | | |
100 | | // Support constexpr when possible. |
101 | | #if 201703 <= YY_CPLUSPLUS |
102 | | # define YY_CONSTEXPR constexpr |
103 | | #else |
104 | | # define YY_CONSTEXPR |
105 | | #endif |
106 | | # include "location.hh" |
107 | | #include <typeinfo> |
108 | | #ifndef D2_PARSER__ASSERT |
109 | | # include <cassert> |
110 | 14.5M | # define D2_PARSER__ASSERT assert |
111 | | #endif |
112 | | |
113 | | |
114 | | #ifndef YY_ATTRIBUTE_PURE |
115 | | # if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__) |
116 | | # define YY_ATTRIBUTE_PURE __attribute__ ((__pure__)) |
117 | | # else |
118 | | # define YY_ATTRIBUTE_PURE |
119 | | # endif |
120 | | #endif |
121 | | |
122 | | #ifndef YY_ATTRIBUTE_UNUSED |
123 | | # if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__) |
124 | | # define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__)) |
125 | | # else |
126 | | # define YY_ATTRIBUTE_UNUSED |
127 | | # endif |
128 | | #endif |
129 | | |
130 | | /* Suppress unused-variable warnings by "using" E. */ |
131 | | #if ! defined lint || defined __GNUC__ |
132 | 0 | # define YY_USE(E) ((void) (E)) |
133 | | #else |
134 | | # define YY_USE(E) /* empty */ |
135 | | #endif |
136 | | |
137 | | /* Suppress an incorrect diagnostic about yylval being uninitialized. */ |
138 | | #if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__ |
139 | | # if __GNUC__ * 100 + __GNUC_MINOR__ < 407 |
140 | | # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ |
141 | | _Pragma ("GCC diagnostic push") \ |
142 | | _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") |
143 | | # else |
144 | | # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ |
145 | | _Pragma ("GCC diagnostic push") \ |
146 | | _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \ |
147 | | _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") |
148 | | # endif |
149 | | # define YY_IGNORE_MAYBE_UNINITIALIZED_END \ |
150 | | _Pragma ("GCC diagnostic pop") |
151 | | #else |
152 | | # define YY_INITIAL_VALUE(Value) Value |
153 | | #endif |
154 | | #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN |
155 | | # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN |
156 | | # define YY_IGNORE_MAYBE_UNINITIALIZED_END |
157 | | #endif |
158 | | #ifndef YY_INITIAL_VALUE |
159 | | # define YY_INITIAL_VALUE(Value) /* Nothing. */ |
160 | | #endif |
161 | | |
162 | | #if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__ |
163 | | # define YY_IGNORE_USELESS_CAST_BEGIN \ |
164 | | _Pragma ("GCC diagnostic push") \ |
165 | | _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"") |
166 | | # define YY_IGNORE_USELESS_CAST_END \ |
167 | | _Pragma ("GCC diagnostic pop") |
168 | | #endif |
169 | | #ifndef YY_IGNORE_USELESS_CAST_BEGIN |
170 | | # define YY_IGNORE_USELESS_CAST_BEGIN |
171 | | # define YY_IGNORE_USELESS_CAST_END |
172 | | #endif |
173 | | |
174 | | # ifndef YY_CAST |
175 | | # ifdef __cplusplus |
176 | 4.12M | # define YY_CAST(Type, Val) static_cast<Type> (Val) |
177 | | # define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val) |
178 | | # else |
179 | | # define YY_CAST(Type, Val) ((Type) (Val)) |
180 | | # define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val)) |
181 | | # endif |
182 | | # endif |
183 | | # ifndef YY_NULLPTR |
184 | | # if defined __cplusplus |
185 | | # if 201103L <= __cplusplus |
186 | | # define YY_NULLPTR nullptr |
187 | | # else |
188 | | # define YY_NULLPTR 0 |
189 | | # endif |
190 | | # else |
191 | | # define YY_NULLPTR ((void*)0) |
192 | | # endif |
193 | | # endif |
194 | | |
195 | | /* Debug traces. */ |
196 | | #ifndef D2_PARSER_DEBUG |
197 | | # if defined YYDEBUG |
198 | | #if YYDEBUG |
199 | | # define D2_PARSER_DEBUG 1 |
200 | | # else |
201 | | # define D2_PARSER_DEBUG 0 |
202 | | # endif |
203 | | # else /* ! defined YYDEBUG */ |
204 | | # define D2_PARSER_DEBUG 1 |
205 | | # endif /* ! defined YYDEBUG */ |
206 | | #endif /* ! defined D2_PARSER_DEBUG */ |
207 | | |
208 | | #line 14 "d2_parser.yy" |
209 | | namespace isc { namespace d2 { |
210 | | #line 211 "d2_parser.h" |
211 | | |
212 | | |
213 | | |
214 | | |
215 | | /// A Bison parser. |
216 | | class D2Parser |
217 | | { |
218 | | public: |
219 | | #ifdef D2_PARSER_STYPE |
220 | | # ifdef __GNUC__ |
221 | | # pragma GCC message "bison: do not #define D2_PARSER_STYPE in C++, use %define api.value.type" |
222 | | # endif |
223 | | typedef D2_PARSER_STYPE value_type; |
224 | | #else |
225 | | /// A buffer to store and retrieve objects. |
226 | | /// |
227 | | /// Sort of a variant, but does not keep track of the nature |
228 | | /// of the stored data, since that knowledge is available |
229 | | /// via the current parser state. |
230 | | class value_type |
231 | | { |
232 | | public: |
233 | | /// Type of *this. |
234 | | typedef value_type self_type; |
235 | | |
236 | | /// Empty construction. |
237 | | value_type () YY_NOEXCEPT |
238 | | : yyraw_ () |
239 | 7.99M | , yytypeid_ (YY_NULLPTR) |
240 | 7.99M | {} |
241 | | |
242 | | /// Construct and fill. |
243 | | template <typename T> |
244 | | value_type (YY_RVREF (T) t) |
245 | 69.9k | : yytypeid_ (&typeid (T)) |
246 | 69.9k | { |
247 | 69.9k | D2_PARSER__ASSERT (sizeof (T) <= size); |
248 | 69.9k | new (yyas_<T> ()) T (YY_MOVE (t)); |
249 | 69.9k | } isc::d2::D2Parser::value_type::value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&) Line | Count | Source | 245 | 50.5k | : yytypeid_ (&typeid (T)) | 246 | 50.5k | { | 247 | 50.5k | D2_PARSER__ASSERT (sizeof (T) <= size); | 248 | 50.5k | new (yyas_<T> ()) T (YY_MOVE (t)); | 249 | 50.5k | } |
isc::d2::D2Parser::value_type::value_type<long>(long&&) Line | Count | Source | 245 | 16.6k | : yytypeid_ (&typeid (T)) | 246 | 16.6k | { | 247 | 16.6k | D2_PARSER__ASSERT (sizeof (T) <= size); | 248 | 16.6k | new (yyas_<T> ()) T (YY_MOVE (t)); | 249 | 16.6k | } |
isc::d2::D2Parser::value_type::value_type<double>(double&&) Line | Count | Source | 245 | 2.22k | : yytypeid_ (&typeid (T)) | 246 | 2.22k | { | 247 | 2.22k | D2_PARSER__ASSERT (sizeof (T) <= size); | 248 | 2.22k | new (yyas_<T> ()) T (YY_MOVE (t)); | 249 | 2.22k | } |
isc::d2::D2Parser::value_type::value_type<bool>(bool&&) Line | Count | Source | 245 | 517 | : yytypeid_ (&typeid (T)) | 246 | 517 | { | 247 | 517 | D2_PARSER__ASSERT (sizeof (T) <= size); | 248 | 517 | new (yyas_<T> ()) T (YY_MOVE (t)); | 249 | 517 | } |
|
250 | | |
251 | | #if 201103L <= YY_CPLUSPLUS |
252 | | /// Non copyable. |
253 | | value_type (const self_type&) = delete; |
254 | | /// Non copyable. |
255 | | self_type& operator= (const self_type&) = delete; |
256 | | #endif |
257 | | |
258 | | /// Destruction, allowed only if empty. |
259 | | ~value_type () YY_NOEXCEPT |
260 | 8.06M | { |
261 | 8.06M | D2_PARSER__ASSERT (!yytypeid_); |
262 | 8.06M | } |
263 | | |
264 | | # if 201103L <= YY_CPLUSPLUS |
265 | | /// Instantiate a \a T in here from \a t. |
266 | | template <typename T, typename... U> |
267 | | T& |
268 | | emplace (U&&... u) |
269 | 595k | { |
270 | 595k | D2_PARSER__ASSERT (!yytypeid_); |
271 | 595k | D2_PARSER__ASSERT (sizeof (T) <= size); |
272 | 595k | yytypeid_ = & typeid (T); |
273 | 595k | return *new (yyas_<T> ()) T (std::forward <U>(u)...); |
274 | 595k | } boost::shared_ptr<isc::data::Element>& isc::d2::D2Parser::value_type::emplace<boost::shared_ptr<isc::data::Element>, boost::shared_ptr<isc::data::Element> >(boost::shared_ptr<isc::data::Element>&&) Line | Count | Source | 269 | 186k | { | 270 | 186k | D2_PARSER__ASSERT (!yytypeid_); | 271 | | D2_PARSER__ASSERT (sizeof (T) <= size); | 272 | 186k | yytypeid_ = & typeid (T); | 273 | 186k | return *new (yyas_<T> ()) T (std::forward <U>(u)...); | 274 | 186k | } |
bool& isc::d2::D2Parser::value_type::emplace<bool, bool>(bool&&) Line | Count | Source | 269 | 1.50k | { | 270 | 1.50k | D2_PARSER__ASSERT (!yytypeid_); | 271 | | D2_PARSER__ASSERT (sizeof (T) <= size); | 272 | 1.50k | yytypeid_ = & typeid (T); | 273 | 1.50k | return *new (yyas_<T> ()) T (std::forward <U>(u)...); | 274 | 1.50k | } |
double& isc::d2::D2Parser::value_type::emplace<double, double>(double&&) Line | Count | Source | 269 | 6.56k | { | 270 | 6.56k | D2_PARSER__ASSERT (!yytypeid_); | 271 | | D2_PARSER__ASSERT (sizeof (T) <= size); | 272 | 6.56k | yytypeid_ = & typeid (T); | 273 | 6.56k | return *new (yyas_<T> ()) T (std::forward <U>(u)...); | 274 | 6.56k | } |
long& isc::d2::D2Parser::value_type::emplace<long, long>(long&&) Line | Count | Source | 269 | 49.0k | { | 270 | 49.0k | D2_PARSER__ASSERT (!yytypeid_); | 271 | | D2_PARSER__ASSERT (sizeof (T) <= size); | 272 | 49.0k | yytypeid_ = & typeid (T); | 273 | 49.0k | return *new (yyas_<T> ()) T (std::forward <U>(u)...); | 274 | 49.0k | } |
std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >& isc::d2::D2Parser::value_type::emplace<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&) Line | Count | Source | 269 | 166k | { | 270 | 166k | D2_PARSER__ASSERT (!yytypeid_); | 271 | | D2_PARSER__ASSERT (sizeof (T) <= size); | 272 | 166k | yytypeid_ = & typeid (T); | 273 | 166k | return *new (yyas_<T> ()) T (std::forward <U>(u)...); | 274 | 166k | } |
boost::shared_ptr<isc::data::Element>& isc::d2::D2Parser::value_type::emplace<boost::shared_ptr<isc::data::Element>>() Line | Count | Source | 269 | 186k | { | 270 | 186k | D2_PARSER__ASSERT (!yytypeid_); | 271 | | D2_PARSER__ASSERT (sizeof (T) <= size); | 272 | 186k | yytypeid_ = & typeid (T); | 273 | 186k | return *new (yyas_<T> ()) T (std::forward <U>(u)...); | 274 | 186k | } |
Unexecuted instantiation: bool& isc::d2::D2Parser::value_type::emplace<bool>() Unexecuted instantiation: double& isc::d2::D2Parser::value_type::emplace<double>() Unexecuted instantiation: long& isc::d2::D2Parser::value_type::emplace<long>() Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >& isc::d2::D2Parser::value_type::emplace<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>() |
275 | | # else |
276 | | /// Instantiate an empty \a T in here. |
277 | | template <typename T> |
278 | | T& |
279 | | emplace () |
280 | | { |
281 | | D2_PARSER__ASSERT (!yytypeid_); |
282 | | D2_PARSER__ASSERT (sizeof (T) <= size); |
283 | | yytypeid_ = & typeid (T); |
284 | | return *new (yyas_<T> ()) T (); |
285 | | } |
286 | | |
287 | | /// Instantiate a \a T in here from \a t. |
288 | | template <typename T> |
289 | | T& |
290 | | emplace (const T& t) |
291 | | { |
292 | | D2_PARSER__ASSERT (!yytypeid_); |
293 | | D2_PARSER__ASSERT (sizeof (T) <= size); |
294 | | yytypeid_ = & typeid (T); |
295 | | return *new (yyas_<T> ()) T (t); |
296 | | } |
297 | | # endif |
298 | | |
299 | | /// Instantiate an empty \a T in here. |
300 | | /// Obsolete, use emplace. |
301 | | template <typename T> |
302 | | T& |
303 | | build () |
304 | | { |
305 | | return emplace<T> (); |
306 | | } |
307 | | |
308 | | /// Instantiate a \a T in here from \a t. |
309 | | /// Obsolete, use emplace. |
310 | | template <typename T> |
311 | | T& |
312 | | build (const T& t) |
313 | | { |
314 | | return emplace<T> (t); |
315 | | } |
316 | | |
317 | | /// Accessor to a built \a T. |
318 | | template <typename T> |
319 | | T& |
320 | | as () YY_NOEXCEPT |
321 | 1.51M | { |
322 | 1.51M | D2_PARSER__ASSERT (yytypeid_); |
323 | 1.51M | D2_PARSER__ASSERT (*yytypeid_ == typeid (T)); |
324 | 1.51M | D2_PARSER__ASSERT (sizeof (T) <= size); |
325 | 1.51M | return *yyas_<T> (); |
326 | 1.51M | } boost::shared_ptr<isc::data::Element>& isc::d2::D2Parser::value_type::as<boost::shared_ptr<isc::data::Element> >() Line | Count | Source | 321 | 930k | { | 322 | 930k | D2_PARSER__ASSERT (yytypeid_); | 323 | 930k | D2_PARSER__ASSERT (*yytypeid_ == typeid (T)); | 324 | | D2_PARSER__ASSERT (sizeof (T) <= size); | 325 | 930k | return *yyas_<T> (); | 326 | 930k | } |
bool& isc::d2::D2Parser::value_type::as<bool>() Line | Count | Source | 321 | 4.01k | { | 322 | 4.01k | D2_PARSER__ASSERT (yytypeid_); | 323 | 4.01k | D2_PARSER__ASSERT (*yytypeid_ == typeid (T)); | 324 | | D2_PARSER__ASSERT (sizeof (T) <= size); | 325 | 4.01k | return *yyas_<T> (); | 326 | 4.01k | } |
double& isc::d2::D2Parser::value_type::as<double>() Line | Count | Source | 321 | 17.5k | { | 322 | 17.5k | D2_PARSER__ASSERT (yytypeid_); | 323 | 17.5k | D2_PARSER__ASSERT (*yytypeid_ == typeid (T)); | 324 | | D2_PARSER__ASSERT (sizeof (T) <= size); | 325 | 17.5k | return *yyas_<T> (); | 326 | 17.5k | } |
long& isc::d2::D2Parser::value_type::as<long>() Line | Count | Source | 321 | 131k | { | 322 | 131k | D2_PARSER__ASSERT (yytypeid_); | 323 | 131k | D2_PARSER__ASSERT (*yytypeid_ == typeid (T)); | 324 | | D2_PARSER__ASSERT (sizeof (T) <= size); | 325 | 131k | return *yyas_<T> (); | 326 | 131k | } |
std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >& isc::d2::D2Parser::value_type::as<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >() Line | Count | Source | 321 | 434k | { | 322 | 434k | D2_PARSER__ASSERT (yytypeid_); | 323 | 434k | D2_PARSER__ASSERT (*yytypeid_ == typeid (T)); | 324 | | D2_PARSER__ASSERT (sizeof (T) <= size); | 325 | 434k | return *yyas_<T> (); | 326 | 434k | } |
|
327 | | |
328 | | /// Const accessor to a built \a T (for %printer). |
329 | | template <typename T> |
330 | | const T& |
331 | | as () const YY_NOEXCEPT |
332 | 0 | { |
333 | 0 | D2_PARSER__ASSERT (yytypeid_); |
334 | 0 | D2_PARSER__ASSERT (*yytypeid_ == typeid (T)); |
335 | 0 | D2_PARSER__ASSERT (sizeof (T) <= size); |
336 | 0 | return *yyas_<T> (); |
337 | 0 | } Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const& isc::d2::D2Parser::value_type::as<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >() const Unexecuted instantiation: long const& isc::d2::D2Parser::value_type::as<long>() const Unexecuted instantiation: double const& isc::d2::D2Parser::value_type::as<double>() const Unexecuted instantiation: bool const& isc::d2::D2Parser::value_type::as<bool>() const Unexecuted instantiation: boost::shared_ptr<isc::data::Element> const& isc::d2::D2Parser::value_type::as<boost::shared_ptr<isc::data::Element> >() const |
338 | | |
339 | | /// Swap the content with \a that, of same type. |
340 | | /// |
341 | | /// Both variants must be built beforehand, because swapping the actual |
342 | | /// data requires reading it (with as()), and this is not possible on |
343 | | /// unconstructed variants: it would require some dynamic testing, which |
344 | | /// should not be the variant's responsibility. |
345 | | /// Swapping between built and (possibly) non-built is done with |
346 | | /// self_type::move (). |
347 | | template <typename T> |
348 | | void |
349 | | swap (self_type& that) YY_NOEXCEPT |
350 | | { |
351 | | D2_PARSER__ASSERT (yytypeid_); |
352 | | D2_PARSER__ASSERT (*yytypeid_ == *that.yytypeid_); |
353 | | std::swap (as<T> (), that.as<T> ()); |
354 | | } |
355 | | |
356 | | /// Move the content of \a that to this. |
357 | | /// |
358 | | /// Destroys \a that. |
359 | | template <typename T> |
360 | | void |
361 | | move (self_type& that) |
362 | | { |
363 | | # if 201103L <= YY_CPLUSPLUS |
364 | | emplace<T> (std::move (that.as<T> ())); |
365 | | # else |
366 | | emplace<T> (); |
367 | | swap<T> (that); |
368 | | # endif |
369 | | that.destroy<T> (); |
370 | | } |
371 | | |
372 | | # if 201103L <= YY_CPLUSPLUS |
373 | | /// Move the content of \a that to this. |
374 | | template <typename T> |
375 | | void |
376 | | move (self_type&& that) |
377 | 409k | { |
378 | 409k | emplace<T> (std::move (that.as<T> ())); |
379 | 409k | that.destroy<T> (); |
380 | 409k | } void isc::d2::D2Parser::value_type::move<boost::shared_ptr<isc::data::Element> >(isc::d2::D2Parser::value_type&&) Line | Count | Source | 377 | 186k | { | 378 | 186k | emplace<T> (std::move (that.as<T> ())); | 379 | 186k | that.destroy<T> (); | 380 | 186k | } |
void isc::d2::D2Parser::value_type::move<bool>(isc::d2::D2Parser::value_type&&) Line | Count | Source | 377 | 1.50k | { | 378 | 1.50k | emplace<T> (std::move (that.as<T> ())); | 379 | 1.50k | that.destroy<T> (); | 380 | 1.50k | } |
void isc::d2::D2Parser::value_type::move<double>(isc::d2::D2Parser::value_type&&) Line | Count | Source | 377 | 6.56k | { | 378 | 6.56k | emplace<T> (std::move (that.as<T> ())); | 379 | 6.56k | that.destroy<T> (); | 380 | 6.56k | } |
void isc::d2::D2Parser::value_type::move<long>(isc::d2::D2Parser::value_type&&) Line | Count | Source | 377 | 49.0k | { | 378 | 49.0k | emplace<T> (std::move (that.as<T> ())); | 379 | 49.0k | that.destroy<T> (); | 380 | 49.0k | } |
void isc::d2::D2Parser::value_type::move<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(isc::d2::D2Parser::value_type&&) Line | Count | Source | 377 | 166k | { | 378 | 166k | emplace<T> (std::move (that.as<T> ())); | 379 | 166k | that.destroy<T> (); | 380 | 166k | } |
|
381 | | #endif |
382 | | |
383 | | /// Copy the content of \a that to this. |
384 | | template <typename T> |
385 | | void |
386 | | copy (const self_type& that) |
387 | | { |
388 | | emplace<T> (that.as<T> ()); |
389 | | } |
390 | | |
391 | | /// Destroy the stored \a T. |
392 | | template <typename T> |
393 | | void |
394 | | destroy () |
395 | 665k | { |
396 | 665k | as<T> ().~T (); |
397 | 665k | yytypeid_ = YY_NULLPTR; |
398 | 665k | } void isc::d2::D2Parser::value_type::destroy<boost::shared_ptr<isc::data::Element> >() Line | Count | Source | 395 | 372k | { | 396 | 372k | as<T> ().~T (); | 397 | 372k | yytypeid_ = YY_NULLPTR; | 398 | 372k | } |
void isc::d2::D2Parser::value_type::destroy<bool>() Line | Count | Source | 395 | 2.01k | { | 396 | 2.01k | as<T> ().~T (); | 397 | 2.01k | yytypeid_ = YY_NULLPTR; | 398 | 2.01k | } |
void isc::d2::D2Parser::value_type::destroy<double>() Line | Count | Source | 395 | 8.78k | { | 396 | 8.78k | as<T> ().~T (); | 397 | 8.78k | yytypeid_ = YY_NULLPTR; | 398 | 8.78k | } |
void isc::d2::D2Parser::value_type::destroy<long>() Line | Count | Source | 395 | 65.6k | { | 396 | 65.6k | as<T> ().~T (); | 397 | 65.6k | yytypeid_ = YY_NULLPTR; | 398 | 65.6k | } |
void isc::d2::D2Parser::value_type::destroy<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >() Line | Count | Source | 395 | 216k | { | 396 | 216k | as<T> ().~T (); | 397 | 216k | yytypeid_ = YY_NULLPTR; | 398 | 216k | } |
|
399 | | |
400 | | private: |
401 | | #if YY_CPLUSPLUS < 201103L |
402 | | /// Non copyable. |
403 | | value_type (const self_type&); |
404 | | /// Non copyable. |
405 | | self_type& operator= (const self_type&); |
406 | | #endif |
407 | | |
408 | | /// Accessor to raw memory as \a T. |
409 | | template <typename T> |
410 | | T* |
411 | | yyas_ () YY_NOEXCEPT |
412 | 2.18M | { |
413 | 2.18M | void *yyp = yyraw_; |
414 | 2.18M | return static_cast<T*> (yyp); |
415 | 2.18M | } boost::shared_ptr<isc::data::Element>* isc::d2::D2Parser::value_type::yyas_<boost::shared_ptr<isc::data::Element> >() Line | Count | Source | 412 | 1.30M | { | 413 | 1.30M | void *yyp = yyraw_; | 414 | 1.30M | return static_cast<T*> (yyp); | 415 | 1.30M | } |
bool* isc::d2::D2Parser::value_type::yyas_<bool>() Line | Count | Source | 412 | 6.02k | { | 413 | 6.02k | void *yyp = yyraw_; | 414 | 6.02k | return static_cast<T*> (yyp); | 415 | 6.02k | } |
double* isc::d2::D2Parser::value_type::yyas_<double>() Line | Count | Source | 412 | 26.3k | { | 413 | 26.3k | void *yyp = yyraw_; | 414 | 26.3k | return static_cast<T*> (yyp); | 415 | 26.3k | } |
long* isc::d2::D2Parser::value_type::yyas_<long>() Line | Count | Source | 412 | 197k | { | 413 | 197k | void *yyp = yyraw_; | 414 | 197k | return static_cast<T*> (yyp); | 415 | 197k | } |
std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >* isc::d2::D2Parser::value_type::yyas_<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >() Line | Count | Source | 412 | 651k | { | 413 | 651k | void *yyp = yyraw_; | 414 | 651k | return static_cast<T*> (yyp); | 415 | 651k | } |
|
416 | | |
417 | | /// Const accessor to raw memory as \a T. |
418 | | template <typename T> |
419 | | const T* |
420 | | yyas_ () const YY_NOEXCEPT |
421 | 0 | { |
422 | 0 | const void *yyp = yyraw_; |
423 | 0 | return static_cast<const T*> (yyp); |
424 | 0 | } Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const* isc::d2::D2Parser::value_type::yyas_<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >() const Unexecuted instantiation: long const* isc::d2::D2Parser::value_type::yyas_<long>() const Unexecuted instantiation: double const* isc::d2::D2Parser::value_type::yyas_<double>() const Unexecuted instantiation: bool const* isc::d2::D2Parser::value_type::yyas_<bool>() const Unexecuted instantiation: boost::shared_ptr<isc::data::Element> const* isc::d2::D2Parser::value_type::yyas_<boost::shared_ptr<isc::data::Element> >() const |
425 | | |
426 | | /// An auxiliary type to compute the largest semantic type. |
427 | | union union_type |
428 | | { |
429 | | // value |
430 | | // map_value |
431 | | // ncr_protocol_value |
432 | | // control_socket_type_value |
433 | | // auth_type_value |
434 | | char dummy1[sizeof (ElementPtr)]; |
435 | | |
436 | | // "boolean" |
437 | | char dummy2[sizeof (bool)]; |
438 | | |
439 | | // "floating point" |
440 | | char dummy3[sizeof (double)]; |
441 | | |
442 | | // "integer" |
443 | | char dummy4[sizeof (int64_t)]; |
444 | | |
445 | | // "constant string" |
446 | | char dummy5[sizeof (std::string)]; |
447 | | }; |
448 | | |
449 | | /// The size of the largest semantic type. |
450 | | enum { size = sizeof (union_type) }; |
451 | | |
452 | | /// A buffer to store semantic values. |
453 | | union |
454 | | { |
455 | | /// Strongest alignment constraints. |
456 | | long double yyalign_me_; |
457 | | /// A buffer large enough to store any of the semantic values. |
458 | | char yyraw_[size]; |
459 | | }; |
460 | | |
461 | | /// Whether the content is built: if defined, the name of the stored type. |
462 | | const std::type_info *yytypeid_; |
463 | | }; |
464 | | |
465 | | #endif |
466 | | /// Backward compatibility (Bison 3.8). |
467 | | typedef value_type semantic_type; |
468 | | |
469 | | /// Symbol locations. |
470 | | typedef location location_type; |
471 | | |
472 | | /// Syntax errors thrown from user actions. |
473 | | struct syntax_error : std::runtime_error |
474 | | { |
475 | | syntax_error (const location_type& l, const std::string& m) |
476 | | : std::runtime_error (m) |
477 | | , location (l) |
478 | 0 | {} |
479 | | |
480 | | syntax_error (const syntax_error& s) |
481 | | : std::runtime_error (s.what ()) |
482 | | , location (s.location) |
483 | 0 | {} |
484 | | |
485 | | ~syntax_error () YY_NOEXCEPT YY_NOTHROW; |
486 | | |
487 | | location_type location; |
488 | | }; |
489 | | |
490 | | /// Token kinds. |
491 | | struct token |
492 | | { |
493 | | enum token_kind_type |
494 | | { |
495 | | TOKEN_D2_PARSER_EMPTY = -2, |
496 | | TOKEN_END = 0, // "end of file" |
497 | | TOKEN_D2_PARSER_error = 256, // error |
498 | | TOKEN_D2_PARSER_UNDEF = 257, // "invalid token" |
499 | | TOKEN_COMMA = 258, // "," |
500 | | TOKEN_COLON = 259, // ":" |
501 | | TOKEN_LSQUARE_BRACKET = 260, // "[" |
502 | | TOKEN_RSQUARE_BRACKET = 261, // "]" |
503 | | TOKEN_LCURLY_BRACKET = 262, // "{" |
504 | | TOKEN_RCURLY_BRACKET = 263, // "}" |
505 | | TOKEN_NULL_TYPE = 264, // "null" |
506 | | TOKEN_DHCPDDNS = 265, // "DhcpDdns" |
507 | | TOKEN_IP_ADDRESS = 266, // "ip-address" |
508 | | TOKEN_PORT = 267, // "port" |
509 | | TOKEN_DNS_SERVER_TIMEOUT = 268, // "dns-server-timeout" |
510 | | TOKEN_NCR_PROTOCOL = 269, // "ncr-protocol" |
511 | | TOKEN_UDP = 270, // "UDP" |
512 | | TOKEN_TCP = 271, // "TCP" |
513 | | TOKEN_NCR_FORMAT = 272, // "ncr-format" |
514 | | TOKEN_JSON = 273, // "JSON" |
515 | | TOKEN_USER_CONTEXT = 274, // "user-context" |
516 | | TOKEN_COMMENT = 275, // "comment" |
517 | | TOKEN_FORWARD_DDNS = 276, // "forward-ddns" |
518 | | TOKEN_REVERSE_DDNS = 277, // "reverse-ddns" |
519 | | TOKEN_DDNS_DOMAINS = 278, // "ddns-domains" |
520 | | TOKEN_KEY_NAME = 279, // "key-name" |
521 | | TOKEN_DNS_SERVERS = 280, // "dns-servers" |
522 | | TOKEN_HOSTNAME = 281, // "hostname" |
523 | | TOKEN_TSIG_KEYS = 282, // "tsig-keys" |
524 | | TOKEN_ALGORITHM = 283, // "algorithm" |
525 | | TOKEN_DIGEST_BITS = 284, // "digest-bits" |
526 | | TOKEN_SECRET = 285, // "secret" |
527 | | TOKEN_SECRET_FILE = 286, // "secret-file" |
528 | | TOKEN_CONTROL_SOCKET = 287, // "control-socket" |
529 | | TOKEN_CONTROL_SOCKETS = 288, // "control-sockets" |
530 | | TOKEN_SOCKET_TYPE = 289, // "socket-type" |
531 | | TOKEN_UNIX = 290, // "unix" |
532 | | TOKEN_HTTP = 291, // "http" |
533 | | TOKEN_HTTPS = 292, // "https" |
534 | | TOKEN_SOCKET_NAME = 293, // "socket-name" |
535 | | TOKEN_SOCKET_ADDRESS = 294, // "socket-address" |
536 | | TOKEN_SOCKET_PORT = 295, // "socket-port" |
537 | | TOKEN_AUTHENTICATION = 296, // "authentication" |
538 | | TOKEN_TYPE = 297, // "type" |
539 | | TOKEN_BASIC = 298, // "basic" |
540 | | TOKEN_REALM = 299, // "realm" |
541 | | TOKEN_DIRECTORY = 300, // "directory" |
542 | | TOKEN_CLIENTS = 301, // "clients" |
543 | | TOKEN_USER = 302, // "user" |
544 | | TOKEN_USER_FILE = 303, // "user-file" |
545 | | TOKEN_PASSWORD = 304, // "password" |
546 | | TOKEN_PASSWORD_FILE = 305, // "password-file" |
547 | | TOKEN_TRUST_ANCHOR = 306, // "trust-anchor" |
548 | | TOKEN_CERT_FILE = 307, // "cert-file" |
549 | | TOKEN_KEY_FILE = 308, // "key-file" |
550 | | TOKEN_CERT_REQUIRED = 309, // "cert-required" |
551 | | TOKEN_HOOKS_LIBRARIES = 310, // "hooks-libraries" |
552 | | TOKEN_LIBRARY = 311, // "library" |
553 | | TOKEN_PARAMETERS = 312, // "parameters" |
554 | | TOKEN_LOGGERS = 313, // "loggers" |
555 | | TOKEN_NAME = 314, // "name" |
556 | | TOKEN_OUTPUT_OPTIONS = 315, // "output-options" |
557 | | TOKEN_OUTPUT = 316, // "output" |
558 | | TOKEN_DEBUGLEVEL = 317, // "debuglevel" |
559 | | TOKEN_SEVERITY = 318, // "severity" |
560 | | TOKEN_FLUSH = 319, // "flush" |
561 | | TOKEN_MAXSIZE = 320, // "maxsize" |
562 | | TOKEN_MAXVER = 321, // "maxver" |
563 | | TOKEN_PATTERN = 322, // "pattern" |
564 | | TOKEN_TOPLEVEL_JSON = 323, // TOPLEVEL_JSON |
565 | | TOKEN_TOPLEVEL_DHCPDDNS = 324, // TOPLEVEL_DHCPDDNS |
566 | | TOKEN_SUB_DHCPDDNS = 325, // SUB_DHCPDDNS |
567 | | TOKEN_SUB_TSIG_KEY = 326, // SUB_TSIG_KEY |
568 | | TOKEN_SUB_TSIG_KEYS = 327, // SUB_TSIG_KEYS |
569 | | TOKEN_SUB_DDNS_DOMAIN = 328, // SUB_DDNS_DOMAIN |
570 | | TOKEN_SUB_DDNS_DOMAINS = 329, // SUB_DDNS_DOMAINS |
571 | | TOKEN_SUB_DNS_SERVER = 330, // SUB_DNS_SERVER |
572 | | TOKEN_SUB_DNS_SERVERS = 331, // SUB_DNS_SERVERS |
573 | | TOKEN_SUB_HOOKS_LIBRARY = 332, // SUB_HOOKS_LIBRARY |
574 | | TOKEN_STRING = 333, // "constant string" |
575 | | TOKEN_INTEGER = 334, // "integer" |
576 | | TOKEN_FLOAT = 335, // "floating point" |
577 | | TOKEN_BOOLEAN = 336 // "boolean" |
578 | | }; |
579 | | /// Backward compatibility alias (Bison 3.6). |
580 | | typedef token_kind_type yytokentype; |
581 | | }; |
582 | | |
583 | | /// Token kind, as returned by yylex. |
584 | | typedef token::token_kind_type token_kind_type; |
585 | | |
586 | | /// Backward compatibility alias (Bison 3.6). |
587 | | typedef token_kind_type token_type; |
588 | | |
589 | | /// Symbol kinds. |
590 | | struct symbol_kind |
591 | | { |
592 | | enum symbol_kind_type |
593 | | { |
594 | | YYNTOKENS = 82, ///< Number of tokens. |
595 | | S_YYEMPTY = -2, |
596 | | S_YYEOF = 0, // "end of file" |
597 | | S_YYerror = 1, // error |
598 | | S_YYUNDEF = 2, // "invalid token" |
599 | | S_COMMA = 3, // "," |
600 | | S_COLON = 4, // ":" |
601 | | S_LSQUARE_BRACKET = 5, // "[" |
602 | | S_RSQUARE_BRACKET = 6, // "]" |
603 | | S_LCURLY_BRACKET = 7, // "{" |
604 | | S_RCURLY_BRACKET = 8, // "}" |
605 | | S_NULL_TYPE = 9, // "null" |
606 | | S_DHCPDDNS = 10, // "DhcpDdns" |
607 | | S_IP_ADDRESS = 11, // "ip-address" |
608 | | S_PORT = 12, // "port" |
609 | | S_DNS_SERVER_TIMEOUT = 13, // "dns-server-timeout" |
610 | | S_NCR_PROTOCOL = 14, // "ncr-protocol" |
611 | | S_UDP = 15, // "UDP" |
612 | | S_TCP = 16, // "TCP" |
613 | | S_NCR_FORMAT = 17, // "ncr-format" |
614 | | S_JSON = 18, // "JSON" |
615 | | S_USER_CONTEXT = 19, // "user-context" |
616 | | S_COMMENT = 20, // "comment" |
617 | | S_FORWARD_DDNS = 21, // "forward-ddns" |
618 | | S_REVERSE_DDNS = 22, // "reverse-ddns" |
619 | | S_DDNS_DOMAINS = 23, // "ddns-domains" |
620 | | S_KEY_NAME = 24, // "key-name" |
621 | | S_DNS_SERVERS = 25, // "dns-servers" |
622 | | S_HOSTNAME = 26, // "hostname" |
623 | | S_TSIG_KEYS = 27, // "tsig-keys" |
624 | | S_ALGORITHM = 28, // "algorithm" |
625 | | S_DIGEST_BITS = 29, // "digest-bits" |
626 | | S_SECRET = 30, // "secret" |
627 | | S_SECRET_FILE = 31, // "secret-file" |
628 | | S_CONTROL_SOCKET = 32, // "control-socket" |
629 | | S_CONTROL_SOCKETS = 33, // "control-sockets" |
630 | | S_SOCKET_TYPE = 34, // "socket-type" |
631 | | S_UNIX = 35, // "unix" |
632 | | S_HTTP = 36, // "http" |
633 | | S_HTTPS = 37, // "https" |
634 | | S_SOCKET_NAME = 38, // "socket-name" |
635 | | S_SOCKET_ADDRESS = 39, // "socket-address" |
636 | | S_SOCKET_PORT = 40, // "socket-port" |
637 | | S_AUTHENTICATION = 41, // "authentication" |
638 | | S_TYPE = 42, // "type" |
639 | | S_BASIC = 43, // "basic" |
640 | | S_REALM = 44, // "realm" |
641 | | S_DIRECTORY = 45, // "directory" |
642 | | S_CLIENTS = 46, // "clients" |
643 | | S_USER = 47, // "user" |
644 | | S_USER_FILE = 48, // "user-file" |
645 | | S_PASSWORD = 49, // "password" |
646 | | S_PASSWORD_FILE = 50, // "password-file" |
647 | | S_TRUST_ANCHOR = 51, // "trust-anchor" |
648 | | S_CERT_FILE = 52, // "cert-file" |
649 | | S_KEY_FILE = 53, // "key-file" |
650 | | S_CERT_REQUIRED = 54, // "cert-required" |
651 | | S_HOOKS_LIBRARIES = 55, // "hooks-libraries" |
652 | | S_LIBRARY = 56, // "library" |
653 | | S_PARAMETERS = 57, // "parameters" |
654 | | S_LOGGERS = 58, // "loggers" |
655 | | S_NAME = 59, // "name" |
656 | | S_OUTPUT_OPTIONS = 60, // "output-options" |
657 | | S_OUTPUT = 61, // "output" |
658 | | S_DEBUGLEVEL = 62, // "debuglevel" |
659 | | S_SEVERITY = 63, // "severity" |
660 | | S_FLUSH = 64, // "flush" |
661 | | S_MAXSIZE = 65, // "maxsize" |
662 | | S_MAXVER = 66, // "maxver" |
663 | | S_PATTERN = 67, // "pattern" |
664 | | S_TOPLEVEL_JSON = 68, // TOPLEVEL_JSON |
665 | | S_TOPLEVEL_DHCPDDNS = 69, // TOPLEVEL_DHCPDDNS |
666 | | S_SUB_DHCPDDNS = 70, // SUB_DHCPDDNS |
667 | | S_SUB_TSIG_KEY = 71, // SUB_TSIG_KEY |
668 | | S_SUB_TSIG_KEYS = 72, // SUB_TSIG_KEYS |
669 | | S_SUB_DDNS_DOMAIN = 73, // SUB_DDNS_DOMAIN |
670 | | S_SUB_DDNS_DOMAINS = 74, // SUB_DDNS_DOMAINS |
671 | | S_SUB_DNS_SERVER = 75, // SUB_DNS_SERVER |
672 | | S_SUB_DNS_SERVERS = 76, // SUB_DNS_SERVERS |
673 | | S_SUB_HOOKS_LIBRARY = 77, // SUB_HOOKS_LIBRARY |
674 | | S_STRING = 78, // "constant string" |
675 | | S_INTEGER = 79, // "integer" |
676 | | S_FLOAT = 80, // "floating point" |
677 | | S_BOOLEAN = 81, // "boolean" |
678 | | S_YYACCEPT = 82, // $accept |
679 | | S_start = 83, // start |
680 | | S_84_1 = 84, // $@1 |
681 | | S_85_2 = 85, // $@2 |
682 | | S_86_3 = 86, // $@3 |
683 | | S_87_4 = 87, // $@4 |
684 | | S_88_5 = 88, // $@5 |
685 | | S_89_6 = 89, // $@6 |
686 | | S_90_7 = 90, // $@7 |
687 | | S_91_8 = 91, // $@8 |
688 | | S_92_9 = 92, // $@9 |
689 | | S_93_10 = 93, // $@10 |
690 | | S_value = 94, // value |
691 | | S_sub_json = 95, // sub_json |
692 | | S_map2 = 96, // map2 |
693 | | S_97_11 = 97, // $@11 |
694 | | S_map_value = 98, // map_value |
695 | | S_map_content = 99, // map_content |
696 | | S_not_empty_map = 100, // not_empty_map |
697 | | S_list_generic = 101, // list_generic |
698 | | S_102_12 = 102, // $@12 |
699 | | S_list_content = 103, // list_content |
700 | | S_not_empty_list = 104, // not_empty_list |
701 | | S_unknown_map_entry = 105, // unknown_map_entry |
702 | | S_syntax_map = 106, // syntax_map |
703 | | S_107_13 = 107, // $@13 |
704 | | S_global_object = 108, // global_object |
705 | | S_109_14 = 109, // $@14 |
706 | | S_global_object_comma = 110, // global_object_comma |
707 | | S_sub_dhcpddns = 111, // sub_dhcpddns |
708 | | S_112_15 = 112, // $@15 |
709 | | S_dhcpddns_params = 113, // dhcpddns_params |
710 | | S_dhcpddns_param = 114, // dhcpddns_param |
711 | | S_ip_address = 115, // ip_address |
712 | | S_116_16 = 116, // $@16 |
713 | | S_port = 117, // port |
714 | | S_dns_server_timeout = 118, // dns_server_timeout |
715 | | S_ncr_protocol = 119, // ncr_protocol |
716 | | S_120_17 = 120, // $@17 |
717 | | S_ncr_protocol_value = 121, // ncr_protocol_value |
718 | | S_ncr_format = 122, // ncr_format |
719 | | S_123_18 = 123, // $@18 |
720 | | S_user_context = 124, // user_context |
721 | | S_125_19 = 125, // $@19 |
722 | | S_comment = 126, // comment |
723 | | S_127_20 = 127, // $@20 |
724 | | S_forward_ddns = 128, // forward_ddns |
725 | | S_129_21 = 129, // $@21 |
726 | | S_reverse_ddns = 130, // reverse_ddns |
727 | | S_131_22 = 131, // $@22 |
728 | | S_ddns_mgr_params = 132, // ddns_mgr_params |
729 | | S_not_empty_ddns_mgr_params = 133, // not_empty_ddns_mgr_params |
730 | | S_ddns_mgr_param = 134, // ddns_mgr_param |
731 | | S_ddns_domains = 135, // ddns_domains |
732 | | S_136_23 = 136, // $@23 |
733 | | S_sub_ddns_domains = 137, // sub_ddns_domains |
734 | | S_138_24 = 138, // $@24 |
735 | | S_ddns_domain_list = 139, // ddns_domain_list |
736 | | S_not_empty_ddns_domain_list = 140, // not_empty_ddns_domain_list |
737 | | S_ddns_domain = 141, // ddns_domain |
738 | | S_142_25 = 142, // $@25 |
739 | | S_sub_ddns_domain = 143, // sub_ddns_domain |
740 | | S_144_26 = 144, // $@26 |
741 | | S_ddns_domain_params = 145, // ddns_domain_params |
742 | | S_ddns_domain_param = 146, // ddns_domain_param |
743 | | S_ddns_domain_name = 147, // ddns_domain_name |
744 | | S_148_27 = 148, // $@27 |
745 | | S_ddns_key_name = 149, // ddns_key_name |
746 | | S_150_28 = 150, // $@28 |
747 | | S_dns_servers = 151, // dns_servers |
748 | | S_152_29 = 152, // $@29 |
749 | | S_sub_dns_servers = 153, // sub_dns_servers |
750 | | S_154_30 = 154, // $@30 |
751 | | S_dns_server_list = 155, // dns_server_list |
752 | | S_dns_server = 156, // dns_server |
753 | | S_157_31 = 157, // $@31 |
754 | | S_sub_dns_server = 158, // sub_dns_server |
755 | | S_159_32 = 159, // $@32 |
756 | | S_dns_server_params = 160, // dns_server_params |
757 | | S_dns_server_param = 161, // dns_server_param |
758 | | S_dns_server_hostname = 162, // dns_server_hostname |
759 | | S_163_33 = 163, // $@33 |
760 | | S_dns_server_ip_address = 164, // dns_server_ip_address |
761 | | S_165_34 = 165, // $@34 |
762 | | S_dns_server_port = 166, // dns_server_port |
763 | | S_tsig_keys = 167, // tsig_keys |
764 | | S_168_35 = 168, // $@35 |
765 | | S_sub_tsig_keys = 169, // sub_tsig_keys |
766 | | S_170_36 = 170, // $@36 |
767 | | S_tsig_keys_list = 171, // tsig_keys_list |
768 | | S_not_empty_tsig_keys_list = 172, // not_empty_tsig_keys_list |
769 | | S_tsig_key = 173, // tsig_key |
770 | | S_174_37 = 174, // $@37 |
771 | | S_sub_tsig_key = 175, // sub_tsig_key |
772 | | S_176_38 = 176, // $@38 |
773 | | S_tsig_key_params = 177, // tsig_key_params |
774 | | S_tsig_key_param = 178, // tsig_key_param |
775 | | S_tsig_key_name = 179, // tsig_key_name |
776 | | S_180_39 = 180, // $@39 |
777 | | S_tsig_key_algorithm = 181, // tsig_key_algorithm |
778 | | S_182_40 = 182, // $@40 |
779 | | S_tsig_key_digest_bits = 183, // tsig_key_digest_bits |
780 | | S_tsig_key_secret = 184, // tsig_key_secret |
781 | | S_185_41 = 185, // $@41 |
782 | | S_tsig_key_secret_file = 186, // tsig_key_secret_file |
783 | | S_187_42 = 187, // $@42 |
784 | | S_control_socket = 188, // control_socket |
785 | | S_189_43 = 189, // $@43 |
786 | | S_control_sockets = 190, // control_sockets |
787 | | S_191_44 = 191, // $@44 |
788 | | S_control_socket_list = 192, // control_socket_list |
789 | | S_not_empty_control_socket_list = 193, // not_empty_control_socket_list |
790 | | S_control_socket_entry = 194, // control_socket_entry |
791 | | S_195_45 = 195, // $@45 |
792 | | S_control_socket_params = 196, // control_socket_params |
793 | | S_control_socket_param = 197, // control_socket_param |
794 | | S_control_socket_type = 198, // control_socket_type |
795 | | S_199_46 = 199, // $@46 |
796 | | S_control_socket_type_value = 200, // control_socket_type_value |
797 | | S_control_socket_name = 201, // control_socket_name |
798 | | S_202_47 = 202, // $@47 |
799 | | S_control_socket_address = 203, // control_socket_address |
800 | | S_204_48 = 204, // $@48 |
801 | | S_control_socket_port = 205, // control_socket_port |
802 | | S_trust_anchor = 206, // trust_anchor |
803 | | S_207_49 = 207, // $@49 |
804 | | S_cert_file = 208, // cert_file |
805 | | S_209_50 = 209, // $@50 |
806 | | S_key_file = 210, // key_file |
807 | | S_211_51 = 211, // $@51 |
808 | | S_cert_required = 212, // cert_required |
809 | | S_authentication = 213, // authentication |
810 | | S_214_52 = 214, // $@52 |
811 | | S_auth_params = 215, // auth_params |
812 | | S_auth_param = 216, // auth_param |
813 | | S_auth_type = 217, // auth_type |
814 | | S_218_53 = 218, // $@53 |
815 | | S_auth_type_value = 219, // auth_type_value |
816 | | S_realm = 220, // realm |
817 | | S_221_54 = 221, // $@54 |
818 | | S_directory = 222, // directory |
819 | | S_223_55 = 223, // $@55 |
820 | | S_clients = 224, // clients |
821 | | S_225_56 = 225, // $@56 |
822 | | S_clients_list = 226, // clients_list |
823 | | S_not_empty_clients_list = 227, // not_empty_clients_list |
824 | | S_basic_auth = 228, // basic_auth |
825 | | S_229_57 = 229, // $@57 |
826 | | S_clients_params = 230, // clients_params |
827 | | S_clients_param = 231, // clients_param |
828 | | S_user = 232, // user |
829 | | S_233_58 = 233, // $@58 |
830 | | S_user_file = 234, // user_file |
831 | | S_235_59 = 235, // $@59 |
832 | | S_password = 236, // password |
833 | | S_237_60 = 237, // $@60 |
834 | | S_password_file = 238, // password_file |
835 | | S_239_61 = 239, // $@61 |
836 | | S_hooks_libraries = 240, // hooks_libraries |
837 | | S_241_62 = 241, // $@62 |
838 | | S_hooks_libraries_list = 242, // hooks_libraries_list |
839 | | S_not_empty_hooks_libraries_list = 243, // not_empty_hooks_libraries_list |
840 | | S_hooks_library = 244, // hooks_library |
841 | | S_245_63 = 245, // $@63 |
842 | | S_sub_hooks_library = 246, // sub_hooks_library |
843 | | S_247_64 = 247, // $@64 |
844 | | S_hooks_params = 248, // hooks_params |
845 | | S_hooks_param = 249, // hooks_param |
846 | | S_library = 250, // library |
847 | | S_251_65 = 251, // $@65 |
848 | | S_parameters = 252, // parameters |
849 | | S_253_66 = 253, // $@66 |
850 | | S_loggers = 254, // loggers |
851 | | S_255_67 = 255, // $@67 |
852 | | S_loggers_entries = 256, // loggers_entries |
853 | | S_logger_entry = 257, // logger_entry |
854 | | S_258_68 = 258, // $@68 |
855 | | S_logger_params = 259, // logger_params |
856 | | S_logger_param = 260, // logger_param |
857 | | S_name = 261, // name |
858 | | S_262_69 = 262, // $@69 |
859 | | S_debuglevel = 263, // debuglevel |
860 | | S_severity = 264, // severity |
861 | | S_265_70 = 265, // $@70 |
862 | | S_output_options_list = 266, // output_options_list |
863 | | S_267_71 = 267, // $@71 |
864 | | S_output_options_list_content = 268, // output_options_list_content |
865 | | S_output_entry = 269, // output_entry |
866 | | S_270_72 = 270, // $@72 |
867 | | S_output_params_list = 271, // output_params_list |
868 | | S_output_params = 272, // output_params |
869 | | S_output = 273, // output |
870 | | S_274_73 = 274, // $@73 |
871 | | S_flush = 275, // flush |
872 | | S_maxsize = 276, // maxsize |
873 | | S_maxver = 277, // maxver |
874 | | S_pattern = 278, // pattern |
875 | | S_279_74 = 279 // $@74 |
876 | | }; |
877 | | }; |
878 | | |
879 | | /// (Internal) symbol kind. |
880 | | typedef symbol_kind::symbol_kind_type symbol_kind_type; |
881 | | |
882 | | /// The number of tokens. |
883 | | static const symbol_kind_type YYNTOKENS = symbol_kind::YYNTOKENS; |
884 | | |
885 | | /// A complete symbol. |
886 | | /// |
887 | | /// Expects its Base type to provide access to the symbol kind |
888 | | /// via kind (). |
889 | | /// |
890 | | /// Provide access to semantic value and location. |
891 | | template <typename Base> |
892 | | struct basic_symbol : Base |
893 | | { |
894 | | /// Alias to Base. |
895 | | typedef Base super_type; |
896 | | |
897 | | /// Default constructor. |
898 | | basic_symbol () YY_NOEXCEPT |
899 | 4.33M | : value () |
900 | 4.33M | , location () |
901 | 4.33M | {}isc::d2::D2Parser::basic_symbol<isc::d2::D2Parser::by_kind>::basic_symbol() Line | Count | Source | 899 | 7.93k | : value () | 900 | 7.93k | , location () | 901 | 7.93k | {} |
isc::d2::D2Parser::basic_symbol<isc::d2::D2Parser::by_state>::basic_symbol() Line | Count | Source | 899 | 4.32M | : value () | 900 | 4.32M | , location () | 901 | 4.32M | {} |
|
902 | | |
903 | | #if 201103L <= YY_CPLUSPLUS |
904 | | /// Move constructor. |
905 | | basic_symbol (basic_symbol&& that) |
906 | | : Base (std::move (that)) |
907 | | , value () |
908 | | , location (std::move (that.location)) |
909 | | { |
910 | | switch (this->kind ()) |
911 | | { |
912 | | case symbol_kind::S_value: // value |
913 | | case symbol_kind::S_map_value: // map_value |
914 | | case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value |
915 | | case symbol_kind::S_control_socket_type_value: // control_socket_type_value |
916 | | case symbol_kind::S_auth_type_value: // auth_type_value |
917 | | value.move< ElementPtr > (std::move (that.value)); |
918 | | break; |
919 | | |
920 | | case symbol_kind::S_BOOLEAN: // "boolean" |
921 | | value.move< bool > (std::move (that.value)); |
922 | | break; |
923 | | |
924 | | case symbol_kind::S_FLOAT: // "floating point" |
925 | | value.move< double > (std::move (that.value)); |
926 | | break; |
927 | | |
928 | | case symbol_kind::S_INTEGER: // "integer" |
929 | | value.move< int64_t > (std::move (that.value)); |
930 | | break; |
931 | | |
932 | | case symbol_kind::S_STRING: // "constant string" |
933 | | value.move< std::string > (std::move (that.value)); |
934 | | break; |
935 | | |
936 | | default: |
937 | | break; |
938 | | } |
939 | | |
940 | | } |
941 | | #endif |
942 | | |
943 | | /// Copy constructor. |
944 | | basic_symbol (const basic_symbol& that); |
945 | | |
946 | | /// Constructors for typed symbols. |
947 | | #if 201103L <= YY_CPLUSPLUS |
948 | | basic_symbol (typename Base::kind_type t, location_type&& l) |
949 | 3.65M | : Base (t) |
950 | 3.65M | , location (std::move (l)) |
951 | 3.65M | {}isc::d2::D2Parser::basic_symbol<isc::d2::D2Parser::by_kind>::basic_symbol(isc::d2::D2Parser::token::token_kind_type, isc::d2::location&&) Line | Count | Source | 949 | 559k | : Base (t) | 950 | 559k | , location (std::move (l)) | 951 | 559k | {} |
isc::d2::D2Parser::basic_symbol<isc::d2::D2Parser::by_state>::basic_symbol(short, isc::d2::location&&) Line | Count | Source | 949 | 3.09M | : Base (t) | 950 | 3.09M | , location (std::move (l)) | 951 | 3.09M | {} |
|
952 | | #else |
953 | | basic_symbol (typename Base::kind_type t, const location_type& l) |
954 | | : Base (t) |
955 | | , location (l) |
956 | | {} |
957 | | #endif |
958 | | |
959 | | #if 201103L <= YY_CPLUSPLUS |
960 | | basic_symbol (typename Base::kind_type t, ElementPtr&& v, location_type&& l) |
961 | | : Base (t) |
962 | | , value (std::move (v)) |
963 | | , location (std::move (l)) |
964 | | {} |
965 | | #else |
966 | | basic_symbol (typename Base::kind_type t, const ElementPtr& v, const location_type& l) |
967 | | : Base (t) |
968 | | , value (v) |
969 | | , location (l) |
970 | | {} |
971 | | #endif |
972 | | |
973 | | #if 201103L <= YY_CPLUSPLUS |
974 | | basic_symbol (typename Base::kind_type t, bool&& v, location_type&& l) |
975 | 517 | : Base (t) |
976 | 517 | , value (std::move (v)) |
977 | 517 | , location (std::move (l)) |
978 | 517 | {} |
979 | | #else |
980 | | basic_symbol (typename Base::kind_type t, const bool& v, const location_type& l) |
981 | | : Base (t) |
982 | | , value (v) |
983 | | , location (l) |
984 | | {} |
985 | | #endif |
986 | | |
987 | | #if 201103L <= YY_CPLUSPLUS |
988 | | basic_symbol (typename Base::kind_type t, double&& v, location_type&& l) |
989 | 2.22k | : Base (t) |
990 | 2.22k | , value (std::move (v)) |
991 | 2.22k | , location (std::move (l)) |
992 | 2.22k | {} |
993 | | #else |
994 | | basic_symbol (typename Base::kind_type t, const double& v, const location_type& l) |
995 | | : Base (t) |
996 | | , value (v) |
997 | | , location (l) |
998 | | {} |
999 | | #endif |
1000 | | |
1001 | | #if 201103L <= YY_CPLUSPLUS |
1002 | | basic_symbol (typename Base::kind_type t, int64_t&& v, location_type&& l) |
1003 | 16.6k | : Base (t) |
1004 | 16.6k | , value (std::move (v)) |
1005 | 16.6k | , location (std::move (l)) |
1006 | 16.6k | {} |
1007 | | #else |
1008 | | basic_symbol (typename Base::kind_type t, const int64_t& v, const location_type& l) |
1009 | | : Base (t) |
1010 | | , value (v) |
1011 | | , location (l) |
1012 | | {} |
1013 | | #endif |
1014 | | |
1015 | | #if 201103L <= YY_CPLUSPLUS |
1016 | | basic_symbol (typename Base::kind_type t, std::string&& v, location_type&& l) |
1017 | 50.5k | : Base (t) |
1018 | 50.5k | , value (std::move (v)) |
1019 | 50.5k | , location (std::move (l)) |
1020 | 50.5k | {} |
1021 | | #else |
1022 | | basic_symbol (typename Base::kind_type t, const std::string& v, const location_type& l) |
1023 | | : Base (t) |
1024 | | , value (v) |
1025 | | , location (l) |
1026 | | {} |
1027 | | #endif |
1028 | | |
1029 | | /// Destroy the symbol. |
1030 | | ~basic_symbol () |
1031 | 8.06M | { |
1032 | 8.06M | clear (); |
1033 | 8.06M | } isc::d2::D2Parser::basic_symbol<isc::d2::D2Parser::by_kind>::~basic_symbol() Line | Count | Source | 1031 | 637k | { | 1032 | 637k | clear (); | 1033 | 637k | } |
isc::d2::D2Parser::basic_symbol<isc::d2::D2Parser::by_state>::~basic_symbol() Line | Count | Source | 1031 | 7.42M | { | 1032 | 7.42M | clear (); | 1033 | 7.42M | } |
|
1034 | | |
1035 | | |
1036 | | |
1037 | | /// Destroy contents, and record that is empty. |
1038 | | void clear () YY_NOEXCEPT |
1039 | 8.06M | { |
1040 | | // User destructor. |
1041 | 8.06M | symbol_kind_type yykind = this->kind (); |
1042 | 8.06M | basic_symbol<Base>& yysym = *this; |
1043 | 8.06M | (void) yysym; |
1044 | 8.06M | switch (yykind) |
1045 | 8.06M | { |
1046 | 8.06M | default: |
1047 | 8.06M | break; |
1048 | 8.06M | } |
1049 | | |
1050 | | // Value type destructor. |
1051 | 8.06M | switch (yykind) |
1052 | 8.06M | { |
1053 | 184k | case symbol_kind::S_value: // value |
1054 | 185k | case symbol_kind::S_map_value: // map_value |
1055 | 185k | case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value |
1056 | 186k | case symbol_kind::S_control_socket_type_value: // control_socket_type_value |
1057 | 186k | case symbol_kind::S_auth_type_value: // auth_type_value |
1058 | 186k | value.template destroy< ElementPtr > (); |
1059 | 186k | break; |
1060 | | |
1061 | 517 | case symbol_kind::S_BOOLEAN: // "boolean" |
1062 | 517 | value.template destroy< bool > (); |
1063 | 517 | break; |
1064 | | |
1065 | 2.22k | case symbol_kind::S_FLOAT: // "floating point" |
1066 | 2.22k | value.template destroy< double > (); |
1067 | 2.22k | break; |
1068 | | |
1069 | 16.6k | case symbol_kind::S_INTEGER: // "integer" |
1070 | 16.6k | value.template destroy< int64_t > (); |
1071 | 16.6k | break; |
1072 | | |
1073 | 50.5k | case symbol_kind::S_STRING: // "constant string" |
1074 | 50.5k | value.template destroy< std::string > (); |
1075 | 50.5k | break; |
1076 | | |
1077 | 7.80M | default: |
1078 | 7.80M | break; |
1079 | 8.06M | } |
1080 | | |
1081 | 8.06M | Base::clear (); |
1082 | 8.06M | } isc::d2::D2Parser::basic_symbol<isc::d2::D2Parser::by_kind>::clear() Line | Count | Source | 1039 | 637k | { | 1040 | | // User destructor. | 1041 | 637k | symbol_kind_type yykind = this->kind (); | 1042 | 637k | basic_symbol<Base>& yysym = *this; | 1043 | 637k | (void) yysym; | 1044 | 637k | switch (yykind) | 1045 | 637k | { | 1046 | 637k | default: | 1047 | 637k | break; | 1048 | 637k | } | 1049 | | | 1050 | | // Value type destructor. | 1051 | 637k | switch (yykind) | 1052 | 637k | { | 1053 | 0 | case symbol_kind::S_value: // value | 1054 | 0 | case symbol_kind::S_map_value: // map_value | 1055 | 0 | case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value | 1056 | 0 | case symbol_kind::S_control_socket_type_value: // control_socket_type_value | 1057 | 0 | case symbol_kind::S_auth_type_value: // auth_type_value | 1058 | 0 | value.template destroy< ElementPtr > (); | 1059 | 0 | break; | 1060 | | | 1061 | 25 | case symbol_kind::S_BOOLEAN: // "boolean" | 1062 | 25 | value.template destroy< bool > (); | 1063 | 25 | break; | 1064 | | | 1065 | 56 | case symbol_kind::S_FLOAT: // "floating point" | 1066 | 56 | value.template destroy< double > (); | 1067 | 56 | break; | 1068 | | | 1069 | 386 | case symbol_kind::S_INTEGER: // "integer" | 1070 | 386 | value.template destroy< int64_t > (); | 1071 | 386 | break; | 1072 | | | 1073 | 674 | case symbol_kind::S_STRING: // "constant string" | 1074 | 674 | value.template destroy< std::string > (); | 1075 | 674 | break; | 1076 | | | 1077 | 636k | default: | 1078 | 636k | break; | 1079 | 637k | } | 1080 | | | 1081 | 637k | Base::clear (); | 1082 | 637k | } |
isc::d2::D2Parser::basic_symbol<isc::d2::D2Parser::by_state>::clear() Line | Count | Source | 1039 | 7.42M | { | 1040 | | // User destructor. | 1041 | 7.42M | symbol_kind_type yykind = this->kind (); | 1042 | 7.42M | basic_symbol<Base>& yysym = *this; | 1043 | 7.42M | (void) yysym; | 1044 | 7.42M | switch (yykind) | 1045 | 7.42M | { | 1046 | 7.42M | default: | 1047 | 7.42M | break; | 1048 | 7.42M | } | 1049 | | | 1050 | | // Value type destructor. | 1051 | 7.42M | switch (yykind) | 1052 | 7.42M | { | 1053 | 184k | case symbol_kind::S_value: // value | 1054 | 185k | case symbol_kind::S_map_value: // map_value | 1055 | 185k | case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value | 1056 | 186k | case symbol_kind::S_control_socket_type_value: // control_socket_type_value | 1057 | 186k | case symbol_kind::S_auth_type_value: // auth_type_value | 1058 | 186k | value.template destroy< ElementPtr > (); | 1059 | 186k | break; | 1060 | | | 1061 | 492 | case symbol_kind::S_BOOLEAN: // "boolean" | 1062 | 492 | value.template destroy< bool > (); | 1063 | 492 | break; | 1064 | | | 1065 | 2.16k | case symbol_kind::S_FLOAT: // "floating point" | 1066 | 2.16k | value.template destroy< double > (); | 1067 | 2.16k | break; | 1068 | | | 1069 | 16.2k | case symbol_kind::S_INTEGER: // "integer" | 1070 | 16.2k | value.template destroy< int64_t > (); | 1071 | 16.2k | break; | 1072 | | | 1073 | 49.9k | case symbol_kind::S_STRING: // "constant string" | 1074 | 49.9k | value.template destroy< std::string > (); | 1075 | 49.9k | break; | 1076 | | | 1077 | 7.16M | default: | 1078 | 7.16M | break; | 1079 | 7.42M | } | 1080 | | | 1081 | 7.42M | Base::clear (); | 1082 | 7.42M | } |
|
1083 | | |
1084 | | /// The user-facing name of this symbol. |
1085 | | std::string name () const YY_NOEXCEPT |
1086 | 0 | { |
1087 | 0 | return D2Parser::symbol_name (this->kind ()); |
1088 | 0 | } Unexecuted instantiation: isc::d2::D2Parser::basic_symbol<isc::d2::D2Parser::by_state>::name() const Unexecuted instantiation: isc::d2::D2Parser::basic_symbol<isc::d2::D2Parser::by_kind>::name() const |
1089 | | |
1090 | | /// Backward compatibility (Bison 3.6). |
1091 | | symbol_kind_type type_get () const YY_NOEXCEPT; |
1092 | | |
1093 | | /// Whether empty. |
1094 | | bool empty () const YY_NOEXCEPT; |
1095 | | |
1096 | | /// Destructive move, \a s is emptied into this. |
1097 | | void move (basic_symbol& s); |
1098 | | |
1099 | | /// The semantic value. |
1100 | | value_type value; |
1101 | | |
1102 | | /// The location. |
1103 | | location_type location; |
1104 | | |
1105 | | private: |
1106 | | #if YY_CPLUSPLUS < 201103L |
1107 | | /// Assignment operator. |
1108 | | basic_symbol& operator= (const basic_symbol& that); |
1109 | | #endif |
1110 | | }; |
1111 | | |
1112 | | /// Type access provider for token (enum) based symbols. |
1113 | | struct by_kind |
1114 | | { |
1115 | | /// The symbol kind as needed by the constructor. |
1116 | | typedef token_kind_type kind_type; |
1117 | | |
1118 | | /// Default constructor. |
1119 | | by_kind () YY_NOEXCEPT; |
1120 | | |
1121 | | #if 201103L <= YY_CPLUSPLUS |
1122 | | /// Move constructor. |
1123 | | by_kind (by_kind&& that) YY_NOEXCEPT; |
1124 | | #endif |
1125 | | |
1126 | | /// Copy constructor. |
1127 | | by_kind (const by_kind& that) YY_NOEXCEPT; |
1128 | | |
1129 | | /// Constructor from (external) token numbers. |
1130 | | by_kind (kind_type t) YY_NOEXCEPT; |
1131 | | |
1132 | | |
1133 | | |
1134 | | /// Record that this symbol is empty. |
1135 | | void clear () YY_NOEXCEPT; |
1136 | | |
1137 | | /// Steal the symbol kind from \a that. |
1138 | | void move (by_kind& that); |
1139 | | |
1140 | | /// The (internal) type number (corresponding to \a type). |
1141 | | /// \a empty when empty. |
1142 | | symbol_kind_type kind () const YY_NOEXCEPT; |
1143 | | |
1144 | | /// Backward compatibility (Bison 3.6). |
1145 | | symbol_kind_type type_get () const YY_NOEXCEPT; |
1146 | | |
1147 | | /// The symbol kind. |
1148 | | /// \a S_YYEMPTY when empty. |
1149 | | symbol_kind_type kind_; |
1150 | | }; |
1151 | | |
1152 | | /// Backward compatibility for a private implementation detail (Bison 3.6). |
1153 | | typedef by_kind by_type; |
1154 | | |
1155 | | /// "External" symbols: returned by the scanner. |
1156 | | struct symbol_type : basic_symbol<by_kind> |
1157 | | { |
1158 | | /// Superclass. |
1159 | | typedef basic_symbol<by_kind> super_type; |
1160 | | |
1161 | | /// Empty symbol. |
1162 | 7.93k | symbol_type () YY_NOEXCEPT {} |
1163 | | |
1164 | | /// Constructor for valueless symbols, and symbols from each type. |
1165 | | #if 201103L <= YY_CPLUSPLUS |
1166 | | symbol_type (int tok, location_type l) |
1167 | 559k | : super_type (token_kind_type (tok), std::move (l)) |
1168 | | #else |
1169 | | symbol_type (int tok, const location_type& l) |
1170 | | : super_type (token_kind_type (tok), l) |
1171 | | #endif |
1172 | 559k | { |
1173 | 559k | #if !defined _MSC_VER || defined __clang__ |
1174 | 559k | D2_PARSER__ASSERT (tok == token::TOKEN_END |
1175 | 559k | || (token::TOKEN_D2_PARSER_error <= tok && tok <= token::TOKEN_SUB_HOOKS_LIBRARY)); |
1176 | 559k | #endif |
1177 | 559k | } |
1178 | | #if 201103L <= YY_CPLUSPLUS |
1179 | | symbol_type (int tok, bool v, location_type l) |
1180 | 517 | : super_type (token_kind_type (tok), std::move (v), std::move (l)) |
1181 | | #else |
1182 | | symbol_type (int tok, const bool& v, const location_type& l) |
1183 | | : super_type (token_kind_type (tok), v, l) |
1184 | | #endif |
1185 | 517 | { |
1186 | 517 | #if !defined _MSC_VER || defined __clang__ |
1187 | 517 | D2_PARSER__ASSERT (tok == token::TOKEN_BOOLEAN); |
1188 | 517 | #endif |
1189 | 517 | } |
1190 | | #if 201103L <= YY_CPLUSPLUS |
1191 | | symbol_type (int tok, double v, location_type l) |
1192 | 2.22k | : super_type (token_kind_type (tok), std::move (v), std::move (l)) |
1193 | | #else |
1194 | | symbol_type (int tok, const double& v, const location_type& l) |
1195 | | : super_type (token_kind_type (tok), v, l) |
1196 | | #endif |
1197 | 2.22k | { |
1198 | 2.22k | #if !defined _MSC_VER || defined __clang__ |
1199 | 2.22k | D2_PARSER__ASSERT (tok == token::TOKEN_FLOAT); |
1200 | 2.22k | #endif |
1201 | 2.22k | } |
1202 | | #if 201103L <= YY_CPLUSPLUS |
1203 | | symbol_type (int tok, int64_t v, location_type l) |
1204 | 16.6k | : super_type (token_kind_type (tok), std::move (v), std::move (l)) |
1205 | | #else |
1206 | | symbol_type (int tok, const int64_t& v, const location_type& l) |
1207 | | : super_type (token_kind_type (tok), v, l) |
1208 | | #endif |
1209 | 16.6k | { |
1210 | 16.6k | #if !defined _MSC_VER || defined __clang__ |
1211 | 16.6k | D2_PARSER__ASSERT (tok == token::TOKEN_INTEGER); |
1212 | 16.6k | #endif |
1213 | 16.6k | } |
1214 | | #if 201103L <= YY_CPLUSPLUS |
1215 | | symbol_type (int tok, std::string v, location_type l) |
1216 | 50.5k | : super_type (token_kind_type (tok), std::move (v), std::move (l)) |
1217 | | #else |
1218 | | symbol_type (int tok, const std::string& v, const location_type& l) |
1219 | | : super_type (token_kind_type (tok), v, l) |
1220 | | #endif |
1221 | 50.5k | { |
1222 | 50.5k | #if !defined _MSC_VER || defined __clang__ |
1223 | 50.5k | D2_PARSER__ASSERT (tok == token::TOKEN_STRING); |
1224 | 50.5k | #endif |
1225 | 50.5k | } |
1226 | | }; |
1227 | | |
1228 | | /// Build a parser object. |
1229 | | D2Parser (isc::d2::D2ParserContext& ctx_yyarg); |
1230 | | virtual ~D2Parser (); |
1231 | | |
1232 | | #if 201103L <= YY_CPLUSPLUS |
1233 | | /// Non copyable. |
1234 | | D2Parser (const D2Parser&) = delete; |
1235 | | /// Non copyable. |
1236 | | D2Parser& operator= (const D2Parser&) = delete; |
1237 | | #endif |
1238 | | |
1239 | | /// Parse. An alias for parse (). |
1240 | | /// \returns 0 iff parsing succeeded. |
1241 | | int operator() (); |
1242 | | |
1243 | | /// Parse. |
1244 | | /// \returns 0 iff parsing succeeded. |
1245 | | virtual int parse (); |
1246 | | |
1247 | | #if D2_PARSER_DEBUG |
1248 | | /// The current debugging stream. |
1249 | | std::ostream& debug_stream () const YY_ATTRIBUTE_PURE; |
1250 | | /// Set the current debugging stream. |
1251 | | void set_debug_stream (std::ostream &); |
1252 | | |
1253 | | /// Type for debugging levels. |
1254 | | typedef int debug_level_type; |
1255 | | /// The current debugging level. |
1256 | | debug_level_type debug_level () const YY_ATTRIBUTE_PURE; |
1257 | | /// Set the current debugging level. |
1258 | | void set_debug_level (debug_level_type l); |
1259 | | #endif |
1260 | | |
1261 | | /// Report a syntax error. |
1262 | | /// \param loc where the syntax error is found. |
1263 | | /// \param msg a description of the syntax error. |
1264 | | virtual void error (const location_type& loc, const std::string& msg); |
1265 | | |
1266 | | /// Report a syntax error. |
1267 | | void error (const syntax_error& err); |
1268 | | |
1269 | | /// The user-facing name of the symbol whose (internal) number is |
1270 | | /// YYSYMBOL. No bounds checking. |
1271 | | static std::string symbol_name (symbol_kind_type yysymbol); |
1272 | | |
1273 | | // Implementation of make_symbol for each token kind. |
1274 | | #if 201103L <= YY_CPLUSPLUS |
1275 | | static |
1276 | | symbol_type |
1277 | | make_END (location_type l) |
1278 | 1.55k | { |
1279 | 1.55k | return symbol_type (token::TOKEN_END, std::move (l)); |
1280 | 1.55k | } |
1281 | | #else |
1282 | | static |
1283 | | symbol_type |
1284 | | make_END (const location_type& l) |
1285 | | { |
1286 | | return symbol_type (token::TOKEN_END, l); |
1287 | | } |
1288 | | #endif |
1289 | | #if 201103L <= YY_CPLUSPLUS |
1290 | | static |
1291 | | symbol_type |
1292 | | make_D2_PARSER_error (location_type l) |
1293 | 0 | { |
1294 | 0 | return symbol_type (token::TOKEN_D2_PARSER_error, std::move (l)); |
1295 | 0 | } |
1296 | | #else |
1297 | | static |
1298 | | symbol_type |
1299 | | make_D2_PARSER_error (const location_type& l) |
1300 | | { |
1301 | | return symbol_type (token::TOKEN_D2_PARSER_error, l); |
1302 | | } |
1303 | | #endif |
1304 | | #if 201103L <= YY_CPLUSPLUS |
1305 | | static |
1306 | | symbol_type |
1307 | | make_D2_PARSER_UNDEF (location_type l) |
1308 | 0 | { |
1309 | 0 | return symbol_type (token::TOKEN_D2_PARSER_UNDEF, std::move (l)); |
1310 | 0 | } |
1311 | | #else |
1312 | | static |
1313 | | symbol_type |
1314 | | make_D2_PARSER_UNDEF (const location_type& l) |
1315 | | { |
1316 | | return symbol_type (token::TOKEN_D2_PARSER_UNDEF, l); |
1317 | | } |
1318 | | #endif |
1319 | | #if 201103L <= YY_CPLUSPLUS |
1320 | | static |
1321 | | symbol_type |
1322 | | make_COMMA (location_type l) |
1323 | 38.9k | { |
1324 | 38.9k | return symbol_type (token::TOKEN_COMMA, std::move (l)); |
1325 | 38.9k | } |
1326 | | #else |
1327 | | static |
1328 | | symbol_type |
1329 | | make_COMMA (const location_type& l) |
1330 | | { |
1331 | | return symbol_type (token::TOKEN_COMMA, l); |
1332 | | } |
1333 | | #endif |
1334 | | #if 201103L <= YY_CPLUSPLUS |
1335 | | static |
1336 | | symbol_type |
1337 | | make_COLON (location_type l) |
1338 | 42.2k | { |
1339 | 42.2k | return symbol_type (token::TOKEN_COLON, std::move (l)); |
1340 | 42.2k | } |
1341 | | #else |
1342 | | static |
1343 | | symbol_type |
1344 | | make_COLON (const location_type& l) |
1345 | | { |
1346 | | return symbol_type (token::TOKEN_COLON, l); |
1347 | | } |
1348 | | #endif |
1349 | | #if 201103L <= YY_CPLUSPLUS |
1350 | | static |
1351 | | symbol_type |
1352 | | make_LSQUARE_BRACKET (location_type l) |
1353 | 259k | { |
1354 | 259k | return symbol_type (token::TOKEN_LSQUARE_BRACKET, std::move (l)); |
1355 | 259k | } |
1356 | | #else |
1357 | | static |
1358 | | symbol_type |
1359 | | make_LSQUARE_BRACKET (const location_type& l) |
1360 | | { |
1361 | | return symbol_type (token::TOKEN_LSQUARE_BRACKET, l); |
1362 | | } |
1363 | | #endif |
1364 | | #if 201103L <= YY_CPLUSPLUS |
1365 | | static |
1366 | | symbol_type |
1367 | | make_RSQUARE_BRACKET (location_type l) |
1368 | 152k | { |
1369 | 152k | return symbol_type (token::TOKEN_RSQUARE_BRACKET, std::move (l)); |
1370 | 152k | } |
1371 | | #else |
1372 | | static |
1373 | | symbol_type |
1374 | | make_RSQUARE_BRACKET (const location_type& l) |
1375 | | { |
1376 | | return symbol_type (token::TOKEN_RSQUARE_BRACKET, l); |
1377 | | } |
1378 | | #endif |
1379 | | #if 201103L <= YY_CPLUSPLUS |
1380 | | static |
1381 | | symbol_type |
1382 | | make_LCURLY_BRACKET (location_type l) |
1383 | 32.0k | { |
1384 | 32.0k | return symbol_type (token::TOKEN_LCURLY_BRACKET, std::move (l)); |
1385 | 32.0k | } |
1386 | | #else |
1387 | | static |
1388 | | symbol_type |
1389 | | make_LCURLY_BRACKET (const location_type& l) |
1390 | | { |
1391 | | return symbol_type (token::TOKEN_LCURLY_BRACKET, l); |
1392 | | } |
1393 | | #endif |
1394 | | #if 201103L <= YY_CPLUSPLUS |
1395 | | static |
1396 | | symbol_type |
1397 | | make_RCURLY_BRACKET (location_type l) |
1398 | 11.7k | { |
1399 | 11.7k | return symbol_type (token::TOKEN_RCURLY_BRACKET, std::move (l)); |
1400 | 11.7k | } |
1401 | | #else |
1402 | | static |
1403 | | symbol_type |
1404 | | make_RCURLY_BRACKET (const location_type& l) |
1405 | | { |
1406 | | return symbol_type (token::TOKEN_RCURLY_BRACKET, l); |
1407 | | } |
1408 | | #endif |
1409 | | #if 201103L <= YY_CPLUSPLUS |
1410 | | static |
1411 | | symbol_type |
1412 | | make_NULL_TYPE (location_type l) |
1413 | 491 | { |
1414 | 491 | return symbol_type (token::TOKEN_NULL_TYPE, std::move (l)); |
1415 | 491 | } |
1416 | | #else |
1417 | | static |
1418 | | symbol_type |
1419 | | make_NULL_TYPE (const location_type& l) |
1420 | | { |
1421 | | return symbol_type (token::TOKEN_NULL_TYPE, l); |
1422 | | } |
1423 | | #endif |
1424 | | #if 201103L <= YY_CPLUSPLUS |
1425 | | static |
1426 | | symbol_type |
1427 | | make_DHCPDDNS (location_type l) |
1428 | 153 | { |
1429 | 153 | return symbol_type (token::TOKEN_DHCPDDNS, std::move (l)); |
1430 | 153 | } |
1431 | | #else |
1432 | | static |
1433 | | symbol_type |
1434 | | make_DHCPDDNS (const location_type& l) |
1435 | | { |
1436 | | return symbol_type (token::TOKEN_DHCPDDNS, l); |
1437 | | } |
1438 | | #endif |
1439 | | #if 201103L <= YY_CPLUSPLUS |
1440 | | static |
1441 | | symbol_type |
1442 | | make_IP_ADDRESS (location_type l) |
1443 | 674 | { |
1444 | 674 | return symbol_type (token::TOKEN_IP_ADDRESS, std::move (l)); |
1445 | 674 | } |
1446 | | #else |
1447 | | static |
1448 | | symbol_type |
1449 | | make_IP_ADDRESS (const location_type& l) |
1450 | | { |
1451 | | return symbol_type (token::TOKEN_IP_ADDRESS, l); |
1452 | | } |
1453 | | #endif |
1454 | | #if 201103L <= YY_CPLUSPLUS |
1455 | | static |
1456 | | symbol_type |
1457 | | make_PORT (location_type l) |
1458 | 687 | { |
1459 | 687 | return symbol_type (token::TOKEN_PORT, std::move (l)); |
1460 | 687 | } |
1461 | | #else |
1462 | | static |
1463 | | symbol_type |
1464 | | make_PORT (const location_type& l) |
1465 | | { |
1466 | | return symbol_type (token::TOKEN_PORT, l); |
1467 | | } |
1468 | | #endif |
1469 | | #if 201103L <= YY_CPLUSPLUS |
1470 | | static |
1471 | | symbol_type |
1472 | | make_DNS_SERVER_TIMEOUT (location_type l) |
1473 | 120 | { |
1474 | 120 | return symbol_type (token::TOKEN_DNS_SERVER_TIMEOUT, std::move (l)); |
1475 | 120 | } |
1476 | | #else |
1477 | | static |
1478 | | symbol_type |
1479 | | make_DNS_SERVER_TIMEOUT (const location_type& l) |
1480 | | { |
1481 | | return symbol_type (token::TOKEN_DNS_SERVER_TIMEOUT, l); |
1482 | | } |
1483 | | #endif |
1484 | | #if 201103L <= YY_CPLUSPLUS |
1485 | | static |
1486 | | symbol_type |
1487 | | make_NCR_PROTOCOL (location_type l) |
1488 | 18 | { |
1489 | 18 | return symbol_type (token::TOKEN_NCR_PROTOCOL, std::move (l)); |
1490 | 18 | } |
1491 | | #else |
1492 | | static |
1493 | | symbol_type |
1494 | | make_NCR_PROTOCOL (const location_type& l) |
1495 | | { |
1496 | | return symbol_type (token::TOKEN_NCR_PROTOCOL, l); |
1497 | | } |
1498 | | #endif |
1499 | | #if 201103L <= YY_CPLUSPLUS |
1500 | | static |
1501 | | symbol_type |
1502 | | make_UDP (location_type l) |
1503 | 3 | { |
1504 | 3 | return symbol_type (token::TOKEN_UDP, std::move (l)); |
1505 | 3 | } |
1506 | | #else |
1507 | | static |
1508 | | symbol_type |
1509 | | make_UDP (const location_type& l) |
1510 | | { |
1511 | | return symbol_type (token::TOKEN_UDP, l); |
1512 | | } |
1513 | | #endif |
1514 | | #if 201103L <= YY_CPLUSPLUS |
1515 | | static |
1516 | | symbol_type |
1517 | | make_TCP (location_type l) |
1518 | 2 | { |
1519 | 2 | return symbol_type (token::TOKEN_TCP, std::move (l)); |
1520 | 2 | } |
1521 | | #else |
1522 | | static |
1523 | | symbol_type |
1524 | | make_TCP (const location_type& l) |
1525 | | { |
1526 | | return symbol_type (token::TOKEN_TCP, l); |
1527 | | } |
1528 | | #endif |
1529 | | #if 201103L <= YY_CPLUSPLUS |
1530 | | static |
1531 | | symbol_type |
1532 | | make_NCR_FORMAT (location_type l) |
1533 | 18 | { |
1534 | 18 | return symbol_type (token::TOKEN_NCR_FORMAT, std::move (l)); |
1535 | 18 | } |
1536 | | #else |
1537 | | static |
1538 | | symbol_type |
1539 | | make_NCR_FORMAT (const location_type& l) |
1540 | | { |
1541 | | return symbol_type (token::TOKEN_NCR_FORMAT, l); |
1542 | | } |
1543 | | #endif |
1544 | | #if 201103L <= YY_CPLUSPLUS |
1545 | | static |
1546 | | symbol_type |
1547 | | make_JSON (location_type l) |
1548 | 4 | { |
1549 | 4 | return symbol_type (token::TOKEN_JSON, std::move (l)); |
1550 | 4 | } |
1551 | | #else |
1552 | | static |
1553 | | symbol_type |
1554 | | make_JSON (const location_type& l) |
1555 | | { |
1556 | | return symbol_type (token::TOKEN_JSON, l); |
1557 | | } |
1558 | | #endif |
1559 | | #if 201103L <= YY_CPLUSPLUS |
1560 | | static |
1561 | | symbol_type |
1562 | | make_USER_CONTEXT (location_type l) |
1563 | 1.91k | { |
1564 | 1.91k | return symbol_type (token::TOKEN_USER_CONTEXT, std::move (l)); |
1565 | 1.91k | } |
1566 | | #else |
1567 | | static |
1568 | | symbol_type |
1569 | | make_USER_CONTEXT (const location_type& l) |
1570 | | { |
1571 | | return symbol_type (token::TOKEN_USER_CONTEXT, l); |
1572 | | } |
1573 | | #endif |
1574 | | #if 201103L <= YY_CPLUSPLUS |
1575 | | static |
1576 | | symbol_type |
1577 | | make_COMMENT (location_type l) |
1578 | 1.24k | { |
1579 | 1.24k | return symbol_type (token::TOKEN_COMMENT, std::move (l)); |
1580 | 1.24k | } |
1581 | | #else |
1582 | | static |
1583 | | symbol_type |
1584 | | make_COMMENT (const location_type& l) |
1585 | | { |
1586 | | return symbol_type (token::TOKEN_COMMENT, l); |
1587 | | } |
1588 | | #endif |
1589 | | #if 201103L <= YY_CPLUSPLUS |
1590 | | static |
1591 | | symbol_type |
1592 | | make_FORWARD_DDNS (location_type l) |
1593 | 37 | { |
1594 | 37 | return symbol_type (token::TOKEN_FORWARD_DDNS, std::move (l)); |
1595 | 37 | } |
1596 | | #else |
1597 | | static |
1598 | | symbol_type |
1599 | | make_FORWARD_DDNS (const location_type& l) |
1600 | | { |
1601 | | return symbol_type (token::TOKEN_FORWARD_DDNS, l); |
1602 | | } |
1603 | | #endif |
1604 | | #if 201103L <= YY_CPLUSPLUS |
1605 | | static |
1606 | | symbol_type |
1607 | | make_REVERSE_DDNS (location_type l) |
1608 | 11 | { |
1609 | 11 | return symbol_type (token::TOKEN_REVERSE_DDNS, std::move (l)); |
1610 | 11 | } |
1611 | | #else |
1612 | | static |
1613 | | symbol_type |
1614 | | make_REVERSE_DDNS (const location_type& l) |
1615 | | { |
1616 | | return symbol_type (token::TOKEN_REVERSE_DDNS, l); |
1617 | | } |
1618 | | #endif |
1619 | | #if 201103L <= YY_CPLUSPLUS |
1620 | | static |
1621 | | symbol_type |
1622 | | make_DDNS_DOMAINS (location_type l) |
1623 | 26 | { |
1624 | 26 | return symbol_type (token::TOKEN_DDNS_DOMAINS, std::move (l)); |
1625 | 26 | } |
1626 | | #else |
1627 | | static |
1628 | | symbol_type |
1629 | | make_DDNS_DOMAINS (const location_type& l) |
1630 | | { |
1631 | | return symbol_type (token::TOKEN_DDNS_DOMAINS, l); |
1632 | | } |
1633 | | #endif |
1634 | | #if 201103L <= YY_CPLUSPLUS |
1635 | | static |
1636 | | symbol_type |
1637 | | make_KEY_NAME (location_type l) |
1638 | 625 | { |
1639 | 625 | return symbol_type (token::TOKEN_KEY_NAME, std::move (l)); |
1640 | 625 | } |
1641 | | #else |
1642 | | static |
1643 | | symbol_type |
1644 | | make_KEY_NAME (const location_type& l) |
1645 | | { |
1646 | | return symbol_type (token::TOKEN_KEY_NAME, l); |
1647 | | } |
1648 | | #endif |
1649 | | #if 201103L <= YY_CPLUSPLUS |
1650 | | static |
1651 | | symbol_type |
1652 | | make_DNS_SERVERS (location_type l) |
1653 | 169 | { |
1654 | 169 | return symbol_type (token::TOKEN_DNS_SERVERS, std::move (l)); |
1655 | 169 | } |
1656 | | #else |
1657 | | static |
1658 | | symbol_type |
1659 | | make_DNS_SERVERS (const location_type& l) |
1660 | | { |
1661 | | return symbol_type (token::TOKEN_DNS_SERVERS, l); |
1662 | | } |
1663 | | #endif |
1664 | | #if 201103L <= YY_CPLUSPLUS |
1665 | | static |
1666 | | symbol_type |
1667 | | make_HOSTNAME (location_type l) |
1668 | 86 | { |
1669 | 86 | return symbol_type (token::TOKEN_HOSTNAME, std::move (l)); |
1670 | 86 | } |
1671 | | #else |
1672 | | static |
1673 | | symbol_type |
1674 | | make_HOSTNAME (const location_type& l) |
1675 | | { |
1676 | | return symbol_type (token::TOKEN_HOSTNAME, l); |
1677 | | } |
1678 | | #endif |
1679 | | #if 201103L <= YY_CPLUSPLUS |
1680 | | static |
1681 | | symbol_type |
1682 | | make_TSIG_KEYS (location_type l) |
1683 | 11 | { |
1684 | 11 | return symbol_type (token::TOKEN_TSIG_KEYS, std::move (l)); |
1685 | 11 | } |
1686 | | #else |
1687 | | static |
1688 | | symbol_type |
1689 | | make_TSIG_KEYS (const location_type& l) |
1690 | | { |
1691 | | return symbol_type (token::TOKEN_TSIG_KEYS, l); |
1692 | | } |
1693 | | #endif |
1694 | | #if 201103L <= YY_CPLUSPLUS |
1695 | | static |
1696 | | symbol_type |
1697 | | make_ALGORITHM (location_type l) |
1698 | 753 | { |
1699 | 753 | return symbol_type (token::TOKEN_ALGORITHM, std::move (l)); |
1700 | 753 | } |
1701 | | #else |
1702 | | static |
1703 | | symbol_type |
1704 | | make_ALGORITHM (const location_type& l) |
1705 | | { |
1706 | | return symbol_type (token::TOKEN_ALGORITHM, l); |
1707 | | } |
1708 | | #endif |
1709 | | #if 201103L <= YY_CPLUSPLUS |
1710 | | static |
1711 | | symbol_type |
1712 | | make_DIGEST_BITS (location_type l) |
1713 | 151 | { |
1714 | 151 | return symbol_type (token::TOKEN_DIGEST_BITS, std::move (l)); |
1715 | 151 | } |
1716 | | #else |
1717 | | static |
1718 | | symbol_type |
1719 | | make_DIGEST_BITS (const location_type& l) |
1720 | | { |
1721 | | return symbol_type (token::TOKEN_DIGEST_BITS, l); |
1722 | | } |
1723 | | #endif |
1724 | | #if 201103L <= YY_CPLUSPLUS |
1725 | | static |
1726 | | symbol_type |
1727 | | make_SECRET (location_type l) |
1728 | 623 | { |
1729 | 623 | return symbol_type (token::TOKEN_SECRET, std::move (l)); |
1730 | 623 | } |
1731 | | #else |
1732 | | static |
1733 | | symbol_type |
1734 | | make_SECRET (const location_type& l) |
1735 | | { |
1736 | | return symbol_type (token::TOKEN_SECRET, l); |
1737 | | } |
1738 | | #endif |
1739 | | #if 201103L <= YY_CPLUSPLUS |
1740 | | static |
1741 | | symbol_type |
1742 | | make_SECRET_FILE (location_type l) |
1743 | 23 | { |
1744 | 23 | return symbol_type (token::TOKEN_SECRET_FILE, std::move (l)); |
1745 | 23 | } |
1746 | | #else |
1747 | | static |
1748 | | symbol_type |
1749 | | make_SECRET_FILE (const location_type& l) |
1750 | | { |
1751 | | return symbol_type (token::TOKEN_SECRET_FILE, l); |
1752 | | } |
1753 | | #endif |
1754 | | #if 201103L <= YY_CPLUSPLUS |
1755 | | static |
1756 | | symbol_type |
1757 | | make_CONTROL_SOCKET (location_type l) |
1758 | 56 | { |
1759 | 56 | return symbol_type (token::TOKEN_CONTROL_SOCKET, std::move (l)); |
1760 | 56 | } |
1761 | | #else |
1762 | | static |
1763 | | symbol_type |
1764 | | make_CONTROL_SOCKET (const location_type& l) |
1765 | | { |
1766 | | return symbol_type (token::TOKEN_CONTROL_SOCKET, l); |
1767 | | } |
1768 | | #endif |
1769 | | #if 201103L <= YY_CPLUSPLUS |
1770 | | static |
1771 | | symbol_type |
1772 | | make_CONTROL_SOCKETS (location_type l) |
1773 | 83 | { |
1774 | 83 | return symbol_type (token::TOKEN_CONTROL_SOCKETS, std::move (l)); |
1775 | 83 | } |
1776 | | #else |
1777 | | static |
1778 | | symbol_type |
1779 | | make_CONTROL_SOCKETS (const location_type& l) |
1780 | | { |
1781 | | return symbol_type (token::TOKEN_CONTROL_SOCKETS, l); |
1782 | | } |
1783 | | #endif |
1784 | | #if 201103L <= YY_CPLUSPLUS |
1785 | | static |
1786 | | symbol_type |
1787 | | make_SOCKET_TYPE (location_type l) |
1788 | 228 | { |
1789 | 228 | return symbol_type (token::TOKEN_SOCKET_TYPE, std::move (l)); |
1790 | 228 | } |
1791 | | #else |
1792 | | static |
1793 | | symbol_type |
1794 | | make_SOCKET_TYPE (const location_type& l) |
1795 | | { |
1796 | | return symbol_type (token::TOKEN_SOCKET_TYPE, l); |
1797 | | } |
1798 | | #endif |
1799 | | #if 201103L <= YY_CPLUSPLUS |
1800 | | static |
1801 | | symbol_type |
1802 | | make_UNIX (location_type l) |
1803 | 214 | { |
1804 | 214 | return symbol_type (token::TOKEN_UNIX, std::move (l)); |
1805 | 214 | } |
1806 | | #else |
1807 | | static |
1808 | | symbol_type |
1809 | | make_UNIX (const location_type& l) |
1810 | | { |
1811 | | return symbol_type (token::TOKEN_UNIX, l); |
1812 | | } |
1813 | | #endif |
1814 | | #if 201103L <= YY_CPLUSPLUS |
1815 | | static |
1816 | | symbol_type |
1817 | | make_HTTP (location_type l) |
1818 | 1 | { |
1819 | 1 | return symbol_type (token::TOKEN_HTTP, std::move (l)); |
1820 | 1 | } |
1821 | | #else |
1822 | | static |
1823 | | symbol_type |
1824 | | make_HTTP (const location_type& l) |
1825 | | { |
1826 | | return symbol_type (token::TOKEN_HTTP, l); |
1827 | | } |
1828 | | #endif |
1829 | | #if 201103L <= YY_CPLUSPLUS |
1830 | | static |
1831 | | symbol_type |
1832 | | make_HTTPS (location_type l) |
1833 | 2 | { |
1834 | 2 | return symbol_type (token::TOKEN_HTTPS, std::move (l)); |
1835 | 2 | } |
1836 | | #else |
1837 | | static |
1838 | | symbol_type |
1839 | | make_HTTPS (const location_type& l) |
1840 | | { |
1841 | | return symbol_type (token::TOKEN_HTTPS, l); |
1842 | | } |
1843 | | #endif |
1844 | | #if 201103L <= YY_CPLUSPLUS |
1845 | | static |
1846 | | symbol_type |
1847 | | make_SOCKET_NAME (location_type l) |
1848 | 432 | { |
1849 | 432 | return symbol_type (token::TOKEN_SOCKET_NAME, std::move (l)); |
1850 | 432 | } |
1851 | | #else |
1852 | | static |
1853 | | symbol_type |
1854 | | make_SOCKET_NAME (const location_type& l) |
1855 | | { |
1856 | | return symbol_type (token::TOKEN_SOCKET_NAME, l); |
1857 | | } |
1858 | | #endif |
1859 | | #if 201103L <= YY_CPLUSPLUS |
1860 | | static |
1861 | | symbol_type |
1862 | | make_SOCKET_ADDRESS (location_type l) |
1863 | 8 | { |
1864 | 8 | return symbol_type (token::TOKEN_SOCKET_ADDRESS, std::move (l)); |
1865 | 8 | } |
1866 | | #else |
1867 | | static |
1868 | | symbol_type |
1869 | | make_SOCKET_ADDRESS (const location_type& l) |
1870 | | { |
1871 | | return symbol_type (token::TOKEN_SOCKET_ADDRESS, l); |
1872 | | } |
1873 | | #endif |
1874 | | #if 201103L <= YY_CPLUSPLUS |
1875 | | static |
1876 | | symbol_type |
1877 | | make_SOCKET_PORT (location_type l) |
1878 | 4 | { |
1879 | 4 | return symbol_type (token::TOKEN_SOCKET_PORT, std::move (l)); |
1880 | 4 | } |
1881 | | #else |
1882 | | static |
1883 | | symbol_type |
1884 | | make_SOCKET_PORT (const location_type& l) |
1885 | | { |
1886 | | return symbol_type (token::TOKEN_SOCKET_PORT, l); |
1887 | | } |
1888 | | #endif |
1889 | | #if 201103L <= YY_CPLUSPLUS |
1890 | | static |
1891 | | symbol_type |
1892 | | make_AUTHENTICATION (location_type l) |
1893 | 0 | { |
1894 | 0 | return symbol_type (token::TOKEN_AUTHENTICATION, std::move (l)); |
1895 | 0 | } |
1896 | | #else |
1897 | | static |
1898 | | symbol_type |
1899 | | make_AUTHENTICATION (const location_type& l) |
1900 | | { |
1901 | | return symbol_type (token::TOKEN_AUTHENTICATION, l); |
1902 | | } |
1903 | | #endif |
1904 | | #if 201103L <= YY_CPLUSPLUS |
1905 | | static |
1906 | | symbol_type |
1907 | | make_TYPE (location_type l) |
1908 | 0 | { |
1909 | 0 | return symbol_type (token::TOKEN_TYPE, std::move (l)); |
1910 | 0 | } |
1911 | | #else |
1912 | | static |
1913 | | symbol_type |
1914 | | make_TYPE (const location_type& l) |
1915 | | { |
1916 | | return symbol_type (token::TOKEN_TYPE, l); |
1917 | | } |
1918 | | #endif |
1919 | | #if 201103L <= YY_CPLUSPLUS |
1920 | | static |
1921 | | symbol_type |
1922 | | make_BASIC (location_type l) |
1923 | 0 | { |
1924 | 0 | return symbol_type (token::TOKEN_BASIC, std::move (l)); |
1925 | 0 | } |
1926 | | #else |
1927 | | static |
1928 | | symbol_type |
1929 | | make_BASIC (const location_type& l) |
1930 | | { |
1931 | | return symbol_type (token::TOKEN_BASIC, l); |
1932 | | } |
1933 | | #endif |
1934 | | #if 201103L <= YY_CPLUSPLUS |
1935 | | static |
1936 | | symbol_type |
1937 | | make_REALM (location_type l) |
1938 | 0 | { |
1939 | 0 | return symbol_type (token::TOKEN_REALM, std::move (l)); |
1940 | 0 | } |
1941 | | #else |
1942 | | static |
1943 | | symbol_type |
1944 | | make_REALM (const location_type& l) |
1945 | | { |
1946 | | return symbol_type (token::TOKEN_REALM, l); |
1947 | | } |
1948 | | #endif |
1949 | | #if 201103L <= YY_CPLUSPLUS |
1950 | | static |
1951 | | symbol_type |
1952 | | make_DIRECTORY (location_type l) |
1953 | 0 | { |
1954 | 0 | return symbol_type (token::TOKEN_DIRECTORY, std::move (l)); |
1955 | 0 | } |
1956 | | #else |
1957 | | static |
1958 | | symbol_type |
1959 | | make_DIRECTORY (const location_type& l) |
1960 | | { |
1961 | | return symbol_type (token::TOKEN_DIRECTORY, l); |
1962 | | } |
1963 | | #endif |
1964 | | #if 201103L <= YY_CPLUSPLUS |
1965 | | static |
1966 | | symbol_type |
1967 | | make_CLIENTS (location_type l) |
1968 | 0 | { |
1969 | 0 | return symbol_type (token::TOKEN_CLIENTS, std::move (l)); |
1970 | 0 | } |
1971 | | #else |
1972 | | static |
1973 | | symbol_type |
1974 | | make_CLIENTS (const location_type& l) |
1975 | | { |
1976 | | return symbol_type (token::TOKEN_CLIENTS, l); |
1977 | | } |
1978 | | #endif |
1979 | | #if 201103L <= YY_CPLUSPLUS |
1980 | | static |
1981 | | symbol_type |
1982 | | make_USER (location_type l) |
1983 | 0 | { |
1984 | 0 | return symbol_type (token::TOKEN_USER, std::move (l)); |
1985 | 0 | } |
1986 | | #else |
1987 | | static |
1988 | | symbol_type |
1989 | | make_USER (const location_type& l) |
1990 | | { |
1991 | | return symbol_type (token::TOKEN_USER, l); |
1992 | | } |
1993 | | #endif |
1994 | | #if 201103L <= YY_CPLUSPLUS |
1995 | | static |
1996 | | symbol_type |
1997 | | make_USER_FILE (location_type l) |
1998 | 0 | { |
1999 | 0 | return symbol_type (token::TOKEN_USER_FILE, std::move (l)); |
2000 | 0 | } |
2001 | | #else |
2002 | | static |
2003 | | symbol_type |
2004 | | make_USER_FILE (const location_type& l) |
2005 | | { |
2006 | | return symbol_type (token::TOKEN_USER_FILE, l); |
2007 | | } |
2008 | | #endif |
2009 | | #if 201103L <= YY_CPLUSPLUS |
2010 | | static |
2011 | | symbol_type |
2012 | | make_PASSWORD (location_type l) |
2013 | 0 | { |
2014 | 0 | return symbol_type (token::TOKEN_PASSWORD, std::move (l)); |
2015 | 0 | } |
2016 | | #else |
2017 | | static |
2018 | | symbol_type |
2019 | | make_PASSWORD (const location_type& l) |
2020 | | { |
2021 | | return symbol_type (token::TOKEN_PASSWORD, l); |
2022 | | } |
2023 | | #endif |
2024 | | #if 201103L <= YY_CPLUSPLUS |
2025 | | static |
2026 | | symbol_type |
2027 | | make_PASSWORD_FILE (location_type l) |
2028 | 0 | { |
2029 | 0 | return symbol_type (token::TOKEN_PASSWORD_FILE, std::move (l)); |
2030 | 0 | } |
2031 | | #else |
2032 | | static |
2033 | | symbol_type |
2034 | | make_PASSWORD_FILE (const location_type& l) |
2035 | | { |
2036 | | return symbol_type (token::TOKEN_PASSWORD_FILE, l); |
2037 | | } |
2038 | | #endif |
2039 | | #if 201103L <= YY_CPLUSPLUS |
2040 | | static |
2041 | | symbol_type |
2042 | | make_TRUST_ANCHOR (location_type l) |
2043 | 0 | { |
2044 | 0 | return symbol_type (token::TOKEN_TRUST_ANCHOR, std::move (l)); |
2045 | 0 | } |
2046 | | #else |
2047 | | static |
2048 | | symbol_type |
2049 | | make_TRUST_ANCHOR (const location_type& l) |
2050 | | { |
2051 | | return symbol_type (token::TOKEN_TRUST_ANCHOR, l); |
2052 | | } |
2053 | | #endif |
2054 | | #if 201103L <= YY_CPLUSPLUS |
2055 | | static |
2056 | | symbol_type |
2057 | | make_CERT_FILE (location_type l) |
2058 | 1 | { |
2059 | 1 | return symbol_type (token::TOKEN_CERT_FILE, std::move (l)); |
2060 | 1 | } |
2061 | | #else |
2062 | | static |
2063 | | symbol_type |
2064 | | make_CERT_FILE (const location_type& l) |
2065 | | { |
2066 | | return symbol_type (token::TOKEN_CERT_FILE, l); |
2067 | | } |
2068 | | #endif |
2069 | | #if 201103L <= YY_CPLUSPLUS |
2070 | | static |
2071 | | symbol_type |
2072 | | make_KEY_FILE (location_type l) |
2073 | 5 | { |
2074 | 5 | return symbol_type (token::TOKEN_KEY_FILE, std::move (l)); |
2075 | 5 | } |
2076 | | #else |
2077 | | static |
2078 | | symbol_type |
2079 | | make_KEY_FILE (const location_type& l) |
2080 | | { |
2081 | | return symbol_type (token::TOKEN_KEY_FILE, l); |
2082 | | } |
2083 | | #endif |
2084 | | #if 201103L <= YY_CPLUSPLUS |
2085 | | static |
2086 | | symbol_type |
2087 | | make_CERT_REQUIRED (location_type l) |
2088 | 0 | { |
2089 | 0 | return symbol_type (token::TOKEN_CERT_REQUIRED, std::move (l)); |
2090 | 0 | } |
2091 | | #else |
2092 | | static |
2093 | | symbol_type |
2094 | | make_CERT_REQUIRED (const location_type& l) |
2095 | | { |
2096 | | return symbol_type (token::TOKEN_CERT_REQUIRED, l); |
2097 | | } |
2098 | | #endif |
2099 | | #if 201103L <= YY_CPLUSPLUS |
2100 | | static |
2101 | | symbol_type |
2102 | | make_HOOKS_LIBRARIES (location_type l) |
2103 | 550 | { |
2104 | 550 | return symbol_type (token::TOKEN_HOOKS_LIBRARIES, std::move (l)); |
2105 | 550 | } |
2106 | | #else |
2107 | | static |
2108 | | symbol_type |
2109 | | make_HOOKS_LIBRARIES (const location_type& l) |
2110 | | { |
2111 | | return symbol_type (token::TOKEN_HOOKS_LIBRARIES, l); |
2112 | | } |
2113 | | #endif |
2114 | | #if 201103L <= YY_CPLUSPLUS |
2115 | | static |
2116 | | symbol_type |
2117 | | make_LIBRARY (location_type l) |
2118 | 1.17k | { |
2119 | 1.17k | return symbol_type (token::TOKEN_LIBRARY, std::move (l)); |
2120 | 1.17k | } |
2121 | | #else |
2122 | | static |
2123 | | symbol_type |
2124 | | make_LIBRARY (const location_type& l) |
2125 | | { |
2126 | | return symbol_type (token::TOKEN_LIBRARY, l); |
2127 | | } |
2128 | | #endif |
2129 | | #if 201103L <= YY_CPLUSPLUS |
2130 | | static |
2131 | | symbol_type |
2132 | | make_PARAMETERS (location_type l) |
2133 | 9 | { |
2134 | 9 | return symbol_type (token::TOKEN_PARAMETERS, std::move (l)); |
2135 | 9 | } |
2136 | | #else |
2137 | | static |
2138 | | symbol_type |
2139 | | make_PARAMETERS (const location_type& l) |
2140 | | { |
2141 | | return symbol_type (token::TOKEN_PARAMETERS, l); |
2142 | | } |
2143 | | #endif |
2144 | | #if 201103L <= YY_CPLUSPLUS |
2145 | | static |
2146 | | symbol_type |
2147 | | make_LOGGERS (location_type l) |
2148 | 98 | { |
2149 | 98 | return symbol_type (token::TOKEN_LOGGERS, std::move (l)); |
2150 | 98 | } |
2151 | | #else |
2152 | | static |
2153 | | symbol_type |
2154 | | make_LOGGERS (const location_type& l) |
2155 | | { |
2156 | | return symbol_type (token::TOKEN_LOGGERS, l); |
2157 | | } |
2158 | | #endif |
2159 | | #if 201103L <= YY_CPLUSPLUS |
2160 | | static |
2161 | | symbol_type |
2162 | | make_NAME (location_type l) |
2163 | 2.48k | { |
2164 | 2.48k | return symbol_type (token::TOKEN_NAME, std::move (l)); |
2165 | 2.48k | } |
2166 | | #else |
2167 | | static |
2168 | | symbol_type |
2169 | | make_NAME (const location_type& l) |
2170 | | { |
2171 | | return symbol_type (token::TOKEN_NAME, l); |
2172 | | } |
2173 | | #endif |
2174 | | #if 201103L <= YY_CPLUSPLUS |
2175 | | static |
2176 | | symbol_type |
2177 | | make_OUTPUT_OPTIONS (location_type l) |
2178 | 7 | { |
2179 | 7 | return symbol_type (token::TOKEN_OUTPUT_OPTIONS, std::move (l)); |
2180 | 7 | } |
2181 | | #else |
2182 | | static |
2183 | | symbol_type |
2184 | | make_OUTPUT_OPTIONS (const location_type& l) |
2185 | | { |
2186 | | return symbol_type (token::TOKEN_OUTPUT_OPTIONS, l); |
2187 | | } |
2188 | | #endif |
2189 | | #if 201103L <= YY_CPLUSPLUS |
2190 | | static |
2191 | | symbol_type |
2192 | | make_OUTPUT (location_type l) |
2193 | 2 | { |
2194 | 2 | return symbol_type (token::TOKEN_OUTPUT, std::move (l)); |
2195 | 2 | } |
2196 | | #else |
2197 | | static |
2198 | | symbol_type |
2199 | | make_OUTPUT (const location_type& l) |
2200 | | { |
2201 | | return symbol_type (token::TOKEN_OUTPUT, l); |
2202 | | } |
2203 | | #endif |
2204 | | #if 201103L <= YY_CPLUSPLUS |
2205 | | static |
2206 | | symbol_type |
2207 | | make_DEBUGLEVEL (location_type l) |
2208 | 4 | { |
2209 | 4 | return symbol_type (token::TOKEN_DEBUGLEVEL, std::move (l)); |
2210 | 4 | } |
2211 | | #else |
2212 | | static |
2213 | | symbol_type |
2214 | | make_DEBUGLEVEL (const location_type& l) |
2215 | | { |
2216 | | return symbol_type (token::TOKEN_DEBUGLEVEL, l); |
2217 | | } |
2218 | | #endif |
2219 | | #if 201103L <= YY_CPLUSPLUS |
2220 | | static |
2221 | | symbol_type |
2222 | | make_SEVERITY (location_type l) |
2223 | 93 | { |
2224 | 93 | return symbol_type (token::TOKEN_SEVERITY, std::move (l)); |
2225 | 93 | } |
2226 | | #else |
2227 | | static |
2228 | | symbol_type |
2229 | | make_SEVERITY (const location_type& l) |
2230 | | { |
2231 | | return symbol_type (token::TOKEN_SEVERITY, l); |
2232 | | } |
2233 | | #endif |
2234 | | #if 201103L <= YY_CPLUSPLUS |
2235 | | static |
2236 | | symbol_type |
2237 | | make_FLUSH (location_type l) |
2238 | 0 | { |
2239 | 0 | return symbol_type (token::TOKEN_FLUSH, std::move (l)); |
2240 | 0 | } |
2241 | | #else |
2242 | | static |
2243 | | symbol_type |
2244 | | make_FLUSH (const location_type& l) |
2245 | | { |
2246 | | return symbol_type (token::TOKEN_FLUSH, l); |
2247 | | } |
2248 | | #endif |
2249 | | #if 201103L <= YY_CPLUSPLUS |
2250 | | static |
2251 | | symbol_type |
2252 | | make_MAXSIZE (location_type l) |
2253 | 0 | { |
2254 | 0 | return symbol_type (token::TOKEN_MAXSIZE, std::move (l)); |
2255 | 0 | } |
2256 | | #else |
2257 | | static |
2258 | | symbol_type |
2259 | | make_MAXSIZE (const location_type& l) |
2260 | | { |
2261 | | return symbol_type (token::TOKEN_MAXSIZE, l); |
2262 | | } |
2263 | | #endif |
2264 | | #if 201103L <= YY_CPLUSPLUS |
2265 | | static |
2266 | | symbol_type |
2267 | | make_MAXVER (location_type l) |
2268 | 0 | { |
2269 | 0 | return symbol_type (token::TOKEN_MAXVER, std::move (l)); |
2270 | 0 | } |
2271 | | #else |
2272 | | static |
2273 | | symbol_type |
2274 | | make_MAXVER (const location_type& l) |
2275 | | { |
2276 | | return symbol_type (token::TOKEN_MAXVER, l); |
2277 | | } |
2278 | | #endif |
2279 | | #if 201103L <= YY_CPLUSPLUS |
2280 | | static |
2281 | | symbol_type |
2282 | | make_PATTERN (location_type l) |
2283 | 0 | { |
2284 | 0 | return symbol_type (token::TOKEN_PATTERN, std::move (l)); |
2285 | 0 | } |
2286 | | #else |
2287 | | static |
2288 | | symbol_type |
2289 | | make_PATTERN (const location_type& l) |
2290 | | { |
2291 | | return symbol_type (token::TOKEN_PATTERN, l); |
2292 | | } |
2293 | | #endif |
2294 | | #if 201103L <= YY_CPLUSPLUS |
2295 | | static |
2296 | | symbol_type |
2297 | | make_TOPLEVEL_JSON (location_type l) |
2298 | 3.03k | { |
2299 | 3.03k | return symbol_type (token::TOKEN_TOPLEVEL_JSON, std::move (l)); |
2300 | 3.03k | } |
2301 | | #else |
2302 | | static |
2303 | | symbol_type |
2304 | | make_TOPLEVEL_JSON (const location_type& l) |
2305 | | { |
2306 | | return symbol_type (token::TOKEN_TOPLEVEL_JSON, l); |
2307 | | } |
2308 | | #endif |
2309 | | #if 201103L <= YY_CPLUSPLUS |
2310 | | static |
2311 | | symbol_type |
2312 | | make_TOPLEVEL_DHCPDDNS (location_type l) |
2313 | 447 | { |
2314 | 447 | return symbol_type (token::TOKEN_TOPLEVEL_DHCPDDNS, std::move (l)); |
2315 | 447 | } |
2316 | | #else |
2317 | | static |
2318 | | symbol_type |
2319 | | make_TOPLEVEL_DHCPDDNS (const location_type& l) |
2320 | | { |
2321 | | return symbol_type (token::TOKEN_TOPLEVEL_DHCPDDNS, l); |
2322 | | } |
2323 | | #endif |
2324 | | #if 201103L <= YY_CPLUSPLUS |
2325 | | static |
2326 | | symbol_type |
2327 | | make_SUB_DHCPDDNS (location_type l) |
2328 | 1.58k | { |
2329 | 1.58k | return symbol_type (token::TOKEN_SUB_DHCPDDNS, std::move (l)); |
2330 | 1.58k | } |
2331 | | #else |
2332 | | static |
2333 | | symbol_type |
2334 | | make_SUB_DHCPDDNS (const location_type& l) |
2335 | | { |
2336 | | return symbol_type (token::TOKEN_SUB_DHCPDDNS, l); |
2337 | | } |
2338 | | #endif |
2339 | | #if 201103L <= YY_CPLUSPLUS |
2340 | | static |
2341 | | symbol_type |
2342 | | make_SUB_TSIG_KEY (location_type l) |
2343 | 417 | { |
2344 | 417 | return symbol_type (token::TOKEN_SUB_TSIG_KEY, std::move (l)); |
2345 | 417 | } |
2346 | | #else |
2347 | | static |
2348 | | symbol_type |
2349 | | make_SUB_TSIG_KEY (const location_type& l) |
2350 | | { |
2351 | | return symbol_type (token::TOKEN_SUB_TSIG_KEY, l); |
2352 | | } |
2353 | | #endif |
2354 | | #if 201103L <= YY_CPLUSPLUS |
2355 | | static |
2356 | | symbol_type |
2357 | | make_SUB_TSIG_KEYS (location_type l) |
2358 | 784 | { |
2359 | 784 | return symbol_type (token::TOKEN_SUB_TSIG_KEYS, std::move (l)); |
2360 | 784 | } |
2361 | | #else |
2362 | | static |
2363 | | symbol_type |
2364 | | make_SUB_TSIG_KEYS (const location_type& l) |
2365 | | { |
2366 | | return symbol_type (token::TOKEN_SUB_TSIG_KEYS, l); |
2367 | | } |
2368 | | #endif |
2369 | | #if 201103L <= YY_CPLUSPLUS |
2370 | | static |
2371 | | symbol_type |
2372 | | make_SUB_DDNS_DOMAIN (location_type l) |
2373 | 388 | { |
2374 | 388 | return symbol_type (token::TOKEN_SUB_DDNS_DOMAIN, std::move (l)); |
2375 | 388 | } |
2376 | | #else |
2377 | | static |
2378 | | symbol_type |
2379 | | make_SUB_DDNS_DOMAIN (const location_type& l) |
2380 | | { |
2381 | | return symbol_type (token::TOKEN_SUB_DDNS_DOMAIN, l); |
2382 | | } |
2383 | | #endif |
2384 | | #if 201103L <= YY_CPLUSPLUS |
2385 | | static |
2386 | | symbol_type |
2387 | | make_SUB_DDNS_DOMAINS (location_type l) |
2388 | 466 | { |
2389 | 466 | return symbol_type (token::TOKEN_SUB_DDNS_DOMAINS, std::move (l)); |
2390 | 466 | } |
2391 | | #else |
2392 | | static |
2393 | | symbol_type |
2394 | | make_SUB_DDNS_DOMAINS (const location_type& l) |
2395 | | { |
2396 | | return symbol_type (token::TOKEN_SUB_DDNS_DOMAINS, l); |
2397 | | } |
2398 | | #endif |
2399 | | #if 201103L <= YY_CPLUSPLUS |
2400 | | static |
2401 | | symbol_type |
2402 | | make_SUB_DNS_SERVER (location_type l) |
2403 | 538 | { |
2404 | 538 | return symbol_type (token::TOKEN_SUB_DNS_SERVER, std::move (l)); |
2405 | 538 | } |
2406 | | #else |
2407 | | static |
2408 | | symbol_type |
2409 | | make_SUB_DNS_SERVER (const location_type& l) |
2410 | | { |
2411 | | return symbol_type (token::TOKEN_SUB_DNS_SERVER, l); |
2412 | | } |
2413 | | #endif |
2414 | | #if 201103L <= YY_CPLUSPLUS |
2415 | | static |
2416 | | symbol_type |
2417 | | make_SUB_DNS_SERVERS (location_type l) |
2418 | 0 | { |
2419 | 0 | return symbol_type (token::TOKEN_SUB_DNS_SERVERS, std::move (l)); |
2420 | 0 | } |
2421 | | #else |
2422 | | static |
2423 | | symbol_type |
2424 | | make_SUB_DNS_SERVERS (const location_type& l) |
2425 | | { |
2426 | | return symbol_type (token::TOKEN_SUB_DNS_SERVERS, l); |
2427 | | } |
2428 | | #endif |
2429 | | #if 201103L <= YY_CPLUSPLUS |
2430 | | static |
2431 | | symbol_type |
2432 | | make_SUB_HOOKS_LIBRARY (location_type l) |
2433 | 273 | { |
2434 | 273 | return symbol_type (token::TOKEN_SUB_HOOKS_LIBRARY, std::move (l)); |
2435 | 273 | } |
2436 | | #else |
2437 | | static |
2438 | | symbol_type |
2439 | | make_SUB_HOOKS_LIBRARY (const location_type& l) |
2440 | | { |
2441 | | return symbol_type (token::TOKEN_SUB_HOOKS_LIBRARY, l); |
2442 | | } |
2443 | | #endif |
2444 | | #if 201103L <= YY_CPLUSPLUS |
2445 | | static |
2446 | | symbol_type |
2447 | | make_STRING (std::string v, location_type l) |
2448 | 50.5k | { |
2449 | 50.5k | return symbol_type (token::TOKEN_STRING, std::move (v), std::move (l)); |
2450 | 50.5k | } |
2451 | | #else |
2452 | | static |
2453 | | symbol_type |
2454 | | make_STRING (const std::string& v, const location_type& l) |
2455 | | { |
2456 | | return symbol_type (token::TOKEN_STRING, v, l); |
2457 | | } |
2458 | | #endif |
2459 | | #if 201103L <= YY_CPLUSPLUS |
2460 | | static |
2461 | | symbol_type |
2462 | | make_INTEGER (int64_t v, location_type l) |
2463 | 16.6k | { |
2464 | 16.6k | return symbol_type (token::TOKEN_INTEGER, std::move (v), std::move (l)); |
2465 | 16.6k | } |
2466 | | #else |
2467 | | static |
2468 | | symbol_type |
2469 | | make_INTEGER (const int64_t& v, const location_type& l) |
2470 | | { |
2471 | | return symbol_type (token::TOKEN_INTEGER, v, l); |
2472 | | } |
2473 | | #endif |
2474 | | #if 201103L <= YY_CPLUSPLUS |
2475 | | static |
2476 | | symbol_type |
2477 | | make_FLOAT (double v, location_type l) |
2478 | 2.22k | { |
2479 | 2.22k | return symbol_type (token::TOKEN_FLOAT, std::move (v), std::move (l)); |
2480 | 2.22k | } |
2481 | | #else |
2482 | | static |
2483 | | symbol_type |
2484 | | make_FLOAT (const double& v, const location_type& l) |
2485 | | { |
2486 | | return symbol_type (token::TOKEN_FLOAT, v, l); |
2487 | | } |
2488 | | #endif |
2489 | | #if 201103L <= YY_CPLUSPLUS |
2490 | | static |
2491 | | symbol_type |
2492 | | make_BOOLEAN (bool v, location_type l) |
2493 | 517 | { |
2494 | 517 | return symbol_type (token::TOKEN_BOOLEAN, std::move (v), std::move (l)); |
2495 | 517 | } |
2496 | | #else |
2497 | | static |
2498 | | symbol_type |
2499 | | make_BOOLEAN (const bool& v, const location_type& l) |
2500 | | { |
2501 | | return symbol_type (token::TOKEN_BOOLEAN, v, l); |
2502 | | } |
2503 | | #endif |
2504 | | |
2505 | | |
2506 | | class context |
2507 | | { |
2508 | | public: |
2509 | | context (const D2Parser& yyparser, const symbol_type& yyla); |
2510 | 2.86k | const symbol_type& lookahead () const YY_NOEXCEPT { return yyla_; } |
2511 | 2.86k | symbol_kind_type token () const YY_NOEXCEPT { return yyla_.kind (); } |
2512 | 0 | const location_type& location () const YY_NOEXCEPT { return yyla_.location; } |
2513 | | |
2514 | | /// Put in YYARG at most YYARGN of the expected tokens, and return the |
2515 | | /// number of tokens stored in YYARG. If YYARG is null, return the |
2516 | | /// number of expected tokens (guaranteed to be less than YYNTOKENS). |
2517 | | int expected_tokens (symbol_kind_type yyarg[], int yyargn) const; |
2518 | | |
2519 | | private: |
2520 | | const D2Parser& yyparser_; |
2521 | | const symbol_type& yyla_; |
2522 | | }; |
2523 | | |
2524 | | private: |
2525 | | #if YY_CPLUSPLUS < 201103L |
2526 | | /// Non copyable. |
2527 | | D2Parser (const D2Parser&); |
2528 | | /// Non copyable. |
2529 | | D2Parser& operator= (const D2Parser&); |
2530 | | #endif |
2531 | | |
2532 | | |
2533 | | /// Stored state numbers (used for stacks). |
2534 | | typedef short state_type; |
2535 | | |
2536 | | /// The arguments of the error message. |
2537 | | int yy_syntax_error_arguments_ (const context& yyctx, |
2538 | | symbol_kind_type yyarg[], int yyargn) const; |
2539 | | |
2540 | | /// Generate an error message. |
2541 | | /// \param yyctx the context in which the error occurred. |
2542 | | virtual std::string yysyntax_error_ (const context& yyctx) const; |
2543 | | /// Compute post-reduction state. |
2544 | | /// \param yystate the current state |
2545 | | /// \param yysym the nonterminal to push on the stack |
2546 | | static state_type yy_lr_goto_state_ (state_type yystate, int yysym); |
2547 | | |
2548 | | /// Whether the given \c yypact_ value indicates a defaulted state. |
2549 | | /// \param yyvalue the value to check |
2550 | | static bool yy_pact_value_is_default_ (int yyvalue) YY_NOEXCEPT; |
2551 | | |
2552 | | /// Whether the given \c yytable_ value indicates a syntax error. |
2553 | | /// \param yyvalue the value to check |
2554 | | static bool yy_table_value_is_error_ (int yyvalue) YY_NOEXCEPT; |
2555 | | |
2556 | | static const short yypact_ninf_; |
2557 | | static const signed char yytable_ninf_; |
2558 | | |
2559 | | /// Convert a scanner token kind \a t to a symbol kind. |
2560 | | /// In theory \a t should be a token_kind_type, but character literals |
2561 | | /// are valid, yet not members of the token_kind_type enum. |
2562 | | static symbol_kind_type yytranslate_ (int t) YY_NOEXCEPT; |
2563 | | |
2564 | | /// Convert the symbol name \a n to a form suitable for a diagnostic. |
2565 | | static std::string yytnamerr_ (const char *yystr); |
2566 | | |
2567 | | /// For a symbol, its name in clear. |
2568 | | static const char* const yytname_[]; |
2569 | | |
2570 | | |
2571 | | // Tables. |
2572 | | // YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing |
2573 | | // STATE-NUM. |
2574 | | static const short yypact_[]; |
2575 | | |
2576 | | // YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. |
2577 | | // Performed when YYTABLE does not specify something else to do. Zero |
2578 | | // means the default is an error. |
2579 | | static const short yydefact_[]; |
2580 | | |
2581 | | // YYPGOTO[NTERM-NUM]. |
2582 | | static const short yypgoto_[]; |
2583 | | |
2584 | | // YYDEFGOTO[NTERM-NUM]. |
2585 | | static const short yydefgoto_[]; |
2586 | | |
2587 | | // YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If |
2588 | | // positive, shift that token. If negative, reduce the rule whose |
2589 | | // number is the opposite. If YYTABLE_NINF, syntax error. |
2590 | | static const short yytable_[]; |
2591 | | |
2592 | | static const short yycheck_[]; |
2593 | | |
2594 | | // YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of |
2595 | | // state STATE-NUM. |
2596 | | static const short yystos_[]; |
2597 | | |
2598 | | // YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. |
2599 | | static const short yyr1_[]; |
2600 | | |
2601 | | // YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. |
2602 | | static const signed char yyr2_[]; |
2603 | | |
2604 | | |
2605 | | #if D2_PARSER_DEBUG |
2606 | | // YYRLINE[YYN] -- Source line where rule number YYN was defined. |
2607 | | static const short yyrline_[]; |
2608 | | /// Report on the debug stream that the rule \a r is going to be reduced. |
2609 | | virtual void yy_reduce_print_ (int r) const; |
2610 | | /// Print the state stack on the debug stream. |
2611 | | virtual void yy_stack_print_ () const; |
2612 | | |
2613 | | /// Debugging level. |
2614 | | int yydebug_; |
2615 | | /// Debug stream. |
2616 | | std::ostream* yycdebug_; |
2617 | | |
2618 | | /// \brief Display a symbol kind, value and location. |
2619 | | /// \param yyo The output stream. |
2620 | | /// \param yysym The symbol. |
2621 | | template <typename Base> |
2622 | | void yy_print_ (std::ostream& yyo, const basic_symbol<Base>& yysym) const; |
2623 | | #endif |
2624 | | |
2625 | | /// \brief Reclaim the memory associated to a symbol. |
2626 | | /// \param yymsg Why this token is reclaimed. |
2627 | | /// If null, print nothing. |
2628 | | /// \param yysym The symbol. |
2629 | | template <typename Base> |
2630 | | void yy_destroy_ (const char* yymsg, basic_symbol<Base>& yysym) const; |
2631 | | |
2632 | | private: |
2633 | | /// Type access provider for state based symbols. |
2634 | | struct by_state |
2635 | | { |
2636 | | /// Default constructor. |
2637 | | by_state () YY_NOEXCEPT; |
2638 | | |
2639 | | /// The symbol kind as needed by the constructor. |
2640 | | typedef state_type kind_type; |
2641 | | |
2642 | | /// Constructor. |
2643 | | by_state (kind_type s) YY_NOEXCEPT; |
2644 | | |
2645 | | /// Copy constructor. |
2646 | | by_state (const by_state& that) YY_NOEXCEPT; |
2647 | | |
2648 | | /// Record that this symbol is empty. |
2649 | | void clear () YY_NOEXCEPT; |
2650 | | |
2651 | | /// Steal the symbol kind from \a that. |
2652 | | void move (by_state& that); |
2653 | | |
2654 | | /// The symbol kind (corresponding to \a state). |
2655 | | /// \a symbol_kind::S_YYEMPTY when empty. |
2656 | | symbol_kind_type kind () const YY_NOEXCEPT; |
2657 | | |
2658 | | /// The state number used to denote an empty symbol. |
2659 | | /// We use the initial state, as it does not have a value. |
2660 | | enum { empty_state = 0 }; |
2661 | | |
2662 | | /// The state. |
2663 | | /// \a empty when empty. |
2664 | | state_type state; |
2665 | | }; |
2666 | | |
2667 | | /// "Internal" symbol: element of the stack. |
2668 | | struct stack_symbol_type : basic_symbol<by_state> |
2669 | | { |
2670 | | /// Superclass. |
2671 | | typedef basic_symbol<by_state> super_type; |
2672 | | /// Construct an empty symbol. |
2673 | | stack_symbol_type (); |
2674 | | /// Move or copy construction. |
2675 | | stack_symbol_type (YY_RVREF (stack_symbol_type) that); |
2676 | | /// Steal the contents from \a sym to build this. |
2677 | | stack_symbol_type (state_type s, YY_MOVE_REF (symbol_type) sym); |
2678 | | #if YY_CPLUSPLUS < 201103L |
2679 | | /// Assignment, needed by push_back by some old implementations. |
2680 | | /// Moves the contents of that. |
2681 | | stack_symbol_type& operator= (stack_symbol_type& that); |
2682 | | |
2683 | | /// Assignment, needed by push_back by other implementations. |
2684 | | /// Needed by some other old implementations. |
2685 | | stack_symbol_type& operator= (const stack_symbol_type& that); |
2686 | | #endif |
2687 | | }; |
2688 | | |
2689 | | /// A stack with random access from its top. |
2690 | | template <typename T, typename S = std::vector<T> > |
2691 | | class stack |
2692 | | { |
2693 | | public: |
2694 | | // Hide our reversed order. |
2695 | | typedef typename S::iterator iterator; |
2696 | | typedef typename S::const_iterator const_iterator; |
2697 | | typedef typename S::size_type size_type; |
2698 | | typedef typename std::ptrdiff_t index_type; |
2699 | | |
2700 | | stack (size_type n = 200) YY_NOEXCEPT |
2701 | 7.93k | : seq_ (n) |
2702 | 7.93k | {} |
2703 | | |
2704 | | #if 201103L <= YY_CPLUSPLUS |
2705 | | /// Non copyable. |
2706 | | stack (const stack&) = delete; |
2707 | | /// Non copyable. |
2708 | | stack& operator= (const stack&) = delete; |
2709 | | #endif |
2710 | | |
2711 | | /// Random access. |
2712 | | /// |
2713 | | /// Index 0 returns the topmost element. |
2714 | | const T& |
2715 | | operator[] (index_type i) const |
2716 | 1.77M | { |
2717 | 1.77M | return seq_[size_type (size () - 1 - i)]; |
2718 | 1.77M | } |
2719 | | |
2720 | | /// Random access. |
2721 | | /// |
2722 | | /// Index 0 returns the topmost element. |
2723 | | T& |
2724 | | operator[] (index_type i) |
2725 | 8.04M | { |
2726 | 8.04M | return seq_[size_type (size () - 1 - i)]; |
2727 | 8.04M | } |
2728 | | |
2729 | | /// Steal the contents of \a t. |
2730 | | /// |
2731 | | /// Close to move-semantics. |
2732 | | void |
2733 | | push (YY_MOVE_REF (T) t) |
2734 | 1.67M | { |
2735 | 1.67M | seq_.push_back (T ()); |
2736 | 1.67M | operator[] (0).move (t); |
2737 | 1.67M | } |
2738 | | |
2739 | | /// Pop elements from the stack. |
2740 | | void |
2741 | | pop (std::ptrdiff_t n = 1) YY_NOEXCEPT |
2742 | 1.36M | { |
2743 | 3.02M | for (; 0 < n; --n) |
2744 | 1.66M | seq_.pop_back (); |
2745 | 1.36M | } |
2746 | | |
2747 | | /// Pop all elements from the stack. |
2748 | | void |
2749 | | clear () YY_NOEXCEPT |
2750 | 7.93k | { |
2751 | 7.93k | seq_.clear (); |
2752 | 7.93k | } |
2753 | | |
2754 | | /// Number of elements on the stack. |
2755 | | index_type |
2756 | | size () const YY_NOEXCEPT |
2757 | 10.1M | { |
2758 | 10.1M | return index_type (seq_.size ()); |
2759 | 10.1M | } |
2760 | | |
2761 | | /// Iterator on top of the stack (going downwards). |
2762 | | const_iterator |
2763 | | begin () const YY_NOEXCEPT |
2764 | 0 | { |
2765 | 0 | return seq_.begin (); |
2766 | 0 | } |
2767 | | |
2768 | | /// Bottom of the stack. |
2769 | | const_iterator |
2770 | | end () const YY_NOEXCEPT |
2771 | 0 | { |
2772 | 0 | return seq_.end (); |
2773 | 0 | } |
2774 | | |
2775 | | /// Present a slice of the top of a stack. |
2776 | | class slice |
2777 | | { |
2778 | | public: |
2779 | | slice (const stack& stack, index_type range) YY_NOEXCEPT |
2780 | 1.04M | : stack_ (stack) |
2781 | 1.04M | , range_ (range) |
2782 | 1.04M | {} |
2783 | | |
2784 | | const T& |
2785 | | operator[] (index_type i) const |
2786 | 1.76M | { |
2787 | 1.76M | return stack_[range_ - i]; |
2788 | 1.76M | } |
2789 | | |
2790 | | private: |
2791 | | const stack& stack_; |
2792 | | index_type range_; |
2793 | | }; |
2794 | | |
2795 | | private: |
2796 | | #if YY_CPLUSPLUS < 201103L |
2797 | | /// Non copyable. |
2798 | | stack (const stack&); |
2799 | | /// Non copyable. |
2800 | | stack& operator= (const stack&); |
2801 | | #endif |
2802 | | /// The wrapped container. |
2803 | | S seq_; |
2804 | | }; |
2805 | | |
2806 | | |
2807 | | /// Stack type. |
2808 | | typedef stack<stack_symbol_type> stack_type; |
2809 | | |
2810 | | /// The stack. |
2811 | | stack_type yystack_; |
2812 | | |
2813 | | /// Push a new state on the stack. |
2814 | | /// \param m a debug message to display |
2815 | | /// if null, no trace is output. |
2816 | | /// \param sym the symbol |
2817 | | /// \warning the contents of \a s.value is stolen. |
2818 | | void yypush_ (const char* m, YY_MOVE_REF (stack_symbol_type) sym); |
2819 | | |
2820 | | /// Push a new look ahead token on the state on the stack. |
2821 | | /// \param m a debug message to display |
2822 | | /// if null, no trace is output. |
2823 | | /// \param s the state |
2824 | | /// \param sym the symbol (for its value and location). |
2825 | | /// \warning the contents of \a sym.value is stolen. |
2826 | | void yypush_ (const char* m, state_type s, YY_MOVE_REF (symbol_type) sym); |
2827 | | |
2828 | | /// Pop \a n symbols from the stack. |
2829 | | void yypop_ (int n = 1) YY_NOEXCEPT; |
2830 | | |
2831 | | /// Constants. |
2832 | | enum |
2833 | | { |
2834 | | yylast_ = 461, ///< Last index in yytable_. |
2835 | | yynnts_ = 198, ///< Number of nonterminal symbols. |
2836 | | yyfinal_ = 22 ///< Termination state number. |
2837 | | }; |
2838 | | |
2839 | | |
2840 | | // User arguments. |
2841 | | isc::d2::D2ParserContext& ctx; |
2842 | | |
2843 | | }; |
2844 | | |
2845 | | inline |
2846 | | D2Parser::symbol_kind_type |
2847 | | D2Parser::yytranslate_ (int t) YY_NOEXCEPT |
2848 | 629k | { |
2849 | | // YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to |
2850 | | // TOKEN-NUM as returned by yylex. |
2851 | 629k | static |
2852 | 629k | const signed char |
2853 | 629k | translate_table[] = |
2854 | 629k | { |
2855 | 629k | 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
2856 | 629k | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
2857 | 629k | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
2858 | 629k | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
2859 | 629k | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
2860 | 629k | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
2861 | 629k | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
2862 | 629k | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
2863 | 629k | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
2864 | 629k | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
2865 | 629k | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
2866 | 629k | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
2867 | 629k | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
2868 | 629k | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
2869 | 629k | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
2870 | 629k | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
2871 | 629k | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
2872 | 629k | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
2873 | 629k | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
2874 | 629k | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
2875 | 629k | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
2876 | 629k | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
2877 | 629k | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
2878 | 629k | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
2879 | 629k | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
2880 | 629k | 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, |
2881 | 629k | 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, |
2882 | 629k | 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, |
2883 | 629k | 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, |
2884 | 629k | 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, |
2885 | 629k | 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, |
2886 | 629k | 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, |
2887 | 629k | 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, |
2888 | 629k | 75, 76, 77, 78, 79, 80, 81 |
2889 | 629k | }; |
2890 | | // Last valid token kind. |
2891 | 629k | const int code_max = 336; |
2892 | | |
2893 | 629k | if (t <= 0) |
2894 | 1.55k | return symbol_kind::S_YYEOF; |
2895 | 627k | else if (t <= code_max) |
2896 | 627k | return static_cast <symbol_kind_type> (translate_table[t]); |
2897 | 0 | else |
2898 | 0 | return symbol_kind::S_YYUNDEF; |
2899 | 629k | } |
2900 | | |
2901 | | // basic_symbol. |
2902 | | template <typename Base> |
2903 | | D2Parser::basic_symbol<Base>::basic_symbol (const basic_symbol& that) |
2904 | | : Base (that) |
2905 | | , value () |
2906 | | , location (that.location) |
2907 | | { |
2908 | | switch (this->kind ()) |
2909 | | { |
2910 | | case symbol_kind::S_value: // value |
2911 | | case symbol_kind::S_map_value: // map_value |
2912 | | case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value |
2913 | | case symbol_kind::S_control_socket_type_value: // control_socket_type_value |
2914 | | case symbol_kind::S_auth_type_value: // auth_type_value |
2915 | | value.copy< ElementPtr > (YY_MOVE (that.value)); |
2916 | | break; |
2917 | | |
2918 | | case symbol_kind::S_BOOLEAN: // "boolean" |
2919 | | value.copy< bool > (YY_MOVE (that.value)); |
2920 | | break; |
2921 | | |
2922 | | case symbol_kind::S_FLOAT: // "floating point" |
2923 | | value.copy< double > (YY_MOVE (that.value)); |
2924 | | break; |
2925 | | |
2926 | | case symbol_kind::S_INTEGER: // "integer" |
2927 | | value.copy< int64_t > (YY_MOVE (that.value)); |
2928 | | break; |
2929 | | |
2930 | | case symbol_kind::S_STRING: // "constant string" |
2931 | | value.copy< std::string > (YY_MOVE (that.value)); |
2932 | | break; |
2933 | | |
2934 | | default: |
2935 | | break; |
2936 | | } |
2937 | | |
2938 | | } |
2939 | | |
2940 | | |
2941 | | |
2942 | | |
2943 | | template <typename Base> |
2944 | | D2Parser::symbol_kind_type |
2945 | | D2Parser::basic_symbol<Base>::type_get () const YY_NOEXCEPT |
2946 | | { |
2947 | | return this->kind (); |
2948 | | } |
2949 | | |
2950 | | |
2951 | | template <typename Base> |
2952 | | bool |
2953 | | D2Parser::basic_symbol<Base>::empty () const YY_NOEXCEPT |
2954 | 800k | { |
2955 | 800k | return this->kind () == symbol_kind::S_YYEMPTY; |
2956 | 800k | } Unexecuted instantiation: isc::d2::D2Parser::basic_symbol<isc::d2::D2Parser::by_state>::empty() const isc::d2::D2Parser::basic_symbol<isc::d2::D2Parser::by_kind>::empty() const Line | Count | Source | 2954 | 800k | { | 2955 | 800k | return this->kind () == symbol_kind::S_YYEMPTY; | 2956 | 800k | } |
|
2957 | | |
2958 | | template <typename Base> |
2959 | | void |
2960 | | D2Parser::basic_symbol<Base>::move (basic_symbol& s) |
2961 | 2.30M | { |
2962 | 2.30M | super_type::move (s); |
2963 | 2.30M | switch (this->kind ()) |
2964 | 2.30M | { |
2965 | 184k | case symbol_kind::S_value: // value |
2966 | 185k | case symbol_kind::S_map_value: // map_value |
2967 | 185k | case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value |
2968 | 186k | case symbol_kind::S_control_socket_type_value: // control_socket_type_value |
2969 | 186k | case symbol_kind::S_auth_type_value: // auth_type_value |
2970 | 186k | value.move< ElementPtr > (YY_MOVE (s.value)); |
2971 | 186k | break; |
2972 | | |
2973 | 1.00k | case symbol_kind::S_BOOLEAN: // "boolean" |
2974 | 1.00k | value.move< bool > (YY_MOVE (s.value)); |
2975 | 1.00k | break; |
2976 | | |
2977 | 4.39k | case symbol_kind::S_FLOAT: // "floating point" |
2978 | 4.39k | value.move< double > (YY_MOVE (s.value)); |
2979 | 4.39k | break; |
2980 | | |
2981 | 32.8k | case symbol_kind::S_INTEGER: // "integer" |
2982 | 32.8k | value.move< int64_t > (YY_MOVE (s.value)); |
2983 | 32.8k | break; |
2984 | | |
2985 | 100k | case symbol_kind::S_STRING: // "constant string" |
2986 | 100k | value.move< std::string > (YY_MOVE (s.value)); |
2987 | 100k | break; |
2988 | | |
2989 | 1.97M | default: |
2990 | 1.97M | break; |
2991 | 2.30M | } |
2992 | | |
2993 | 2.30M | location = YY_MOVE (s.location); |
2994 | 2.30M | } isc::d2::D2Parser::basic_symbol<isc::d2::D2Parser::by_state>::move(isc::d2::D2Parser::basic_symbol<isc::d2::D2Parser::by_state>&) Line | Count | Source | 2961 | 1.67M | { | 2962 | 1.67M | super_type::move (s); | 2963 | 1.67M | switch (this->kind ()) | 2964 | 1.67M | { | 2965 | 184k | case symbol_kind::S_value: // value | 2966 | 185k | case symbol_kind::S_map_value: // map_value | 2967 | 185k | case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value | 2968 | 186k | case symbol_kind::S_control_socket_type_value: // control_socket_type_value | 2969 | 186k | case symbol_kind::S_auth_type_value: // auth_type_value | 2970 | 186k | value.move< ElementPtr > (YY_MOVE (s.value)); | 2971 | 186k | break; | 2972 | | | 2973 | 492 | case symbol_kind::S_BOOLEAN: // "boolean" | 2974 | 492 | value.move< bool > (YY_MOVE (s.value)); | 2975 | 492 | break; | 2976 | | | 2977 | 2.16k | case symbol_kind::S_FLOAT: // "floating point" | 2978 | 2.16k | value.move< double > (YY_MOVE (s.value)); | 2979 | 2.16k | break; | 2980 | | | 2981 | 16.2k | case symbol_kind::S_INTEGER: // "integer" | 2982 | 16.2k | value.move< int64_t > (YY_MOVE (s.value)); | 2983 | 16.2k | break; | 2984 | | | 2985 | 49.9k | case symbol_kind::S_STRING: // "constant string" | 2986 | 49.9k | value.move< std::string > (YY_MOVE (s.value)); | 2987 | 49.9k | break; | 2988 | | | 2989 | 1.41M | default: | 2990 | 1.41M | break; | 2991 | 1.67M | } | 2992 | | | 2993 | 1.67M | location = YY_MOVE (s.location); | 2994 | 1.67M | } |
isc::d2::D2Parser::basic_symbol<isc::d2::D2Parser::by_kind>::move(isc::d2::D2Parser::basic_symbol<isc::d2::D2Parser::by_kind>&) Line | Count | Source | 2961 | 629k | { | 2962 | 629k | super_type::move (s); | 2963 | 629k | switch (this->kind ()) | 2964 | 629k | { | 2965 | 0 | case symbol_kind::S_value: // value | 2966 | 0 | case symbol_kind::S_map_value: // map_value | 2967 | 0 | case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value | 2968 | 0 | case symbol_kind::S_control_socket_type_value: // control_socket_type_value | 2969 | 0 | case symbol_kind::S_auth_type_value: // auth_type_value | 2970 | 0 | value.move< ElementPtr > (YY_MOVE (s.value)); | 2971 | 0 | break; | 2972 | | | 2973 | 517 | case symbol_kind::S_BOOLEAN: // "boolean" | 2974 | 517 | value.move< bool > (YY_MOVE (s.value)); | 2975 | 517 | break; | 2976 | | | 2977 | 2.22k | case symbol_kind::S_FLOAT: // "floating point" | 2978 | 2.22k | value.move< double > (YY_MOVE (s.value)); | 2979 | 2.22k | break; | 2980 | | | 2981 | 16.6k | case symbol_kind::S_INTEGER: // "integer" | 2982 | 16.6k | value.move< int64_t > (YY_MOVE (s.value)); | 2983 | 16.6k | break; | 2984 | | | 2985 | 50.5k | case symbol_kind::S_STRING: // "constant string" | 2986 | 50.5k | value.move< std::string > (YY_MOVE (s.value)); | 2987 | 50.5k | break; | 2988 | | | 2989 | 559k | default: | 2990 | 559k | break; | 2991 | 629k | } | 2992 | | | 2993 | 629k | location = YY_MOVE (s.location); | 2994 | 629k | } |
|
2995 | | |
2996 | | // by_kind. |
2997 | | inline |
2998 | | D2Parser::by_kind::by_kind () YY_NOEXCEPT |
2999 | 7.93k | : kind_ (symbol_kind::S_YYEMPTY) |
3000 | 7.93k | {} |
3001 | | |
3002 | | #if 201103L <= YY_CPLUSPLUS |
3003 | | inline |
3004 | | D2Parser::by_kind::by_kind (by_kind&& that) YY_NOEXCEPT |
3005 | | : kind_ (that.kind_) |
3006 | | { |
3007 | | that.clear (); |
3008 | | } |
3009 | | #endif |
3010 | | |
3011 | | inline |
3012 | | D2Parser::by_kind::by_kind (const by_kind& that) YY_NOEXCEPT |
3013 | | : kind_ (that.kind_) |
3014 | | {} |
3015 | | |
3016 | | inline |
3017 | | D2Parser::by_kind::by_kind (token_kind_type t) YY_NOEXCEPT |
3018 | 629k | : kind_ (yytranslate_ (t)) |
3019 | 629k | {} |
3020 | | |
3021 | | |
3022 | | |
3023 | | inline |
3024 | | void |
3025 | | D2Parser::by_kind::clear () YY_NOEXCEPT |
3026 | 1.26M | { |
3027 | 1.26M | kind_ = symbol_kind::S_YYEMPTY; |
3028 | 1.26M | } |
3029 | | |
3030 | | inline |
3031 | | void |
3032 | | D2Parser::by_kind::move (by_kind& that) |
3033 | 629k | { |
3034 | 629k | kind_ = that.kind_; |
3035 | 629k | that.clear (); |
3036 | 629k | } |
3037 | | |
3038 | | inline |
3039 | | D2Parser::symbol_kind_type |
3040 | | D2Parser::by_kind::kind () const YY_NOEXCEPT |
3041 | 5.06M | { |
3042 | 5.06M | return kind_; |
3043 | 5.06M | } |
3044 | | |
3045 | | |
3046 | | inline |
3047 | | D2Parser::symbol_kind_type |
3048 | | D2Parser::by_kind::type_get () const YY_NOEXCEPT |
3049 | 0 | { |
3050 | 0 | return this->kind (); |
3051 | 0 | } |
3052 | | |
3053 | | |
3054 | | #line 14 "d2_parser.yy" |
3055 | | } } // isc::d2 |
3056 | | #line 3057 "d2_parser.h" |
3057 | | |
3058 | | |
3059 | | |
3060 | | |
3061 | | #endif // !YY_D2_PARSER_D2_PARSER_H_INCLUDED |