blob: b6915d041673499dccf8b8f1fb45bcb1f4d463f8 [file] [log] [blame]
Pavol Vican13457cf2016-05-18 16:27:03 +02001/* A Bison parser, made by GNU Bison 3.0.4. */
Pavol Vicancae54882016-03-30 12:24:43 +02002
3/* Bison interface for Yacc-like parsers in C
4
Pavol Vican13457cf2016-05-18 16:27:03 +02005 Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
Pavol Vicancae54882016-03-30 12:24:43 +02006
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 <http://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
Pavol Vican4ca887b2016-04-08 09:59:17 +020033#ifndef YY_YY_PARSER_YANG_BIS_H_INCLUDED
34# define YY_YY_PARSER_YANG_BIS_H_INCLUDED
Pavol Vicancae54882016-03-30 12:24:43 +020035/* Debug traces. */
36#ifndef YYDEBUG
37# define YYDEBUG 0
38#endif
39#if YYDEBUG
40extern int yydebug;
41#endif
42
43/* Token type. */
44#ifndef YYTOKENTYPE
45# define YYTOKENTYPE
46 enum yytokentype
47 {
48 UNION_KEYWORD = 258,
49 ANYXML_KEYWORD = 259,
50 WHITESPACE = 260,
51 ERROR = 261,
52 EOL = 262,
53 STRING = 263,
54 STRINGS = 264,
55 IDENTIFIER = 265,
56 IDENTIFIERPREFIX = 266,
57 REVISION_DATE = 267,
58 TAB = 268,
59 DOUBLEDOT = 269,
60 URI = 270,
61 INTEGER = 271,
62 NON_NEGATIVE_INTEGER = 272,
63 ZERO = 273,
64 DECIMAL = 274,
65 ARGUMENT_KEYWORD = 275,
66 AUGMENT_KEYWORD = 276,
67 BASE_KEYWORD = 277,
68 BELONGS_TO_KEYWORD = 278,
69 BIT_KEYWORD = 279,
70 CASE_KEYWORD = 280,
71 CHOICE_KEYWORD = 281,
72 CONFIG_KEYWORD = 282,
73 CONTACT_KEYWORD = 283,
74 CONTAINER_KEYWORD = 284,
75 DEFAULT_KEYWORD = 285,
76 DESCRIPTION_KEYWORD = 286,
77 ENUM_KEYWORD = 287,
78 ERROR_APP_TAG_KEYWORD = 288,
79 ERROR_MESSAGE_KEYWORD = 289,
80 EXTENSION_KEYWORD = 290,
81 DEVIATION_KEYWORD = 291,
82 DEVIATE_KEYWORD = 292,
83 FEATURE_KEYWORD = 293,
84 FRACTION_DIGITS_KEYWORD = 294,
85 GROUPING_KEYWORD = 295,
86 IDENTITY_KEYWORD = 296,
87 IF_FEATURE_KEYWORD = 297,
88 IMPORT_KEYWORD = 298,
89 INCLUDE_KEYWORD = 299,
90 INPUT_KEYWORD = 300,
91 KEY_KEYWORD = 301,
92 LEAF_KEYWORD = 302,
93 LEAF_LIST_KEYWORD = 303,
94 LENGTH_KEYWORD = 304,
95 LIST_KEYWORD = 305,
96 MANDATORY_KEYWORD = 306,
97 MAX_ELEMENTS_KEYWORD = 307,
98 MIN_ELEMENTS_KEYWORD = 308,
99 MODULE_KEYWORD = 309,
100 MUST_KEYWORD = 310,
101 NAMESPACE_KEYWORD = 311,
102 NOTIFICATION_KEYWORD = 312,
103 ORDERED_BY_KEYWORD = 313,
104 ORGANIZATION_KEYWORD = 314,
105 OUTPUT_KEYWORD = 315,
106 PATH_KEYWORD = 316,
107 PATTERN_KEYWORD = 317,
108 POSITION_KEYWORD = 318,
109 PREFIX_KEYWORD = 319,
110 PRESENCE_KEYWORD = 320,
111 RANGE_KEYWORD = 321,
112 REFERENCE_KEYWORD = 322,
113 REFINE_KEYWORD = 323,
114 REQUIRE_INSTANCE_KEYWORD = 324,
115 REVISION_KEYWORD = 325,
116 REVISION_DATE_KEYWORD = 326,
117 RPC_KEYWORD = 327,
118 STATUS_KEYWORD = 328,
119 SUBMODULE_KEYWORD = 329,
120 TYPE_KEYWORD = 330,
121 TYPEDEF_KEYWORD = 331,
122 UNIQUE_KEYWORD = 332,
123 UNITS_KEYWORD = 333,
124 USES_KEYWORD = 334,
125 VALUE_KEYWORD = 335,
126 WHEN_KEYWORD = 336,
127 YANG_VERSION_KEYWORD = 337,
128 YIN_ELEMENT_KEYWORD = 338,
129 ADD_KEYWORD = 339,
130 CURRENT_KEYWORD = 340,
131 DELETE_KEYWORD = 341,
132 DEPRECATED_KEYWORD = 342,
133 FALSE_KEYWORD = 343,
134 NOT_SUPPORTED_KEYWORD = 344,
135 OBSOLETE_KEYWORD = 345,
136 REPLACE_KEYWORD = 346,
137 SYSTEM_KEYWORD = 347,
138 TRUE_KEYWORD = 348,
139 UNBOUNDED_KEYWORD = 349,
Radek Krejcia3b19f72016-09-30 13:02:45 +0200140 USER_KEYWORD = 350,
141 ACTION_KEYWORD = 351,
142 MODIFIER_KEYWORD = 352,
PavolVican196694c2017-01-27 10:33:09 +0100143 ANYDATA_KEYWORD = 353,
144 NODE = 354,
PavolVicandefa4852017-02-10 13:13:23 +0100145 NODE_PRINT = 355,
PavolVican61d5ead2017-02-20 10:28:10 +0100146 EXTENSION_INSTANCE = 356,
147 SUBMODULE_EXT_KEYWORD = 357
Pavol Vicancae54882016-03-30 12:24:43 +0200148 };
149#endif
150
151/* Value type. */
Michal Vaskoe8734262016-09-29 14:12:06 +0200152#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
Pavol Vican13457cf2016-05-18 16:27:03 +0200153
Pavol Vicancae54882016-03-30 12:24:43 +0200154union YYSTYPE
155{
Pavol Vican1a1552f2016-04-04 14:15:32 +0200156
Pavol Vicancae54882016-03-30 12:24:43 +0200157
158 int32_t i;
159 uint32_t uint;
160 char *str;
Pavol Vican0fbb57b2016-09-27 21:46:12 +0200161 char **p_str;
Pavol Vicancae54882016-03-30 12:24:43 +0200162 void *v;
Pavol Vican6eecf302016-08-10 11:09:05 +0200163 char ch;
Pavol Vicanbe9e3832016-04-28 02:21:37 +0200164 struct yang_type *type;
PavolVican2de61042016-12-31 21:00:51 +0100165 struct lys_deviation *dev;
166 struct lys_deviate *deviate;
Pavol Vicancae54882016-03-30 12:24:43 +0200167 union {
168 uint32_t index;
169 struct lys_node_container *container;
Radek Krejcibf2abff2016-08-23 15:51:52 +0200170 struct lys_node_anydata *anydata;
Pavol Vicancae54882016-03-30 12:24:43 +0200171 struct type_node node;
172 struct lys_node_case *cs;
173 struct lys_node_grp *grouping;
Pavol Vicancae54882016-03-30 12:24:43 +0200174 struct lys_refine *refine;
175 struct lys_node_notif *notif;
Pavol Vican1dac40c2016-09-28 11:39:26 +0200176 struct lys_node_uses *uses;
PavolVican2de61042016-12-31 21:00:51 +0100177 struct lys_node_inout *inout;
178 struct lys_node_augment *augment;
Pavol Vicancae54882016-03-30 12:24:43 +0200179 } nodes;
PavolVican7d0b5ab2017-02-01 13:06:53 +0100180 enum yytokentype token;
PavolVican70ce7452017-02-01 15:39:39 +0100181 struct {
182 void *actual;
183 enum yytokentype token;
184 } backup_token;
PavolVicanfe83b152017-02-19 03:19:29 +0100185 struct {
186 struct lys_revision **revision;
187 int index;
188 } revisions;
Pavol Vicancae54882016-03-30 12:24:43 +0200189
Pavol Vican1a1552f2016-04-04 14:15:32 +0200190
Pavol Vicancae54882016-03-30 12:24:43 +0200191};
Pavol Vican13457cf2016-05-18 16:27:03 +0200192
193typedef union YYSTYPE YYSTYPE;
Pavol Vicancae54882016-03-30 12:24:43 +0200194# define YYSTYPE_IS_TRIVIAL 1
195# define YYSTYPE_IS_DECLARED 1
196#endif
197
Pavol Vican4ca887b2016-04-08 09:59:17 +0200198/* Location type. */
199#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
200typedef struct YYLTYPE YYLTYPE;
201struct YYLTYPE
202{
203 int first_line;
204 int first_column;
205 int last_line;
206 int last_column;
207};
208# define YYLTYPE_IS_DECLARED 1
209# define YYLTYPE_IS_TRIVIAL 1
210#endif
211
Pavol Vicancae54882016-03-30 12:24:43 +0200212
213
PavolVican196694c2017-01-27 10:33:09 +0100214int yyparse (void *scanner, struct yang_parameter *param);
Pavol Vicancae54882016-03-30 12:24:43 +0200215
Pavol Vican4ca887b2016-04-08 09:59:17 +0200216#endif /* !YY_YY_PARSER_YANG_BIS_H_INCLUDED */