1301256Sdelphij/* A Bison parser, made by GNU Bison 3.0.4.  */
2258945Sroberto
3275970Scy/* Bison implementation for Yacc-like parsers in C
4301256Sdelphij
5301256Sdelphij   Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
6301256Sdelphij
7258945Sroberto   This program is free software: you can redistribute it and/or modify
8258945Sroberto   it under the terms of the GNU General Public License as published by
9258945Sroberto   the Free Software Foundation, either version 3 of the License, or
10258945Sroberto   (at your option) any later version.
11301256Sdelphij
12258945Sroberto   This program is distributed in the hope that it will be useful,
13258945Sroberto   but WITHOUT ANY WARRANTY; without even the implied warranty of
14258945Sroberto   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15258945Sroberto   GNU General Public License for more details.
16301256Sdelphij
17258945Sroberto   You should have received a copy of the GNU General Public License
18258945Sroberto   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
19258945Sroberto
20258945Sroberto/* As a special exception, you may create a larger work that contains
21258945Sroberto   part or all of the Bison parser skeleton and distribute that work
22258945Sroberto   under terms of your choice, so long as that work isn't itself a
23258945Sroberto   parser generator using the skeleton or a modified version thereof
24258945Sroberto   as a parser skeleton.  Alternatively, if you modify or redistribute
25258945Sroberto   the parser skeleton itself, you may (at your option) remove this
26258945Sroberto   special exception, which will cause the skeleton and the resulting
27258945Sroberto   Bison output files to be licensed under the GNU General Public
28258945Sroberto   License without this special exception.
29301256Sdelphij
30258945Sroberto   This special exception was added by the Free Software Foundation in
31258945Sroberto   version 2.2 of Bison.  */
32258945Sroberto
33258945Sroberto/* C LALR(1) parser skeleton written by Richard Stallman, by
34258945Sroberto   simplifying the original so-called "semantic" parser.  */
35258945Sroberto
36258945Sroberto/* All symbols defined below should begin with yy or YY, to avoid
37258945Sroberto   infringing on user name space.  This should be done even for local
38258945Sroberto   variables, as they might otherwise be expanded by user macros.
39258945Sroberto   There are some unavoidable exceptions within include files to
40258945Sroberto   define necessary library symbols; they are noted "INFRINGES ON
41258945Sroberto   USER NAME SPACE" below.  */
42258945Sroberto
43258945Sroberto/* Identify Bison output.  */
44258945Sroberto#define YYBISON 1
45258945Sroberto
46258945Sroberto/* Bison version.  */
47301256Sdelphij#define YYBISON_VERSION "3.0.4"
48258945Sroberto
49258945Sroberto/* Skeleton name.  */
50258945Sroberto#define YYSKELETON_NAME "yacc.c"
51258945Sroberto
52258945Sroberto/* Pure parsers.  */
53258945Sroberto#define YYPURE 0
54258945Sroberto
55258945Sroberto/* Push parsers.  */
56258945Sroberto#define YYPUSH 0
57258945Sroberto
58258945Sroberto/* Pull parsers.  */
59258945Sroberto#define YYPULL 1
60258945Sroberto
61258945Sroberto
62258945Sroberto
63258945Sroberto
64258945Sroberto/* Copy the first part of user declarations.  */
65338531Sdelphij#line 11 "ntp_parser.y" /* yacc.c:339  */
66258945Sroberto
67258945Sroberto  #ifdef HAVE_CONFIG_H
68258945Sroberto  # include <config.h>
69258945Sroberto  #endif
70258945Sroberto
71258945Sroberto  #include "ntp.h"
72258945Sroberto  #include "ntpd.h"
73258945Sroberto  #include "ntp_machine.h"
74258945Sroberto  #include "ntp_stdlib.h"
75258945Sroberto  #include "ntp_filegen.h"
76258945Sroberto  #include "ntp_scanner.h"
77258945Sroberto  #include "ntp_config.h"
78258945Sroberto  #include "ntp_crypto.h"
79338531Sdelphij  #include "ntp_calendar.h"
80258945Sroberto
81258945Sroberto  #include "ntpsim.h"		/* HMS: Do we really want this all the time? */
82258945Sroberto				/* SK: It might be a good idea to always
83258945Sroberto				   include the simulator code. That way
84258945Sroberto				   someone can use the same configuration file
85258945Sroberto				   for both the simulator and the daemon
86258945Sroberto				*/
87258945Sroberto
88258945Sroberto  #define YYMALLOC	emalloc
89258945Sroberto  #define YYFREE	free
90258945Sroberto  #define YYERROR_VERBOSE
91275970Scy  #define YYMAXDEPTH	1000	/* stop the madness sooner */
92285612Sdelphij  void yyerror(const char *msg);
93258945Sroberto
94275970Scy  #ifdef SIM
95275970Scy  #  define ONLY_SIM(a)	(a)
96275970Scy  #else
97275970Scy  #  define ONLY_SIM(a)	NULL
98275970Scy  #endif
99258945Sroberto
100338531Sdelphij#line 101 "ntp_parser.c" /* yacc.c:339  */
101258945Sroberto
102301256Sdelphij# ifndef YY_NULLPTR
103275970Scy#  if defined __cplusplus && 201103L <= __cplusplus
104301256Sdelphij#   define YY_NULLPTR nullptr
105275970Scy#  else
106301256Sdelphij#   define YY_NULLPTR 0
107275970Scy#  endif
108275970Scy# endif
109258945Sroberto
110258945Sroberto/* Enabling verbose error messages.  */
111258945Sroberto#ifdef YYERROR_VERBOSE
112258945Sroberto# undef YYERROR_VERBOSE
113258945Sroberto# define YYERROR_VERBOSE 1
114258945Sroberto#else
115258945Sroberto# define YYERROR_VERBOSE 0
116258945Sroberto#endif
117258945Sroberto
118275970Scy/* In a future release of Bison, this section will be replaced
119275970Scy   by #include "y.tab.h".  */
120330141Sdelphij#ifndef YY_YY_NTP_PARSER_H_INCLUDED
121330141Sdelphij# define YY_YY_NTP_PARSER_H_INCLUDED
122301256Sdelphij/* Debug traces.  */
123275970Scy#ifndef YYDEBUG
124275970Scy# define YYDEBUG 1
125258945Sroberto#endif
126275970Scy#if YYDEBUG
127275970Scyextern int yydebug;
128275970Scy#endif
129258945Sroberto
130301256Sdelphij/* Token type.  */
131258945Sroberto#ifndef YYTOKENTYPE
132258945Sroberto# define YYTOKENTYPE
133301256Sdelphij  enum yytokentype
134301256Sdelphij  {
135301256Sdelphij    T_Abbrev = 258,
136301256Sdelphij    T_Age = 259,
137301256Sdelphij    T_All = 260,
138301256Sdelphij    T_Allan = 261,
139301256Sdelphij    T_Allpeers = 262,
140301256Sdelphij    T_Auth = 263,
141301256Sdelphij    T_Autokey = 264,
142301256Sdelphij    T_Automax = 265,
143301256Sdelphij    T_Average = 266,
144330141Sdelphij    T_Basedate = 267,
145330141Sdelphij    T_Bclient = 268,
146330141Sdelphij    T_Bcpollbstep = 269,
147330141Sdelphij    T_Beacon = 270,
148330141Sdelphij    T_Broadcast = 271,
149330141Sdelphij    T_Broadcastclient = 272,
150330141Sdelphij    T_Broadcastdelay = 273,
151330141Sdelphij    T_Burst = 274,
152330141Sdelphij    T_Calibrate = 275,
153330141Sdelphij    T_Ceiling = 276,
154330141Sdelphij    T_Clockstats = 277,
155330141Sdelphij    T_Cohort = 278,
156330141Sdelphij    T_ControlKey = 279,
157330141Sdelphij    T_Crypto = 280,
158330141Sdelphij    T_Cryptostats = 281,
159330141Sdelphij    T_Ctl = 282,
160330141Sdelphij    T_Day = 283,
161330141Sdelphij    T_Default = 284,
162330141Sdelphij    T_Digest = 285,
163330141Sdelphij    T_Disable = 286,
164330141Sdelphij    T_Discard = 287,
165330141Sdelphij    T_Dispersion = 288,
166330141Sdelphij    T_Double = 289,
167330141Sdelphij    T_Driftfile = 290,
168330141Sdelphij    T_Drop = 291,
169330141Sdelphij    T_Dscp = 292,
170330141Sdelphij    T_Ellipsis = 293,
171330141Sdelphij    T_Enable = 294,
172330141Sdelphij    T_End = 295,
173330141Sdelphij    T_Epeer = 296,
174330141Sdelphij    T_False = 297,
175330141Sdelphij    T_File = 298,
176330141Sdelphij    T_Filegen = 299,
177330141Sdelphij    T_Filenum = 300,
178330141Sdelphij    T_Flag1 = 301,
179330141Sdelphij    T_Flag2 = 302,
180330141Sdelphij    T_Flag3 = 303,
181330141Sdelphij    T_Flag4 = 304,
182330141Sdelphij    T_Flake = 305,
183330141Sdelphij    T_Floor = 306,
184330141Sdelphij    T_Freq = 307,
185330141Sdelphij    T_Fudge = 308,
186330141Sdelphij    T_Host = 309,
187330141Sdelphij    T_Huffpuff = 310,
188330141Sdelphij    T_Iburst = 311,
189330141Sdelphij    T_Ident = 312,
190330141Sdelphij    T_Ignore = 313,
191330141Sdelphij    T_Incalloc = 314,
192330141Sdelphij    T_Incmem = 315,
193330141Sdelphij    T_Initalloc = 316,
194330141Sdelphij    T_Initmem = 317,
195330141Sdelphij    T_Includefile = 318,
196330141Sdelphij    T_Integer = 319,
197330141Sdelphij    T_Interface = 320,
198330141Sdelphij    T_Intrange = 321,
199330141Sdelphij    T_Io = 322,
200330141Sdelphij    T_Ippeerlimit = 323,
201330141Sdelphij    T_Ipv4 = 324,
202330141Sdelphij    T_Ipv4_flag = 325,
203330141Sdelphij    T_Ipv6 = 326,
204330141Sdelphij    T_Ipv6_flag = 327,
205330141Sdelphij    T_Kernel = 328,
206330141Sdelphij    T_Key = 329,
207330141Sdelphij    T_Keys = 330,
208330141Sdelphij    T_Keysdir = 331,
209330141Sdelphij    T_Kod = 332,
210330141Sdelphij    T_Mssntp = 333,
211330141Sdelphij    T_Leapfile = 334,
212330141Sdelphij    T_Leapsmearinterval = 335,
213330141Sdelphij    T_Limited = 336,
214330141Sdelphij    T_Link = 337,
215330141Sdelphij    T_Listen = 338,
216330141Sdelphij    T_Logconfig = 339,
217330141Sdelphij    T_Logfile = 340,
218330141Sdelphij    T_Loopstats = 341,
219330141Sdelphij    T_Lowpriotrap = 342,
220330141Sdelphij    T_Manycastclient = 343,
221330141Sdelphij    T_Manycastserver = 344,
222330141Sdelphij    T_Mask = 345,
223330141Sdelphij    T_Maxage = 346,
224330141Sdelphij    T_Maxclock = 347,
225330141Sdelphij    T_Maxdepth = 348,
226330141Sdelphij    T_Maxdist = 349,
227330141Sdelphij    T_Maxmem = 350,
228330141Sdelphij    T_Maxpoll = 351,
229330141Sdelphij    T_Mdnstries = 352,
230330141Sdelphij    T_Mem = 353,
231330141Sdelphij    T_Memlock = 354,
232330141Sdelphij    T_Minclock = 355,
233330141Sdelphij    T_Mindepth = 356,
234330141Sdelphij    T_Mindist = 357,
235330141Sdelphij    T_Minimum = 358,
236330141Sdelphij    T_Minpoll = 359,
237330141Sdelphij    T_Minsane = 360,
238330141Sdelphij    T_Mode = 361,
239330141Sdelphij    T_Mode7 = 362,
240330141Sdelphij    T_Monitor = 363,
241330141Sdelphij    T_Month = 364,
242330141Sdelphij    T_Mru = 365,
243330141Sdelphij    T_Multicastclient = 366,
244330141Sdelphij    T_Nic = 367,
245330141Sdelphij    T_Nolink = 368,
246330141Sdelphij    T_Nomodify = 369,
247330141Sdelphij    T_Nomrulist = 370,
248330141Sdelphij    T_None = 371,
249330141Sdelphij    T_Nonvolatile = 372,
250330141Sdelphij    T_Noepeer = 373,
251330141Sdelphij    T_Nopeer = 374,
252330141Sdelphij    T_Noquery = 375,
253330141Sdelphij    T_Noselect = 376,
254330141Sdelphij    T_Noserve = 377,
255330141Sdelphij    T_Notrap = 378,
256330141Sdelphij    T_Notrust = 379,
257330141Sdelphij    T_Ntp = 380,
258330141Sdelphij    T_Ntpport = 381,
259330141Sdelphij    T_NtpSignDsocket = 382,
260330141Sdelphij    T_Orphan = 383,
261330141Sdelphij    T_Orphanwait = 384,
262330141Sdelphij    T_PCEdigest = 385,
263330141Sdelphij    T_Panic = 386,
264330141Sdelphij    T_Peer = 387,
265330141Sdelphij    T_Peerstats = 388,
266330141Sdelphij    T_Phone = 389,
267330141Sdelphij    T_Pid = 390,
268330141Sdelphij    T_Pidfile = 391,
269330141Sdelphij    T_Pool = 392,
270330141Sdelphij    T_Port = 393,
271330141Sdelphij    T_Preempt = 394,
272330141Sdelphij    T_Prefer = 395,
273330141Sdelphij    T_Protostats = 396,
274330141Sdelphij    T_Pw = 397,
275330141Sdelphij    T_Randfile = 398,
276330141Sdelphij    T_Rawstats = 399,
277330141Sdelphij    T_Refid = 400,
278330141Sdelphij    T_Requestkey = 401,
279330141Sdelphij    T_Reset = 402,
280330141Sdelphij    T_Restrict = 403,
281330141Sdelphij    T_Revoke = 404,
282330141Sdelphij    T_Rlimit = 405,
283330141Sdelphij    T_Saveconfigdir = 406,
284330141Sdelphij    T_Server = 407,
285330141Sdelphij    T_Setvar = 408,
286330141Sdelphij    T_Source = 409,
287330141Sdelphij    T_Stacksize = 410,
288330141Sdelphij    T_Statistics = 411,
289330141Sdelphij    T_Stats = 412,
290330141Sdelphij    T_Statsdir = 413,
291330141Sdelphij    T_Step = 414,
292330141Sdelphij    T_Stepback = 415,
293330141Sdelphij    T_Stepfwd = 416,
294330141Sdelphij    T_Stepout = 417,
295330141Sdelphij    T_Stratum = 418,
296330141Sdelphij    T_String = 419,
297330141Sdelphij    T_Sys = 420,
298330141Sdelphij    T_Sysstats = 421,
299330141Sdelphij    T_Tick = 422,
300330141Sdelphij    T_Time1 = 423,
301330141Sdelphij    T_Time2 = 424,
302330141Sdelphij    T_Timer = 425,
303330141Sdelphij    T_Timingstats = 426,
304330141Sdelphij    T_Tinker = 427,
305330141Sdelphij    T_Tos = 428,
306330141Sdelphij    T_Trap = 429,
307330141Sdelphij    T_True = 430,
308330141Sdelphij    T_Trustedkey = 431,
309330141Sdelphij    T_Ttl = 432,
310330141Sdelphij    T_Type = 433,
311330141Sdelphij    T_U_int = 434,
312330141Sdelphij    T_UEcrypto = 435,
313330141Sdelphij    T_UEcryptonak = 436,
314330141Sdelphij    T_UEdigest = 437,
315330141Sdelphij    T_Unconfig = 438,
316330141Sdelphij    T_Unpeer = 439,
317330141Sdelphij    T_Version = 440,
318330141Sdelphij    T_WanderThreshold = 441,
319330141Sdelphij    T_Week = 442,
320330141Sdelphij    T_Wildcard = 443,
321330141Sdelphij    T_Xleave = 444,
322330141Sdelphij    T_Year = 445,
323330141Sdelphij    T_Flag = 446,
324330141Sdelphij    T_EOC = 447,
325330141Sdelphij    T_Simulate = 448,
326330141Sdelphij    T_Beep_Delay = 449,
327330141Sdelphij    T_Sim_Duration = 450,
328330141Sdelphij    T_Server_Offset = 451,
329330141Sdelphij    T_Duration = 452,
330330141Sdelphij    T_Freq_Offset = 453,
331330141Sdelphij    T_Wander = 454,
332330141Sdelphij    T_Jitter = 455,
333330141Sdelphij    T_Prop_Delay = 456,
334330141Sdelphij    T_Proc_Delay = 457
335301256Sdelphij  };
336258945Sroberto#endif
337258945Sroberto/* Tokens.  */
338275970Scy#define T_Abbrev 258
339275970Scy#define T_Age 259
340275970Scy#define T_All 260
341275970Scy#define T_Allan 261
342275970Scy#define T_Allpeers 262
343275970Scy#define T_Auth 263
344275970Scy#define T_Autokey 264
345275970Scy#define T_Automax 265
346275970Scy#define T_Average 266
347330141Sdelphij#define T_Basedate 267
348330141Sdelphij#define T_Bclient 268
349330141Sdelphij#define T_Bcpollbstep 269
350330141Sdelphij#define T_Beacon 270
351330141Sdelphij#define T_Broadcast 271
352330141Sdelphij#define T_Broadcastclient 272
353330141Sdelphij#define T_Broadcastdelay 273
354330141Sdelphij#define T_Burst 274
355330141Sdelphij#define T_Calibrate 275
356330141Sdelphij#define T_Ceiling 276
357330141Sdelphij#define T_Clockstats 277
358330141Sdelphij#define T_Cohort 278
359330141Sdelphij#define T_ControlKey 279
360330141Sdelphij#define T_Crypto 280
361330141Sdelphij#define T_Cryptostats 281
362330141Sdelphij#define T_Ctl 282
363330141Sdelphij#define T_Day 283
364330141Sdelphij#define T_Default 284
365330141Sdelphij#define T_Digest 285
366330141Sdelphij#define T_Disable 286
367330141Sdelphij#define T_Discard 287
368330141Sdelphij#define T_Dispersion 288
369330141Sdelphij#define T_Double 289
370330141Sdelphij#define T_Driftfile 290
371330141Sdelphij#define T_Drop 291
372330141Sdelphij#define T_Dscp 292
373330141Sdelphij#define T_Ellipsis 293
374330141Sdelphij#define T_Enable 294
375330141Sdelphij#define T_End 295
376330141Sdelphij#define T_Epeer 296
377330141Sdelphij#define T_False 297
378330141Sdelphij#define T_File 298
379330141Sdelphij#define T_Filegen 299
380330141Sdelphij#define T_Filenum 300
381330141Sdelphij#define T_Flag1 301
382330141Sdelphij#define T_Flag2 302
383330141Sdelphij#define T_Flag3 303
384330141Sdelphij#define T_Flag4 304
385330141Sdelphij#define T_Flake 305
386330141Sdelphij#define T_Floor 306
387330141Sdelphij#define T_Freq 307
388330141Sdelphij#define T_Fudge 308
389330141Sdelphij#define T_Host 309
390330141Sdelphij#define T_Huffpuff 310
391330141Sdelphij#define T_Iburst 311
392330141Sdelphij#define T_Ident 312
393330141Sdelphij#define T_Ignore 313
394330141Sdelphij#define T_Incalloc 314
395330141Sdelphij#define T_Incmem 315
396330141Sdelphij#define T_Initalloc 316
397330141Sdelphij#define T_Initmem 317
398330141Sdelphij#define T_Includefile 318
399330141Sdelphij#define T_Integer 319
400330141Sdelphij#define T_Interface 320
401330141Sdelphij#define T_Intrange 321
402330141Sdelphij#define T_Io 322
403330141Sdelphij#define T_Ippeerlimit 323
404330141Sdelphij#define T_Ipv4 324
405330141Sdelphij#define T_Ipv4_flag 325
406330141Sdelphij#define T_Ipv6 326
407330141Sdelphij#define T_Ipv6_flag 327
408330141Sdelphij#define T_Kernel 328
409330141Sdelphij#define T_Key 329
410330141Sdelphij#define T_Keys 330
411330141Sdelphij#define T_Keysdir 331
412330141Sdelphij#define T_Kod 332
413330141Sdelphij#define T_Mssntp 333
414330141Sdelphij#define T_Leapfile 334
415330141Sdelphij#define T_Leapsmearinterval 335
416330141Sdelphij#define T_Limited 336
417330141Sdelphij#define T_Link 337
418330141Sdelphij#define T_Listen 338
419330141Sdelphij#define T_Logconfig 339
420330141Sdelphij#define T_Logfile 340
421330141Sdelphij#define T_Loopstats 341
422330141Sdelphij#define T_Lowpriotrap 342
423330141Sdelphij#define T_Manycastclient 343
424330141Sdelphij#define T_Manycastserver 344
425330141Sdelphij#define T_Mask 345
426330141Sdelphij#define T_Maxage 346
427330141Sdelphij#define T_Maxclock 347
428330141Sdelphij#define T_Maxdepth 348
429330141Sdelphij#define T_Maxdist 349
430330141Sdelphij#define T_Maxmem 350
431330141Sdelphij#define T_Maxpoll 351
432330141Sdelphij#define T_Mdnstries 352
433330141Sdelphij#define T_Mem 353
434330141Sdelphij#define T_Memlock 354
435330141Sdelphij#define T_Minclock 355
436330141Sdelphij#define T_Mindepth 356
437330141Sdelphij#define T_Mindist 357
438330141Sdelphij#define T_Minimum 358
439330141Sdelphij#define T_Minpoll 359
440330141Sdelphij#define T_Minsane 360
441330141Sdelphij#define T_Mode 361
442330141Sdelphij#define T_Mode7 362
443330141Sdelphij#define T_Monitor 363
444330141Sdelphij#define T_Month 364
445330141Sdelphij#define T_Mru 365
446330141Sdelphij#define T_Multicastclient 366
447330141Sdelphij#define T_Nic 367
448330141Sdelphij#define T_Nolink 368
449330141Sdelphij#define T_Nomodify 369
450330141Sdelphij#define T_Nomrulist 370
451330141Sdelphij#define T_None 371
452330141Sdelphij#define T_Nonvolatile 372
453330141Sdelphij#define T_Noepeer 373
454330141Sdelphij#define T_Nopeer 374
455330141Sdelphij#define T_Noquery 375
456330141Sdelphij#define T_Noselect 376
457330141Sdelphij#define T_Noserve 377
458330141Sdelphij#define T_Notrap 378
459330141Sdelphij#define T_Notrust 379
460330141Sdelphij#define T_Ntp 380
461330141Sdelphij#define T_Ntpport 381
462330141Sdelphij#define T_NtpSignDsocket 382
463330141Sdelphij#define T_Orphan 383
464330141Sdelphij#define T_Orphanwait 384
465330141Sdelphij#define T_PCEdigest 385
466330141Sdelphij#define T_Panic 386
467330141Sdelphij#define T_Peer 387
468330141Sdelphij#define T_Peerstats 388
469330141Sdelphij#define T_Phone 389
470330141Sdelphij#define T_Pid 390
471330141Sdelphij#define T_Pidfile 391
472330141Sdelphij#define T_Pool 392
473330141Sdelphij#define T_Port 393
474330141Sdelphij#define T_Preempt 394
475330141Sdelphij#define T_Prefer 395
476330141Sdelphij#define T_Protostats 396
477330141Sdelphij#define T_Pw 397
478330141Sdelphij#define T_Randfile 398
479330141Sdelphij#define T_Rawstats 399
480330141Sdelphij#define T_Refid 400
481330141Sdelphij#define T_Requestkey 401
482330141Sdelphij#define T_Reset 402
483330141Sdelphij#define T_Restrict 403
484330141Sdelphij#define T_Revoke 404
485330141Sdelphij#define T_Rlimit 405
486330141Sdelphij#define T_Saveconfigdir 406
487330141Sdelphij#define T_Server 407
488330141Sdelphij#define T_Setvar 408
489330141Sdelphij#define T_Source 409
490330141Sdelphij#define T_Stacksize 410
491330141Sdelphij#define T_Statistics 411
492330141Sdelphij#define T_Stats 412
493330141Sdelphij#define T_Statsdir 413
494330141Sdelphij#define T_Step 414
495330141Sdelphij#define T_Stepback 415
496330141Sdelphij#define T_Stepfwd 416
497330141Sdelphij#define T_Stepout 417
498330141Sdelphij#define T_Stratum 418
499330141Sdelphij#define T_String 419
500330141Sdelphij#define T_Sys 420
501330141Sdelphij#define T_Sysstats 421
502330141Sdelphij#define T_Tick 422
503330141Sdelphij#define T_Time1 423
504330141Sdelphij#define T_Time2 424
505330141Sdelphij#define T_Timer 425
506330141Sdelphij#define T_Timingstats 426
507330141Sdelphij#define T_Tinker 427
508330141Sdelphij#define T_Tos 428
509330141Sdelphij#define T_Trap 429
510330141Sdelphij#define T_True 430
511330141Sdelphij#define T_Trustedkey 431
512330141Sdelphij#define T_Ttl 432
513330141Sdelphij#define T_Type 433
514330141Sdelphij#define T_U_int 434
515330141Sdelphij#define T_UEcrypto 435
516330141Sdelphij#define T_UEcryptonak 436
517330141Sdelphij#define T_UEdigest 437
518330141Sdelphij#define T_Unconfig 438
519330141Sdelphij#define T_Unpeer 439
520330141Sdelphij#define T_Version 440
521330141Sdelphij#define T_WanderThreshold 441
522330141Sdelphij#define T_Week 442
523330141Sdelphij#define T_Wildcard 443
524330141Sdelphij#define T_Xleave 444
525330141Sdelphij#define T_Year 445
526330141Sdelphij#define T_Flag 446
527330141Sdelphij#define T_EOC 447
528330141Sdelphij#define T_Simulate 448
529330141Sdelphij#define T_Beep_Delay 449
530330141Sdelphij#define T_Sim_Duration 450
531330141Sdelphij#define T_Server_Offset 451
532330141Sdelphij#define T_Duration 452
533330141Sdelphij#define T_Freq_Offset 453
534330141Sdelphij#define T_Wander 454
535330141Sdelphij#define T_Jitter 455
536330141Sdelphij#define T_Prop_Delay 456
537330141Sdelphij#define T_Proc_Delay 457
538258945Sroberto
539301256Sdelphij/* Value type.  */
540301256Sdelphij#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
541294569Sdelphij
542301256Sdelphijunion YYSTYPE
543258945Sroberto{
544338531Sdelphij#line 52 "ntp_parser.y" /* yacc.c:355  */
545258945Sroberto
546275970Scy	char *			String;
547275970Scy	double			Double;
548275970Scy	int			Integer;
549275970Scy	unsigned		U_int;
550275970Scy	gen_fifo *		Generic_fifo;
551275970Scy	attr_val *		Attr_val;
552275970Scy	attr_val_fifo *		Attr_val_fifo;
553275970Scy	int_fifo *		Int_fifo;
554275970Scy	string_fifo *		String_fifo;
555275970Scy	address_node *		Address_node;
556275970Scy	address_fifo *		Address_fifo;
557275970Scy	setvar_node *		Set_var;
558275970Scy	server_info *		Sim_server;
559275970Scy	server_info_fifo *	Sim_server_fifo;
560275970Scy	script_info *		Sim_script;
561275970Scy	script_info_fifo *	Sim_script_fifo;
562258945Sroberto
563338531Sdelphij#line 564 "ntp_parser.c" /* yacc.c:355  */
564301256Sdelphij};
565294569Sdelphij
566301256Sdelphijtypedef union YYSTYPE YYSTYPE;
567275970Scy# define YYSTYPE_IS_TRIVIAL 1
568275970Scy# define YYSTYPE_IS_DECLARED 1
569275970Scy#endif
570258945Sroberto
571301256Sdelphij
572275970Scyextern YYSTYPE yylval;
573258945Sroberto
574285612Sdelphijint yyparse (void);
575258945Sroberto
576330141Sdelphij#endif /* !YY_YY_NTP_PARSER_H_INCLUDED  */
577258945Sroberto
578258945Sroberto/* Copy the second part of user declarations.  */
579258945Sroberto
580338531Sdelphij#line 581 "ntp_parser.c" /* yacc.c:358  */
581258945Sroberto
582258945Sroberto#ifdef short
583258945Sroberto# undef short
584258945Sroberto#endif
585258945Sroberto
586258945Sroberto#ifdef YYTYPE_UINT8
587258945Srobertotypedef YYTYPE_UINT8 yytype_uint8;
588258945Sroberto#else
589258945Srobertotypedef unsigned char yytype_uint8;
590258945Sroberto#endif
591258945Sroberto
592258945Sroberto#ifdef YYTYPE_INT8
593258945Srobertotypedef YYTYPE_INT8 yytype_int8;
594301256Sdelphij#else
595294569Sdelphijtypedef signed char yytype_int8;
596258945Sroberto#endif
597258945Sroberto
598258945Sroberto#ifdef YYTYPE_UINT16
599258945Srobertotypedef YYTYPE_UINT16 yytype_uint16;
600258945Sroberto#else
601258945Srobertotypedef unsigned short int yytype_uint16;
602258945Sroberto#endif
603258945Sroberto
604258945Sroberto#ifdef YYTYPE_INT16
605258945Srobertotypedef YYTYPE_INT16 yytype_int16;
606258945Sroberto#else
607258945Srobertotypedef short int yytype_int16;
608258945Sroberto#endif
609258945Sroberto
610258945Sroberto#ifndef YYSIZE_T
611258945Sroberto# ifdef __SIZE_TYPE__
612258945Sroberto#  define YYSIZE_T __SIZE_TYPE__
613258945Sroberto# elif defined size_t
614258945Sroberto#  define YYSIZE_T size_t
615301256Sdelphij# elif ! defined YYSIZE_T
616258945Sroberto#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
617258945Sroberto#  define YYSIZE_T size_t
618258945Sroberto# else
619258945Sroberto#  define YYSIZE_T unsigned int
620258945Sroberto# endif
621258945Sroberto#endif
622258945Sroberto
623258945Sroberto#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
624258945Sroberto
625258945Sroberto#ifndef YY_
626258945Sroberto# if defined YYENABLE_NLS && YYENABLE_NLS
627258945Sroberto#  if ENABLE_NLS
628258945Sroberto#   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
629275970Scy#   define YY_(Msgid) dgettext ("bison-runtime", Msgid)
630258945Sroberto#  endif
631258945Sroberto# endif
632258945Sroberto# ifndef YY_
633275970Scy#  define YY_(Msgid) Msgid
634258945Sroberto# endif
635258945Sroberto#endif
636258945Sroberto
637301256Sdelphij#ifndef YY_ATTRIBUTE
638301256Sdelphij# if (defined __GNUC__                                               \
639301256Sdelphij      && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__)))  \
640301256Sdelphij     || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
641301256Sdelphij#  define YY_ATTRIBUTE(Spec) __attribute__(Spec)
642301256Sdelphij# else
643301256Sdelphij#  define YY_ATTRIBUTE(Spec) /* empty */
644275970Scy# endif
645275970Scy#endif
646275970Scy
647301256Sdelphij#ifndef YY_ATTRIBUTE_PURE
648301256Sdelphij# define YY_ATTRIBUTE_PURE   YY_ATTRIBUTE ((__pure__))
649301256Sdelphij#endif
650301256Sdelphij
651301256Sdelphij#ifndef YY_ATTRIBUTE_UNUSED
652301256Sdelphij# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
653301256Sdelphij#endif
654301256Sdelphij
655301256Sdelphij#if !defined _Noreturn \
656301256Sdelphij     && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
657301256Sdelphij# if defined _MSC_VER && 1200 <= _MSC_VER
658301256Sdelphij#  define _Noreturn __declspec (noreturn)
659301256Sdelphij# else
660301256Sdelphij#  define _Noreturn YY_ATTRIBUTE ((__noreturn__))
661301256Sdelphij# endif
662301256Sdelphij#endif
663301256Sdelphij
664258945Sroberto/* Suppress unused-variable warnings by "using" E.  */
665258945Sroberto#if ! defined lint || defined __GNUC__
666275970Scy# define YYUSE(E) ((void) (E))
667258945Sroberto#else
668275970Scy# define YYUSE(E) /* empty */
669258945Sroberto#endif
670258945Sroberto
671301256Sdelphij#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
672301256Sdelphij/* Suppress an incorrect diagnostic about yylval being uninitialized.  */
673301256Sdelphij# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
674301256Sdelphij    _Pragma ("GCC diagnostic push") \
675301256Sdelphij    _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
676301256Sdelphij    _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
677301256Sdelphij# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
678301256Sdelphij    _Pragma ("GCC diagnostic pop")
679258945Sroberto#else
680301256Sdelphij# define YY_INITIAL_VALUE(Value) Value
681258945Sroberto#endif
682301256Sdelphij#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
683301256Sdelphij# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
684301256Sdelphij# define YY_IGNORE_MAYBE_UNINITIALIZED_END
685258945Sroberto#endif
686301256Sdelphij#ifndef YY_INITIAL_VALUE
687301256Sdelphij# define YY_INITIAL_VALUE(Value) /* Nothing. */
688301256Sdelphij#endif
689258945Sroberto
690301256Sdelphij
691258945Sroberto#if ! defined yyoverflow || YYERROR_VERBOSE
692258945Sroberto
693258945Sroberto/* The parser invokes alloca or malloc; define the necessary symbols.  */
694258945Sroberto
695258945Sroberto# ifdef YYSTACK_USE_ALLOCA
696258945Sroberto#  if YYSTACK_USE_ALLOCA
697258945Sroberto#   ifdef __GNUC__
698258945Sroberto#    define YYSTACK_ALLOC __builtin_alloca
699258945Sroberto#   elif defined __BUILTIN_VA_ARG_INCR
700258945Sroberto#    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
701258945Sroberto#   elif defined _AIX
702258945Sroberto#    define YYSTACK_ALLOC __alloca
703258945Sroberto#   elif defined _MSC_VER
704258945Sroberto#    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
705258945Sroberto#    define alloca _alloca
706258945Sroberto#   else
707258945Sroberto#    define YYSTACK_ALLOC alloca
708301256Sdelphij#    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
709258945Sroberto#     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
710275970Scy      /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
711275970Scy#     ifndef EXIT_SUCCESS
712275970Scy#      define EXIT_SUCCESS 0
713258945Sroberto#     endif
714258945Sroberto#    endif
715258945Sroberto#   endif
716258945Sroberto#  endif
717258945Sroberto# endif
718258945Sroberto
719258945Sroberto# ifdef YYSTACK_ALLOC
720301256Sdelphij   /* Pacify GCC's 'empty if-body' warning.  */
721301256Sdelphij#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
722258945Sroberto#  ifndef YYSTACK_ALLOC_MAXIMUM
723258945Sroberto    /* The OS might guarantee only one guard page at the bottom of the stack,
724258945Sroberto       and a page size can be as small as 4096 bytes.  So we cannot safely
725258945Sroberto       invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
726258945Sroberto       to allow for a few compiler-allocated temporary stack slots.  */
727258945Sroberto#   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
728258945Sroberto#  endif
729258945Sroberto# else
730258945Sroberto#  define YYSTACK_ALLOC YYMALLOC
731258945Sroberto#  define YYSTACK_FREE YYFREE
732258945Sroberto#  ifndef YYSTACK_ALLOC_MAXIMUM
733258945Sroberto#   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
734258945Sroberto#  endif
735275970Scy#  if (defined __cplusplus && ! defined EXIT_SUCCESS \
736258945Sroberto       && ! ((defined YYMALLOC || defined malloc) \
737301256Sdelphij             && (defined YYFREE || defined free)))
738258945Sroberto#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
739275970Scy#   ifndef EXIT_SUCCESS
740275970Scy#    define EXIT_SUCCESS 0
741258945Sroberto#   endif
742258945Sroberto#  endif
743258945Sroberto#  ifndef YYMALLOC
744258945Sroberto#   define YYMALLOC malloc
745301256Sdelphij#   if ! defined malloc && ! defined EXIT_SUCCESS
746258945Srobertovoid *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
747258945Sroberto#   endif
748258945Sroberto#  endif
749258945Sroberto#  ifndef YYFREE
750258945Sroberto#   define YYFREE free
751301256Sdelphij#   if ! defined free && ! defined EXIT_SUCCESS
752258945Srobertovoid free (void *); /* INFRINGES ON USER NAME SPACE */
753258945Sroberto#   endif
754258945Sroberto#  endif
755258945Sroberto# endif
756258945Sroberto#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
757258945Sroberto
758258945Sroberto
759258945Sroberto#if (! defined yyoverflow \
760258945Sroberto     && (! defined __cplusplus \
761301256Sdelphij         || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
762258945Sroberto
763258945Sroberto/* A type that is properly aligned for any stack member.  */
764258945Srobertounion yyalloc
765258945Sroberto{
766258945Sroberto  yytype_int16 yyss_alloc;
767258945Sroberto  YYSTYPE yyvs_alloc;
768258945Sroberto};
769258945Sroberto
770258945Sroberto/* The size of the maximum gap between one aligned stack and the next.  */
771258945Sroberto# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
772258945Sroberto
773258945Sroberto/* The size of an array large to enough to hold all stacks, each with
774258945Sroberto   N elements.  */
775258945Sroberto# define YYSTACK_BYTES(N) \
776258945Sroberto     ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
777258945Sroberto      + YYSTACK_GAP_MAXIMUM)
778258945Sroberto
779275970Scy# define YYCOPY_NEEDED 1
780258945Sroberto
781258945Sroberto/* Relocate STACK from its old location to the new one.  The
782258945Sroberto   local variables YYSIZE and YYSTACKSIZE give the old and new number of
783258945Sroberto   elements in the stack, and YYPTR gives the new location of the
784258945Sroberto   stack.  Advance YYPTR to a properly aligned location for the next
785258945Sroberto   stack.  */
786301256Sdelphij# define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
787301256Sdelphij    do                                                                  \
788301256Sdelphij      {                                                                 \
789301256Sdelphij        YYSIZE_T yynewbytes;                                            \
790301256Sdelphij        YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
791301256Sdelphij        Stack = &yyptr->Stack_alloc;                                    \
792301256Sdelphij        yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
793301256Sdelphij        yyptr += yynewbytes / sizeof (*yyptr);                          \
794301256Sdelphij      }                                                                 \
795301256Sdelphij    while (0)
796258945Sroberto
797258945Sroberto#endif
798258945Sroberto
799275970Scy#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
800275970Scy/* Copy COUNT objects from SRC to DST.  The source and destination do
801275970Scy   not overlap.  */
802275970Scy# ifndef YYCOPY
803275970Scy#  if defined __GNUC__ && 1 < __GNUC__
804275970Scy#   define YYCOPY(Dst, Src, Count) \
805275970Scy      __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
806275970Scy#  else
807275970Scy#   define YYCOPY(Dst, Src, Count)              \
808275970Scy      do                                        \
809275970Scy        {                                       \
810275970Scy          YYSIZE_T yyi;                         \
811275970Scy          for (yyi = 0; yyi < (Count); yyi++)   \
812275970Scy            (Dst)[yyi] = (Src)[yyi];            \
813275970Scy        }                                       \
814301256Sdelphij      while (0)
815275970Scy#  endif
816275970Scy# endif
817275970Scy#endif /* !YYCOPY_NEEDED */
818275970Scy
819258945Sroberto/* YYFINAL -- State number of the termination state.  */
820330141Sdelphij#define YYFINAL  216
821258945Sroberto/* YYLAST -- Last index in YYTABLE.  */
822330141Sdelphij#define YYLAST   662
823258945Sroberto
824258945Sroberto/* YYNTOKENS -- Number of terminals.  */
825330141Sdelphij#define YYNTOKENS  208
826258945Sroberto/* YYNNTS -- Number of nonterminals.  */
827330141Sdelphij#define YYNNTS  107
828258945Sroberto/* YYNRULES -- Number of rules.  */
829330141Sdelphij#define YYNRULES  324
830301256Sdelphij/* YYNSTATES -- Number of states.  */
831330141Sdelphij#define YYNSTATES  436
832258945Sroberto
833301256Sdelphij/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
834301256Sdelphij   by yylex, with out-of-bounds checking.  */
835258945Sroberto#define YYUNDEFTOK  2
836330141Sdelphij#define YYMAXUTOK   457
837258945Sroberto
838301256Sdelphij#define YYTRANSLATE(YYX)                                                \
839258945Sroberto  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
840258945Sroberto
841301256Sdelphij/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
842301256Sdelphij   as returned by yylex, without out-of-bounds checking.  */
843258945Srobertostatic const yytype_uint8 yytranslate[] =
844258945Sroberto{
845258945Sroberto       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
846258945Sroberto       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
847258945Sroberto       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
848258945Sroberto       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
849330141Sdelphij     204,   205,     2,     2,     2,     2,     2,     2,     2,     2,
850258945Sroberto       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
851330141Sdelphij       2,   203,     2,     2,     2,     2,     2,     2,     2,     2,
852258945Sroberto       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
853258945Sroberto       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
854258945Sroberto       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
855258945Sroberto       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
856258945Sroberto       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
857330141Sdelphij       2,     2,     2,   206,     2,   207,     2,     2,     2,     2,
858258945Sroberto       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
859258945Sroberto       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
860258945Sroberto       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
861258945Sroberto       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
862258945Sroberto       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
863258945Sroberto       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
864258945Sroberto       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
865258945Sroberto       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
866258945Sroberto       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
867258945Sroberto       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
868258945Sroberto       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
869258945Sroberto       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
870258945Sroberto       2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
871258945Sroberto       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
872258945Sroberto      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
873258945Sroberto      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
874258945Sroberto      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
875258945Sroberto      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
876258945Sroberto      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
877258945Sroberto      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
878258945Sroberto      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
879258945Sroberto      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
880258945Sroberto      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
881258945Sroberto     105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
882258945Sroberto     115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
883258945Sroberto     125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
884258945Sroberto     135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
885258945Sroberto     145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
886258945Sroberto     155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
887275970Scy     165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
888275970Scy     175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
889294569Sdelphij     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
890330141Sdelphij     195,   196,   197,   198,   199,   200,   201,   202
891258945Sroberto};
892258945Sroberto
893258945Sroberto#if YYDEBUG
894301256Sdelphij  /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
895258945Srobertostatic const yytype_uint16 yyrline[] =
896258945Sroberto{
897338531Sdelphij       0,   378,   378,   382,   383,   384,   399,   400,   401,   402,
898338531Sdelphij     403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
899338531Sdelphij     420,   430,   431,   432,   433,   434,   438,   439,   444,   449,
900338531Sdelphij     451,   457,   458,   466,   467,   468,   472,   477,   478,   479,
901338531Sdelphij     480,   481,   482,   483,   484,   488,   490,   495,   496,   497,
902338531Sdelphij     498,   499,   500,   504,   509,   518,   528,   529,   539,   541,
903338531Sdelphij     543,   545,   556,   563,   565,   570,   572,   574,   576,   578,
904338531Sdelphij     588,   594,   595,   603,   605,   617,   618,   619,   620,   621,
905338531Sdelphij     630,   635,   640,   648,   650,   652,   654,   659,   660,   661,
906338531Sdelphij     662,   663,   664,   665,   666,   667,   671,   672,   681,   683,
907338531Sdelphij     692,   702,   707,   715,   716,   717,   718,   719,   720,   721,
908338531Sdelphij     722,   727,   728,   736,   746,   755,   770,   775,   776,   780,
909338531Sdelphij     781,   785,   786,   787,   788,   789,   790,   791,   800,   804,
910338531Sdelphij     808,   816,   824,   832,   847,   862,   875,   876,   896,   897,
911338531Sdelphij     905,   906,   907,   908,   909,   910,   911,   912,   913,   914,
912338531Sdelphij     915,   916,   917,   918,   919,   920,   921,   925,   930,   938,
913338531Sdelphij     943,   944,   945,   949,   954,   962,   967,   968,   969,   970,
914338531Sdelphij     971,   972,   973,   974,   982,   992,   997,  1005,  1007,  1009,
915338531Sdelphij    1018,  1020,  1025,  1026,  1030,  1031,  1032,  1033,  1041,  1046,
916338531Sdelphij    1051,  1059,  1064,  1065,  1066,  1075,  1077,  1082,  1087,  1095,
917338531Sdelphij    1097,  1114,  1115,  1116,  1117,  1118,  1119,  1123,  1124,  1125,
918338531Sdelphij    1126,  1127,  1128,  1136,  1141,  1146,  1154,  1159,  1160,  1161,
919338531Sdelphij    1162,  1163,  1164,  1165,  1166,  1167,  1168,  1177,  1178,  1179,
920338531Sdelphij    1186,  1193,  1200,  1216,  1235,  1237,  1239,  1241,  1243,  1245,
921338531Sdelphij    1252,  1257,  1258,  1259,  1263,  1267,  1276,  1277,  1281,  1282,
922338531Sdelphij    1283,  1287,  1298,  1316,  1328,  1333,  1335,  1340,  1341,  1349,
923338531Sdelphij    1351,  1359,  1364,  1372,  1397,  1404,  1414,  1415,  1419,  1420,
924338531Sdelphij    1421,  1422,  1426,  1427,  1428,  1432,  1437,  1442,  1450,  1451,
925338531Sdelphij    1452,  1453,  1454,  1455,  1456,  1466,  1471,  1479,  1484,  1492,
926338531Sdelphij    1494,  1498,  1503,  1508,  1516,  1521,  1529,  1538,  1539,  1543,
927338531Sdelphij    1544,  1548,  1556,  1574,  1578,  1583,  1591,  1596,  1597,  1601,
928338531Sdelphij    1606,  1614,  1619,  1624,  1629,  1634,  1642,  1647,  1652,  1660,
929338531Sdelphij    1665,  1666,  1667,  1668,  1669
930258945Sroberto};
931258945Sroberto#endif
932258945Sroberto
933275970Scy#if YYDEBUG || YYERROR_VERBOSE || 1
934258945Sroberto/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
935258945Sroberto   First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
936258945Srobertostatic const char *const yytname[] =
937258945Sroberto{
938275970Scy  "$end", "error", "$undefined", "T_Abbrev", "T_Age", "T_All", "T_Allan",
939275970Scy  "T_Allpeers", "T_Auth", "T_Autokey", "T_Automax", "T_Average",
940330141Sdelphij  "T_Basedate", "T_Bclient", "T_Bcpollbstep", "T_Beacon", "T_Broadcast",
941309008Sdelphij  "T_Broadcastclient", "T_Broadcastdelay", "T_Burst", "T_Calibrate",
942309008Sdelphij  "T_Ceiling", "T_Clockstats", "T_Cohort", "T_ControlKey", "T_Crypto",
943309008Sdelphij  "T_Cryptostats", "T_Ctl", "T_Day", "T_Default", "T_Digest", "T_Disable",
944309008Sdelphij  "T_Discard", "T_Dispersion", "T_Double", "T_Driftfile", "T_Drop",
945330141Sdelphij  "T_Dscp", "T_Ellipsis", "T_Enable", "T_End", "T_Epeer", "T_False",
946330141Sdelphij  "T_File", "T_Filegen", "T_Filenum", "T_Flag1", "T_Flag2", "T_Flag3",
947330141Sdelphij  "T_Flag4", "T_Flake", "T_Floor", "T_Freq", "T_Fudge", "T_Host",
948330141Sdelphij  "T_Huffpuff", "T_Iburst", "T_Ident", "T_Ignore", "T_Incalloc",
949330141Sdelphij  "T_Incmem", "T_Initalloc", "T_Initmem", "T_Includefile", "T_Integer",
950330141Sdelphij  "T_Interface", "T_Intrange", "T_Io", "T_Ippeerlimit", "T_Ipv4",
951330141Sdelphij  "T_Ipv4_flag", "T_Ipv6", "T_Ipv6_flag", "T_Kernel", "T_Key", "T_Keys",
952330141Sdelphij  "T_Keysdir", "T_Kod", "T_Mssntp", "T_Leapfile", "T_Leapsmearinterval",
953330141Sdelphij  "T_Limited", "T_Link", "T_Listen", "T_Logconfig", "T_Logfile",
954330141Sdelphij  "T_Loopstats", "T_Lowpriotrap", "T_Manycastclient", "T_Manycastserver",
955330141Sdelphij  "T_Mask", "T_Maxage", "T_Maxclock", "T_Maxdepth", "T_Maxdist",
956330141Sdelphij  "T_Maxmem", "T_Maxpoll", "T_Mdnstries", "T_Mem", "T_Memlock",
957330141Sdelphij  "T_Minclock", "T_Mindepth", "T_Mindist", "T_Minimum", "T_Minpoll",
958330141Sdelphij  "T_Minsane", "T_Mode", "T_Mode7", "T_Monitor", "T_Month", "T_Mru",
959330141Sdelphij  "T_Multicastclient", "T_Nic", "T_Nolink", "T_Nomodify", "T_Nomrulist",
960330141Sdelphij  "T_None", "T_Nonvolatile", "T_Noepeer", "T_Nopeer", "T_Noquery",
961330141Sdelphij  "T_Noselect", "T_Noserve", "T_Notrap", "T_Notrust", "T_Ntp", "T_Ntpport",
962330141Sdelphij  "T_NtpSignDsocket", "T_Orphan", "T_Orphanwait", "T_PCEdigest", "T_Panic",
963330141Sdelphij  "T_Peer", "T_Peerstats", "T_Phone", "T_Pid", "T_Pidfile", "T_Pool",
964330141Sdelphij  "T_Port", "T_Preempt", "T_Prefer", "T_Protostats", "T_Pw", "T_Randfile",
965330141Sdelphij  "T_Rawstats", "T_Refid", "T_Requestkey", "T_Reset", "T_Restrict",
966330141Sdelphij  "T_Revoke", "T_Rlimit", "T_Saveconfigdir", "T_Server", "T_Setvar",
967330141Sdelphij  "T_Source", "T_Stacksize", "T_Statistics", "T_Stats", "T_Statsdir",
968330141Sdelphij  "T_Step", "T_Stepback", "T_Stepfwd", "T_Stepout", "T_Stratum",
969330141Sdelphij  "T_String", "T_Sys", "T_Sysstats", "T_Tick", "T_Time1", "T_Time2",
970330141Sdelphij  "T_Timer", "T_Timingstats", "T_Tinker", "T_Tos", "T_Trap", "T_True",
971330141Sdelphij  "T_Trustedkey", "T_Ttl", "T_Type", "T_U_int", "T_UEcrypto",
972330141Sdelphij  "T_UEcryptonak", "T_UEdigest", "T_Unconfig", "T_Unpeer", "T_Version",
973330141Sdelphij  "T_WanderThreshold", "T_Week", "T_Wildcard", "T_Xleave", "T_Year",
974330141Sdelphij  "T_Flag", "T_EOC", "T_Simulate", "T_Beep_Delay", "T_Sim_Duration",
975330141Sdelphij  "T_Server_Offset", "T_Duration", "T_Freq_Offset", "T_Wander", "T_Jitter",
976330141Sdelphij  "T_Prop_Delay", "T_Proc_Delay", "'='", "'('", "')'", "'{'", "'}'",
977330141Sdelphij  "$accept", "configuration", "command_list", "command", "server_command",
978330141Sdelphij  "client_type", "address", "ip_address", "address_fam", "option_list",
979330141Sdelphij  "option", "option_flag", "option_flag_keyword", "option_int",
980330141Sdelphij  "option_int_keyword", "option_str", "option_str_keyword",
981330141Sdelphij  "unpeer_command", "unpeer_keyword", "other_mode_command",
982330141Sdelphij  "authentication_command", "crypto_command_list", "crypto_command",
983330141Sdelphij  "crypto_str_keyword", "orphan_mode_command", "tos_option_list",
984330141Sdelphij  "tos_option", "tos_option_int_keyword", "tos_option_dbl_keyword",
985330141Sdelphij  "monitoring_command", "stats_list", "stat", "filegen_option_list",
986330141Sdelphij  "filegen_option", "link_nolink", "enable_disable", "filegen_type",
987330141Sdelphij  "access_control_command", "res_ippeerlimit", "ac_flag_list",
988309008Sdelphij  "access_control_flag", "discard_option_list", "discard_option",
989309008Sdelphij  "discard_option_keyword", "mru_option_list", "mru_option",
990309008Sdelphij  "mru_option_keyword", "fudge_command", "fudge_factor_list",
991309008Sdelphij  "fudge_factor", "fudge_factor_dbl_keyword", "fudge_factor_bool_keyword",
992309008Sdelphij  "rlimit_command", "rlimit_option_list", "rlimit_option",
993309008Sdelphij  "rlimit_option_keyword", "system_option_command", "system_option_list",
994309008Sdelphij  "system_option", "system_option_flag_keyword",
995275970Scy  "system_option_local_flag_keyword", "tinker_command",
996275970Scy  "tinker_option_list", "tinker_option", "tinker_option_keyword",
997285612Sdelphij  "miscellaneous_command", "misc_cmd_dbl_keyword", "misc_cmd_int_keyword",
998285612Sdelphij  "misc_cmd_str_keyword", "misc_cmd_str_lcl_keyword", "drift_parm",
999285612Sdelphij  "variable_assign", "t_default_or_zero", "trap_option_list",
1000285612Sdelphij  "trap_option", "log_config_list", "log_config_command",
1001285612Sdelphij  "interface_command", "interface_nic", "nic_rule_class",
1002285612Sdelphij  "nic_rule_action", "reset_command", "counter_set_list",
1003285612Sdelphij  "counter_set_keyword", "integer_list", "integer_list_range",
1004285612Sdelphij  "integer_list_range_elt", "integer_range", "string_list", "address_list",
1005330141Sdelphij  "boolean", "number", "basedate", "simulate_command", "sim_conf_start",
1006285612Sdelphij  "sim_init_statement_list", "sim_init_statement", "sim_init_keyword",
1007285612Sdelphij  "sim_server_list", "sim_server", "sim_server_offset", "sim_server_name",
1008285612Sdelphij  "sim_act_list", "sim_act", "sim_act_stmt_list", "sim_act_stmt",
1009301256Sdelphij  "sim_act_keyword", YY_NULLPTR
1010258945Sroberto};
1011258945Sroberto#endif
1012258945Sroberto
1013258945Sroberto# ifdef YYPRINT
1014301256Sdelphij/* YYTOKNUM[NUM] -- (External) token number corresponding to the
1015301256Sdelphij   (internal) symbol number NUM (which must be that of a token).  */
1016258945Srobertostatic const yytype_uint16 yytoknum[] =
1017258945Sroberto{
1018258945Sroberto       0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1019258945Sroberto     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
1020258945Sroberto     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
1021258945Sroberto     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
1022258945Sroberto     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
1023258945Sroberto     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
1024258945Sroberto     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
1025258945Sroberto     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
1026258945Sroberto     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
1027258945Sroberto     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
1028258945Sroberto     355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
1029258945Sroberto     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
1030258945Sroberto     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
1031258945Sroberto     385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
1032258945Sroberto     395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
1033258945Sroberto     405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
1034275970Scy     415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
1035275970Scy     425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
1036278284Scy     435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
1037330141Sdelphij     445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
1038330141Sdelphij     455,   456,   457,    61,    40,    41,   123,   125
1039258945Sroberto};
1040258945Sroberto# endif
1041258945Sroberto
1042330141Sdelphij#define YYPACT_NINF -215
1043258945Sroberto
1044301256Sdelphij#define yypact_value_is_default(Yystate) \
1045330141Sdelphij  (!!((Yystate) == (-215)))
1046301256Sdelphij
1047301256Sdelphij#define YYTABLE_NINF -7
1048301256Sdelphij
1049301256Sdelphij#define yytable_value_is_error(Yytable_value) \
1050301256Sdelphij  0
1051301256Sdelphij
1052301256Sdelphij  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1053301256Sdelphij     STATE-NUM.  */
1054301256Sdelphijstatic const yytype_int16 yypact[] =
1055258945Sroberto{
1056330141Sdelphij      11,  -175,     2,  -215,  -215,  -215,     3,  -215,    93,     9,
1057330141Sdelphij    -138,  -215,    93,  -215,    66,   -40,  -215,   -93,  -215,   -87,
1058330141Sdelphij     -82,  -215,  -215,   -81,  -215,  -215,   -40,    20,   210,   -40,
1059330141Sdelphij    -215,  -215,   -70,  -215,   -67,  -215,  -215,    34,     6,   -13,
1060330141Sdelphij      47,    -6,  -215,  -215,   -48,    66,   -45,  -215,   412,   483,
1061330141Sdelphij     -39,   -60,    62,  -215,  -215,  -215,   127,   203,   -63,  -215,
1062330141Sdelphij     -40,  -215,   -40,  -215,  -215,  -215,  -215,  -215,  -215,  -215,
1063330141Sdelphij    -215,  -215,  -215,   -11,    75,   -24,   -22,  -215,   -18,  -215,
1064330141Sdelphij    -215,   -53,  -215,  -215,  -215,    48,  -215,  -215,  -215,  -215,
1065330141Sdelphij    -215,  -215,  -215,  -215,  -215,  -215,  -215,  -215,    93,  -215,
1066330141Sdelphij    -215,  -215,  -215,  -215,  -215,     9,  -215,    82,   120,  -215,
1067330141Sdelphij      93,  -215,  -215,  -215,  -215,  -215,  -215,  -215,  -215,  -215,
1068330141Sdelphij    -215,  -215,  -215,    86,  -215,     4,   373,  -215,  -215,  -215,
1069330141Sdelphij     -81,  -215,  -215,   -40,  -215,  -215,  -215,  -215,  -215,  -215,
1070330141Sdelphij    -215,  -215,  -215,   210,  -215,   106,   -40,  -215,  -215,    15,
1071330141Sdelphij    -215,  -215,  -215,  -215,  -215,  -215,  -215,  -215,     6,  -215,
1072330141Sdelphij     105,   146,   151,   105,   -30,  -215,  -215,  -215,  -215,    -6,
1073330141Sdelphij    -215,   117,   -21,  -215,    66,  -215,  -215,  -215,  -215,  -215,
1074330141Sdelphij    -215,  -215,  -215,  -215,  -215,  -215,  -215,   412,  -215,   -11,
1075330141Sdelphij      22,  -215,  -215,  -215,   -20,  -215,  -215,  -215,  -215,  -215,
1076330141Sdelphij    -215,  -215,  -215,   483,  -215,   128,   -11,  -215,  -215,  -215,
1077330141Sdelphij     129,   -60,  -215,  -215,  -215,   132,  -215,    10,  -215,  -215,
1078330141Sdelphij    -215,  -215,  -215,  -215,  -215,  -215,  -215,  -215,  -215,  -215,
1079330141Sdelphij       1,  -133,  -215,  -215,  -215,  -215,  -215,   134,  -215,    41,
1080330141Sdelphij    -215,  -215,  -215,  -215,   -28,    42,  -215,  -215,  -215,  -215,
1081330141Sdelphij      45,   148,  -215,  -215,    86,  -215,   -11,   -20,  -215,  -215,
1082330141Sdelphij    -215,  -215,  -215,  -215,  -215,  -215,   150,  -215,   105,   105,
1083330141Sdelphij    -215,   -39,  -215,  -215,  -215,    51,  -215,  -215,  -215,  -215,
1084330141Sdelphij    -215,  -215,  -215,  -215,  -215,  -215,  -215,   -57,   178,  -215,
1085330141Sdelphij    -215,  -215,   288,  -215,  -215,  -215,  -215,  -215,  -215,  -215,
1086330141Sdelphij    -215,  -115,    25,    23,  -215,  -215,  -215,  -215,    61,  -215,
1087330141Sdelphij    -215,    21,  -215,  -215,  -215,  -215,  -215,  -215,  -215,  -215,
1088330141Sdelphij    -215,  -215,   477,  -215,  -215,   477,   105,   477,   201,   -39,
1089330141Sdelphij     169,  -215,   172,  -215,  -215,  -215,  -215,  -215,  -215,  -215,
1090330141Sdelphij    -215,  -215,  -215,  -215,  -215,  -215,  -215,  -215,  -215,  -215,
1091330141Sdelphij    -215,  -215,   -59,  -215,    77,    36,    52,  -100,  -215,    39,
1092330141Sdelphij    -215,   -11,  -215,  -215,  -215,  -215,  -215,  -215,  -215,  -215,
1093330141Sdelphij    -215,  -215,  -215,  -215,  -215,  -215,  -215,  -215,  -215,  -215,
1094330141Sdelphij    -215,  -215,  -215,  -215,  -215,  -215,  -215,  -215,  -215,   477,
1095330141Sdelphij     477,  -215,  -215,  -215,  -215,  -215,    43,  -215,  -215,  -215,
1096330141Sdelphij     -40,  -215,  -215,  -215,    55,  -215,   477,  -215,  -215,    49,
1097330141Sdelphij      56,   -11,    54,  -166,  -215,    67,   -11,  -215,  -215,  -215,
1098330141Sdelphij      70,    63,  -215,  -215,  -215,  -215,  -215,   124,    85,    64,
1099330141Sdelphij    -215,    89,  -215,   -11,  -215,  -215
1100258945Sroberto};
1101258945Sroberto
1102301256Sdelphij  /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
1103301256Sdelphij     Performed when YYTABLE does not specify something else to do.  Zero
1104301256Sdelphij     means the default is an error.  */
1105289997Sglebiusstatic const yytype_uint16 yydefact[] =
1106289997Sglebius{
1107330141Sdelphij       0,     0,     0,    24,    58,   241,     0,    71,     0,     0,
1108330141Sdelphij     253,   244,     0,   234,     0,     0,   246,     0,   266,     0,
1109330141Sdelphij       0,   247,   245,     0,   248,    25,     0,     0,     0,     0,
1110330141Sdelphij     267,   242,     0,    23,     0,   249,    22,     0,     0,     0,
1111330141Sdelphij       0,     0,   250,    21,     0,     0,     0,   243,     0,     0,
1112330141Sdelphij       0,     0,     0,    56,    57,   303,     0,     2,     0,     7,
1113289997Sglebius       0,     8,     0,     9,    10,    13,    11,    12,    14,    15,
1114330141Sdelphij      16,    17,    18,     0,     0,     0,     0,   227,     0,   228,
1115330141Sdelphij      19,     0,     5,    62,    63,    64,   201,   202,   203,   204,
1116330141Sdelphij     207,   205,   206,   208,   209,   210,   211,   212,   196,   198,
1117330141Sdelphij     199,   200,   160,   161,   162,   128,   158,     0,   251,   235,
1118330141Sdelphij     195,   103,   104,   105,   106,   110,   107,   108,   109,   111,
1119330141Sdelphij      29,    30,    28,     0,    26,     0,     6,    65,    66,   263,
1120330141Sdelphij     236,   262,   295,    59,    61,   166,   167,   168,   169,   170,
1121330141Sdelphij     171,   172,   173,   129,   164,     0,    60,    70,   293,   237,
1122330141Sdelphij      67,   278,   279,   280,   281,   282,   283,   284,   275,   277,
1123330141Sdelphij     136,    29,    30,   136,   136,    68,   194,   192,   193,   188,
1124330141Sdelphij     190,     0,     0,   238,    98,   102,    99,   217,   218,   219,
1125330141Sdelphij     220,   221,   222,   223,   224,   225,   226,   213,   215,     0,
1126330141Sdelphij       0,    87,    88,    89,     0,    90,    91,    97,    92,    96,
1127330141Sdelphij      93,    94,    95,    80,    82,     0,     0,    86,   257,   289,
1128330141Sdelphij       0,    69,   288,   290,   286,   240,     1,     0,     4,    31,
1129330141Sdelphij      55,   300,   299,   229,   230,   231,   232,   274,   273,   272,
1130330141Sdelphij       0,     0,    79,    75,    76,    77,    78,     0,    72,     0,
1131330141Sdelphij     197,   157,   159,   252,   100,     0,   184,   185,   186,   187,
1132330141Sdelphij       0,     0,   182,   183,   174,   176,     0,     0,    27,   233,
1133330141Sdelphij     261,   294,   163,   165,   292,   276,     0,   138,   136,   136,
1134330141Sdelphij     138,     0,   138,   189,   191,     0,   101,   214,   216,   301,
1135330141Sdelphij     298,   296,   297,    85,    81,    83,    84,   239,     0,   287,
1136330141Sdelphij     285,     3,    20,   268,   269,   270,   265,   271,   264,   307,
1137330141Sdelphij     308,     0,     0,     0,    74,    73,   120,   119,     0,   117,
1138330141Sdelphij     118,     0,   112,   115,   116,   180,   181,   179,   175,   177,
1139330141Sdelphij     178,   137,   132,   138,   138,   135,   136,   130,   256,     0,
1140330141Sdelphij       0,   258,     0,    37,    38,    39,    54,    47,    49,    48,
1141330141Sdelphij      51,    40,    41,    42,    43,    50,    52,    44,    32,    33,
1142330141Sdelphij      36,    34,     0,    35,     0,     0,     0,     0,   310,     0,
1143330141Sdelphij     305,     0,   113,   127,   123,   125,   121,   122,   124,   126,
1144330141Sdelphij     114,   140,   141,   142,   143,   144,   145,   146,   148,   149,
1145330141Sdelphij     147,   150,   151,   152,   153,   154,   155,   156,   139,   133,
1146330141Sdelphij     134,   138,   255,   254,   260,   259,     0,    45,    46,    53,
1147330141Sdelphij       0,   304,   302,   309,     0,   306,   131,   291,   313,     0,
1148330141Sdelphij       0,     0,     0,     0,   315,     0,     0,   311,   314,   312,
1149330141Sdelphij       0,     0,   320,   321,   322,   323,   324,     0,     0,     0,
1150330141Sdelphij     316,     0,   318,     0,   317,   319
1151289997Sglebius};
1152289997Sglebius
1153301256Sdelphij  /* YYPGOTO[NTERM-NUM].  */
1154301256Sdelphijstatic const yytype_int16 yypgoto[] =
1155285612Sdelphij{
1156330141Sdelphij    -215,  -215,  -215,   -23,  -215,  -215,   -15,   -49,  -215,  -215,
1157330141Sdelphij    -215,  -215,  -215,  -215,  -215,  -215,  -215,  -215,  -215,  -215,
1158330141Sdelphij    -215,  -215,  -215,  -215,  -215,  -215,    81,  -215,  -215,  -215,
1159330141Sdelphij    -215,   -38,  -215,  -215,  -215,  -215,  -215,  -215,  -154,  -214,
1160330141Sdelphij    -215,  -215,   153,  -215,  -215,   142,  -215,  -215,  -215,    32,
1161330141Sdelphij    -215,  -215,  -215,  -215,   121,  -215,  -215,   277,   -35,  -215,
1162330141Sdelphij    -215,  -215,  -215,   107,  -215,  -215,  -215,  -215,  -215,  -215,
1163330141Sdelphij    -215,  -215,  -215,  -215,  -215,  -215,   163,  -215,  -215,  -215,
1164330141Sdelphij    -215,  -215,  -215,   137,  -215,  -215,    87,  -215,  -215,   267,
1165330141Sdelphij      53,  -187,  -215,  -215,  -215,  -215,    -2,  -215,  -215,   -55,
1166330141Sdelphij    -215,  -215,  -215,  -109,  -215,  -121,  -215
1167285612Sdelphij};
1168285612Sdelphij
1169301256Sdelphij  /* YYDEFGOTO[NTERM-NUM].  */
1170301256Sdelphijstatic const yytype_int16 yydefgoto[] =
1171289997Sglebius{
1172330141Sdelphij      -1,    56,    57,    58,    59,    60,   132,   124,   125,   292,
1173330141Sdelphij     348,   349,   350,   351,   352,   353,   354,    61,    62,    63,
1174330141Sdelphij      64,    85,   238,   239,    65,   203,   204,   205,   206,    66,
1175330141Sdelphij     174,   119,   244,   312,   313,   314,   370,    67,   267,   322,
1176330141Sdelphij     388,   105,   106,   107,   143,   144,   145,    68,   254,   255,
1177330141Sdelphij     256,   257,    69,   169,   170,   171,    70,    98,    99,   100,
1178330141Sdelphij     101,    71,   187,   188,   189,    72,    73,    74,    75,    76,
1179330141Sdelphij     109,   173,   393,   287,   331,   130,   131,    77,    78,   298,
1180330141Sdelphij     230,    79,   158,   159,   215,   211,   212,   213,   149,   133,
1181330141Sdelphij     283,   223,   207,    80,    81,   301,   302,   303,   357,   358,
1182330141Sdelphij     410,   359,   413,   414,   427,   428,   429
1183289997Sglebius};
1184289997Sglebius
1185301256Sdelphij  /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
1186301256Sdelphij     positive, shift that token.  If negative, reduce the rule whose
1187301256Sdelphij     number is the opposite.  If YYTABLE_NINF, syntax error.  */
1188258945Srobertostatic const yytype_int16 yytable[] =
1189258945Sroberto{
1190330141Sdelphij     123,   208,   278,   306,   209,   397,   293,   175,   329,   270,
1191330141Sdelphij     272,   307,     1,   151,   152,   308,   160,    82,   227,   286,
1192330141Sdelphij     102,     2,   280,   221,   164,   363,   108,     3,     4,     5,
1193330141Sdelphij     120,   412,   121,   153,   217,     6,     7,   355,   266,   166,
1194330141Sdelphij     228,   417,     8,     9,   281,   219,    10,   220,    11,   364,
1195330141Sdelphij      12,    13,   355,   222,   309,    14,   325,   161,   327,   162,
1196330141Sdelphij     271,   299,   300,   240,    15,   229,    83,    84,    16,   319,
1197330141Sdelphij     294,   126,   295,   154,    17,   240,    18,   127,   232,   299,
1198330141Sdelphij     300,   330,   128,   129,   134,   310,    19,    20,   111,   245,
1199330141Sdelphij      21,    22,   112,   167,   147,    23,    24,   148,   150,    25,
1200330141Sdelphij      26,    86,   233,   259,   155,   234,    87,   402,    27,   389,
1201330141Sdelphij     390,   165,   103,    88,   323,   324,   172,   104,   261,   176,
1202330141Sdelphij     398,    28,    29,    30,   122,   122,   214,   216,    31,   218,
1203330141Sdelphij     365,   261,   246,   247,   248,   249,   276,   366,    32,   224,
1204330141Sdelphij     225,   163,   226,    33,   210,    34,   242,    35,    36,   168,
1205330141Sdelphij     311,   122,   113,   231,   243,   282,   367,    37,    38,    39,
1206330141Sdelphij      40,    41,    42,    43,    44,   296,    89,    45,   258,    46,
1207330141Sdelphij     263,   156,   391,   266,   405,   268,   157,   406,    47,   264,
1208330141Sdelphij     269,   274,   275,    48,    49,    50,   279,    51,    52,   297,
1209330141Sdelphij     235,   236,   285,   288,    53,    54,   290,   237,   304,   114,
1210330141Sdelphij      90,    91,   291,    -6,    55,   305,   315,   115,   368,   316,
1211330141Sdelphij     116,   369,   317,     2,   321,   328,   332,   360,    92,     3,
1212330141Sdelphij       4,     5,   326,    93,   415,   362,   361,     6,     7,   420,
1213330141Sdelphij     392,   250,   117,   395,     8,     9,   396,   118,    10,   400,
1214330141Sdelphij      11,   399,    12,    13,   401,   404,   435,    14,   407,   251,
1215330141Sdelphij      94,   409,   411,   412,   252,   253,    15,   416,   241,   419,
1216330141Sdelphij      16,   422,   423,   424,   425,   426,    17,   433,    18,   135,
1217330141Sdelphij     136,   137,   138,    95,    96,    97,   421,   432,    19,    20,
1218330141Sdelphij     394,   434,    21,    22,   284,   262,   318,    23,    24,   110,
1219330141Sdelphij     273,    25,    26,   260,   277,   265,   146,   333,   289,   356,
1220330141Sdelphij      27,   139,   403,   140,   418,   141,   431,   334,     0,     0,
1221330141Sdelphij     320,   142,     0,    28,    29,    30,     0,     0,     0,     0,
1222330141Sdelphij      31,     0,   422,   423,   424,   425,   426,     0,     0,     0,
1223330141Sdelphij      32,   430,     0,     0,     0,    33,     0,    34,     0,    35,
1224330141Sdelphij      36,     0,     0,     0,   335,   336,     0,     0,     0,    37,
1225309008Sdelphij      38,    39,    40,    41,    42,    43,    44,     0,     0,    45,
1226330141Sdelphij       0,    46,   337,     0,     0,     0,     0,     0,     0,     0,
1227330141Sdelphij      47,     0,     0,     0,     0,    48,    49,    50,     0,    51,
1228330141Sdelphij      52,     0,     0,     2,   338,   408,    53,    54,     0,     3,
1229330141Sdelphij       4,     5,   339,     0,   340,    -6,    55,     6,     7,     0,
1230330141Sdelphij       0,     0,     0,     0,     8,     9,     0,     0,    10,   341,
1231330141Sdelphij      11,     0,    12,    13,     0,     0,     0,    14,   177,     0,
1232330141Sdelphij       0,     0,     0,     0,     0,     0,    15,   342,   343,     0,
1233330141Sdelphij      16,     0,     0,     0,     0,     0,    17,     0,    18,     0,
1234330141Sdelphij       0,     0,     0,     0,     0,   178,     0,     0,    19,    20,
1235330141Sdelphij       0,     0,    21,    22,     0,     0,     0,    23,    24,     0,
1236330141Sdelphij       0,    25,    26,   344,   179,   345,     0,   180,     0,     0,
1237330141Sdelphij      27,     0,     0,   346,     0,     0,     0,   347,     0,     0,
1238330141Sdelphij       0,     0,     0,    28,    29,    30,     0,     0,     0,     0,
1239330141Sdelphij      31,     0,     0,     0,     0,   190,     0,   191,   192,     0,
1240330141Sdelphij      32,     0,     0,     0,   193,    33,   194,    34,     0,    35,
1241330141Sdelphij      36,     0,     0,     0,     0,     0,     0,     0,   371,    37,
1242330141Sdelphij      38,    39,    40,    41,    42,    43,    44,   372,     0,    45,
1243330141Sdelphij       0,    46,     0,     0,   195,   373,     0,     0,     0,     0,
1244330141Sdelphij      47,     0,     0,   181,     0,    48,    49,    50,     0,    51,
1245330141Sdelphij      52,     0,     0,     0,   374,   375,    53,    54,   376,     0,
1246330141Sdelphij       0,     0,     0,     0,   377,     0,    55,     0,     0,     0,
1247330141Sdelphij       0,   182,   183,   184,   185,   196,     0,   197,     0,   186,
1248330141Sdelphij       0,     0,     0,   198,     0,   199,     0,     0,   200,     0,
1249330141Sdelphij       0,   378,   379,     0,     0,   380,   381,   382,     0,   383,
1250330141Sdelphij     384,   385,     0,   386,     0,     0,     0,     0,     0,     0,
1251330141Sdelphij       0,   201,   202,     0,     0,     0,     0,     0,     0,     0,
1252258945Sroberto       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1253294569Sdelphij       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1254330141Sdelphij       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1255330141Sdelphij       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1256330141Sdelphij       0,     0,   387
1257258945Sroberto};
1258258945Sroberto
1259258945Srobertostatic const yytype_int16 yycheck[] =
1260258945Sroberto{
1261330141Sdelphij      15,    50,   189,    31,    64,    64,     5,    45,    65,   163,
1262330141Sdelphij     164,    39,     1,     7,     8,    43,    29,   192,    36,   206,
1263330141Sdelphij      11,    10,    42,    34,    39,     4,   164,    16,    17,    18,
1264330141Sdelphij      70,   197,    72,    27,    57,    24,    25,   152,    68,    45,
1265330141Sdelphij      58,   207,    31,    32,    64,    60,    35,    62,    37,    28,
1266330141Sdelphij      39,    40,   152,    64,    82,    44,   270,    70,   272,    72,
1267330141Sdelphij      90,   194,   195,    98,    53,    83,    64,    64,    57,   256,
1268330141Sdelphij      69,   164,    71,    67,    63,   110,    65,   164,    30,   194,
1269330141Sdelphij     195,   138,   164,   164,    64,   113,    75,    76,    22,     3,
1270330141Sdelphij      79,    80,    26,    99,   164,    84,    85,   164,    64,    88,
1271330141Sdelphij      89,     8,    54,   126,    98,    57,    13,   207,    97,   323,
1272330141Sdelphij     324,    64,   103,    20,   268,   269,   164,   108,   133,   164,
1273330141Sdelphij     179,   110,   111,   112,   164,   164,    64,     0,   117,   192,
1274330141Sdelphij     109,   146,    46,    47,    48,    49,   174,   116,   127,    64,
1275330141Sdelphij     164,   154,   164,   132,   204,   134,    64,   136,   137,   155,
1276330141Sdelphij     178,   164,    86,   206,    34,   175,   135,   146,   147,   148,
1277330141Sdelphij     149,   150,   151,   152,   153,   164,    73,   156,   164,   158,
1278330141Sdelphij      64,   165,   326,    68,   361,    29,   170,   391,   167,   164,
1279330141Sdelphij      29,    64,   203,   172,   173,   174,   164,   176,   177,   188,
1280330141Sdelphij     142,   143,    64,    64,   183,   184,    64,   149,    64,   133,
1281330141Sdelphij     107,   108,   192,   192,   193,   164,   164,   141,   187,   164,
1282330141Sdelphij     144,   190,    64,    10,    64,   164,    38,   192,   125,    16,
1283330141Sdelphij      17,    18,   271,   130,   411,   164,   203,    24,    25,   416,
1284330141Sdelphij      29,   145,   166,    64,    31,    32,    64,   171,    35,   203,
1285330141Sdelphij      37,   164,    39,    40,   192,   206,   433,    44,   205,   163,
1286330141Sdelphij     157,   196,   203,   197,   168,   169,    53,   203,   105,   192,
1287330141Sdelphij      57,   198,   199,   200,   201,   202,    63,   203,    65,    59,
1288330141Sdelphij      60,    61,    62,   180,   181,   182,   206,   192,    75,    76,
1289330141Sdelphij     329,   192,    79,    80,   203,   143,   254,    84,    85,    12,
1290330141Sdelphij     169,    88,    89,   130,   187,   158,    29,     9,   211,   301,
1291330141Sdelphij      97,    91,   357,    93,   413,    95,   427,    19,    -1,    -1,
1292330141Sdelphij     257,   101,    -1,   110,   111,   112,    -1,    -1,    -1,    -1,
1293330141Sdelphij     117,    -1,   198,   199,   200,   201,   202,    -1,    -1,    -1,
1294330141Sdelphij     127,   207,    -1,    -1,    -1,   132,    -1,   134,    -1,   136,
1295330141Sdelphij     137,    -1,    -1,    -1,    56,    57,    -1,    -1,    -1,   146,
1296330141Sdelphij     147,   148,   149,   150,   151,   152,   153,    -1,    -1,   156,
1297330141Sdelphij      -1,   158,    74,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1298330141Sdelphij     167,    -1,    -1,    -1,    -1,   172,   173,   174,    -1,   176,
1299330141Sdelphij     177,    -1,    -1,    10,    96,   400,   183,   184,    -1,    16,
1300330141Sdelphij      17,    18,   104,    -1,   106,   192,   193,    24,    25,    -1,
1301330141Sdelphij      -1,    -1,    -1,    -1,    31,    32,    -1,    -1,    35,   121,
1302330141Sdelphij      37,    -1,    39,    40,    -1,    -1,    -1,    44,     6,    -1,
1303330141Sdelphij      -1,    -1,    -1,    -1,    -1,    -1,    53,   139,   140,    -1,
1304330141Sdelphij      57,    -1,    -1,    -1,    -1,    -1,    63,    -1,    65,    -1,
1305330141Sdelphij      -1,    -1,    -1,    -1,    -1,    33,    -1,    -1,    75,    76,
1306330141Sdelphij      -1,    -1,    79,    80,    -1,    -1,    -1,    84,    85,    -1,
1307330141Sdelphij      -1,    88,    89,   175,    52,   177,    -1,    55,    -1,    -1,
1308330141Sdelphij      97,    -1,    -1,   185,    -1,    -1,    -1,   189,    -1,    -1,
1309330141Sdelphij      -1,    -1,    -1,   110,   111,   112,    -1,    -1,    -1,    -1,
1310330141Sdelphij     117,    -1,    -1,    -1,    -1,    12,    -1,    14,    15,    -1,
1311330141Sdelphij     127,    -1,    -1,    -1,    21,   132,    23,   134,    -1,   136,
1312330141Sdelphij     137,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    41,   146,
1313330141Sdelphij     147,   148,   149,   150,   151,   152,   153,    50,    -1,   156,
1314330141Sdelphij      -1,   158,    -1,    -1,    51,    58,    -1,    -1,    -1,    -1,
1315330141Sdelphij     167,    -1,    -1,   131,    -1,   172,   173,   174,    -1,   176,
1316330141Sdelphij     177,    -1,    -1,    -1,    77,    78,   183,   184,    81,    -1,
1317330141Sdelphij      -1,    -1,    -1,    -1,    87,    -1,   193,    -1,    -1,    -1,
1318330141Sdelphij      -1,   159,   160,   161,   162,    92,    -1,    94,    -1,   167,
1319330141Sdelphij      -1,    -1,    -1,   100,    -1,   102,    -1,    -1,   105,    -1,
1320330141Sdelphij      -1,   114,   115,    -1,    -1,   118,   119,   120,    -1,   122,
1321330141Sdelphij     123,   124,    -1,   126,    -1,    -1,    -1,    -1,    -1,    -1,
1322330141Sdelphij      -1,   128,   129,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1323301256Sdelphij      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1324301256Sdelphij      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1325330141Sdelphij      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1326330141Sdelphij      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1327330141Sdelphij      -1,    -1,   185
1328258945Sroberto};
1329258945Sroberto
1330301256Sdelphij  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1331301256Sdelphij     symbol of state STATE-NUM.  */
1332258945Srobertostatic const yytype_uint16 yystos[] =
1333258945Sroberto{
1334330141Sdelphij       0,     1,    10,    16,    17,    18,    24,    25,    31,    32,
1335330141Sdelphij      35,    37,    39,    40,    44,    53,    57,    63,    65,    75,
1336330141Sdelphij      76,    79,    80,    84,    85,    88,    89,    97,   110,   111,
1337330141Sdelphij     112,   117,   127,   132,   134,   136,   137,   146,   147,   148,
1338330141Sdelphij     149,   150,   151,   152,   153,   156,   158,   167,   172,   173,
1339330141Sdelphij     174,   176,   177,   183,   184,   193,   209,   210,   211,   212,
1340330141Sdelphij     213,   225,   226,   227,   228,   232,   237,   245,   255,   260,
1341330141Sdelphij     264,   269,   273,   274,   275,   276,   277,   285,   286,   289,
1342330141Sdelphij     301,   302,   192,    64,    64,   229,     8,    13,    20,    73,
1343330141Sdelphij     107,   108,   125,   130,   157,   180,   181,   182,   265,   266,
1344330141Sdelphij     267,   268,    11,   103,   108,   249,   250,   251,   164,   278,
1345330141Sdelphij     265,    22,    26,    86,   133,   141,   144,   166,   171,   239,
1346330141Sdelphij      70,    72,   164,   214,   215,   216,   164,   164,   164,   164,
1347330141Sdelphij     283,   284,   214,   297,    64,    59,    60,    61,    62,    91,
1348330141Sdelphij      93,    95,   101,   252,   253,   254,   297,   164,   164,   296,
1349330141Sdelphij      64,     7,     8,    27,    67,    98,   165,   170,   290,   291,
1350330141Sdelphij      29,    70,    72,   154,   214,    64,    45,    99,   155,   261,
1351330141Sdelphij     262,   263,   164,   279,   238,   239,   164,     6,    33,    52,
1352330141Sdelphij      55,   131,   159,   160,   161,   162,   167,   270,   271,   272,
1353330141Sdelphij      12,    14,    15,    21,    23,    51,    92,    94,   100,   102,
1354330141Sdelphij     105,   128,   129,   233,   234,   235,   236,   300,   215,    64,
1355330141Sdelphij     204,   293,   294,   295,    64,   292,     0,   211,   192,   214,
1356330141Sdelphij     214,    34,    64,   299,    64,   164,   164,    36,    58,    83,
1357330141Sdelphij     288,   206,    30,    54,    57,   142,   143,   149,   230,   231,
1358330141Sdelphij     266,   250,    64,    34,   240,     3,    46,    47,    48,    49,
1359330141Sdelphij     145,   163,   168,   169,   256,   257,   258,   259,   164,   211,
1360330141Sdelphij     284,   214,   253,    64,   164,   291,    68,   246,    29,    29,
1361330141Sdelphij     246,    90,   246,   262,    64,   203,   239,   271,   299,   164,
1362330141Sdelphij      42,    64,   175,   298,   234,    64,   299,   281,    64,   294,
1363330141Sdelphij      64,   192,   217,     5,    69,    71,   164,   188,   287,   194,
1364330141Sdelphij     195,   303,   304,   305,    64,   164,    31,    39,    43,    82,
1365330141Sdelphij     113,   178,   241,   242,   243,   164,   164,    64,   257,   299,
1366330141Sdelphij     298,    64,   247,   246,   246,   247,   215,   247,   164,    65,
1367330141Sdelphij     138,   282,    38,     9,    19,    56,    57,    74,    96,   104,
1368330141Sdelphij     106,   121,   139,   140,   175,   177,   185,   189,   218,   219,
1369330141Sdelphij     220,   221,   222,   223,   224,   152,   304,   306,   307,   309,
1370330141Sdelphij     192,   203,   164,     4,    28,   109,   116,   135,   187,   190,
1371330141Sdelphij     244,    41,    50,    58,    77,    78,    81,    87,   114,   115,
1372330141Sdelphij     118,   119,   120,   122,   123,   124,   126,   185,   248,   247,
1373330141Sdelphij     247,   246,    29,   280,   215,    64,    64,    64,   179,   164,
1374330141Sdelphij     203,   192,   207,   307,   206,   299,   247,   205,   214,   196,
1375330141Sdelphij     308,   203,   197,   310,   311,   299,   203,   207,   311,   192,
1376330141Sdelphij     299,   206,   198,   199,   200,   201,   202,   312,   313,   314,
1377330141Sdelphij     207,   313,   192,   203,   192,   299
1378258945Sroberto};
1379258945Sroberto
1380301256Sdelphij  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1381301256Sdelphijstatic const yytype_uint16 yyr1[] =
1382301256Sdelphij{
1383330141Sdelphij       0,   208,   209,   210,   210,   210,   211,   211,   211,   211,
1384330141Sdelphij     211,   211,   211,   211,   211,   211,   211,   211,   211,   211,
1385330141Sdelphij     212,   213,   213,   213,   213,   213,   214,   214,   215,   216,
1386330141Sdelphij     216,   217,   217,   218,   218,   218,   219,   220,   220,   220,
1387330141Sdelphij     220,   220,   220,   220,   220,   221,   221,   222,   222,   222,
1388330141Sdelphij     222,   222,   222,   223,   224,   225,   226,   226,   227,   227,
1389330141Sdelphij     227,   227,   228,   228,   228,   228,   228,   228,   228,   228,
1390330141Sdelphij     228,   229,   229,   230,   230,   231,   231,   231,   231,   231,
1391330141Sdelphij     232,   233,   233,   234,   234,   234,   234,   235,   235,   235,
1392330141Sdelphij     235,   235,   235,   235,   235,   235,   236,   236,   237,   237,
1393330141Sdelphij     237,   238,   238,   239,   239,   239,   239,   239,   239,   239,
1394330141Sdelphij     239,   240,   240,   241,   241,   241,   241,   242,   242,   243,
1395330141Sdelphij     243,   244,   244,   244,   244,   244,   244,   244,   245,   245,
1396330141Sdelphij     245,   245,   245,   245,   245,   245,   246,   246,   247,   247,
1397330141Sdelphij     248,   248,   248,   248,   248,   248,   248,   248,   248,   248,
1398330141Sdelphij     248,   248,   248,   248,   248,   248,   248,   249,   249,   250,
1399330141Sdelphij     251,   251,   251,   252,   252,   253,   254,   254,   254,   254,
1400330141Sdelphij     254,   254,   254,   254,   255,   256,   256,   257,   257,   257,
1401330141Sdelphij     257,   257,   258,   258,   259,   259,   259,   259,   260,   261,
1402330141Sdelphij     261,   262,   263,   263,   263,   264,   264,   265,   265,   266,
1403330141Sdelphij     266,   267,   267,   267,   267,   267,   267,   268,   268,   268,
1404330141Sdelphij     268,   268,   268,   269,   270,   270,   271,   272,   272,   272,
1405330141Sdelphij     272,   272,   272,   272,   272,   272,   272,   273,   273,   273,
1406330141Sdelphij     273,   273,   273,   273,   273,   273,   273,   273,   273,   273,
1407330141Sdelphij     273,   274,   274,   274,   275,   275,   276,   276,   277,   277,
1408330141Sdelphij     277,   278,   278,   278,   279,   280,   280,   281,   281,   282,
1409330141Sdelphij     282,   283,   283,   284,   285,   285,   286,   286,   287,   287,
1410330141Sdelphij     287,   287,   288,   288,   288,   289,   290,   290,   291,   291,
1411330141Sdelphij     291,   291,   291,   291,   291,   292,   292,   293,   293,   294,
1412330141Sdelphij     294,   295,   296,   296,   297,   297,   298,   298,   298,   299,
1413330141Sdelphij     299,   300,   301,   302,   303,   303,   304,   305,   305,   306,
1414330141Sdelphij     306,   307,   308,   309,   310,   310,   311,   312,   312,   313,
1415330141Sdelphij     314,   314,   314,   314,   314
1416301256Sdelphij};
1417258945Sroberto
1418301256Sdelphij  /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
1419301256Sdelphijstatic const yytype_uint8 yyr2[] =
1420301256Sdelphij{
1421301256Sdelphij       0,     2,     1,     3,     2,     2,     0,     1,     1,     1,
1422301256Sdelphij       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1423301256Sdelphij       3,     1,     1,     1,     1,     1,     1,     2,     1,     1,
1424301256Sdelphij       1,     0,     2,     1,     1,     1,     1,     1,     1,     1,
1425301256Sdelphij       1,     1,     1,     1,     1,     2,     2,     1,     1,     1,
1426301256Sdelphij       1,     1,     1,     2,     1,     2,     1,     1,     1,     2,
1427301256Sdelphij       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1428301256Sdelphij       2,     0,     2,     2,     2,     1,     1,     1,     1,     1,
1429301256Sdelphij       2,     2,     1,     2,     2,     2,     1,     1,     1,     1,
1430330141Sdelphij       1,     1,     1,     1,     1,     1,     1,     1,     2,     2,
1431330141Sdelphij       3,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1432330141Sdelphij       1,     0,     2,     2,     2,     1,     1,     1,     1,     1,
1433330141Sdelphij       1,     1,     1,     1,     1,     1,     1,     1,     2,     2,
1434330141Sdelphij       4,     6,     4,     5,     5,     4,     0,     2,     0,     2,
1435309008Sdelphij       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1436330141Sdelphij       1,     1,     1,     1,     1,     1,     1,     2,     1,     2,
1437330141Sdelphij       1,     1,     1,     2,     1,     2,     1,     1,     1,     1,
1438330141Sdelphij       1,     1,     1,     1,     3,     2,     1,     2,     2,     2,
1439330141Sdelphij       2,     2,     1,     1,     1,     1,     1,     1,     2,     2,
1440330141Sdelphij       1,     2,     1,     1,     1,     2,     2,     2,     1,     1,
1441330141Sdelphij       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1442309008Sdelphij       1,     1,     1,     2,     2,     1,     2,     1,     1,     1,
1443330141Sdelphij       1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
1444330141Sdelphij       2,     2,     2,     3,     1,     2,     2,     2,     2,     3,
1445330141Sdelphij       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1446330141Sdelphij       1,     1,     2,     0,     4,     1,     0,     0,     2,     2,
1447330141Sdelphij       2,     2,     1,     1,     3,     3,     1,     1,     1,     1,
1448330141Sdelphij       1,     1,     1,     1,     1,     2,     2,     1,     1,     1,
1449330141Sdelphij       1,     1,     1,     1,     1,     2,     1,     2,     1,     1,
1450330141Sdelphij       1,     5,     2,     1,     2,     1,     1,     1,     1,     1,
1451330141Sdelphij       1,     2,     5,     1,     3,     2,     3,     1,     1,     2,
1452330141Sdelphij       1,     5,     4,     3,     2,     1,     6,     3,     2,     3,
1453330141Sdelphij       1,     1,     1,     1,     1
1454301256Sdelphij};
1455258945Sroberto
1456258945Sroberto
1457301256Sdelphij#define yyerrok         (yyerrstatus = 0)
1458301256Sdelphij#define yyclearin       (yychar = YYEMPTY)
1459301256Sdelphij#define YYEMPTY         (-2)
1460301256Sdelphij#define YYEOF           0
1461258945Sroberto
1462301256Sdelphij#define YYACCEPT        goto yyacceptlab
1463301256Sdelphij#define YYABORT         goto yyabortlab
1464301256Sdelphij#define YYERROR         goto yyerrorlab
1465258945Sroberto
1466301256Sdelphij
1467258945Sroberto#define YYRECOVERING()  (!!yyerrstatus)
1468258945Sroberto
1469275970Scy#define YYBACKUP(Token, Value)                                  \
1470275970Scydo                                                              \
1471275970Scy  if (yychar == YYEMPTY)                                        \
1472275970Scy    {                                                           \
1473275970Scy      yychar = (Token);                                         \
1474275970Scy      yylval = (Value);                                         \
1475275970Scy      YYPOPSTACK (yylen);                                       \
1476275970Scy      yystate = *yyssp;                                         \
1477275970Scy      goto yybackup;                                            \
1478275970Scy    }                                                           \
1479275970Scy  else                                                          \
1480275970Scy    {                                                           \
1481285612Sdelphij      yyerror (YY_("syntax error: cannot back up")); \
1482301256Sdelphij      YYERROR;                                                  \
1483301256Sdelphij    }                                                           \
1484301256Sdelphijwhile (0)
1485258945Sroberto
1486275970Scy/* Error token number */
1487301256Sdelphij#define YYTERROR        1
1488301256Sdelphij#define YYERRCODE       256
1489258945Sroberto
1490258945Sroberto
1491258945Sroberto
1492258945Sroberto/* Enable debugging if requested.  */
1493258945Sroberto#if YYDEBUG
1494258945Sroberto
1495258945Sroberto# ifndef YYFPRINTF
1496258945Sroberto#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
1497258945Sroberto#  define YYFPRINTF fprintf
1498258945Sroberto# endif
1499258945Sroberto
1500301256Sdelphij# define YYDPRINTF(Args)                        \
1501301256Sdelphijdo {                                            \
1502301256Sdelphij  if (yydebug)                                  \
1503301256Sdelphij    YYFPRINTF Args;                             \
1504301256Sdelphij} while (0)
1505258945Sroberto
1506301256Sdelphij/* This macro is provided for backward compatibility. */
1507301256Sdelphij#ifndef YY_LOCATION_PRINT
1508301256Sdelphij# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
1509301256Sdelphij#endif
1510258945Sroberto
1511258945Sroberto
1512301256Sdelphij# define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
1513301256Sdelphijdo {                                                                      \
1514301256Sdelphij  if (yydebug)                                                            \
1515301256Sdelphij    {                                                                     \
1516301256Sdelphij      YYFPRINTF (stderr, "%s ", Title);                                   \
1517301256Sdelphij      yy_symbol_print (stderr,                                            \
1518301256Sdelphij                  Type, Value); \
1519301256Sdelphij      YYFPRINTF (stderr, "\n");                                           \
1520301256Sdelphij    }                                                                     \
1521301256Sdelphij} while (0)
1522258945Sroberto
1523301256Sdelphij
1524301256Sdelphij/*----------------------------------------.
1525301256Sdelphij| Print this symbol's value on YYOUTPUT.  |
1526301256Sdelphij`----------------------------------------*/
1527301256Sdelphij
1528258945Srobertostatic void
1529285612Sdelphijyy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
1530258945Sroberto{
1531275970Scy  FILE *yyo = yyoutput;
1532275970Scy  YYUSE (yyo);
1533258945Sroberto  if (!yyvaluep)
1534258945Sroberto    return;
1535258945Sroberto# ifdef YYPRINT
1536258945Sroberto  if (yytype < YYNTOKENS)
1537258945Sroberto    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
1538258945Sroberto# endif
1539275970Scy  YYUSE (yytype);
1540258945Sroberto}
1541258945Sroberto
1542258945Sroberto
1543258945Sroberto/*--------------------------------.
1544258945Sroberto| Print this symbol on YYOUTPUT.  |
1545258945Sroberto`--------------------------------*/
1546258945Sroberto
1547258945Srobertostatic void
1548285612Sdelphijyy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
1549258945Sroberto{
1550301256Sdelphij  YYFPRINTF (yyoutput, "%s %s (",
1551301256Sdelphij             yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
1552258945Sroberto
1553285612Sdelphij  yy_symbol_value_print (yyoutput, yytype, yyvaluep);
1554258945Sroberto  YYFPRINTF (yyoutput, ")");
1555258945Sroberto}
1556258945Sroberto
1557258945Sroberto/*------------------------------------------------------------------.
1558258945Sroberto| yy_stack_print -- Print the state stack from its BOTTOM up to its |
1559258945Sroberto| TOP (included).                                                   |
1560258945Sroberto`------------------------------------------------------------------*/
1561258945Sroberto
1562258945Srobertostatic void
1563258945Srobertoyy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
1564258945Sroberto{
1565258945Sroberto  YYFPRINTF (stderr, "Stack now");
1566258945Sroberto  for (; yybottom <= yytop; yybottom++)
1567258945Sroberto    {
1568258945Sroberto      int yybot = *yybottom;
1569258945Sroberto      YYFPRINTF (stderr, " %d", yybot);
1570258945Sroberto    }
1571258945Sroberto  YYFPRINTF (stderr, "\n");
1572258945Sroberto}
1573258945Sroberto
1574301256Sdelphij# define YY_STACK_PRINT(Bottom, Top)                            \
1575301256Sdelphijdo {                                                            \
1576301256Sdelphij  if (yydebug)                                                  \
1577301256Sdelphij    yy_stack_print ((Bottom), (Top));                           \
1578301256Sdelphij} while (0)
1579258945Sroberto
1580258945Sroberto
1581258945Sroberto/*------------------------------------------------.
1582258945Sroberto| Report that the YYRULE is going to be reduced.  |
1583258945Sroberto`------------------------------------------------*/
1584258945Sroberto
1585258945Srobertostatic void
1586301256Sdelphijyy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule)
1587258945Sroberto{
1588301256Sdelphij  unsigned long int yylno = yyrline[yyrule];
1589258945Sroberto  int yynrhs = yyr2[yyrule];
1590258945Sroberto  int yyi;
1591258945Sroberto  YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
1592301256Sdelphij             yyrule - 1, yylno);
1593258945Sroberto  /* The symbols being reduced.  */
1594258945Sroberto  for (yyi = 0; yyi < yynrhs; yyi++)
1595258945Sroberto    {
1596258945Sroberto      YYFPRINTF (stderr, "   $%d = ", yyi + 1);
1597301256Sdelphij      yy_symbol_print (stderr,
1598301256Sdelphij                       yystos[yyssp[yyi + 1 - yynrhs]],
1599301256Sdelphij                       &(yyvsp[(yyi + 1) - (yynrhs)])
1600301256Sdelphij                                              );
1601258945Sroberto      YYFPRINTF (stderr, "\n");
1602258945Sroberto    }
1603258945Sroberto}
1604258945Sroberto
1605301256Sdelphij# define YY_REDUCE_PRINT(Rule)          \
1606301256Sdelphijdo {                                    \
1607301256Sdelphij  if (yydebug)                          \
1608301256Sdelphij    yy_reduce_print (yyssp, yyvsp, Rule); \
1609301256Sdelphij} while (0)
1610258945Sroberto
1611258945Sroberto/* Nonzero means print parse trace.  It is left uninitialized so that
1612258945Sroberto   multiple parsers can coexist.  */
1613258945Srobertoint yydebug;
1614258945Sroberto#else /* !YYDEBUG */
1615258945Sroberto# define YYDPRINTF(Args)
1616258945Sroberto# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
1617258945Sroberto# define YY_STACK_PRINT(Bottom, Top)
1618258945Sroberto# define YY_REDUCE_PRINT(Rule)
1619258945Sroberto#endif /* !YYDEBUG */
1620258945Sroberto
1621258945Sroberto
1622258945Sroberto/* YYINITDEPTH -- initial size of the parser's stacks.  */
1623301256Sdelphij#ifndef YYINITDEPTH
1624258945Sroberto# define YYINITDEPTH 200
1625258945Sroberto#endif
1626258945Sroberto
1627258945Sroberto/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
1628258945Sroberto   if the built-in stack extension method is used).
1629258945Sroberto
1630258945Sroberto   Do not make this value too large; the results are undefined if
1631258945Sroberto   YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
1632258945Sroberto   evaluated with infinite-precision integer arithmetic.  */
1633258945Sroberto
1634258945Sroberto#ifndef YYMAXDEPTH
1635258945Sroberto# define YYMAXDEPTH 10000
1636258945Sroberto#endif
1637258945Sroberto
1638258945Sroberto
1639258945Sroberto#if YYERROR_VERBOSE
1640258945Sroberto
1641258945Sroberto# ifndef yystrlen
1642258945Sroberto#  if defined __GLIBC__ && defined _STRING_H
1643258945Sroberto#   define yystrlen strlen
1644258945Sroberto#  else
1645258945Sroberto/* Return the length of YYSTR.  */
1646258945Srobertostatic YYSIZE_T
1647258945Srobertoyystrlen (const char *yystr)
1648258945Sroberto{
1649258945Sroberto  YYSIZE_T yylen;
1650258945Sroberto  for (yylen = 0; yystr[yylen]; yylen++)
1651258945Sroberto    continue;
1652258945Sroberto  return yylen;
1653258945Sroberto}
1654258945Sroberto#  endif
1655258945Sroberto# endif
1656258945Sroberto
1657258945Sroberto# ifndef yystpcpy
1658258945Sroberto#  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
1659258945Sroberto#   define yystpcpy stpcpy
1660258945Sroberto#  else
1661258945Sroberto/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
1662258945Sroberto   YYDEST.  */
1663258945Srobertostatic char *
1664258945Srobertoyystpcpy (char *yydest, const char *yysrc)
1665258945Sroberto{
1666258945Sroberto  char *yyd = yydest;
1667258945Sroberto  const char *yys = yysrc;
1668258945Sroberto
1669258945Sroberto  while ((*yyd++ = *yys++) != '\0')
1670258945Sroberto    continue;
1671258945Sroberto
1672258945Sroberto  return yyd - 1;
1673258945Sroberto}
1674258945Sroberto#  endif
1675258945Sroberto# endif
1676258945Sroberto
1677258945Sroberto# ifndef yytnamerr
1678258945Sroberto/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
1679258945Sroberto   quotes and backslashes, so that it's suitable for yyerror.  The
1680258945Sroberto   heuristic is that double-quoting is unnecessary unless the string
1681258945Sroberto   contains an apostrophe, a comma, or backslash (other than
1682258945Sroberto   backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
1683258945Sroberto   null, do not copy; instead, return the length of what the result
1684258945Sroberto   would have been.  */
1685258945Srobertostatic YYSIZE_T
1686258945Srobertoyytnamerr (char *yyres, const char *yystr)
1687258945Sroberto{
1688258945Sroberto  if (*yystr == '"')
1689258945Sroberto    {
1690258945Sroberto      YYSIZE_T yyn = 0;
1691258945Sroberto      char const *yyp = yystr;
1692258945Sroberto
1693258945Sroberto      for (;;)
1694301256Sdelphij        switch (*++yyp)
1695301256Sdelphij          {
1696301256Sdelphij          case '\'':
1697301256Sdelphij          case ',':
1698301256Sdelphij            goto do_not_strip_quotes;
1699258945Sroberto
1700301256Sdelphij          case '\\':
1701301256Sdelphij            if (*++yyp != '\\')
1702301256Sdelphij              goto do_not_strip_quotes;
1703301256Sdelphij            /* Fall through.  */
1704301256Sdelphij          default:
1705301256Sdelphij            if (yyres)
1706301256Sdelphij              yyres[yyn] = *yyp;
1707301256Sdelphij            yyn++;
1708301256Sdelphij            break;
1709258945Sroberto
1710301256Sdelphij          case '"':
1711301256Sdelphij            if (yyres)
1712301256Sdelphij              yyres[yyn] = '\0';
1713301256Sdelphij            return yyn;
1714301256Sdelphij          }
1715258945Sroberto    do_not_strip_quotes: ;
1716258945Sroberto    }
1717258945Sroberto
1718258945Sroberto  if (! yyres)
1719258945Sroberto    return yystrlen (yystr);
1720258945Sroberto
1721258945Sroberto  return yystpcpy (yyres, yystr) - yyres;
1722258945Sroberto}
1723258945Sroberto# endif
1724258945Sroberto
1725275970Scy/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
1726275970Scy   about the unexpected token YYTOKEN for the state stack whose top is
1727275970Scy   YYSSP.
1728275970Scy
1729275970Scy   Return 0 if *YYMSG was successfully written.  Return 1 if *YYMSG is
1730275970Scy   not large enough to hold the message.  In that case, also set
1731275970Scy   *YYMSG_ALLOC to the required number of bytes.  Return 2 if the
1732275970Scy   required number of bytes is too large to store.  */
1733275970Scystatic int
1734275970Scyyysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
1735275970Scy                yytype_int16 *yyssp, int yytoken)
1736258945Sroberto{
1737301256Sdelphij  YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
1738275970Scy  YYSIZE_T yysize = yysize0;
1739275970Scy  enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
1740275970Scy  /* Internationalized format string. */
1741301256Sdelphij  const char *yyformat = YY_NULLPTR;
1742275970Scy  /* Arguments of yyformat. */
1743275970Scy  char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
1744275970Scy  /* Number of reported tokens (one for the "unexpected", one per
1745275970Scy     "expected"). */
1746275970Scy  int yycount = 0;
1747258945Sroberto
1748275970Scy  /* There are many possibilities here to consider:
1749275970Scy     - If this state is a consistent state with a default action, then
1750275970Scy       the only way this function was invoked is if the default action
1751275970Scy       is an error action.  In that case, don't check for expected
1752275970Scy       tokens because there are none.
1753275970Scy     - The only way there can be no lookahead present (in yychar) is if
1754275970Scy       this state is a consistent state with a default action.  Thus,
1755275970Scy       detecting the absence of a lookahead is sufficient to determine
1756275970Scy       that there is no unexpected or expected token to report.  In that
1757275970Scy       case, just report a simple "syntax error".
1758275970Scy     - Don't assume there isn't a lookahead just because this state is a
1759275970Scy       consistent state with a default action.  There might have been a
1760275970Scy       previous inconsistent state, consistent state with a non-default
1761275970Scy       action, or user semantic action that manipulated yychar.
1762275970Scy     - Of course, the expected token list depends on states to have
1763275970Scy       correct lookahead information, and it depends on the parser not
1764275970Scy       to perform extra reductions after fetching a lookahead from the
1765275970Scy       scanner and before detecting a syntax error.  Thus, state merging
1766275970Scy       (from LALR or IELR) and default reductions corrupt the expected
1767275970Scy       token list.  However, the list is correct for canonical LR with
1768275970Scy       one exception: it will still contain any token that will not be
1769275970Scy       accepted due to an error action in a later state.
1770275970Scy  */
1771275970Scy  if (yytoken != YYEMPTY)
1772258945Sroberto    {
1773275970Scy      int yyn = yypact[*yyssp];
1774275970Scy      yyarg[yycount++] = yytname[yytoken];
1775275970Scy      if (!yypact_value_is_default (yyn))
1776275970Scy        {
1777275970Scy          /* Start YYX at -YYN if negative to avoid negative indexes in
1778275970Scy             YYCHECK.  In other words, skip the first -YYN actions for
1779275970Scy             this state because they are default actions.  */
1780275970Scy          int yyxbegin = yyn < 0 ? -yyn : 0;
1781275970Scy          /* Stay within bounds of both yycheck and yytname.  */
1782275970Scy          int yychecklim = YYLAST - yyn + 1;
1783275970Scy          int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
1784275970Scy          int yyx;
1785258945Sroberto
1786275970Scy          for (yyx = yyxbegin; yyx < yyxend; ++yyx)
1787275970Scy            if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
1788275970Scy                && !yytable_value_is_error (yytable[yyx + yyn]))
1789275970Scy              {
1790275970Scy                if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
1791275970Scy                  {
1792275970Scy                    yycount = 1;
1793275970Scy                    yysize = yysize0;
1794275970Scy                    break;
1795275970Scy                  }
1796275970Scy                yyarg[yycount++] = yytname[yyx];
1797275970Scy                {
1798301256Sdelphij                  YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
1799275970Scy                  if (! (yysize <= yysize1
1800275970Scy                         && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
1801275970Scy                    return 2;
1802275970Scy                  yysize = yysize1;
1803275970Scy                }
1804275970Scy              }
1805275970Scy        }
1806275970Scy    }
1807258945Sroberto
1808275970Scy  switch (yycount)
1809275970Scy    {
1810275970Scy# define YYCASE_(N, S)                      \
1811275970Scy      case N:                               \
1812275970Scy        yyformat = S;                       \
1813275970Scy      break
1814275970Scy      YYCASE_(0, YY_("syntax error"));
1815275970Scy      YYCASE_(1, YY_("syntax error, unexpected %s"));
1816275970Scy      YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
1817275970Scy      YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
1818275970Scy      YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
1819275970Scy      YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
1820275970Scy# undef YYCASE_
1821275970Scy    }
1822258945Sroberto
1823275970Scy  {
1824275970Scy    YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
1825275970Scy    if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
1826275970Scy      return 2;
1827275970Scy    yysize = yysize1;
1828275970Scy  }
1829258945Sroberto
1830275970Scy  if (*yymsg_alloc < yysize)
1831275970Scy    {
1832275970Scy      *yymsg_alloc = 2 * yysize;
1833275970Scy      if (! (yysize <= *yymsg_alloc
1834275970Scy             && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
1835275970Scy        *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
1836275970Scy      return 1;
1837275970Scy    }
1838258945Sroberto
1839275970Scy  /* Avoid sprintf, as that infringes on the user's name space.
1840275970Scy     Don't have undefined behavior even if the translation
1841275970Scy     produced a string with the wrong number of "%s"s.  */
1842275970Scy  {
1843275970Scy    char *yyp = *yymsg;
1844275970Scy    int yyi = 0;
1845275970Scy    while ((*yyp = *yyformat) != '\0')
1846275970Scy      if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
1847275970Scy        {
1848275970Scy          yyp += yytnamerr (yyp, yyarg[yyi++]);
1849275970Scy          yyformat += 2;
1850275970Scy        }
1851275970Scy      else
1852275970Scy        {
1853275970Scy          yyp++;
1854275970Scy          yyformat++;
1855275970Scy        }
1856275970Scy  }
1857275970Scy  return 0;
1858258945Sroberto}
1859258945Sroberto#endif /* YYERROR_VERBOSE */
1860258945Sroberto
1861258945Sroberto/*-----------------------------------------------.
1862258945Sroberto| Release the memory associated to this symbol.  |
1863258945Sroberto`-----------------------------------------------*/
1864258945Sroberto
1865258945Srobertostatic void
1866285612Sdelphijyydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
1867258945Sroberto{
1868258945Sroberto  YYUSE (yyvaluep);
1869258945Sroberto  if (!yymsg)
1870258945Sroberto    yymsg = "Deleting";
1871258945Sroberto  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
1872258945Sroberto
1873301256Sdelphij  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
1874275970Scy  YYUSE (yytype);
1875301256Sdelphij  YY_IGNORE_MAYBE_UNINITIALIZED_END
1876258945Sroberto}
1877258945Sroberto
1878258945Sroberto
1879258945Sroberto
1880275970Scy
1881258945Sroberto/* The lookahead symbol.  */
1882258945Srobertoint yychar;
1883258945Sroberto
1884258945Sroberto/* The semantic value of the lookahead symbol.  */
1885301256SdelphijYYSTYPE yylval;
1886258945Sroberto/* Number of syntax errors so far.  */
1887258945Srobertoint yynerrs;
1888258945Sroberto
1889258945Sroberto
1890275970Scy/*----------.
1891275970Scy| yyparse.  |
1892275970Scy`----------*/
1893258945Sroberto
1894258945Srobertoint
1895285612Sdelphijyyparse (void)
1896258945Sroberto{
1897258945Sroberto    int yystate;
1898258945Sroberto    /* Number of tokens to shift before error messages enabled.  */
1899258945Sroberto    int yyerrstatus;
1900258945Sroberto
1901258945Sroberto    /* The stacks and their tools:
1902301256Sdelphij       'yyss': related to states.
1903301256Sdelphij       'yyvs': related to semantic values.
1904258945Sroberto
1905275970Scy       Refer to the stacks through separate pointers, to allow yyoverflow
1906258945Sroberto       to reallocate them elsewhere.  */
1907258945Sroberto
1908258945Sroberto    /* The state stack.  */
1909258945Sroberto    yytype_int16 yyssa[YYINITDEPTH];
1910258945Sroberto    yytype_int16 *yyss;
1911258945Sroberto    yytype_int16 *yyssp;
1912258945Sroberto
1913258945Sroberto    /* The semantic value stack.  */
1914258945Sroberto    YYSTYPE yyvsa[YYINITDEPTH];
1915258945Sroberto    YYSTYPE *yyvs;
1916258945Sroberto    YYSTYPE *yyvsp;
1917258945Sroberto
1918258945Sroberto    YYSIZE_T yystacksize;
1919258945Sroberto
1920258945Sroberto  int yyn;
1921258945Sroberto  int yyresult;
1922258945Sroberto  /* Lookahead token as an internal (translated) token number.  */
1923275970Scy  int yytoken = 0;
1924258945Sroberto  /* The variables used to return semantic value and location from the
1925258945Sroberto     action routines.  */
1926258945Sroberto  YYSTYPE yyval;
1927258945Sroberto
1928258945Sroberto#if YYERROR_VERBOSE
1929258945Sroberto  /* Buffer for error messages, and its allocated size.  */
1930258945Sroberto  char yymsgbuf[128];
1931258945Sroberto  char *yymsg = yymsgbuf;
1932258945Sroberto  YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
1933258945Sroberto#endif
1934258945Sroberto
1935258945Sroberto#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
1936258945Sroberto
1937258945Sroberto  /* The number of symbols on the RHS of the reduced rule.
1938258945Sroberto     Keep to zero when no symbol should be popped.  */
1939258945Sroberto  int yylen = 0;
1940258945Sroberto
1941275970Scy  yyssp = yyss = yyssa;
1942275970Scy  yyvsp = yyvs = yyvsa;
1943258945Sroberto  yystacksize = YYINITDEPTH;
1944258945Sroberto
1945258945Sroberto  YYDPRINTF ((stderr, "Starting parse\n"));
1946258945Sroberto
1947258945Sroberto  yystate = 0;
1948258945Sroberto  yyerrstatus = 0;
1949258945Sroberto  yynerrs = 0;
1950258945Sroberto  yychar = YYEMPTY; /* Cause a token to be read.  */
1951258945Sroberto  goto yysetstate;
1952258945Sroberto
1953258945Sroberto/*------------------------------------------------------------.
1954258945Sroberto| yynewstate -- Push a new state, which is found in yystate.  |
1955258945Sroberto`------------------------------------------------------------*/
1956258945Sroberto yynewstate:
1957258945Sroberto  /* In all cases, when you get here, the value and location stacks
1958258945Sroberto     have just been pushed.  So pushing a state here evens the stacks.  */
1959258945Sroberto  yyssp++;
1960258945Sroberto
1961258945Sroberto yysetstate:
1962258945Sroberto  *yyssp = yystate;
1963258945Sroberto
1964258945Sroberto  if (yyss + yystacksize - 1 <= yyssp)
1965258945Sroberto    {
1966258945Sroberto      /* Get the current used size of the three stacks, in elements.  */
1967258945Sroberto      YYSIZE_T yysize = yyssp - yyss + 1;
1968258945Sroberto
1969258945Sroberto#ifdef yyoverflow
1970258945Sroberto      {
1971301256Sdelphij        /* Give user a chance to reallocate the stack.  Use copies of
1972301256Sdelphij           these so that the &'s don't force the real ones into
1973301256Sdelphij           memory.  */
1974301256Sdelphij        YYSTYPE *yyvs1 = yyvs;
1975301256Sdelphij        yytype_int16 *yyss1 = yyss;
1976258945Sroberto
1977301256Sdelphij        /* Each stack pointer address is followed by the size of the
1978301256Sdelphij           data in use in that stack, in bytes.  This used to be a
1979301256Sdelphij           conditional around just the two extra args, but that might
1980301256Sdelphij           be undefined if yyoverflow is a macro.  */
1981301256Sdelphij        yyoverflow (YY_("memory exhausted"),
1982301256Sdelphij                    &yyss1, yysize * sizeof (*yyssp),
1983301256Sdelphij                    &yyvs1, yysize * sizeof (*yyvsp),
1984301256Sdelphij                    &yystacksize);
1985258945Sroberto
1986301256Sdelphij        yyss = yyss1;
1987301256Sdelphij        yyvs = yyvs1;
1988258945Sroberto      }
1989258945Sroberto#else /* no yyoverflow */
1990258945Sroberto# ifndef YYSTACK_RELOCATE
1991258945Sroberto      goto yyexhaustedlab;
1992258945Sroberto# else
1993258945Sroberto      /* Extend the stack our own way.  */
1994258945Sroberto      if (YYMAXDEPTH <= yystacksize)
1995301256Sdelphij        goto yyexhaustedlab;
1996258945Sroberto      yystacksize *= 2;
1997258945Sroberto      if (YYMAXDEPTH < yystacksize)
1998301256Sdelphij        yystacksize = YYMAXDEPTH;
1999258945Sroberto
2000258945Sroberto      {
2001301256Sdelphij        yytype_int16 *yyss1 = yyss;
2002301256Sdelphij        union yyalloc *yyptr =
2003301256Sdelphij          (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
2004301256Sdelphij        if (! yyptr)
2005301256Sdelphij          goto yyexhaustedlab;
2006301256Sdelphij        YYSTACK_RELOCATE (yyss_alloc, yyss);
2007301256Sdelphij        YYSTACK_RELOCATE (yyvs_alloc, yyvs);
2008258945Sroberto#  undef YYSTACK_RELOCATE
2009301256Sdelphij        if (yyss1 != yyssa)
2010301256Sdelphij          YYSTACK_FREE (yyss1);
2011258945Sroberto      }
2012258945Sroberto# endif
2013258945Sroberto#endif /* no yyoverflow */
2014258945Sroberto
2015258945Sroberto      yyssp = yyss + yysize - 1;
2016258945Sroberto      yyvsp = yyvs + yysize - 1;
2017258945Sroberto
2018258945Sroberto      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
2019301256Sdelphij                  (unsigned long int) yystacksize));
2020258945Sroberto
2021258945Sroberto      if (yyss + yystacksize - 1 <= yyssp)
2022301256Sdelphij        YYABORT;
2023258945Sroberto    }
2024258945Sroberto
2025258945Sroberto  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
2026258945Sroberto
2027258945Sroberto  if (yystate == YYFINAL)
2028258945Sroberto    YYACCEPT;
2029258945Sroberto
2030258945Sroberto  goto yybackup;
2031258945Sroberto
2032258945Sroberto/*-----------.
2033258945Sroberto| yybackup.  |
2034258945Sroberto`-----------*/
2035258945Srobertoyybackup:
2036258945Sroberto
2037258945Sroberto  /* Do appropriate processing given the current state.  Read a
2038258945Sroberto     lookahead token if we need one and don't already have one.  */
2039258945Sroberto
2040258945Sroberto  /* First try to decide what to do without reference to lookahead token.  */
2041258945Sroberto  yyn = yypact[yystate];
2042275970Scy  if (yypact_value_is_default (yyn))
2043258945Sroberto    goto yydefault;
2044258945Sroberto
2045258945Sroberto  /* Not known => get a lookahead token if don't already have one.  */
2046258945Sroberto
2047258945Sroberto  /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
2048258945Sroberto  if (yychar == YYEMPTY)
2049258945Sroberto    {
2050258945Sroberto      YYDPRINTF ((stderr, "Reading a token: "));
2051301256Sdelphij      yychar = yylex ();
2052258945Sroberto    }
2053258945Sroberto
2054258945Sroberto  if (yychar <= YYEOF)
2055258945Sroberto    {
2056258945Sroberto      yychar = yytoken = YYEOF;
2057258945Sroberto      YYDPRINTF ((stderr, "Now at end of input.\n"));
2058258945Sroberto    }
2059258945Sroberto  else
2060258945Sroberto    {
2061258945Sroberto      yytoken = YYTRANSLATE (yychar);
2062258945Sroberto      YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
2063258945Sroberto    }
2064258945Sroberto
2065258945Sroberto  /* If the proper action on seeing token YYTOKEN is to reduce or to
2066258945Sroberto     detect an error, take that action.  */
2067258945Sroberto  yyn += yytoken;
2068258945Sroberto  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
2069258945Sroberto    goto yydefault;
2070258945Sroberto  yyn = yytable[yyn];
2071258945Sroberto  if (yyn <= 0)
2072258945Sroberto    {
2073275970Scy      if (yytable_value_is_error (yyn))
2074275970Scy        goto yyerrlab;
2075258945Sroberto      yyn = -yyn;
2076258945Sroberto      goto yyreduce;
2077258945Sroberto    }
2078258945Sroberto
2079258945Sroberto  /* Count tokens shifted since error; after three, turn off error
2080258945Sroberto     status.  */
2081258945Sroberto  if (yyerrstatus)
2082258945Sroberto    yyerrstatus--;
2083258945Sroberto
2084258945Sroberto  /* Shift the lookahead token.  */
2085258945Sroberto  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
2086258945Sroberto
2087258945Sroberto  /* Discard the shifted token.  */
2088258945Sroberto  yychar = YYEMPTY;
2089258945Sroberto
2090258945Sroberto  yystate = yyn;
2091275970Scy  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2092258945Sroberto  *++yyvsp = yylval;
2093275970Scy  YY_IGNORE_MAYBE_UNINITIALIZED_END
2094258945Sroberto
2095258945Sroberto  goto yynewstate;
2096258945Sroberto
2097258945Sroberto
2098258945Sroberto/*-----------------------------------------------------------.
2099258945Sroberto| yydefault -- do the default action for the current state.  |
2100258945Sroberto`-----------------------------------------------------------*/
2101258945Srobertoyydefault:
2102258945Sroberto  yyn = yydefact[yystate];
2103258945Sroberto  if (yyn == 0)
2104258945Sroberto    goto yyerrlab;
2105258945Sroberto  goto yyreduce;
2106258945Sroberto
2107258945Sroberto
2108258945Sroberto/*-----------------------------.
2109258945Sroberto| yyreduce -- Do a reduction.  |
2110258945Sroberto`-----------------------------*/
2111258945Srobertoyyreduce:
2112258945Sroberto  /* yyn is the number of a rule to reduce with.  */
2113258945Sroberto  yylen = yyr2[yyn];
2114258945Sroberto
2115258945Sroberto  /* If YYLEN is nonzero, implement the default value of the action:
2116301256Sdelphij     '$$ = $1'.
2117258945Sroberto
2118258945Sroberto     Otherwise, the following line sets YYVAL to garbage.
2119258945Sroberto     This behavior is undocumented and Bison
2120258945Sroberto     users should not rely upon it.  Assigning to YYVAL
2121258945Sroberto     unconditionally makes the parser a bit smaller, and it avoids a
2122258945Sroberto     GCC warning that YYVAL may be used uninitialized.  */
2123258945Sroberto  yyval = yyvsp[1-yylen];
2124258945Sroberto
2125258945Sroberto
2126258945Sroberto  YY_REDUCE_PRINT (yyn);
2127258945Sroberto  switch (yyn)
2128258945Sroberto    {
2129258945Sroberto        case 5:
2130338531Sdelphij#line 385 "ntp_parser.y" /* yacc.c:1646  */
2131258945Sroberto    {
2132258945Sroberto			/* I will need to incorporate much more fine grained
2133258945Sroberto			 * error messages. The following should suffice for
2134258945Sroberto			 * the time being.
2135258945Sroberto			 */
2136285612Sdelphij			struct FILE_INFO * ip_ctx = lex_current();
2137285612Sdelphij			msyslog(LOG_ERR,
2138258945Sroberto				"syntax error in %s line %d, column %d",
2139285612Sdelphij				ip_ctx->fname,
2140285612Sdelphij				ip_ctx->errpos.nline,
2141285612Sdelphij				ip_ctx->errpos.ncol);
2142258945Sroberto		}
2143338531Sdelphij#line 2144 "ntp_parser.c" /* yacc.c:1646  */
2144258945Sroberto    break;
2145258945Sroberto
2146275970Scy  case 20:
2147338531Sdelphij#line 421 "ntp_parser.y" /* yacc.c:1646  */
2148258945Sroberto    {
2149275970Scy			peer_node *my_node;
2150258945Sroberto
2151301256Sdelphij			my_node = create_peer_node((yyvsp[-2].Integer), (yyvsp[-1].Address_node), (yyvsp[0].Attr_val_fifo));
2152275970Scy			APPEND_G_FIFO(cfgt.peers, my_node);
2153258945Sroberto		}
2154338531Sdelphij#line 2155 "ntp_parser.c" /* yacc.c:1646  */
2155258945Sroberto    break;
2156258945Sroberto
2157258945Sroberto  case 27:
2158338531Sdelphij#line 440 "ntp_parser.y" /* yacc.c:1646  */
2159301256Sdelphij    { (yyval.Address_node) = create_address_node((yyvsp[0].String), (yyvsp[-1].Integer)); }
2160338531Sdelphij#line 2161 "ntp_parser.c" /* yacc.c:1646  */
2161258945Sroberto    break;
2162258945Sroberto
2163258945Sroberto  case 28:
2164338531Sdelphij#line 445 "ntp_parser.y" /* yacc.c:1646  */
2165301256Sdelphij    { (yyval.Address_node) = create_address_node((yyvsp[0].String), AF_UNSPEC); }
2166338531Sdelphij#line 2167 "ntp_parser.c" /* yacc.c:1646  */
2167258945Sroberto    break;
2168258945Sroberto
2169258945Sroberto  case 29:
2170338531Sdelphij#line 450 "ntp_parser.y" /* yacc.c:1646  */
2171258945Sroberto    { (yyval.Integer) = AF_INET; }
2172338531Sdelphij#line 2173 "ntp_parser.c" /* yacc.c:1646  */
2173258945Sroberto    break;
2174258945Sroberto
2175258945Sroberto  case 30:
2176338531Sdelphij#line 452 "ntp_parser.y" /* yacc.c:1646  */
2177258945Sroberto    { (yyval.Integer) = AF_INET6; }
2178338531Sdelphij#line 2179 "ntp_parser.c" /* yacc.c:1646  */
2179258945Sroberto    break;
2180258945Sroberto
2181258945Sroberto  case 31:
2182338531Sdelphij#line 457 "ntp_parser.y" /* yacc.c:1646  */
2183275970Scy    { (yyval.Attr_val_fifo) = NULL; }
2184338531Sdelphij#line 2185 "ntp_parser.c" /* yacc.c:1646  */
2185258945Sroberto    break;
2186258945Sroberto
2187258945Sroberto  case 32:
2188338531Sdelphij#line 459 "ntp_parser.y" /* yacc.c:1646  */
2189275970Scy    {
2190301256Sdelphij			(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
2191301256Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
2192275970Scy		}
2193338531Sdelphij#line 2194 "ntp_parser.c" /* yacc.c:1646  */
2194258945Sroberto    break;
2195258945Sroberto
2196258945Sroberto  case 36:
2197338531Sdelphij#line 473 "ntp_parser.y" /* yacc.c:1646  */
2198301256Sdelphij    { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer)); }
2199338531Sdelphij#line 2200 "ntp_parser.c" /* yacc.c:1646  */
2200258945Sroberto    break;
2201258945Sroberto
2202258945Sroberto  case 45:
2203338531Sdelphij#line 489 "ntp_parser.y" /* yacc.c:1646  */
2204301256Sdelphij    { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
2205338531Sdelphij#line 2206 "ntp_parser.c" /* yacc.c:1646  */
2206275970Scy    break;
2207258945Sroberto
2208275970Scy  case 46:
2209338531Sdelphij#line 491 "ntp_parser.y" /* yacc.c:1646  */
2210301256Sdelphij    { (yyval.Attr_val) = create_attr_uval((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
2211338531Sdelphij#line 2212 "ntp_parser.c" /* yacc.c:1646  */
2212258945Sroberto    break;
2213258945Sroberto
2214275970Scy  case 53:
2215338531Sdelphij#line 505 "ntp_parser.y" /* yacc.c:1646  */
2216301256Sdelphij    { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); }
2217338531Sdelphij#line 2218 "ntp_parser.c" /* yacc.c:1646  */
2218275970Scy    break;
2219258945Sroberto
2220275970Scy  case 55:
2221338531Sdelphij#line 519 "ntp_parser.y" /* yacc.c:1646  */
2222258945Sroberto    {
2223275970Scy			unpeer_node *my_node;
2224285612Sdelphij
2225301256Sdelphij			my_node = create_unpeer_node((yyvsp[0].Address_node));
2226258945Sroberto			if (my_node)
2227275970Scy				APPEND_G_FIFO(cfgt.unpeers, my_node);
2228258945Sroberto		}
2229338531Sdelphij#line 2230 "ntp_parser.c" /* yacc.c:1646  */
2230258945Sroberto    break;
2231258945Sroberto
2232275970Scy  case 58:
2233338531Sdelphij#line 540 "ntp_parser.y" /* yacc.c:1646  */
2234258945Sroberto    { cfgt.broadcastclient = 1; }
2235338531Sdelphij#line 2236 "ntp_parser.c" /* yacc.c:1646  */
2236258945Sroberto    break;
2237258945Sroberto
2238258945Sroberto  case 59:
2239338531Sdelphij#line 542 "ntp_parser.y" /* yacc.c:1646  */
2240301256Sdelphij    { CONCAT_G_FIFOS(cfgt.manycastserver, (yyvsp[0].Address_fifo)); }
2241338531Sdelphij#line 2242 "ntp_parser.c" /* yacc.c:1646  */
2242258945Sroberto    break;
2243258945Sroberto
2244258945Sroberto  case 60:
2245338531Sdelphij#line 544 "ntp_parser.y" /* yacc.c:1646  */
2246301256Sdelphij    { CONCAT_G_FIFOS(cfgt.multicastclient, (yyvsp[0].Address_fifo)); }
2247338531Sdelphij#line 2248 "ntp_parser.c" /* yacc.c:1646  */
2248258945Sroberto    break;
2249258945Sroberto
2250258945Sroberto  case 61:
2251338531Sdelphij#line 546 "ntp_parser.y" /* yacc.c:1646  */
2252301256Sdelphij    { cfgt.mdnstries = (yyvsp[0].Integer); }
2253338531Sdelphij#line 2254 "ntp_parser.c" /* yacc.c:1646  */
2254278284Scy    break;
2255278284Scy
2256278284Scy  case 62:
2257338531Sdelphij#line 557 "ntp_parser.y" /* yacc.c:1646  */
2258275970Scy    {
2259275970Scy			attr_val *atrv;
2260285612Sdelphij
2261301256Sdelphij			atrv = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer));
2262275970Scy			APPEND_G_FIFO(cfgt.vars, atrv);
2263275970Scy		}
2264338531Sdelphij#line 2265 "ntp_parser.c" /* yacc.c:1646  */
2265258945Sroberto    break;
2266258945Sroberto
2267278284Scy  case 63:
2268338531Sdelphij#line 564 "ntp_parser.y" /* yacc.c:1646  */
2269301256Sdelphij    { cfgt.auth.control_key = (yyvsp[0].Integer); }
2270338531Sdelphij#line 2271 "ntp_parser.c" /* yacc.c:1646  */
2271258945Sroberto    break;
2272258945Sroberto
2273278284Scy  case 64:
2274338531Sdelphij#line 566 "ntp_parser.y" /* yacc.c:1646  */
2275285612Sdelphij    {
2276275970Scy			cfgt.auth.cryptosw++;
2277301256Sdelphij			CONCAT_G_FIFOS(cfgt.auth.crypto_cmd_list, (yyvsp[0].Attr_val_fifo));
2278275970Scy		}
2279338531Sdelphij#line 2280 "ntp_parser.c" /* yacc.c:1646  */
2280258945Sroberto    break;
2281258945Sroberto
2282278284Scy  case 65:
2283338531Sdelphij#line 571 "ntp_parser.y" /* yacc.c:1646  */
2284301256Sdelphij    { cfgt.auth.keys = (yyvsp[0].String); }
2285338531Sdelphij#line 2286 "ntp_parser.c" /* yacc.c:1646  */
2286258945Sroberto    break;
2287258945Sroberto
2288278284Scy  case 66:
2289338531Sdelphij#line 573 "ntp_parser.y" /* yacc.c:1646  */
2290301256Sdelphij    { cfgt.auth.keysdir = (yyvsp[0].String); }
2291338531Sdelphij#line 2292 "ntp_parser.c" /* yacc.c:1646  */
2292258945Sroberto    break;
2293258945Sroberto
2294278284Scy  case 67:
2295338531Sdelphij#line 575 "ntp_parser.y" /* yacc.c:1646  */
2296301256Sdelphij    { cfgt.auth.request_key = (yyvsp[0].Integer); }
2297338531Sdelphij#line 2298 "ntp_parser.c" /* yacc.c:1646  */
2298258945Sroberto    break;
2299258945Sroberto
2300278284Scy  case 68:
2301338531Sdelphij#line 577 "ntp_parser.y" /* yacc.c:1646  */
2302301256Sdelphij    { cfgt.auth.revoke = (yyvsp[0].Integer); }
2303338531Sdelphij#line 2304 "ntp_parser.c" /* yacc.c:1646  */
2304258945Sroberto    break;
2305258945Sroberto
2306278284Scy  case 69:
2307338531Sdelphij#line 579 "ntp_parser.y" /* yacc.c:1646  */
2308275970Scy    {
2309330141Sdelphij			/* [Bug 948] leaves it open if appending or
2310330141Sdelphij			 * replacing the trusted key list is the right
2311330141Sdelphij			 * way. In any case, either alternative should
2312330141Sdelphij			 * be coded correctly!
2313330141Sdelphij			 */
2314330141Sdelphij			DESTROY_G_FIFO(cfgt.auth.trusted_key_list, destroy_attr_val); /* remove for append */
2315330141Sdelphij			CONCAT_G_FIFOS(cfgt.auth.trusted_key_list, (yyvsp[0].Attr_val_fifo));
2316258945Sroberto		}
2317338531Sdelphij#line 2318 "ntp_parser.c" /* yacc.c:1646  */
2318258945Sroberto    break;
2319258945Sroberto
2320278284Scy  case 70:
2321338531Sdelphij#line 589 "ntp_parser.y" /* yacc.c:1646  */
2322301256Sdelphij    { cfgt.auth.ntp_signd_socket = (yyvsp[0].String); }
2323338531Sdelphij#line 2324 "ntp_parser.c" /* yacc.c:1646  */
2324258945Sroberto    break;
2325258945Sroberto
2326278284Scy  case 71:
2327338531Sdelphij#line 594 "ntp_parser.y" /* yacc.c:1646  */
2328275970Scy    { (yyval.Attr_val_fifo) = NULL; }
2329338531Sdelphij#line 2330 "ntp_parser.c" /* yacc.c:1646  */
2330275970Scy    break;
2331258945Sroberto
2332278284Scy  case 72:
2333338531Sdelphij#line 596 "ntp_parser.y" /* yacc.c:1646  */
2334258945Sroberto    {
2335301256Sdelphij			(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
2336301256Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
2337275970Scy		}
2338338531Sdelphij#line 2339 "ntp_parser.c" /* yacc.c:1646  */
2339275970Scy    break;
2340275970Scy
2341278284Scy  case 73:
2342338531Sdelphij#line 604 "ntp_parser.y" /* yacc.c:1646  */
2343301256Sdelphij    { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); }
2344338531Sdelphij#line 2345 "ntp_parser.c" /* yacc.c:1646  */
2345275970Scy    break;
2346275970Scy
2347278284Scy  case 74:
2348338531Sdelphij#line 606 "ntp_parser.y" /* yacc.c:1646  */
2349275970Scy    {
2350258945Sroberto			(yyval.Attr_val) = NULL;
2351301256Sdelphij			cfgt.auth.revoke = (yyvsp[0].Integer);
2352258945Sroberto			msyslog(LOG_WARNING,
2353258945Sroberto				"'crypto revoke %d' is deprecated, "
2354258945Sroberto				"please use 'revoke %d' instead.",
2355258945Sroberto				cfgt.auth.revoke, cfgt.auth.revoke);
2356258945Sroberto		}
2357338531Sdelphij#line 2358 "ntp_parser.c" /* yacc.c:1646  */
2358258945Sroberto    break;
2359258945Sroberto
2360278284Scy  case 80:
2361338531Sdelphij#line 631 "ntp_parser.y" /* yacc.c:1646  */
2362301256Sdelphij    { CONCAT_G_FIFOS(cfgt.orphan_cmds, (yyvsp[0].Attr_val_fifo)); }
2363338531Sdelphij#line 2364 "ntp_parser.c" /* yacc.c:1646  */
2364258945Sroberto    break;
2365258945Sroberto
2366278284Scy  case 81:
2367338531Sdelphij#line 636 "ntp_parser.y" /* yacc.c:1646  */
2368275970Scy    {
2369301256Sdelphij			(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
2370301256Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
2371275970Scy		}
2372338531Sdelphij#line 2373 "ntp_parser.c" /* yacc.c:1646  */
2373258945Sroberto    break;
2374258945Sroberto
2375278284Scy  case 82:
2376338531Sdelphij#line 641 "ntp_parser.y" /* yacc.c:1646  */
2377285612Sdelphij    {
2378275970Scy			(yyval.Attr_val_fifo) = NULL;
2379301256Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
2380275970Scy		}
2381338531Sdelphij#line 2382 "ntp_parser.c" /* yacc.c:1646  */
2382258945Sroberto    break;
2383258945Sroberto
2384278284Scy  case 83:
2385338531Sdelphij#line 649 "ntp_parser.y" /* yacc.c:1646  */
2386301256Sdelphij    { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (double)(yyvsp[0].Integer)); }
2387338531Sdelphij#line 2388 "ntp_parser.c" /* yacc.c:1646  */
2388275970Scy    break;
2389258945Sroberto
2390278284Scy  case 84:
2391338531Sdelphij#line 651 "ntp_parser.y" /* yacc.c:1646  */
2392301256Sdelphij    { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (yyvsp[0].Double)); }
2393338531Sdelphij#line 2394 "ntp_parser.c" /* yacc.c:1646  */
2394258945Sroberto    break;
2395258945Sroberto
2396278284Scy  case 85:
2397338531Sdelphij#line 653 "ntp_parser.y" /* yacc.c:1646  */
2398301256Sdelphij    { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (double)(yyvsp[0].Integer)); }
2399338531Sdelphij#line 2400 "ntp_parser.c" /* yacc.c:1646  */
2400275970Scy    break;
2401258945Sroberto
2402330141Sdelphij  case 86:
2403338531Sdelphij#line 655 "ntp_parser.y" /* yacc.c:1646  */
2404330141Sdelphij    { (yyval.Attr_val) = create_attr_ival(T_Basedate, (yyvsp[0].Integer)); }
2405338531Sdelphij#line 2406 "ntp_parser.c" /* yacc.c:1646  */
2406330141Sdelphij    break;
2407330141Sdelphij
2408330141Sdelphij  case 98:
2409338531Sdelphij#line 682 "ntp_parser.y" /* yacc.c:1646  */
2410301256Sdelphij    { CONCAT_G_FIFOS(cfgt.stats_list, (yyvsp[0].Int_fifo)); }
2411338531Sdelphij#line 2412 "ntp_parser.c" /* yacc.c:1646  */
2412258945Sroberto    break;
2413258945Sroberto
2414330141Sdelphij  case 99:
2415338531Sdelphij#line 684 "ntp_parser.y" /* yacc.c:1646  */
2416258945Sroberto    {
2417285612Sdelphij			if (lex_from_file()) {
2418301256Sdelphij				cfgt.stats_dir = (yyvsp[0].String);
2419258945Sroberto			} else {
2420301256Sdelphij				YYFREE((yyvsp[0].String));
2421285612Sdelphij				yyerror("statsdir remote configuration ignored");
2422258945Sroberto			}
2423258945Sroberto		}
2424338531Sdelphij#line 2425 "ntp_parser.c" /* yacc.c:1646  */
2425258945Sroberto    break;
2426258945Sroberto
2427330141Sdelphij  case 100:
2428338531Sdelphij#line 693 "ntp_parser.y" /* yacc.c:1646  */
2429258945Sroberto    {
2430275970Scy			filegen_node *fgn;
2431285612Sdelphij
2432301256Sdelphij			fgn = create_filegen_node((yyvsp[-1].Integer), (yyvsp[0].Attr_val_fifo));
2433275970Scy			APPEND_G_FIFO(cfgt.filegen_opts, fgn);
2434258945Sroberto		}
2435338531Sdelphij#line 2436 "ntp_parser.c" /* yacc.c:1646  */
2436258945Sroberto    break;
2437258945Sroberto
2438330141Sdelphij  case 101:
2439338531Sdelphij#line 703 "ntp_parser.y" /* yacc.c:1646  */
2440275970Scy    {
2441301256Sdelphij			(yyval.Int_fifo) = (yyvsp[-1].Int_fifo);
2442301256Sdelphij			APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer)));
2443275970Scy		}
2444338531Sdelphij#line 2445 "ntp_parser.c" /* yacc.c:1646  */
2445258945Sroberto    break;
2446258945Sroberto
2447330141Sdelphij  case 102:
2448338531Sdelphij#line 708 "ntp_parser.y" /* yacc.c:1646  */
2449275970Scy    {
2450275970Scy			(yyval.Int_fifo) = NULL;
2451301256Sdelphij			APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer)));
2452275970Scy		}
2453338531Sdelphij#line 2454 "ntp_parser.c" /* yacc.c:1646  */
2454258945Sroberto    break;
2455258945Sroberto
2456330141Sdelphij  case 111:
2457338531Sdelphij#line 727 "ntp_parser.y" /* yacc.c:1646  */
2458275970Scy    { (yyval.Attr_val_fifo) = NULL; }
2459338531Sdelphij#line 2460 "ntp_parser.c" /* yacc.c:1646  */
2460258945Sroberto    break;
2461258945Sroberto
2462330141Sdelphij  case 112:
2463338531Sdelphij#line 729 "ntp_parser.y" /* yacc.c:1646  */
2464258945Sroberto    {
2465301256Sdelphij			(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
2466301256Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
2467258945Sroberto		}
2468338531Sdelphij#line 2469 "ntp_parser.c" /* yacc.c:1646  */
2469258945Sroberto    break;
2470258945Sroberto
2471330141Sdelphij  case 113:
2472338531Sdelphij#line 737 "ntp_parser.y" /* yacc.c:1646  */
2473258945Sroberto    {
2474285612Sdelphij			if (lex_from_file()) {
2475301256Sdelphij				(yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String));
2476258945Sroberto			} else {
2477258945Sroberto				(yyval.Attr_val) = NULL;
2478301256Sdelphij				YYFREE((yyvsp[0].String));
2479285612Sdelphij				yyerror("filegen file remote config ignored");
2480258945Sroberto			}
2481258945Sroberto		}
2482338531Sdelphij#line 2483 "ntp_parser.c" /* yacc.c:1646  */
2483258945Sroberto    break;
2484258945Sroberto
2485330141Sdelphij  case 114:
2486338531Sdelphij#line 747 "ntp_parser.y" /* yacc.c:1646  */
2487258945Sroberto    {
2488285612Sdelphij			if (lex_from_file()) {
2489301256Sdelphij				(yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer));
2490258945Sroberto			} else {
2491258945Sroberto				(yyval.Attr_val) = NULL;
2492285612Sdelphij				yyerror("filegen type remote config ignored");
2493258945Sroberto			}
2494258945Sroberto		}
2495338531Sdelphij#line 2496 "ntp_parser.c" /* yacc.c:1646  */
2496258945Sroberto    break;
2497258945Sroberto
2498330141Sdelphij  case 115:
2499338531Sdelphij#line 756 "ntp_parser.y" /* yacc.c:1646  */
2500258945Sroberto    {
2501258945Sroberto			const char *err;
2502285612Sdelphij
2503285612Sdelphij			if (lex_from_file()) {
2504301256Sdelphij				(yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer));
2505258945Sroberto			} else {
2506258945Sroberto				(yyval.Attr_val) = NULL;
2507301256Sdelphij				if (T_Link == (yyvsp[0].Integer))
2508258945Sroberto					err = "filegen link remote config ignored";
2509258945Sroberto				else
2510258945Sroberto					err = "filegen nolink remote config ignored";
2511285612Sdelphij				yyerror(err);
2512258945Sroberto			}
2513258945Sroberto		}
2514338531Sdelphij#line 2515 "ntp_parser.c" /* yacc.c:1646  */
2515258945Sroberto    break;
2516258945Sroberto
2517330141Sdelphij  case 116:
2518338531Sdelphij#line 771 "ntp_parser.y" /* yacc.c:1646  */
2519301256Sdelphij    { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer)); }
2520338531Sdelphij#line 2521 "ntp_parser.c" /* yacc.c:1646  */
2521275970Scy    break;
2522258945Sroberto
2523330141Sdelphij  case 128:
2524338531Sdelphij#line 801 "ntp_parser.y" /* yacc.c:1646  */
2525275970Scy    {
2526301256Sdelphij			CONCAT_G_FIFOS(cfgt.discard_opts, (yyvsp[0].Attr_val_fifo));
2527275970Scy		}
2528338531Sdelphij#line 2529 "ntp_parser.c" /* yacc.c:1646  */
2529258945Sroberto    break;
2530258945Sroberto
2531330141Sdelphij  case 129:
2532338531Sdelphij#line 805 "ntp_parser.y" /* yacc.c:1646  */
2533258945Sroberto    {
2534301256Sdelphij			CONCAT_G_FIFOS(cfgt.mru_opts, (yyvsp[0].Attr_val_fifo));
2535258945Sroberto		}
2536338531Sdelphij#line 2537 "ntp_parser.c" /* yacc.c:1646  */
2537258945Sroberto    break;
2538258945Sroberto
2539330141Sdelphij  case 130:
2540338531Sdelphij#line 809 "ntp_parser.y" /* yacc.c:1646  */
2541275970Scy    {
2542275970Scy			restrict_node *rn;
2543258945Sroberto
2544330141Sdelphij			rn = create_restrict_node((yyvsp[-2].Address_node), NULL, (yyvsp[-1].Integer), (yyvsp[0].Int_fifo),
2545285612Sdelphij						  lex_current()->curpos.nline);
2546275970Scy			APPEND_G_FIFO(cfgt.restrict_opts, rn);
2547258945Sroberto		}
2548338531Sdelphij#line 2549 "ntp_parser.c" /* yacc.c:1646  */
2549258945Sroberto    break;
2550258945Sroberto
2551330141Sdelphij  case 131:
2552338531Sdelphij#line 817 "ntp_parser.y" /* yacc.c:1646  */
2553275970Scy    {
2554275970Scy			restrict_node *rn;
2555258945Sroberto
2556330141Sdelphij			rn = create_restrict_node((yyvsp[-4].Address_node), (yyvsp[-2].Address_node), (yyvsp[-1].Integer), (yyvsp[0].Int_fifo),
2557285612Sdelphij						  lex_current()->curpos.nline);
2558275970Scy			APPEND_G_FIFO(cfgt.restrict_opts, rn);
2559258945Sroberto		}
2560338531Sdelphij#line 2561 "ntp_parser.c" /* yacc.c:1646  */
2561258945Sroberto    break;
2562258945Sroberto
2563330141Sdelphij  case 132:
2564338531Sdelphij#line 825 "ntp_parser.y" /* yacc.c:1646  */
2565275970Scy    {
2566275970Scy			restrict_node *rn;
2567258945Sroberto
2568330141Sdelphij			rn = create_restrict_node(NULL, NULL, (yyvsp[-1].Integer), (yyvsp[0].Int_fifo),
2569285612Sdelphij						  lex_current()->curpos.nline);
2570275970Scy			APPEND_G_FIFO(cfgt.restrict_opts, rn);
2571258945Sroberto		}
2572338531Sdelphij#line 2573 "ntp_parser.c" /* yacc.c:1646  */
2573258945Sroberto    break;
2574258945Sroberto
2575330141Sdelphij  case 133:
2576338531Sdelphij#line 833 "ntp_parser.y" /* yacc.c:1646  */
2577275970Scy    {
2578275970Scy			restrict_node *rn;
2579258945Sroberto
2580275970Scy			rn = create_restrict_node(
2581275970Scy				create_address_node(
2582285612Sdelphij					estrdup("0.0.0.0"),
2583275970Scy					AF_INET),
2584275970Scy				create_address_node(
2585285612Sdelphij					estrdup("0.0.0.0"),
2586275970Scy					AF_INET),
2587330141Sdelphij				(yyvsp[-1].Integer), (yyvsp[0].Int_fifo),
2588285612Sdelphij				lex_current()->curpos.nline);
2589275970Scy			APPEND_G_FIFO(cfgt.restrict_opts, rn);
2590258945Sroberto		}
2591338531Sdelphij#line 2592 "ntp_parser.c" /* yacc.c:1646  */
2592258945Sroberto    break;
2593258945Sroberto
2594330141Sdelphij  case 134:
2595338531Sdelphij#line 848 "ntp_parser.y" /* yacc.c:1646  */
2596258945Sroberto    {
2597275970Scy			restrict_node *rn;
2598285612Sdelphij
2599275970Scy			rn = create_restrict_node(
2600275970Scy				create_address_node(
2601285612Sdelphij					estrdup("::"),
2602275970Scy					AF_INET6),
2603275970Scy				create_address_node(
2604285612Sdelphij					estrdup("::"),
2605275970Scy					AF_INET6),
2606330141Sdelphij				(yyvsp[-1].Integer), (yyvsp[0].Int_fifo),
2607285612Sdelphij				lex_current()->curpos.nline);
2608275970Scy			APPEND_G_FIFO(cfgt.restrict_opts, rn);
2609258945Sroberto		}
2610338531Sdelphij#line 2611 "ntp_parser.c" /* yacc.c:1646  */
2611258945Sroberto    break;
2612258945Sroberto
2613330141Sdelphij  case 135:
2614338531Sdelphij#line 863 "ntp_parser.y" /* yacc.c:1646  */
2615275970Scy    {
2616275970Scy			restrict_node *	rn;
2617258945Sroberto
2618330141Sdelphij			APPEND_G_FIFO((yyvsp[0].Int_fifo), create_int_node((yyvsp[-2].Integer)));
2619275970Scy			rn = create_restrict_node(
2620330141Sdelphij				NULL, NULL, (yyvsp[-1].Integer), (yyvsp[0].Int_fifo), lex_current()->curpos.nline);
2621275970Scy			APPEND_G_FIFO(cfgt.restrict_opts, rn);
2622275970Scy		}
2623338531Sdelphij#line 2624 "ntp_parser.c" /* yacc.c:1646  */
2624258945Sroberto    break;
2625258945Sroberto
2626330141Sdelphij  case 136:
2627338531Sdelphij#line 875 "ntp_parser.y" /* yacc.c:1646  */
2628330141Sdelphij    { (yyval.Integer) = -1; }
2629338531Sdelphij#line 2630 "ntp_parser.c" /* yacc.c:1646  */
2630330141Sdelphij    break;
2631330141Sdelphij
2632330141Sdelphij  case 137:
2633338531Sdelphij#line 877 "ntp_parser.y" /* yacc.c:1646  */
2634330141Sdelphij    {
2635330141Sdelphij			if (((yyvsp[0].Integer) < -1) || ((yyvsp[0].Integer) > 100)) {
2636330141Sdelphij				struct FILE_INFO * ip_ctx;
2637330141Sdelphij
2638330141Sdelphij				ip_ctx = lex_current();
2639330141Sdelphij				msyslog(LOG_ERR,
2640330141Sdelphij					"Unreasonable ippeerlimit value (%d) in %s line %d, column %d.  Using 0.",
2641330141Sdelphij					(yyvsp[0].Integer),
2642330141Sdelphij					ip_ctx->fname,
2643330141Sdelphij					ip_ctx->errpos.nline,
2644330141Sdelphij					ip_ctx->errpos.ncol);
2645330141Sdelphij				(yyvsp[0].Integer) = 0;
2646330141Sdelphij			}
2647330141Sdelphij			(yyval.Integer) = (yyvsp[0].Integer);
2648330141Sdelphij		}
2649338531Sdelphij#line 2650 "ntp_parser.c" /* yacc.c:1646  */
2650330141Sdelphij    break;
2651330141Sdelphij
2652330141Sdelphij  case 138:
2653338531Sdelphij#line 896 "ntp_parser.y" /* yacc.c:1646  */
2654275970Scy    { (yyval.Int_fifo) = NULL; }
2655338531Sdelphij#line 2656 "ntp_parser.c" /* yacc.c:1646  */
2656275970Scy    break;
2657258945Sroberto
2658330141Sdelphij  case 139:
2659338531Sdelphij#line 898 "ntp_parser.y" /* yacc.c:1646  */
2660275970Scy    {
2661301256Sdelphij			(yyval.Int_fifo) = (yyvsp[-1].Int_fifo);
2662301256Sdelphij			APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer)));
2663275970Scy		}
2664338531Sdelphij#line 2665 "ntp_parser.c" /* yacc.c:1646  */
2665258945Sroberto    break;
2666258945Sroberto
2667330141Sdelphij  case 157:
2668338531Sdelphij#line 926 "ntp_parser.y" /* yacc.c:1646  */
2669275970Scy    {
2670301256Sdelphij			(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
2671301256Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
2672275970Scy		}
2673338531Sdelphij#line 2674 "ntp_parser.c" /* yacc.c:1646  */
2674275970Scy    break;
2675258945Sroberto
2676330141Sdelphij  case 158:
2677338531Sdelphij#line 931 "ntp_parser.y" /* yacc.c:1646  */
2678275970Scy    {
2679275970Scy			(yyval.Attr_val_fifo) = NULL;
2680301256Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
2681275970Scy		}
2682338531Sdelphij#line 2683 "ntp_parser.c" /* yacc.c:1646  */
2683258945Sroberto    break;
2684258945Sroberto
2685330141Sdelphij  case 159:
2686338531Sdelphij#line 939 "ntp_parser.y" /* yacc.c:1646  */
2687301256Sdelphij    { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
2688338531Sdelphij#line 2689 "ntp_parser.c" /* yacc.c:1646  */
2689275970Scy    break;
2690258945Sroberto
2691330141Sdelphij  case 163:
2692338531Sdelphij#line 950 "ntp_parser.y" /* yacc.c:1646  */
2693275970Scy    {
2694301256Sdelphij			(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
2695301256Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
2696275970Scy		}
2697338531Sdelphij#line 2698 "ntp_parser.c" /* yacc.c:1646  */
2698258945Sroberto    break;
2699258945Sroberto
2700330141Sdelphij  case 164:
2701338531Sdelphij#line 955 "ntp_parser.y" /* yacc.c:1646  */
2702275970Scy    {
2703275970Scy			(yyval.Attr_val_fifo) = NULL;
2704301256Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
2705275970Scy		}
2706338531Sdelphij#line 2707 "ntp_parser.c" /* yacc.c:1646  */
2707275970Scy    break;
2708258945Sroberto
2709330141Sdelphij  case 165:
2710338531Sdelphij#line 963 "ntp_parser.y" /* yacc.c:1646  */
2711301256Sdelphij    { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
2712338531Sdelphij#line 2713 "ntp_parser.c" /* yacc.c:1646  */
2713258945Sroberto    break;
2714258945Sroberto
2715330141Sdelphij  case 174:
2716338531Sdelphij#line 983 "ntp_parser.y" /* yacc.c:1646  */
2717275970Scy    {
2718275970Scy			addr_opts_node *aon;
2719285612Sdelphij
2720301256Sdelphij			aon = create_addr_opts_node((yyvsp[-1].Address_node), (yyvsp[0].Attr_val_fifo));
2721275970Scy			APPEND_G_FIFO(cfgt.fudge, aon);
2722275970Scy		}
2723338531Sdelphij#line 2724 "ntp_parser.c" /* yacc.c:1646  */
2724275970Scy    break;
2725258945Sroberto
2726330141Sdelphij  case 175:
2727338531Sdelphij#line 993 "ntp_parser.y" /* yacc.c:1646  */
2728275970Scy    {
2729301256Sdelphij			(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
2730301256Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
2731275970Scy		}
2732338531Sdelphij#line 2733 "ntp_parser.c" /* yacc.c:1646  */
2733258945Sroberto    break;
2734258945Sroberto
2735330141Sdelphij  case 176:
2736338531Sdelphij#line 998 "ntp_parser.y" /* yacc.c:1646  */
2737275970Scy    {
2738275970Scy			(yyval.Attr_val_fifo) = NULL;
2739301256Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
2740275970Scy		}
2741338531Sdelphij#line 2742 "ntp_parser.c" /* yacc.c:1646  */
2742275970Scy    break;
2743258945Sroberto
2744330141Sdelphij  case 177:
2745338531Sdelphij#line 1006 "ntp_parser.y" /* yacc.c:1646  */
2746301256Sdelphij    { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (yyvsp[0].Double)); }
2747338531Sdelphij#line 2748 "ntp_parser.c" /* yacc.c:1646  */
2748258945Sroberto    break;
2749258945Sroberto
2750330141Sdelphij  case 178:
2751338531Sdelphij#line 1008 "ntp_parser.y" /* yacc.c:1646  */
2752301256Sdelphij    { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
2753338531Sdelphij#line 2754 "ntp_parser.c" /* yacc.c:1646  */
2754275970Scy    break;
2755258945Sroberto
2756330141Sdelphij  case 179:
2757338531Sdelphij#line 1010 "ntp_parser.y" /* yacc.c:1646  */
2758293650Sglebius    {
2759301256Sdelphij			if ((yyvsp[0].Integer) >= 0 && (yyvsp[0].Integer) <= 16) {
2760301256Sdelphij				(yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer));
2761293650Sglebius			} else {
2762293650Sglebius				(yyval.Attr_val) = NULL;
2763293650Sglebius				yyerror("fudge factor: stratum value not in [0..16], ignored");
2764293650Sglebius			}
2765293650Sglebius		}
2766338531Sdelphij#line 2767 "ntp_parser.c" /* yacc.c:1646  */
2767258945Sroberto    break;
2768258945Sroberto
2769330141Sdelphij  case 180:
2770338531Sdelphij#line 1019 "ntp_parser.y" /* yacc.c:1646  */
2771301256Sdelphij    { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); }
2772338531Sdelphij#line 2773 "ntp_parser.c" /* yacc.c:1646  */
2773275970Scy    break;
2774258945Sroberto
2775330141Sdelphij  case 181:
2776338531Sdelphij#line 1021 "ntp_parser.y" /* yacc.c:1646  */
2777301256Sdelphij    { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); }
2778338531Sdelphij#line 2779 "ntp_parser.c" /* yacc.c:1646  */
2779258945Sroberto    break;
2780258945Sroberto
2781330141Sdelphij  case 188:
2782338531Sdelphij#line 1042 "ntp_parser.y" /* yacc.c:1646  */
2783301256Sdelphij    { CONCAT_G_FIFOS(cfgt.rlimit, (yyvsp[0].Attr_val_fifo)); }
2784338531Sdelphij#line 2785 "ntp_parser.c" /* yacc.c:1646  */
2785275970Scy    break;
2786258945Sroberto
2787330141Sdelphij  case 189:
2788338531Sdelphij#line 1047 "ntp_parser.y" /* yacc.c:1646  */
2789275970Scy    {
2790301256Sdelphij			(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
2791301256Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
2792275970Scy		}
2793338531Sdelphij#line 2794 "ntp_parser.c" /* yacc.c:1646  */
2794258945Sroberto    break;
2795258945Sroberto
2796330141Sdelphij  case 190:
2797338531Sdelphij#line 1052 "ntp_parser.y" /* yacc.c:1646  */
2798275970Scy    {
2799275970Scy			(yyval.Attr_val_fifo) = NULL;
2800301256Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
2801275970Scy		}
2802338531Sdelphij#line 2803 "ntp_parser.c" /* yacc.c:1646  */
2803258945Sroberto    break;
2804258945Sroberto
2805330141Sdelphij  case 191:
2806338531Sdelphij#line 1060 "ntp_parser.y" /* yacc.c:1646  */
2807301256Sdelphij    { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
2808338531Sdelphij#line 2809 "ntp_parser.c" /* yacc.c:1646  */
2809258945Sroberto    break;
2810258945Sroberto
2811330141Sdelphij  case 195:
2812338531Sdelphij#line 1076 "ntp_parser.y" /* yacc.c:1646  */
2813301256Sdelphij    { CONCAT_G_FIFOS(cfgt.enable_opts, (yyvsp[0].Attr_val_fifo)); }
2814338531Sdelphij#line 2815 "ntp_parser.c" /* yacc.c:1646  */
2815258945Sroberto    break;
2816258945Sroberto
2817330141Sdelphij  case 196:
2818338531Sdelphij#line 1078 "ntp_parser.y" /* yacc.c:1646  */
2819301256Sdelphij    { CONCAT_G_FIFOS(cfgt.disable_opts, (yyvsp[0].Attr_val_fifo)); }
2820338531Sdelphij#line 2821 "ntp_parser.c" /* yacc.c:1646  */
2821258945Sroberto    break;
2822258945Sroberto
2823330141Sdelphij  case 197:
2824338531Sdelphij#line 1083 "ntp_parser.y" /* yacc.c:1646  */
2825258945Sroberto    {
2826301256Sdelphij			(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
2827301256Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
2828258945Sroberto		}
2829338531Sdelphij#line 2830 "ntp_parser.c" /* yacc.c:1646  */
2830258945Sroberto    break;
2831258945Sroberto
2832330141Sdelphij  case 198:
2833338531Sdelphij#line 1088 "ntp_parser.y" /* yacc.c:1646  */
2834258945Sroberto    {
2835275970Scy			(yyval.Attr_val_fifo) = NULL;
2836301256Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
2837258945Sroberto		}
2838338531Sdelphij#line 2839 "ntp_parser.c" /* yacc.c:1646  */
2839258945Sroberto    break;
2840258945Sroberto
2841330141Sdelphij  case 199:
2842338531Sdelphij#line 1096 "ntp_parser.y" /* yacc.c:1646  */
2843301256Sdelphij    { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer)); }
2844338531Sdelphij#line 2845 "ntp_parser.c" /* yacc.c:1646  */
2845258945Sroberto    break;
2846258945Sroberto
2847330141Sdelphij  case 200:
2848338531Sdelphij#line 1098 "ntp_parser.y" /* yacc.c:1646  */
2849285612Sdelphij    {
2850285612Sdelphij			if (lex_from_file()) {
2851301256Sdelphij				(yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer));
2852258945Sroberto			} else {
2853275970Scy				char err_str[128];
2854285612Sdelphij
2855258945Sroberto				(yyval.Attr_val) = NULL;
2856275970Scy				snprintf(err_str, sizeof(err_str),
2857275970Scy					 "enable/disable %s remote configuration ignored",
2858301256Sdelphij					 keyword((yyvsp[0].Integer)));
2859285612Sdelphij				yyerror(err_str);
2860258945Sroberto			}
2861258945Sroberto		}
2862338531Sdelphij#line 2863 "ntp_parser.c" /* yacc.c:1646  */
2863258945Sroberto    break;
2864258945Sroberto
2865330141Sdelphij  case 213:
2866338531Sdelphij#line 1137 "ntp_parser.y" /* yacc.c:1646  */
2867301256Sdelphij    { CONCAT_G_FIFOS(cfgt.tinker, (yyvsp[0].Attr_val_fifo)); }
2868338531Sdelphij#line 2869 "ntp_parser.c" /* yacc.c:1646  */
2869258945Sroberto    break;
2870258945Sroberto
2871330141Sdelphij  case 214:
2872338531Sdelphij#line 1142 "ntp_parser.y" /* yacc.c:1646  */
2873275970Scy    {
2874301256Sdelphij			(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
2875301256Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
2876275970Scy		}
2877338531Sdelphij#line 2878 "ntp_parser.c" /* yacc.c:1646  */
2878258945Sroberto    break;
2879258945Sroberto
2880330141Sdelphij  case 215:
2881338531Sdelphij#line 1147 "ntp_parser.y" /* yacc.c:1646  */
2882275970Scy    {
2883275970Scy			(yyval.Attr_val_fifo) = NULL;
2884301256Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
2885275970Scy		}
2886338531Sdelphij#line 2887 "ntp_parser.c" /* yacc.c:1646  */
2887258945Sroberto    break;
2888258945Sroberto
2889330141Sdelphij  case 216:
2890338531Sdelphij#line 1155 "ntp_parser.y" /* yacc.c:1646  */
2891301256Sdelphij    { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (yyvsp[0].Double)); }
2892338531Sdelphij#line 2893 "ntp_parser.c" /* yacc.c:1646  */
2893258945Sroberto    break;
2894258945Sroberto
2895330141Sdelphij  case 229:
2896338531Sdelphij#line 1180 "ntp_parser.y" /* yacc.c:1646  */
2897258945Sroberto    {
2898275970Scy			attr_val *av;
2899285612Sdelphij
2900301256Sdelphij			av = create_attr_dval((yyvsp[-1].Integer), (yyvsp[0].Double));
2901275970Scy			APPEND_G_FIFO(cfgt.vars, av);
2902258945Sroberto		}
2903338531Sdelphij#line 2904 "ntp_parser.c" /* yacc.c:1646  */
2904258945Sroberto    break;
2905258945Sroberto
2906330141Sdelphij  case 230:
2907338531Sdelphij#line 1187 "ntp_parser.y" /* yacc.c:1646  */
2908258945Sroberto    {
2909275970Scy			attr_val *av;
2910285612Sdelphij
2911301256Sdelphij			av = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer));
2912275970Scy			APPEND_G_FIFO(cfgt.vars, av);
2913258945Sroberto		}
2914338531Sdelphij#line 2915 "ntp_parser.c" /* yacc.c:1646  */
2915258945Sroberto    break;
2916258945Sroberto
2917330141Sdelphij  case 231:
2918338531Sdelphij#line 1194 "ntp_parser.y" /* yacc.c:1646  */
2919258945Sroberto    {
2920285612Sdelphij			attr_val *av;
2921285612Sdelphij
2922301256Sdelphij			av = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String));
2923285612Sdelphij			APPEND_G_FIFO(cfgt.vars, av);
2924285612Sdelphij		}
2925338531Sdelphij#line 2926 "ntp_parser.c" /* yacc.c:1646  */
2926285612Sdelphij    break;
2927285612Sdelphij
2928330141Sdelphij  case 232:
2929338531Sdelphij#line 1201 "ntp_parser.y" /* yacc.c:1646  */
2930285612Sdelphij    {
2931258945Sroberto			char error_text[64];
2932275970Scy			attr_val *av;
2933258945Sroberto
2934285612Sdelphij			if (lex_from_file()) {
2935301256Sdelphij				av = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String));
2936275970Scy				APPEND_G_FIFO(cfgt.vars, av);
2937258945Sroberto			} else {
2938301256Sdelphij				YYFREE((yyvsp[0].String));
2939258945Sroberto				snprintf(error_text, sizeof(error_text),
2940258945Sroberto					 "%s remote config ignored",
2941301256Sdelphij					 keyword((yyvsp[-1].Integer)));
2942285612Sdelphij				yyerror(error_text);
2943258945Sroberto			}
2944258945Sroberto		}
2945338531Sdelphij#line 2946 "ntp_parser.c" /* yacc.c:1646  */
2946258945Sroberto    break;
2947258945Sroberto
2948330141Sdelphij  case 233:
2949338531Sdelphij#line 1217 "ntp_parser.y" /* yacc.c:1646  */
2950258945Sroberto    {
2951285612Sdelphij			if (!lex_from_file()) {
2952301256Sdelphij				YYFREE((yyvsp[-1].String)); /* avoid leak */
2953285612Sdelphij				yyerror("remote includefile ignored");
2954258945Sroberto				break;
2955258945Sroberto			}
2956285612Sdelphij			if (lex_level() > MAXINCLUDELEVEL) {
2957258945Sroberto				fprintf(stderr, "getconfig: Maximum include file level exceeded.\n");
2958275970Scy				msyslog(LOG_ERR, "getconfig: Maximum include file level exceeded.");
2959258945Sroberto			} else {
2960301256Sdelphij				const char * path = FindConfig((yyvsp[-1].String)); /* might return $2! */
2961285612Sdelphij				if (!lex_push_file(path, "r")) {
2962285612Sdelphij					fprintf(stderr, "getconfig: Couldn't open <%s>\n", path);
2963285612Sdelphij					msyslog(LOG_ERR, "getconfig: Couldn't open <%s>", path);
2964258945Sroberto				}
2965258945Sroberto			}
2966301256Sdelphij			YYFREE((yyvsp[-1].String)); /* avoid leak */
2967258945Sroberto		}
2968338531Sdelphij#line 2969 "ntp_parser.c" /* yacc.c:1646  */
2969258945Sroberto    break;
2970258945Sroberto
2971330141Sdelphij  case 234:
2972338531Sdelphij#line 1236 "ntp_parser.y" /* yacc.c:1646  */
2973309008Sdelphij    { lex_flush_stack(); }
2974338531Sdelphij#line 2975 "ntp_parser.c" /* yacc.c:1646  */
2975258945Sroberto    break;
2976258945Sroberto
2977330141Sdelphij  case 235:
2978338531Sdelphij#line 1238 "ntp_parser.y" /* yacc.c:1646  */
2979309008Sdelphij    { /* see drift_parm below for actions */ }
2980338531Sdelphij#line 2981 "ntp_parser.c" /* yacc.c:1646  */
2981258945Sroberto    break;
2982258945Sroberto
2983330141Sdelphij  case 236:
2984338531Sdelphij#line 1240 "ntp_parser.y" /* yacc.c:1646  */
2985309008Sdelphij    { CONCAT_G_FIFOS(cfgt.logconfig, (yyvsp[0].Attr_val_fifo)); }
2986338531Sdelphij#line 2987 "ntp_parser.c" /* yacc.c:1646  */
2987258945Sroberto    break;
2988258945Sroberto
2989330141Sdelphij  case 237:
2990338531Sdelphij#line 1242 "ntp_parser.y" /* yacc.c:1646  */
2991309008Sdelphij    { CONCAT_G_FIFOS(cfgt.phone, (yyvsp[0].String_fifo)); }
2992338531Sdelphij#line 2993 "ntp_parser.c" /* yacc.c:1646  */
2993301256Sdelphij    break;
2994301256Sdelphij
2995330141Sdelphij  case 238:
2996338531Sdelphij#line 1244 "ntp_parser.y" /* yacc.c:1646  */
2997309008Sdelphij    { APPEND_G_FIFO(cfgt.setvar, (yyvsp[0].Set_var)); }
2998338531Sdelphij#line 2999 "ntp_parser.c" /* yacc.c:1646  */
2999309008Sdelphij    break;
3000309008Sdelphij
3001330141Sdelphij  case 239:
3002338531Sdelphij#line 1246 "ntp_parser.y" /* yacc.c:1646  */
3003275970Scy    {
3004275970Scy			addr_opts_node *aon;
3005285612Sdelphij
3006301256Sdelphij			aon = create_addr_opts_node((yyvsp[-1].Address_node), (yyvsp[0].Attr_val_fifo));
3007275970Scy			APPEND_G_FIFO(cfgt.trap, aon);
3008275970Scy		}
3009338531Sdelphij#line 3010 "ntp_parser.c" /* yacc.c:1646  */
3010258945Sroberto    break;
3011258945Sroberto
3012330141Sdelphij  case 240:
3013338531Sdelphij#line 1253 "ntp_parser.y" /* yacc.c:1646  */
3014301256Sdelphij    { CONCAT_G_FIFOS(cfgt.ttl, (yyvsp[0].Attr_val_fifo)); }
3015338531Sdelphij#line 3016 "ntp_parser.c" /* yacc.c:1646  */
3016258945Sroberto    break;
3017258945Sroberto
3018330141Sdelphij  case 245:
3019338531Sdelphij#line 1268 "ntp_parser.y" /* yacc.c:1646  */
3020275970Scy    {
3021285612Sdelphij#ifndef LEAP_SMEAR
3022285612Sdelphij			yyerror("Built without LEAP_SMEAR support.");
3023285612Sdelphij#endif
3024285612Sdelphij		}
3025338531Sdelphij#line 3026 "ntp_parser.c" /* yacc.c:1646  */
3026285612Sdelphij    break;
3027285612Sdelphij
3028330141Sdelphij  case 251:
3029338531Sdelphij#line 1288 "ntp_parser.y" /* yacc.c:1646  */
3030285612Sdelphij    {
3031289997Sglebius			if (lex_from_file()) {
3032289997Sglebius				attr_val *av;
3033301256Sdelphij				av = create_attr_sval(T_Driftfile, (yyvsp[0].String));
3034289997Sglebius				APPEND_G_FIFO(cfgt.vars, av);
3035289997Sglebius			} else {
3036301256Sdelphij				YYFREE((yyvsp[0].String));
3037289997Sglebius				yyerror("driftfile remote configuration ignored");
3038289997Sglebius			}
3039275970Scy		}
3040338531Sdelphij#line 3041 "ntp_parser.c" /* yacc.c:1646  */
3041258945Sroberto    break;
3042258945Sroberto
3043330141Sdelphij  case 252:
3044338531Sdelphij#line 1299 "ntp_parser.y" /* yacc.c:1646  */
3045275970Scy    {
3046289997Sglebius			if (lex_from_file()) {
3047289997Sglebius				attr_val *av;
3048301256Sdelphij				av = create_attr_sval(T_Driftfile, (yyvsp[-1].String));
3049289997Sglebius				APPEND_G_FIFO(cfgt.vars, av);
3050301256Sdelphij				av = create_attr_dval(T_WanderThreshold, (yyvsp[0].Double));
3051289997Sglebius				APPEND_G_FIFO(cfgt.vars, av);
3052330141Sdelphij			msyslog(LOG_WARNING,
3053330141Sdelphij				"'driftfile FILENAME WanderValue' is deprecated, "
3054330141Sdelphij				"please use separate 'driftfile FILENAME' and "
3055330141Sdelphij				"'nonvolatile WanderValue' lines instead.");
3056289997Sglebius			} else {
3057301256Sdelphij				YYFREE((yyvsp[-1].String));
3058289997Sglebius				yyerror("driftfile remote configuration ignored");
3059289997Sglebius			}
3060275970Scy		}
3061338531Sdelphij#line 3062 "ntp_parser.c" /* yacc.c:1646  */
3062258945Sroberto    break;
3063258945Sroberto
3064330141Sdelphij  case 253:
3065338531Sdelphij#line 1316 "ntp_parser.y" /* yacc.c:1646  */
3066275970Scy    {
3067289997Sglebius			if (lex_from_file()) {
3068289997Sglebius				attr_val *av;
3069289997Sglebius				av = create_attr_sval(T_Driftfile, estrdup(""));
3070289997Sglebius				APPEND_G_FIFO(cfgt.vars, av);
3071289997Sglebius			} else {
3072289997Sglebius				yyerror("driftfile remote configuration ignored");
3073289997Sglebius			}
3074275970Scy		}
3075338531Sdelphij#line 3076 "ntp_parser.c" /* yacc.c:1646  */
3076258945Sroberto    break;
3077258945Sroberto
3078330141Sdelphij  case 254:
3079338531Sdelphij#line 1329 "ntp_parser.y" /* yacc.c:1646  */
3080301256Sdelphij    { (yyval.Set_var) = create_setvar_node((yyvsp[-3].String), (yyvsp[-1].String), (yyvsp[0].Integer)); }
3081338531Sdelphij#line 3082 "ntp_parser.c" /* yacc.c:1646  */
3082258945Sroberto    break;
3083258945Sroberto
3084330141Sdelphij  case 256:
3085338531Sdelphij#line 1335 "ntp_parser.y" /* yacc.c:1646  */
3086275970Scy    { (yyval.Integer) = 0; }
3087338531Sdelphij#line 3088 "ntp_parser.c" /* yacc.c:1646  */
3088258945Sroberto    break;
3089258945Sroberto
3090330141Sdelphij  case 257:
3091338531Sdelphij#line 1340 "ntp_parser.y" /* yacc.c:1646  */
3092275970Scy    { (yyval.Attr_val_fifo) = NULL; }
3093338531Sdelphij#line 3094 "ntp_parser.c" /* yacc.c:1646  */
3094258945Sroberto    break;
3095258945Sroberto
3096330141Sdelphij  case 258:
3097338531Sdelphij#line 1342 "ntp_parser.y" /* yacc.c:1646  */
3098275970Scy    {
3099301256Sdelphij			(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
3100301256Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
3101275970Scy		}
3102338531Sdelphij#line 3103 "ntp_parser.c" /* yacc.c:1646  */
3103258945Sroberto    break;
3104258945Sroberto
3105330141Sdelphij  case 259:
3106338531Sdelphij#line 1350 "ntp_parser.y" /* yacc.c:1646  */
3107301256Sdelphij    { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
3108338531Sdelphij#line 3109 "ntp_parser.c" /* yacc.c:1646  */
3109258945Sroberto    break;
3110258945Sroberto
3111330141Sdelphij  case 260:
3112338531Sdelphij#line 1352 "ntp_parser.y" /* yacc.c:1646  */
3113275970Scy    {
3114301256Sdelphij			(yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), estrdup((yyvsp[0].Address_node)->address));
3115301256Sdelphij			destroy_address_node((yyvsp[0].Address_node));
3116275970Scy		}
3117338531Sdelphij#line 3118 "ntp_parser.c" /* yacc.c:1646  */
3118258945Sroberto    break;
3119258945Sroberto
3120330141Sdelphij  case 261:
3121338531Sdelphij#line 1360 "ntp_parser.y" /* yacc.c:1646  */
3122275970Scy    {
3123301256Sdelphij			(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
3124301256Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
3125275970Scy		}
3126338531Sdelphij#line 3127 "ntp_parser.c" /* yacc.c:1646  */
3127258945Sroberto    break;
3128258945Sroberto
3129330141Sdelphij  case 262:
3130338531Sdelphij#line 1365 "ntp_parser.y" /* yacc.c:1646  */
3131275970Scy    {
3132275970Scy			(yyval.Attr_val_fifo) = NULL;
3133301256Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
3134275970Scy		}
3135338531Sdelphij#line 3136 "ntp_parser.c" /* yacc.c:1646  */
3136258945Sroberto    break;
3137258945Sroberto
3138330141Sdelphij  case 263:
3139338531Sdelphij#line 1373 "ntp_parser.y" /* yacc.c:1646  */
3140275970Scy    {
3141275970Scy			char	prefix;
3142275970Scy			char *	type;
3143285612Sdelphij
3144301256Sdelphij			switch ((yyvsp[0].String)[0]) {
3145285612Sdelphij
3146275970Scy			case '+':
3147275970Scy			case '-':
3148275970Scy			case '=':
3149301256Sdelphij				prefix = (yyvsp[0].String)[0];
3150301256Sdelphij				type = (yyvsp[0].String) + 1;
3151275970Scy				break;
3152285612Sdelphij
3153275970Scy			default:
3154275970Scy				prefix = '=';
3155301256Sdelphij				type = (yyvsp[0].String);
3156285612Sdelphij			}
3157285612Sdelphij
3158275970Scy			(yyval.Attr_val) = create_attr_sval(prefix, estrdup(type));
3159301256Sdelphij			YYFREE((yyvsp[0].String));
3160275970Scy		}
3161338531Sdelphij#line 3162 "ntp_parser.c" /* yacc.c:1646  */
3162258945Sroberto    break;
3163258945Sroberto
3164330141Sdelphij  case 264:
3165338531Sdelphij#line 1398 "ntp_parser.y" /* yacc.c:1646  */
3166275970Scy    {
3167275970Scy			nic_rule_node *nrn;
3168285612Sdelphij
3169301256Sdelphij			nrn = create_nic_rule_node((yyvsp[0].Integer), NULL, (yyvsp[-1].Integer));
3170275970Scy			APPEND_G_FIFO(cfgt.nic_rules, nrn);
3171275970Scy		}
3172338531Sdelphij#line 3173 "ntp_parser.c" /* yacc.c:1646  */
3173258945Sroberto    break;
3174258945Sroberto
3175330141Sdelphij  case 265:
3176338531Sdelphij#line 1405 "ntp_parser.y" /* yacc.c:1646  */
3177258945Sroberto    {
3178275970Scy			nic_rule_node *nrn;
3179285612Sdelphij
3180301256Sdelphij			nrn = create_nic_rule_node(0, (yyvsp[0].String), (yyvsp[-1].Integer));
3181275970Scy			APPEND_G_FIFO(cfgt.nic_rules, nrn);
3182258945Sroberto		}
3183338531Sdelphij#line 3184 "ntp_parser.c" /* yacc.c:1646  */
3184258945Sroberto    break;
3185258945Sroberto
3186330141Sdelphij  case 275:
3187338531Sdelphij#line 1433 "ntp_parser.y" /* yacc.c:1646  */
3188301256Sdelphij    { CONCAT_G_FIFOS(cfgt.reset_counters, (yyvsp[0].Int_fifo)); }
3189338531Sdelphij#line 3190 "ntp_parser.c" /* yacc.c:1646  */
3190258945Sroberto    break;
3191258945Sroberto
3192330141Sdelphij  case 276:
3193338531Sdelphij#line 1438 "ntp_parser.y" /* yacc.c:1646  */
3194258945Sroberto    {
3195301256Sdelphij			(yyval.Int_fifo) = (yyvsp[-1].Int_fifo);
3196301256Sdelphij			APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer)));
3197258945Sroberto		}
3198338531Sdelphij#line 3199 "ntp_parser.c" /* yacc.c:1646  */
3199258945Sroberto    break;
3200258945Sroberto
3201330141Sdelphij  case 277:
3202338531Sdelphij#line 1443 "ntp_parser.y" /* yacc.c:1646  */
3203275970Scy    {
3204301256Sdelphij			(yyval.Int_fifo) = NULL;
3205301256Sdelphij			APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer)));
3206275970Scy		}
3207338531Sdelphij#line 3208 "ntp_parser.c" /* yacc.c:1646  */
3208258945Sroberto    break;
3209258945Sroberto
3210330141Sdelphij  case 285:
3211338531Sdelphij#line 1467 "ntp_parser.y" /* yacc.c:1646  */
3212275970Scy    {
3213301256Sdelphij			(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
3214301256Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), create_int_node((yyvsp[0].Integer)));
3215275970Scy		}
3216338531Sdelphij#line 3217 "ntp_parser.c" /* yacc.c:1646  */
3217258945Sroberto    break;
3218258945Sroberto
3219330141Sdelphij  case 286:
3220338531Sdelphij#line 1472 "ntp_parser.y" /* yacc.c:1646  */
3221275970Scy    {
3222301256Sdelphij			(yyval.Attr_val_fifo) = NULL;
3223301256Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), create_int_node((yyvsp[0].Integer)));
3224275970Scy		}
3225338531Sdelphij#line 3226 "ntp_parser.c" /* yacc.c:1646  */
3226258945Sroberto    break;
3227258945Sroberto
3228330141Sdelphij  case 287:
3229338531Sdelphij#line 1480 "ntp_parser.y" /* yacc.c:1646  */
3230275970Scy    {
3231301256Sdelphij			(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
3232301256Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
3233275970Scy		}
3234338531Sdelphij#line 3235 "ntp_parser.c" /* yacc.c:1646  */
3235258945Sroberto    break;
3236258945Sroberto
3237330141Sdelphij  case 288:
3238338531Sdelphij#line 1485 "ntp_parser.y" /* yacc.c:1646  */
3239301256Sdelphij    {
3240301256Sdelphij			(yyval.Attr_val_fifo) = NULL;
3241301256Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
3242301256Sdelphij		}
3243338531Sdelphij#line 3244 "ntp_parser.c" /* yacc.c:1646  */
3244258945Sroberto    break;
3245258945Sroberto
3246330141Sdelphij  case 289:
3247338531Sdelphij#line 1493 "ntp_parser.y" /* yacc.c:1646  */
3248301256Sdelphij    { (yyval.Attr_val) = create_attr_ival('i', (yyvsp[0].Integer)); }
3249338531Sdelphij#line 3250 "ntp_parser.c" /* yacc.c:1646  */
3250258945Sroberto    break;
3251258945Sroberto
3252330141Sdelphij  case 291:
3253338531Sdelphij#line 1499 "ntp_parser.y" /* yacc.c:1646  */
3254301256Sdelphij    { (yyval.Attr_val) = create_attr_rangeval('-', (yyvsp[-3].Integer), (yyvsp[-1].Integer)); }
3255338531Sdelphij#line 3256 "ntp_parser.c" /* yacc.c:1646  */
3256258945Sroberto    break;
3257258945Sroberto
3258330141Sdelphij  case 292:
3259338531Sdelphij#line 1504 "ntp_parser.y" /* yacc.c:1646  */
3260275970Scy    {
3261301256Sdelphij			(yyval.String_fifo) = (yyvsp[-1].String_fifo);
3262301256Sdelphij			APPEND_G_FIFO((yyval.String_fifo), create_string_node((yyvsp[0].String)));
3263275970Scy		}
3264338531Sdelphij#line 3265 "ntp_parser.c" /* yacc.c:1646  */
3265258945Sroberto    break;
3266258945Sroberto
3267330141Sdelphij  case 293:
3268338531Sdelphij#line 1509 "ntp_parser.y" /* yacc.c:1646  */
3269275970Scy    {
3270301256Sdelphij			(yyval.String_fifo) = NULL;
3271301256Sdelphij			APPEND_G_FIFO((yyval.String_fifo), create_string_node((yyvsp[0].String)));
3272275970Scy		}
3273338531Sdelphij#line 3274 "ntp_parser.c" /* yacc.c:1646  */
3274258945Sroberto    break;
3275258945Sroberto
3276330141Sdelphij  case 294:
3277338531Sdelphij#line 1517 "ntp_parser.y" /* yacc.c:1646  */
3278275970Scy    {
3279301256Sdelphij			(yyval.Address_fifo) = (yyvsp[-1].Address_fifo);
3280301256Sdelphij			APPEND_G_FIFO((yyval.Address_fifo), (yyvsp[0].Address_node));
3281275970Scy		}
3282338531Sdelphij#line 3283 "ntp_parser.c" /* yacc.c:1646  */
3283258945Sroberto    break;
3284258945Sroberto
3285330141Sdelphij  case 295:
3286338531Sdelphij#line 1522 "ntp_parser.y" /* yacc.c:1646  */
3287258945Sroberto    {
3288301256Sdelphij			(yyval.Address_fifo) = NULL;
3289301256Sdelphij			APPEND_G_FIFO((yyval.Address_fifo), (yyvsp[0].Address_node));
3290301256Sdelphij		}
3291338531Sdelphij#line 3292 "ntp_parser.c" /* yacc.c:1646  */
3292301256Sdelphij    break;
3293301256Sdelphij
3294330141Sdelphij  case 296:
3295338531Sdelphij#line 1530 "ntp_parser.y" /* yacc.c:1646  */
3296301256Sdelphij    {
3297301256Sdelphij			if ((yyvsp[0].Integer) != 0 && (yyvsp[0].Integer) != 1) {
3298285612Sdelphij				yyerror("Integer value is not boolean (0 or 1). Assuming 1");
3299258945Sroberto				(yyval.Integer) = 1;
3300258945Sroberto			} else {
3301301256Sdelphij				(yyval.Integer) = (yyvsp[0].Integer);
3302258945Sroberto			}
3303258945Sroberto		}
3304338531Sdelphij#line 3305 "ntp_parser.c" /* yacc.c:1646  */
3305258945Sroberto    break;
3306258945Sroberto
3307330141Sdelphij  case 297:
3308338531Sdelphij#line 1538 "ntp_parser.y" /* yacc.c:1646  */
3309258945Sroberto    { (yyval.Integer) = 1; }
3310338531Sdelphij#line 3311 "ntp_parser.c" /* yacc.c:1646  */
3311258945Sroberto    break;
3312258945Sroberto
3313330141Sdelphij  case 298:
3314338531Sdelphij#line 1539 "ntp_parser.y" /* yacc.c:1646  */
3315258945Sroberto    { (yyval.Integer) = 0; }
3316338531Sdelphij#line 3317 "ntp_parser.c" /* yacc.c:1646  */
3317258945Sroberto    break;
3318258945Sroberto
3319330141Sdelphij  case 299:
3320338531Sdelphij#line 1543 "ntp_parser.y" /* yacc.c:1646  */
3321301256Sdelphij    { (yyval.Double) = (double)(yyvsp[0].Integer); }
3322338531Sdelphij#line 3323 "ntp_parser.c" /* yacc.c:1646  */
3323258945Sroberto    break;
3324258945Sroberto
3325330141Sdelphij  case 301:
3326338531Sdelphij#line 1549 "ntp_parser.y" /* yacc.c:1646  */
3327330141Sdelphij    { (yyval.Integer) = basedate_eval_string((yyvsp[0].String)); YYFREE((yyvsp[0].String)); }
3328338531Sdelphij#line 3329 "ntp_parser.c" /* yacc.c:1646  */
3329330141Sdelphij    break;
3330330141Sdelphij
3331330141Sdelphij  case 302:
3332338531Sdelphij#line 1557 "ntp_parser.y" /* yacc.c:1646  */
3333258945Sroberto    {
3334275970Scy			sim_node *sn;
3335285612Sdelphij
3336301256Sdelphij			sn =  create_sim_node((yyvsp[-2].Attr_val_fifo), (yyvsp[-1].Sim_server_fifo));
3337275970Scy			APPEND_G_FIFO(cfgt.sim_details, sn);
3338258945Sroberto
3339275970Scy			/* Revert from ; to \n for end-of-command */
3340258945Sroberto			old_config_style = 1;
3341258945Sroberto		}
3342338531Sdelphij#line 3343 "ntp_parser.c" /* yacc.c:1646  */
3343258945Sroberto    break;
3344258945Sroberto
3345330141Sdelphij  case 303:
3346338531Sdelphij#line 1574 "ntp_parser.y" /* yacc.c:1646  */
3347258945Sroberto    { old_config_style = 0; }
3348338531Sdelphij#line 3349 "ntp_parser.c" /* yacc.c:1646  */
3349258945Sroberto    break;
3350258945Sroberto
3351330141Sdelphij  case 304:
3352338531Sdelphij#line 1579 "ntp_parser.y" /* yacc.c:1646  */
3353275970Scy    {
3354301256Sdelphij			(yyval.Attr_val_fifo) = (yyvsp[-2].Attr_val_fifo);
3355301256Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val));
3356275970Scy		}
3357338531Sdelphij#line 3358 "ntp_parser.c" /* yacc.c:1646  */
3358258945Sroberto    break;
3359258945Sroberto
3360330141Sdelphij  case 305:
3361338531Sdelphij#line 1584 "ntp_parser.y" /* yacc.c:1646  */
3362275970Scy    {
3363275970Scy			(yyval.Attr_val_fifo) = NULL;
3364301256Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val));
3365275970Scy		}
3366338531Sdelphij#line 3367 "ntp_parser.c" /* yacc.c:1646  */
3367258945Sroberto    break;
3368258945Sroberto
3369330141Sdelphij  case 306:
3370338531Sdelphij#line 1592 "ntp_parser.y" /* yacc.c:1646  */
3371301256Sdelphij    { (yyval.Attr_val) = create_attr_dval((yyvsp[-2].Integer), (yyvsp[0].Double)); }
3372338531Sdelphij#line 3373 "ntp_parser.c" /* yacc.c:1646  */
3373258945Sroberto    break;
3374258945Sroberto
3375330141Sdelphij  case 309:
3376338531Sdelphij#line 1602 "ntp_parser.y" /* yacc.c:1646  */
3377275970Scy    {
3378301256Sdelphij			(yyval.Sim_server_fifo) = (yyvsp[-1].Sim_server_fifo);
3379301256Sdelphij			APPEND_G_FIFO((yyval.Sim_server_fifo), (yyvsp[0].Sim_server));
3380275970Scy		}
3381338531Sdelphij#line 3382 "ntp_parser.c" /* yacc.c:1646  */
3382258945Sroberto    break;
3383258945Sroberto
3384330141Sdelphij  case 310:
3385338531Sdelphij#line 1607 "ntp_parser.y" /* yacc.c:1646  */
3386275970Scy    {
3387275970Scy			(yyval.Sim_server_fifo) = NULL;
3388301256Sdelphij			APPEND_G_FIFO((yyval.Sim_server_fifo), (yyvsp[0].Sim_server));
3389275970Scy		}
3390338531Sdelphij#line 3391 "ntp_parser.c" /* yacc.c:1646  */
3391258945Sroberto    break;
3392258945Sroberto
3393330141Sdelphij  case 311:
3394338531Sdelphij#line 1615 "ntp_parser.y" /* yacc.c:1646  */
3395301256Sdelphij    { (yyval.Sim_server) = ONLY_SIM(create_sim_server((yyvsp[-4].Address_node), (yyvsp[-2].Double), (yyvsp[-1].Sim_script_fifo))); }
3396338531Sdelphij#line 3397 "ntp_parser.c" /* yacc.c:1646  */
3397258945Sroberto    break;
3398258945Sroberto
3399330141Sdelphij  case 312:
3400338531Sdelphij#line 1620 "ntp_parser.y" /* yacc.c:1646  */
3401301256Sdelphij    { (yyval.Double) = (yyvsp[-1].Double); }
3402338531Sdelphij#line 3403 "ntp_parser.c" /* yacc.c:1646  */
3403258945Sroberto    break;
3404258945Sroberto
3405330141Sdelphij  case 313:
3406338531Sdelphij#line 1625 "ntp_parser.y" /* yacc.c:1646  */
3407301256Sdelphij    { (yyval.Address_node) = (yyvsp[0].Address_node); }
3408338531Sdelphij#line 3409 "ntp_parser.c" /* yacc.c:1646  */
3409301256Sdelphij    break;
3410301256Sdelphij
3411330141Sdelphij  case 314:
3412338531Sdelphij#line 1630 "ntp_parser.y" /* yacc.c:1646  */
3413275970Scy    {
3414301256Sdelphij			(yyval.Sim_script_fifo) = (yyvsp[-1].Sim_script_fifo);
3415301256Sdelphij			APPEND_G_FIFO((yyval.Sim_script_fifo), (yyvsp[0].Sim_script));
3416275970Scy		}
3417338531Sdelphij#line 3418 "ntp_parser.c" /* yacc.c:1646  */
3418258945Sroberto    break;
3419258945Sroberto
3420330141Sdelphij  case 315:
3421338531Sdelphij#line 1635 "ntp_parser.y" /* yacc.c:1646  */
3422275970Scy    {
3423275970Scy			(yyval.Sim_script_fifo) = NULL;
3424301256Sdelphij			APPEND_G_FIFO((yyval.Sim_script_fifo), (yyvsp[0].Sim_script));
3425275970Scy		}
3426338531Sdelphij#line 3427 "ntp_parser.c" /* yacc.c:1646  */
3427258945Sroberto    break;
3428258945Sroberto
3429330141Sdelphij  case 316:
3430338531Sdelphij#line 1643 "ntp_parser.y" /* yacc.c:1646  */
3431301256Sdelphij    { (yyval.Sim_script) = ONLY_SIM(create_sim_script_info((yyvsp[-3].Double), (yyvsp[-1].Attr_val_fifo))); }
3432338531Sdelphij#line 3433 "ntp_parser.c" /* yacc.c:1646  */
3433258945Sroberto    break;
3434258945Sroberto
3435330141Sdelphij  case 317:
3436338531Sdelphij#line 1648 "ntp_parser.y" /* yacc.c:1646  */
3437275970Scy    {
3438301256Sdelphij			(yyval.Attr_val_fifo) = (yyvsp[-2].Attr_val_fifo);
3439301256Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val));
3440275970Scy		}
3441338531Sdelphij#line 3442 "ntp_parser.c" /* yacc.c:1646  */
3442258945Sroberto    break;
3443258945Sroberto
3444330141Sdelphij  case 318:
3445338531Sdelphij#line 1653 "ntp_parser.y" /* yacc.c:1646  */
3446275970Scy    {
3447275970Scy			(yyval.Attr_val_fifo) = NULL;
3448301256Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val));
3449275970Scy		}
3450338531Sdelphij#line 3451 "ntp_parser.c" /* yacc.c:1646  */
3451258945Sroberto    break;
3452258945Sroberto
3453330141Sdelphij  case 319:
3454338531Sdelphij#line 1661 "ntp_parser.y" /* yacc.c:1646  */
3455301256Sdelphij    { (yyval.Attr_val) = create_attr_dval((yyvsp[-2].Integer), (yyvsp[0].Double)); }
3456338531Sdelphij#line 3457 "ntp_parser.c" /* yacc.c:1646  */
3457258945Sroberto    break;
3458258945Sroberto
3459258945Sroberto
3460338531Sdelphij#line 3461 "ntp_parser.c" /* yacc.c:1646  */
3461258945Sroberto      default: break;
3462258945Sroberto    }
3463275970Scy  /* User semantic actions sometimes alter yychar, and that requires
3464275970Scy     that yytoken be updated with the new translation.  We take the
3465275970Scy     approach of translating immediately before every use of yytoken.
3466275970Scy     One alternative is translating here after every semantic action,
3467275970Scy     but that translation would be missed if the semantic action invokes
3468275970Scy     YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
3469275970Scy     if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
3470275970Scy     incorrect destructor might then be invoked immediately.  In the
3471275970Scy     case of YYERROR or YYBACKUP, subsequent parser actions might lead
3472275970Scy     to an incorrect destructor call or verbose syntax error message
3473275970Scy     before the lookahead is translated.  */
3474258945Sroberto  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
3475258945Sroberto
3476258945Sroberto  YYPOPSTACK (yylen);
3477258945Sroberto  yylen = 0;
3478258945Sroberto  YY_STACK_PRINT (yyss, yyssp);
3479258945Sroberto
3480258945Sroberto  *++yyvsp = yyval;
3481258945Sroberto
3482301256Sdelphij  /* Now 'shift' the result of the reduction.  Determine what state
3483258945Sroberto     that goes to, based on the state we popped back to and the rule
3484258945Sroberto     number reduced by.  */
3485258945Sroberto
3486258945Sroberto  yyn = yyr1[yyn];
3487258945Sroberto
3488258945Sroberto  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
3489258945Sroberto  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
3490258945Sroberto    yystate = yytable[yystate];
3491258945Sroberto  else
3492258945Sroberto    yystate = yydefgoto[yyn - YYNTOKENS];
3493258945Sroberto
3494258945Sroberto  goto yynewstate;
3495258945Sroberto
3496258945Sroberto
3497301256Sdelphij/*--------------------------------------.
3498301256Sdelphij| yyerrlab -- here on detecting error.  |
3499301256Sdelphij`--------------------------------------*/
3500258945Srobertoyyerrlab:
3501275970Scy  /* Make sure we have latest lookahead translation.  See comments at
3502275970Scy     user semantic actions for why this is necessary.  */
3503275970Scy  yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
3504275970Scy
3505258945Sroberto  /* If not already recovering from an error, report this error.  */
3506258945Sroberto  if (!yyerrstatus)
3507258945Sroberto    {
3508258945Sroberto      ++yynerrs;
3509258945Sroberto#if ! YYERROR_VERBOSE
3510285612Sdelphij      yyerror (YY_("syntax error"));
3511258945Sroberto#else
3512275970Scy# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
3513275970Scy                                        yyssp, yytoken)
3514258945Sroberto      {
3515275970Scy        char const *yymsgp = YY_("syntax error");
3516275970Scy        int yysyntax_error_status;
3517275970Scy        yysyntax_error_status = YYSYNTAX_ERROR;
3518275970Scy        if (yysyntax_error_status == 0)
3519275970Scy          yymsgp = yymsg;
3520275970Scy        else if (yysyntax_error_status == 1)
3521275970Scy          {
3522275970Scy            if (yymsg != yymsgbuf)
3523275970Scy              YYSTACK_FREE (yymsg);
3524275970Scy            yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
3525275970Scy            if (!yymsg)
3526275970Scy              {
3527275970Scy                yymsg = yymsgbuf;
3528275970Scy                yymsg_alloc = sizeof yymsgbuf;
3529275970Scy                yysyntax_error_status = 2;
3530275970Scy              }
3531275970Scy            else
3532275970Scy              {
3533275970Scy                yysyntax_error_status = YYSYNTAX_ERROR;
3534275970Scy                yymsgp = yymsg;
3535275970Scy              }
3536275970Scy          }
3537285612Sdelphij        yyerror (yymsgp);
3538275970Scy        if (yysyntax_error_status == 2)
3539275970Scy          goto yyexhaustedlab;
3540258945Sroberto      }
3541275970Scy# undef YYSYNTAX_ERROR
3542258945Sroberto#endif
3543258945Sroberto    }
3544258945Sroberto
3545258945Sroberto
3546258945Sroberto
3547258945Sroberto  if (yyerrstatus == 3)
3548258945Sroberto    {
3549258945Sroberto      /* If just tried and failed to reuse lookahead token after an
3550301256Sdelphij         error, discard it.  */
3551258945Sroberto
3552258945Sroberto      if (yychar <= YYEOF)
3553301256Sdelphij        {
3554301256Sdelphij          /* Return failure if at end of input.  */
3555301256Sdelphij          if (yychar == YYEOF)
3556301256Sdelphij            YYABORT;
3557301256Sdelphij        }
3558258945Sroberto      else
3559301256Sdelphij        {
3560301256Sdelphij          yydestruct ("Error: discarding",
3561301256Sdelphij                      yytoken, &yylval);
3562301256Sdelphij          yychar = YYEMPTY;
3563301256Sdelphij        }
3564258945Sroberto    }
3565258945Sroberto
3566258945Sroberto  /* Else will try to reuse lookahead token after shifting the error
3567258945Sroberto     token.  */
3568258945Sroberto  goto yyerrlab1;
3569258945Sroberto
3570258945Sroberto
3571258945Sroberto/*---------------------------------------------------.
3572258945Sroberto| yyerrorlab -- error raised explicitly by YYERROR.  |
3573258945Sroberto`---------------------------------------------------*/
3574258945Srobertoyyerrorlab:
3575258945Sroberto
3576258945Sroberto  /* Pacify compilers like GCC when the user code never invokes
3577258945Sroberto     YYERROR and the label yyerrorlab therefore never appears in user
3578258945Sroberto     code.  */
3579258945Sroberto  if (/*CONSTCOND*/ 0)
3580258945Sroberto     goto yyerrorlab;
3581258945Sroberto
3582301256Sdelphij  /* Do not reclaim the symbols of the rule whose action triggered
3583258945Sroberto     this YYERROR.  */
3584258945Sroberto  YYPOPSTACK (yylen);
3585258945Sroberto  yylen = 0;
3586258945Sroberto  YY_STACK_PRINT (yyss, yyssp);
3587258945Sroberto  yystate = *yyssp;
3588258945Sroberto  goto yyerrlab1;
3589258945Sroberto
3590258945Sroberto
3591258945Sroberto/*-------------------------------------------------------------.
3592258945Sroberto| yyerrlab1 -- common code for both syntax error and YYERROR.  |
3593258945Sroberto`-------------------------------------------------------------*/
3594258945Srobertoyyerrlab1:
3595301256Sdelphij  yyerrstatus = 3;      /* Each real token shifted decrements this.  */
3596258945Sroberto
3597258945Sroberto  for (;;)
3598258945Sroberto    {
3599258945Sroberto      yyn = yypact[yystate];
3600275970Scy      if (!yypact_value_is_default (yyn))
3601301256Sdelphij        {
3602301256Sdelphij          yyn += YYTERROR;
3603301256Sdelphij          if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
3604301256Sdelphij            {
3605301256Sdelphij              yyn = yytable[yyn];
3606301256Sdelphij              if (0 < yyn)
3607301256Sdelphij                break;
3608301256Sdelphij            }
3609301256Sdelphij        }
3610258945Sroberto
3611258945Sroberto      /* Pop the current state because it cannot handle the error token.  */
3612258945Sroberto      if (yyssp == yyss)
3613301256Sdelphij        YYABORT;
3614258945Sroberto
3615258945Sroberto
3616258945Sroberto      yydestruct ("Error: popping",
3617301256Sdelphij                  yystos[yystate], yyvsp);
3618258945Sroberto      YYPOPSTACK (1);
3619258945Sroberto      yystate = *yyssp;
3620258945Sroberto      YY_STACK_PRINT (yyss, yyssp);
3621258945Sroberto    }
3622258945Sroberto
3623275970Scy  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
3624258945Sroberto  *++yyvsp = yylval;
3625275970Scy  YY_IGNORE_MAYBE_UNINITIALIZED_END
3626258945Sroberto
3627258945Sroberto
3628258945Sroberto  /* Shift the error token.  */
3629258945Sroberto  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
3630258945Sroberto
3631258945Sroberto  yystate = yyn;
3632258945Sroberto  goto yynewstate;
3633258945Sroberto
3634258945Sroberto
3635258945Sroberto/*-------------------------------------.
3636258945Sroberto| yyacceptlab -- YYACCEPT comes here.  |
3637258945Sroberto`-------------------------------------*/
3638258945Srobertoyyacceptlab:
3639258945Sroberto  yyresult = 0;
3640258945Sroberto  goto yyreturn;
3641258945Sroberto
3642258945Sroberto/*-----------------------------------.
3643258945Sroberto| yyabortlab -- YYABORT comes here.  |
3644258945Sroberto`-----------------------------------*/
3645258945Srobertoyyabortlab:
3646258945Sroberto  yyresult = 1;
3647258945Sroberto  goto yyreturn;
3648258945Sroberto
3649275970Scy#if !defined yyoverflow || YYERROR_VERBOSE
3650258945Sroberto/*-------------------------------------------------.
3651258945Sroberto| yyexhaustedlab -- memory exhaustion comes here.  |
3652258945Sroberto`-------------------------------------------------*/
3653258945Srobertoyyexhaustedlab:
3654285612Sdelphij  yyerror (YY_("memory exhausted"));
3655258945Sroberto  yyresult = 2;
3656258945Sroberto  /* Fall through.  */
3657258945Sroberto#endif
3658258945Sroberto
3659258945Srobertoyyreturn:
3660258945Sroberto  if (yychar != YYEMPTY)
3661275970Scy    {
3662275970Scy      /* Make sure we have latest lookahead translation.  See comments at
3663275970Scy         user semantic actions for why this is necessary.  */
3664275970Scy      yytoken = YYTRANSLATE (yychar);
3665275970Scy      yydestruct ("Cleanup: discarding lookahead",
3666285612Sdelphij                  yytoken, &yylval);
3667275970Scy    }
3668301256Sdelphij  /* Do not reclaim the symbols of the rule whose action triggered
3669258945Sroberto     this YYABORT or YYACCEPT.  */
3670258945Sroberto  YYPOPSTACK (yylen);
3671258945Sroberto  YY_STACK_PRINT (yyss, yyssp);
3672258945Sroberto  while (yyssp != yyss)
3673258945Sroberto    {
3674258945Sroberto      yydestruct ("Cleanup: popping",
3675301256Sdelphij                  yystos[*yyssp], yyvsp);
3676258945Sroberto      YYPOPSTACK (1);
3677258945Sroberto    }
3678258945Sroberto#ifndef yyoverflow
3679258945Sroberto  if (yyss != yyssa)
3680258945Sroberto    YYSTACK_FREE (yyss);
3681258945Sroberto#endif
3682258945Sroberto#if YYERROR_VERBOSE
3683258945Sroberto  if (yymsg != yymsgbuf)
3684258945Sroberto    YYSTACK_FREE (yymsg);
3685258945Sroberto#endif
3686301256Sdelphij  return yyresult;
3687258945Sroberto}
3688338531Sdelphij#line 1672 "ntp_parser.y" /* yacc.c:1906  */
3689258945Sroberto
3690258945Sroberto
3691285612Sdelphijvoid
3692258945Srobertoyyerror(
3693258945Sroberto	const char *msg
3694258945Sroberto	)
3695258945Sroberto{
3696258945Sroberto	int retval;
3697285612Sdelphij	struct FILE_INFO * ip_ctx;
3698258945Sroberto
3699285612Sdelphij	ip_ctx = lex_current();
3700285612Sdelphij	ip_ctx->errpos = ip_ctx->tokpos;
3701285612Sdelphij
3702285612Sdelphij	msyslog(LOG_ERR, "line %d column %d %s",
3703285612Sdelphij		ip_ctx->errpos.nline, ip_ctx->errpos.ncol, msg);
3704285612Sdelphij	if (!lex_from_file()) {
3705258945Sroberto		/* Save the error message in the correct buffer */
3706258945Sroberto		retval = snprintf(remote_config.err_msg + remote_config.err_pos,
3707258945Sroberto				  MAXLINE - remote_config.err_pos,
3708258945Sroberto				  "column %d %s",
3709285612Sdelphij				  ip_ctx->errpos.ncol, msg);
3710258945Sroberto
3711258945Sroberto		/* Increment the value of err_pos */
3712258945Sroberto		if (retval > 0)
3713258945Sroberto			remote_config.err_pos += retval;
3714258945Sroberto
3715258945Sroberto		/* Increment the number of errors */
3716258945Sroberto		++remote_config.no_errors;
3717258945Sroberto	}
3718258945Sroberto}
3719258945Sroberto
3720258945Sroberto
3721258945Sroberto/*
3722275970Scy * token_name - convert T_ token integers to text
3723275970Scy *		example: token_name(T_Server) returns "T_Server"
3724258945Sroberto */
3725258945Srobertoconst char *
3726258945Srobertotoken_name(
3727258945Sroberto	int token
3728258945Sroberto	)
3729258945Sroberto{
3730258945Sroberto	return yytname[YYTRANSLATE(token)];
3731258945Sroberto}
3732258945Sroberto
3733258945Sroberto
3734275970Scy/* Initial Testing function -- ignore */
3735275970Scy#if 0
3736258945Srobertoint main(int argc, char *argv[])
3737258945Sroberto{
3738258945Sroberto	ip_file = FOPEN(argv[1], "r");
3739275970Scy	if (!ip_file)
3740258945Sroberto		fprintf(stderr, "ERROR!! Could not open file: %s\n", argv[1]);
3741258945Sroberto	yyparse();
3742258945Sroberto	return 0;
3743258945Sroberto}
3744275970Scy#endif
3745258945Sroberto
3746