blob: a287043908a86ca179f400e200018cc929c6db04 [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,
145 NODE_PRINT = 355
Pavol Vicancae54882016-03-30 12:24:43 +0200146 };
147#endif
148
149/* Value type. */
Michal Vaskoe8734262016-09-29 14:12:06 +0200150#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
Pavol Vican13457cf2016-05-18 16:27:03 +0200151
Pavol Vicancae54882016-03-30 12:24:43 +0200152union YYSTYPE
153{
Pavol Vican1a1552f2016-04-04 14:15:32 +0200154
Pavol Vicancae54882016-03-30 12:24:43 +0200155
156 int32_t i;
157 uint32_t uint;
158 char *str;
Pavol Vican0fbb57b2016-09-27 21:46:12 +0200159 char **p_str;
Pavol Vicancae54882016-03-30 12:24:43 +0200160 void *v;
Pavol Vican6eecf302016-08-10 11:09:05 +0200161 char ch;
Pavol Vicanbe9e3832016-04-28 02:21:37 +0200162 struct yang_type *type;
PavolVican2de61042016-12-31 21:00:51 +0100163 struct lys_deviation *dev;
164 struct lys_deviate *deviate;
Pavol Vicancae54882016-03-30 12:24:43 +0200165 union {
166 uint32_t index;
167 struct lys_node_container *container;
Radek Krejcibf2abff2016-08-23 15:51:52 +0200168 struct lys_node_anydata *anydata;
Pavol Vicancae54882016-03-30 12:24:43 +0200169 struct type_node node;
170 struct lys_node_case *cs;
171 struct lys_node_grp *grouping;
Pavol Vicancae54882016-03-30 12:24:43 +0200172 struct lys_refine *refine;
173 struct lys_node_notif *notif;
Pavol Vican1dac40c2016-09-28 11:39:26 +0200174 struct lys_node_uses *uses;
PavolVican2de61042016-12-31 21:00:51 +0100175 struct lys_node_inout *inout;
176 struct lys_node_augment *augment;
Pavol Vicancae54882016-03-30 12:24:43 +0200177 } nodes;
178
Pavol Vican1a1552f2016-04-04 14:15:32 +0200179
Pavol Vicancae54882016-03-30 12:24:43 +0200180};
Pavol Vican13457cf2016-05-18 16:27:03 +0200181
182typedef union YYSTYPE YYSTYPE;
Pavol Vicancae54882016-03-30 12:24:43 +0200183# define YYSTYPE_IS_TRIVIAL 1
184# define YYSTYPE_IS_DECLARED 1
185#endif
186
Pavol Vican4ca887b2016-04-08 09:59:17 +0200187/* Location type. */
188#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
189typedef struct YYLTYPE YYLTYPE;
190struct YYLTYPE
191{
192 int first_line;
193 int first_column;
194 int last_line;
195 int last_column;
196};
197# define YYLTYPE_IS_DECLARED 1
198# define YYLTYPE_IS_TRIVIAL 1
199#endif
200
Pavol Vicancae54882016-03-30 12:24:43 +0200201
202
PavolVican196694c2017-01-27 10:33:09 +0100203int yyparse (void *scanner, struct yang_parameter *param);
Pavol Vicancae54882016-03-30 12:24:43 +0200204
Pavol Vican4ca887b2016-04-08 09:59:17 +0200205#endif /* !YY_YY_PARSER_YANG_BIS_H_INCLUDED */