1 /* A Bison parser, made by GNU Bison 3.8.2.  */
2 
3 /* Bison interface for Yacc-like parsers in C
4 
5    Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
6    Inc.
7 
8    This program is free software: you can redistribute it and/or modify
9    it under the terms of the GNU General Public License as published by
10    the Free Software Foundation, either version 3 of the License, or
11    (at your option) any later version.
12 
13    This program is distributed in the hope that it will be useful,
14    but WITHOUT ANY WARRANTY; without even the implied warranty of
15    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16    GNU General Public License for more details.
17 
18    You should have received a copy of the GNU General Public License
19    along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
20 
21 /* As a special exception, you may create a larger work that contains
22    part or all of the Bison parser skeleton and distribute that work
23    under terms of your choice, so long as that work isn't itself a
24    parser generator using the skeleton or a modified version thereof
25    as a parser skeleton.  Alternatively, if you modify or redistribute
26    the parser skeleton itself, you may (at your option) remove this
27    special exception, which will cause the skeleton and the resulting
28    Bison output files to be licensed under the GNU General Public
29    License without this special exception.
30 
31    This special exception was added by the Free Software Foundation in
32    version 2.2 of Bison.  */
33 
34 /* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
35    especially those whose name start with YY_ or yy_.  They are
36    private implementation details that can be changed or removed.  */
37 
38 #ifndef YY_NATIVE_MODULES_NATIVE_NATIVE_GRAMMAR_H_INCLUDED
39 # define YY_NATIVE_MODULES_NATIVE_NATIVE_GRAMMAR_H_INCLUDED
40 /* Debug traces.  */
41 #ifndef NATIVE_DEBUG
42 # if defined YYDEBUG
43 #if YYDEBUG
44 #   define NATIVE_DEBUG 1
45 #  else
46 #   define NATIVE_DEBUG 0
47 #  endif
48 # else /* ! defined YYDEBUG */
49 #  define NATIVE_DEBUG 0
50 # endif /* ! defined YYDEBUG */
51 #endif  /* ! defined NATIVE_DEBUG */
52 #if NATIVE_DEBUG
53 extern int native_debug;
54 #endif
55 
56 /* Token kinds.  */
57 #ifndef NATIVE_TOKENTYPE
58 # define NATIVE_TOKENTYPE
59   enum native_tokentype
60   {
61     NATIVE_EMPTY = -2,
62     NATIVE_EOF = 0,                /* "end of file"  */
63     NATIVE_error = 256,            /* error  */
64     NATIVE_UNDEF = 10514,          /* "invalid token"  */
65     LL_CONTEXT_ROOT = 1,           /* LL_CONTEXT_ROOT  */
66     LL_CONTEXT_DESTINATION = 2,    /* LL_CONTEXT_DESTINATION  */
67     LL_CONTEXT_SOURCE = 3,         /* LL_CONTEXT_SOURCE  */
68     LL_CONTEXT_PARSER = 4,         /* LL_CONTEXT_PARSER  */
69     LL_CONTEXT_REWRITE = 5,        /* LL_CONTEXT_REWRITE  */
70     LL_CONTEXT_FILTER = 6,         /* LL_CONTEXT_FILTER  */
71     LL_CONTEXT_LOG = 7,            /* LL_CONTEXT_LOG  */
72     LL_CONTEXT_BLOCK_DEF = 8,      /* LL_CONTEXT_BLOCK_DEF  */
73     LL_CONTEXT_BLOCK_REF = 9,      /* LL_CONTEXT_BLOCK_REF  */
74     LL_CONTEXT_BLOCK_CONTENT = 10, /* LL_CONTEXT_BLOCK_CONTENT  */
75     LL_CONTEXT_BLOCK_ARG = 11,     /* LL_CONTEXT_BLOCK_ARG  */
76     LL_CONTEXT_PRAGMA = 12,        /* LL_CONTEXT_PRAGMA  */
77     LL_CONTEXT_FORMAT = 13,        /* LL_CONTEXT_FORMAT  */
78     LL_CONTEXT_TEMPLATE_FUNC = 14, /* LL_CONTEXT_TEMPLATE_FUNC  */
79     LL_CONTEXT_INNER_DEST = 15,    /* LL_CONTEXT_INNER_DEST  */
80     LL_CONTEXT_INNER_SRC = 16,     /* LL_CONTEXT_INNER_SRC  */
81     LL_CONTEXT_CLIENT_PROTO = 17,  /* LL_CONTEXT_CLIENT_PROTO  */
82     LL_CONTEXT_SERVER_PROTO = 18,  /* LL_CONTEXT_SERVER_PROTO  */
83     LL_CONTEXT_OPTIONS = 19,       /* LL_CONTEXT_OPTIONS  */
84     LL_CONTEXT_CONFIG = 20,        /* LL_CONTEXT_CONFIG  */
85     LL_CONTEXT_MAX = 21,           /* LL_CONTEXT_MAX  */
86     KW_SOURCE = 10000,             /* KW_SOURCE  */
87     KW_FILTER = 10001,             /* KW_FILTER  */
88     KW_PARSER = 10002,             /* KW_PARSER  */
89     KW_DESTINATION = 10003,        /* KW_DESTINATION  */
90     KW_LOG = 10004,                /* KW_LOG  */
91     KW_OPTIONS = 10005,            /* KW_OPTIONS  */
92     KW_INCLUDE = 10006,            /* KW_INCLUDE  */
93     KW_BLOCK = 10007,              /* KW_BLOCK  */
94     KW_JUNCTION = 10008,           /* KW_JUNCTION  */
95     KW_CHANNEL = 10009,            /* KW_CHANNEL  */
96     KW_IF = 10010,                 /* KW_IF  */
97     KW_ELSE = 10011,               /* KW_ELSE  */
98     KW_ELIF = 10012,               /* KW_ELIF  */
99     KW_INTERNAL = 10020,           /* KW_INTERNAL  */
100     KW_SYSLOG = 10060,             /* KW_SYSLOG  */
101     KW_MARK_FREQ = 10071,          /* KW_MARK_FREQ  */
102     KW_STATS_FREQ = 10072,         /* KW_STATS_FREQ  */
103     KW_STATS_LEVEL = 10073,        /* KW_STATS_LEVEL  */
104     KW_STATS_LIFETIME = 10074,     /* KW_STATS_LIFETIME  */
105     KW_FLUSH_LINES = 10075,        /* KW_FLUSH_LINES  */
106     KW_SUPPRESS = 10076,           /* KW_SUPPRESS  */
107     KW_FLUSH_TIMEOUT = 10077,      /* KW_FLUSH_TIMEOUT  */
108     KW_LOG_MSG_SIZE = 10078,       /* KW_LOG_MSG_SIZE  */
109     KW_FILE_TEMPLATE = 10079,      /* KW_FILE_TEMPLATE  */
110     KW_PROTO_TEMPLATE = 10080,     /* KW_PROTO_TEMPLATE  */
111     KW_MARK_MODE = 10081,          /* KW_MARK_MODE  */
112     KW_ENCODING = 10082,           /* KW_ENCODING  */
113     KW_TYPE = 10083,               /* KW_TYPE  */
114     KW_STATS_MAX_DYNAMIC = 10084,  /* KW_STATS_MAX_DYNAMIC  */
115     KW_MIN_IW_SIZE_PER_READER = 10085, /* KW_MIN_IW_SIZE_PER_READER  */
116     KW_WORKERS = 10086,            /* KW_WORKERS  */
117     KW_BATCH_LINES = 10087,        /* KW_BATCH_LINES  */
118     KW_BATCH_TIMEOUT = 10088,      /* KW_BATCH_TIMEOUT  */
119     KW_TRIM_LARGE_MESSAGES = 10089, /* KW_TRIM_LARGE_MESSAGES  */
120     KW_CHAIN_HOSTNAMES = 10090,    /* KW_CHAIN_HOSTNAMES  */
121     KW_NORMALIZE_HOSTNAMES = 10091, /* KW_NORMALIZE_HOSTNAMES  */
122     KW_KEEP_HOSTNAME = 10092,      /* KW_KEEP_HOSTNAME  */
123     KW_CHECK_HOSTNAME = 10093,     /* KW_CHECK_HOSTNAME  */
124     KW_BAD_HOSTNAME = 10094,       /* KW_BAD_HOSTNAME  */
125     KW_KEEP_TIMESTAMP = 10100,     /* KW_KEEP_TIMESTAMP  */
126     KW_USE_DNS = 10110,            /* KW_USE_DNS  */
127     KW_USE_FQDN = 10111,           /* KW_USE_FQDN  */
128     KW_CUSTOM_DOMAIN = 10112,      /* KW_CUSTOM_DOMAIN  */
129     KW_DNS_CACHE = 10120,          /* KW_DNS_CACHE  */
130     KW_DNS_CACHE_SIZE = 10121,     /* KW_DNS_CACHE_SIZE  */
131     KW_DNS_CACHE_EXPIRE = 10130,   /* KW_DNS_CACHE_EXPIRE  */
132     KW_DNS_CACHE_EXPIRE_FAILED = 10131, /* KW_DNS_CACHE_EXPIRE_FAILED  */
133     KW_DNS_CACHE_HOSTS = 10132,    /* KW_DNS_CACHE_HOSTS  */
134     KW_PERSIST_ONLY = 10140,       /* KW_PERSIST_ONLY  */
135     KW_USE_RCPTID = 10141,         /* KW_USE_RCPTID  */
136     KW_USE_UNIQID = 10142,         /* KW_USE_UNIQID  */
137     KW_TZ_CONVERT = 10150,         /* KW_TZ_CONVERT  */
138     KW_TS_FORMAT = 10151,          /* KW_TS_FORMAT  */
139     KW_FRAC_DIGITS = 10152,        /* KW_FRAC_DIGITS  */
140     KW_LOG_FIFO_SIZE = 10160,      /* KW_LOG_FIFO_SIZE  */
141     KW_LOG_FETCH_LIMIT = 10162,    /* KW_LOG_FETCH_LIMIT  */
142     KW_LOG_IW_SIZE = 10163,        /* KW_LOG_IW_SIZE  */
143     KW_LOG_PREFIX = 10164,         /* KW_LOG_PREFIX  */
144     KW_PROGRAM_OVERRIDE = 10165,   /* KW_PROGRAM_OVERRIDE  */
145     KW_HOST_OVERRIDE = 10166,      /* KW_HOST_OVERRIDE  */
146     KW_THROTTLE = 10170,           /* KW_THROTTLE  */
147     KW_THREADED = 10171,           /* KW_THREADED  */
148     KW_PASS_UNIX_CREDENTIALS = 10231, /* KW_PASS_UNIX_CREDENTIALS  */
149     KW_PERSIST_NAME = 10302,       /* KW_PERSIST_NAME  */
150     KW_READ_OLD_RECORDS = 10304,   /* KW_READ_OLD_RECORDS  */
151     KW_USE_SYSLOGNG_PID = 10305,   /* KW_USE_SYSLOGNG_PID  */
152     KW_FLAGS = 10190,              /* KW_FLAGS  */
153     KW_PAD_SIZE = 10200,           /* KW_PAD_SIZE  */
154     KW_TIME_ZONE = 10201,          /* KW_TIME_ZONE  */
155     KW_RECV_TIME_ZONE = 10202,     /* KW_RECV_TIME_ZONE  */
156     KW_SEND_TIME_ZONE = 10203,     /* KW_SEND_TIME_ZONE  */
157     KW_LOCAL_TIME_ZONE = 10204,    /* KW_LOCAL_TIME_ZONE  */
158     KW_FORMAT = 10205,             /* KW_FORMAT  */
159     KW_TRUNCATE_SIZE = 10206,      /* KW_TRUNCATE_SIZE  */
160     KW_TIME_REOPEN = 10210,        /* KW_TIME_REOPEN  */
161     KW_TIME_REAP = 10211,          /* KW_TIME_REAP  */
162     KW_TIME_SLEEP = 10212,         /* KW_TIME_SLEEP  */
163     KW_TMPL_ESCAPE = 10220,        /* KW_TMPL_ESCAPE  */
164     KW_OPTIONAL = 10230,           /* KW_OPTIONAL  */
165     KW_CREATE_DIRS = 10240,        /* KW_CREATE_DIRS  */
166     KW_OWNER = 10250,              /* KW_OWNER  */
167     KW_GROUP = 10251,              /* KW_GROUP  */
168     KW_PERM = 10252,               /* KW_PERM  */
169     KW_DIR_OWNER = 10260,          /* KW_DIR_OWNER  */
170     KW_DIR_GROUP = 10261,          /* KW_DIR_GROUP  */
171     KW_DIR_PERM = 10262,           /* KW_DIR_PERM  */
172     KW_TEMPLATE = 10270,           /* KW_TEMPLATE  */
173     KW_TEMPLATE_ESCAPE = 10271,    /* KW_TEMPLATE_ESCAPE  */
174     KW_TEMPLATE_FUNCTION = 10272,  /* KW_TEMPLATE_FUNCTION  */
175     KW_DEFAULT_FACILITY = 10300,   /* KW_DEFAULT_FACILITY  */
176     KW_DEFAULT_SEVERITY = 10301,   /* KW_DEFAULT_SEVERITY  */
177     KW_PORT = 10323,               /* KW_PORT  */
178     KW_USE_TIME_RECVD = 10340,     /* KW_USE_TIME_RECVD  */
179     KW_FACILITY = 10350,           /* KW_FACILITY  */
180     KW_SEVERITY = 10351,           /* KW_SEVERITY  */
181     KW_HOST = 10352,               /* KW_HOST  */
182     KW_MATCH = 10353,              /* KW_MATCH  */
183     KW_MESSAGE = 10354,            /* KW_MESSAGE  */
184     KW_NETMASK = 10355,            /* KW_NETMASK  */
185     KW_TAGS = 10356,               /* KW_TAGS  */
186     KW_NETMASK6 = 10357,           /* KW_NETMASK6  */
187     KW_REWRITE = 10370,            /* KW_REWRITE  */
188     KW_CONDITION = 10371,          /* KW_CONDITION  */
189     KW_VALUE = 10372,              /* KW_VALUE  */
190     KW_YES = 10380,                /* KW_YES  */
191     KW_NO = 10381,                 /* KW_NO  */
192     KW_IFDEF = 10410,              /* KW_IFDEF  */
193     KW_ENDIF = 10411,              /* KW_ENDIF  */
194     LL_DOTDOT = 10420,             /* LL_DOTDOT  */
195     LL_DOTDOTDOT = 10421,          /* LL_DOTDOTDOT  */
196     LL_PRAGMA = 10422,             /* LL_PRAGMA  */
197     LL_EOL = 10423,                /* LL_EOL  */
198     LL_ERROR = 10424,              /* LL_ERROR  */
199     LL_ARROW = 10425,              /* LL_ARROW  */
200     LL_IDENTIFIER = 10430,         /* LL_IDENTIFIER  */
201     LL_NUMBER = 10431,             /* LL_NUMBER  */
202     LL_FLOAT = 10432,              /* LL_FLOAT  */
203     LL_STRING = 10433,             /* LL_STRING  */
204     LL_TOKEN = 10434,              /* LL_TOKEN  */
205     LL_BLOCK = 10435,              /* LL_BLOCK  */
206     KW_VALUE_PAIRS = 10500,        /* KW_VALUE_PAIRS  */
207     KW_EXCLUDE = 10502,            /* KW_EXCLUDE  */
208     KW_PAIR = 10503,               /* KW_PAIR  */
209     KW_KEY = 10504,                /* KW_KEY  */
210     KW_SCOPE = 10505,              /* KW_SCOPE  */
211     KW_SHIFT = 10506,              /* KW_SHIFT  */
212     KW_SHIFT_LEVELS = 10507,       /* KW_SHIFT_LEVELS  */
213     KW_REKEY = 10508,              /* KW_REKEY  */
214     KW_ADD_PREFIX = 10509,         /* KW_ADD_PREFIX  */
215     KW_REPLACE_PREFIX = 10510,     /* KW_REPLACE_PREFIX  */
216     KW_ON_ERROR = 10511,           /* KW_ON_ERROR  */
217     KW_RETRIES = 10512,            /* KW_RETRIES  */
218     KW_FETCH_NO_DATA_DELAY = 10513, /* KW_FETCH_NO_DATA_DELAY  */
219     KW_OPTION = 10515              /* KW_OPTION  */
220   };
221   typedef enum native_tokentype native_token_kind_t;
222 #endif
223 /* Token kinds.  */
224 #define NATIVE_EMPTY -2
225 #define NATIVE_EOF 0
226 #define NATIVE_error 256
227 #define NATIVE_UNDEF 10514
228 #define LL_CONTEXT_ROOT 1
229 #define LL_CONTEXT_DESTINATION 2
230 #define LL_CONTEXT_SOURCE 3
231 #define LL_CONTEXT_PARSER 4
232 #define LL_CONTEXT_REWRITE 5
233 #define LL_CONTEXT_FILTER 6
234 #define LL_CONTEXT_LOG 7
235 #define LL_CONTEXT_BLOCK_DEF 8
236 #define LL_CONTEXT_BLOCK_REF 9
237 #define LL_CONTEXT_BLOCK_CONTENT 10
238 #define LL_CONTEXT_BLOCK_ARG 11
239 #define LL_CONTEXT_PRAGMA 12
240 #define LL_CONTEXT_FORMAT 13
241 #define LL_CONTEXT_TEMPLATE_FUNC 14
242 #define LL_CONTEXT_INNER_DEST 15
243 #define LL_CONTEXT_INNER_SRC 16
244 #define LL_CONTEXT_CLIENT_PROTO 17
245 #define LL_CONTEXT_SERVER_PROTO 18
246 #define LL_CONTEXT_OPTIONS 19
247 #define LL_CONTEXT_CONFIG 20
248 #define LL_CONTEXT_MAX 21
249 #define KW_SOURCE 10000
250 #define KW_FILTER 10001
251 #define KW_PARSER 10002
252 #define KW_DESTINATION 10003
253 #define KW_LOG 10004
254 #define KW_OPTIONS 10005
255 #define KW_INCLUDE 10006
256 #define KW_BLOCK 10007
257 #define KW_JUNCTION 10008
258 #define KW_CHANNEL 10009
259 #define KW_IF 10010
260 #define KW_ELSE 10011
261 #define KW_ELIF 10012
262 #define KW_INTERNAL 10020
263 #define KW_SYSLOG 10060
264 #define KW_MARK_FREQ 10071
265 #define KW_STATS_FREQ 10072
266 #define KW_STATS_LEVEL 10073
267 #define KW_STATS_LIFETIME 10074
268 #define KW_FLUSH_LINES 10075
269 #define KW_SUPPRESS 10076
270 #define KW_FLUSH_TIMEOUT 10077
271 #define KW_LOG_MSG_SIZE 10078
272 #define KW_FILE_TEMPLATE 10079
273 #define KW_PROTO_TEMPLATE 10080
274 #define KW_MARK_MODE 10081
275 #define KW_ENCODING 10082
276 #define KW_TYPE 10083
277 #define KW_STATS_MAX_DYNAMIC 10084
278 #define KW_MIN_IW_SIZE_PER_READER 10085
279 #define KW_WORKERS 10086
280 #define KW_BATCH_LINES 10087
281 #define KW_BATCH_TIMEOUT 10088
282 #define KW_TRIM_LARGE_MESSAGES 10089
283 #define KW_CHAIN_HOSTNAMES 10090
284 #define KW_NORMALIZE_HOSTNAMES 10091
285 #define KW_KEEP_HOSTNAME 10092
286 #define KW_CHECK_HOSTNAME 10093
287 #define KW_BAD_HOSTNAME 10094
288 #define KW_KEEP_TIMESTAMP 10100
289 #define KW_USE_DNS 10110
290 #define KW_USE_FQDN 10111
291 #define KW_CUSTOM_DOMAIN 10112
292 #define KW_DNS_CACHE 10120
293 #define KW_DNS_CACHE_SIZE 10121
294 #define KW_DNS_CACHE_EXPIRE 10130
295 #define KW_DNS_CACHE_EXPIRE_FAILED 10131
296 #define KW_DNS_CACHE_HOSTS 10132
297 #define KW_PERSIST_ONLY 10140
298 #define KW_USE_RCPTID 10141
299 #define KW_USE_UNIQID 10142
300 #define KW_TZ_CONVERT 10150
301 #define KW_TS_FORMAT 10151
302 #define KW_FRAC_DIGITS 10152
303 #define KW_LOG_FIFO_SIZE 10160
304 #define KW_LOG_FETCH_LIMIT 10162
305 #define KW_LOG_IW_SIZE 10163
306 #define KW_LOG_PREFIX 10164
307 #define KW_PROGRAM_OVERRIDE 10165
308 #define KW_HOST_OVERRIDE 10166
309 #define KW_THROTTLE 10170
310 #define KW_THREADED 10171
311 #define KW_PASS_UNIX_CREDENTIALS 10231
312 #define KW_PERSIST_NAME 10302
313 #define KW_READ_OLD_RECORDS 10304
314 #define KW_USE_SYSLOGNG_PID 10305
315 #define KW_FLAGS 10190
316 #define KW_PAD_SIZE 10200
317 #define KW_TIME_ZONE 10201
318 #define KW_RECV_TIME_ZONE 10202
319 #define KW_SEND_TIME_ZONE 10203
320 #define KW_LOCAL_TIME_ZONE 10204
321 #define KW_FORMAT 10205
322 #define KW_TRUNCATE_SIZE 10206
323 #define KW_TIME_REOPEN 10210
324 #define KW_TIME_REAP 10211
325 #define KW_TIME_SLEEP 10212
326 #define KW_TMPL_ESCAPE 10220
327 #define KW_OPTIONAL 10230
328 #define KW_CREATE_DIRS 10240
329 #define KW_OWNER 10250
330 #define KW_GROUP 10251
331 #define KW_PERM 10252
332 #define KW_DIR_OWNER 10260
333 #define KW_DIR_GROUP 10261
334 #define KW_DIR_PERM 10262
335 #define KW_TEMPLATE 10270
336 #define KW_TEMPLATE_ESCAPE 10271
337 #define KW_TEMPLATE_FUNCTION 10272
338 #define KW_DEFAULT_FACILITY 10300
339 #define KW_DEFAULT_SEVERITY 10301
340 #define KW_PORT 10323
341 #define KW_USE_TIME_RECVD 10340
342 #define KW_FACILITY 10350
343 #define KW_SEVERITY 10351
344 #define KW_HOST 10352
345 #define KW_MATCH 10353
346 #define KW_MESSAGE 10354
347 #define KW_NETMASK 10355
348 #define KW_TAGS 10356
349 #define KW_NETMASK6 10357
350 #define KW_REWRITE 10370
351 #define KW_CONDITION 10371
352 #define KW_VALUE 10372
353 #define KW_YES 10380
354 #define KW_NO 10381
355 #define KW_IFDEF 10410
356 #define KW_ENDIF 10411
357 #define LL_DOTDOT 10420
358 #define LL_DOTDOTDOT 10421
359 #define LL_PRAGMA 10422
360 #define LL_EOL 10423
361 #define LL_ERROR 10424
362 #define LL_ARROW 10425
363 #define LL_IDENTIFIER 10430
364 #define LL_NUMBER 10431
365 #define LL_FLOAT 10432
366 #define LL_STRING 10433
367 #define LL_TOKEN 10434
368 #define LL_BLOCK 10435
369 #define KW_VALUE_PAIRS 10500
370 #define KW_EXCLUDE 10502
371 #define KW_PAIR 10503
372 #define KW_KEY 10504
373 #define KW_SCOPE 10505
374 #define KW_SHIFT 10506
375 #define KW_SHIFT_LEVELS 10507
376 #define KW_REKEY 10508
377 #define KW_ADD_PREFIX 10509
378 #define KW_REPLACE_PREFIX 10510
379 #define KW_ON_ERROR 10511
380 #define KW_RETRIES 10512
381 #define KW_FETCH_NO_DATA_DELAY 10513
382 #define KW_OPTION 10515
383 
384 /* Value type.  */
385 #if ! defined NATIVE_STYPE && ! defined NATIVE_STYPE_IS_DECLARED
386 typedef CFG_STYPE NATIVE_STYPE;
387 # define NATIVE_STYPE_IS_TRIVIAL 1
388 # define NATIVE_STYPE_IS_DECLARED 1
389 #endif
390 
391 /* Location type.  */
392 typedef CFG_LTYPE NATIVE_LTYPE;
393 
394 
395 
396 
397 int native_parse (CfgLexer *lexer, LogParser **instance, gpointer arg);
398 
399 
400 #endif /* !YY_NATIVE_MODULES_NATIVE_NATIVE_GRAMMAR_H_INCLUDED  */
401