1301301Sdelphij/* A Bison parser, made by GNU Bison 3.0.4.  */
2290001Sglebius
3290001Sglebius/* Bison implementation for Yacc-like parsers in C
4301301Sdelphij
5301301Sdelphij   Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
6301301Sdelphij
7290001Sglebius   This program is free software: you can redistribute it and/or modify
8290001Sglebius   it under the terms of the GNU General Public License as published by
9290001Sglebius   the Free Software Foundation, either version 3 of the License, or
10290001Sglebius   (at your option) any later version.
11301301Sdelphij
12290001Sglebius   This program is distributed in the hope that it will be useful,
13290001Sglebius   but WITHOUT ANY WARRANTY; without even the implied warranty of
14290001Sglebius   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15290001Sglebius   GNU General Public License for more details.
16301301Sdelphij
17290001Sglebius   You should have received a copy of the GNU General Public License
18290001Sglebius   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
19290001Sglebius
20290001Sglebius/* As a special exception, you may create a larger work that contains
21290001Sglebius   part or all of the Bison parser skeleton and distribute that work
22290001Sglebius   under terms of your choice, so long as that work isn't itself a
23290001Sglebius   parser generator using the skeleton or a modified version thereof
24290001Sglebius   as a parser skeleton.  Alternatively, if you modify or redistribute
25290001Sglebius   the parser skeleton itself, you may (at your option) remove this
26290001Sglebius   special exception, which will cause the skeleton and the resulting
27290001Sglebius   Bison output files to be licensed under the GNU General Public
28290001Sglebius   License without this special exception.
29301301Sdelphij
30290001Sglebius   This special exception was added by the Free Software Foundation in
31290001Sglebius   version 2.2 of Bison.  */
32290001Sglebius
33290001Sglebius/* C LALR(1) parser skeleton written by Richard Stallman, by
34290001Sglebius   simplifying the original so-called "semantic" parser.  */
35290001Sglebius
36290001Sglebius/* All symbols defined below should begin with yy or YY, to avoid
37290001Sglebius   infringing on user name space.  This should be done even for local
38290001Sglebius   variables, as they might otherwise be expanded by user macros.
39290001Sglebius   There are some unavoidable exceptions within include files to
40290001Sglebius   define necessary library symbols; they are noted "INFRINGES ON
41290001Sglebius   USER NAME SPACE" below.  */
42290001Sglebius
43290001Sglebius/* Identify Bison output.  */
44290001Sglebius#define YYBISON 1
45290001Sglebius
46290001Sglebius/* Bison version.  */
47301301Sdelphij#define YYBISON_VERSION "3.0.4"
48290001Sglebius
49290001Sglebius/* Skeleton name.  */
50290001Sglebius#define YYSKELETON_NAME "yacc.c"
51290001Sglebius
52290001Sglebius/* Pure parsers.  */
53290001Sglebius#define YYPURE 0
54290001Sglebius
55290001Sglebius/* Push parsers.  */
56290001Sglebius#define YYPUSH 0
57290001Sglebius
58290001Sglebius/* Pull parsers.  */
59290001Sglebius#define YYPULL 1
60290001Sglebius
61290001Sglebius
62290001Sglebius
63290001Sglebius
64290001Sglebius/* Copy the first part of user declarations.  */
65301301Sdelphij#line 11 "../../ntpd/ntp_parser.y" /* yacc.c:339  */
66290001Sglebius
67290001Sglebius  #ifdef HAVE_CONFIG_H
68290001Sglebius  # include <config.h>
69290001Sglebius  #endif
70290001Sglebius
71290001Sglebius  #include "ntp.h"
72290001Sglebius  #include "ntpd.h"
73290001Sglebius  #include "ntp_machine.h"
74290001Sglebius  #include "ntp_stdlib.h"
75290001Sglebius  #include "ntp_filegen.h"
76290001Sglebius  #include "ntp_scanner.h"
77290001Sglebius  #include "ntp_config.h"
78290001Sglebius  #include "ntp_crypto.h"
79290001Sglebius
80290001Sglebius  #include "ntpsim.h"		/* HMS: Do we really want this all the time? */
81290001Sglebius				/* SK: It might be a good idea to always
82290001Sglebius				   include the simulator code. That way
83290001Sglebius				   someone can use the same configuration file
84290001Sglebius				   for both the simulator and the daemon
85290001Sglebius				*/
86290001Sglebius
87290001Sglebius  #define YYMALLOC	emalloc
88290001Sglebius  #define YYFREE	free
89290001Sglebius  #define YYERROR_VERBOSE
90290001Sglebius  #define YYMAXDEPTH	1000	/* stop the madness sooner */
91290001Sglebius  void yyerror(const char *msg);
92290001Sglebius
93290001Sglebius  #ifdef SIM
94290001Sglebius  #  define ONLY_SIM(a)	(a)
95290001Sglebius  #else
96290001Sglebius  #  define ONLY_SIM(a)	NULL
97290001Sglebius  #endif
98290001Sglebius
99310419Sdelphij#line 100 "ntp_parser.c" /* yacc.c:339  */
100290001Sglebius
101301301Sdelphij# ifndef YY_NULLPTR
102290001Sglebius#  if defined __cplusplus && 201103L <= __cplusplus
103301301Sdelphij#   define YY_NULLPTR nullptr
104290001Sglebius#  else
105301301Sdelphij#   define YY_NULLPTR 0
106290001Sglebius#  endif
107290001Sglebius# endif
108290001Sglebius
109290001Sglebius/* Enabling verbose error messages.  */
110290001Sglebius#ifdef YYERROR_VERBOSE
111290001Sglebius# undef YYERROR_VERBOSE
112290001Sglebius# define YYERROR_VERBOSE 1
113290001Sglebius#else
114290001Sglebius# define YYERROR_VERBOSE 0
115290001Sglebius#endif
116290001Sglebius
117290001Sglebius/* In a future release of Bison, this section will be replaced
118290001Sglebius   by #include "y.tab.h".  */
119301301Sdelphij#ifndef YY_YY_Y_TAB_H_INCLUDED
120301301Sdelphij# define YY_YY_Y_TAB_H_INCLUDED
121301301Sdelphij/* Debug traces.  */
122290001Sglebius#ifndef YYDEBUG
123290001Sglebius# define YYDEBUG 1
124290001Sglebius#endif
125290001Sglebius#if YYDEBUG
126290001Sglebiusextern int yydebug;
127290001Sglebius#endif
128290001Sglebius
129301301Sdelphij/* Token type.  */
130290001Sglebius#ifndef YYTOKENTYPE
131290001Sglebius# define YYTOKENTYPE
132301301Sdelphij  enum yytokentype
133301301Sdelphij  {
134301301Sdelphij    T_Abbrev = 258,
135301301Sdelphij    T_Age = 259,
136301301Sdelphij    T_All = 260,
137301301Sdelphij    T_Allan = 261,
138301301Sdelphij    T_Allpeers = 262,
139301301Sdelphij    T_Auth = 263,
140301301Sdelphij    T_Autokey = 264,
141301301Sdelphij    T_Automax = 265,
142301301Sdelphij    T_Average = 266,
143301301Sdelphij    T_Bclient = 267,
144310419Sdelphij    T_Bcpollbstep = 268,
145310419Sdelphij    T_Beacon = 269,
146310419Sdelphij    T_Broadcast = 270,
147310419Sdelphij    T_Broadcastclient = 271,
148310419Sdelphij    T_Broadcastdelay = 272,
149310419Sdelphij    T_Burst = 273,
150310419Sdelphij    T_Calibrate = 274,
151310419Sdelphij    T_Ceiling = 275,
152310419Sdelphij    T_Clockstats = 276,
153310419Sdelphij    T_Cohort = 277,
154310419Sdelphij    T_ControlKey = 278,
155310419Sdelphij    T_Crypto = 279,
156310419Sdelphij    T_Cryptostats = 280,
157310419Sdelphij    T_Ctl = 281,
158310419Sdelphij    T_Day = 282,
159310419Sdelphij    T_Default = 283,
160310419Sdelphij    T_Digest = 284,
161310419Sdelphij    T_Disable = 285,
162310419Sdelphij    T_Discard = 286,
163310419Sdelphij    T_Dispersion = 287,
164310419Sdelphij    T_Double = 288,
165310419Sdelphij    T_Driftfile = 289,
166310419Sdelphij    T_Drop = 290,
167310419Sdelphij    T_Dscp = 291,
168310419Sdelphij    T_Ellipsis = 292,
169310419Sdelphij    T_Enable = 293,
170310419Sdelphij    T_End = 294,
171310419Sdelphij    T_False = 295,
172310419Sdelphij    T_File = 296,
173310419Sdelphij    T_Filegen = 297,
174310419Sdelphij    T_Filenum = 298,
175310419Sdelphij    T_Flag1 = 299,
176310419Sdelphij    T_Flag2 = 300,
177310419Sdelphij    T_Flag3 = 301,
178310419Sdelphij    T_Flag4 = 302,
179310419Sdelphij    T_Flake = 303,
180310419Sdelphij    T_Floor = 304,
181310419Sdelphij    T_Freq = 305,
182310419Sdelphij    T_Fudge = 306,
183310419Sdelphij    T_Host = 307,
184310419Sdelphij    T_Huffpuff = 308,
185310419Sdelphij    T_Iburst = 309,
186310419Sdelphij    T_Ident = 310,
187310419Sdelphij    T_Ignore = 311,
188310419Sdelphij    T_Incalloc = 312,
189310419Sdelphij    T_Incmem = 313,
190310419Sdelphij    T_Initalloc = 314,
191310419Sdelphij    T_Initmem = 315,
192310419Sdelphij    T_Includefile = 316,
193310419Sdelphij    T_Integer = 317,
194310419Sdelphij    T_Interface = 318,
195310419Sdelphij    T_Intrange = 319,
196310419Sdelphij    T_Io = 320,
197310419Sdelphij    T_Ipv4 = 321,
198310419Sdelphij    T_Ipv4_flag = 322,
199310419Sdelphij    T_Ipv6 = 323,
200310419Sdelphij    T_Ipv6_flag = 324,
201310419Sdelphij    T_Kernel = 325,
202310419Sdelphij    T_Key = 326,
203310419Sdelphij    T_Keys = 327,
204310419Sdelphij    T_Keysdir = 328,
205310419Sdelphij    T_Kod = 329,
206310419Sdelphij    T_Mssntp = 330,
207310419Sdelphij    T_Leapfile = 331,
208310419Sdelphij    T_Leapsmearinterval = 332,
209310419Sdelphij    T_Limited = 333,
210310419Sdelphij    T_Link = 334,
211310419Sdelphij    T_Listen = 335,
212310419Sdelphij    T_Logconfig = 336,
213310419Sdelphij    T_Logfile = 337,
214310419Sdelphij    T_Loopstats = 338,
215310419Sdelphij    T_Lowpriotrap = 339,
216310419Sdelphij    T_Manycastclient = 340,
217310419Sdelphij    T_Manycastserver = 341,
218310419Sdelphij    T_Mask = 342,
219310419Sdelphij    T_Maxage = 343,
220310419Sdelphij    T_Maxclock = 344,
221310419Sdelphij    T_Maxdepth = 345,
222310419Sdelphij    T_Maxdist = 346,
223310419Sdelphij    T_Maxmem = 347,
224310419Sdelphij    T_Maxpoll = 348,
225310419Sdelphij    T_Mdnstries = 349,
226310419Sdelphij    T_Mem = 350,
227310419Sdelphij    T_Memlock = 351,
228310419Sdelphij    T_Minclock = 352,
229310419Sdelphij    T_Mindepth = 353,
230310419Sdelphij    T_Mindist = 354,
231310419Sdelphij    T_Minimum = 355,
232310419Sdelphij    T_Minpoll = 356,
233310419Sdelphij    T_Minsane = 357,
234310419Sdelphij    T_Mode = 358,
235310419Sdelphij    T_Mode7 = 359,
236310419Sdelphij    T_Monitor = 360,
237310419Sdelphij    T_Month = 361,
238310419Sdelphij    T_Mru = 362,
239310419Sdelphij    T_Multicastclient = 363,
240310419Sdelphij    T_Nic = 364,
241310419Sdelphij    T_Nolink = 365,
242310419Sdelphij    T_Nomodify = 366,
243310419Sdelphij    T_Nomrulist = 367,
244310419Sdelphij    T_None = 368,
245310419Sdelphij    T_Nonvolatile = 369,
246310419Sdelphij    T_Nopeer = 370,
247310419Sdelphij    T_Noquery = 371,
248310419Sdelphij    T_Noselect = 372,
249310419Sdelphij    T_Noserve = 373,
250310419Sdelphij    T_Notrap = 374,
251310419Sdelphij    T_Notrust = 375,
252310419Sdelphij    T_Ntp = 376,
253310419Sdelphij    T_Ntpport = 377,
254310419Sdelphij    T_NtpSignDsocket = 378,
255310419Sdelphij    T_Orphan = 379,
256310419Sdelphij    T_Orphanwait = 380,
257310419Sdelphij    T_PCEdigest = 381,
258310419Sdelphij    T_Panic = 382,
259310419Sdelphij    T_Peer = 383,
260310419Sdelphij    T_Peerstats = 384,
261310419Sdelphij    T_Phone = 385,
262310419Sdelphij    T_Pid = 386,
263310419Sdelphij    T_Pidfile = 387,
264310419Sdelphij    T_Pool = 388,
265310419Sdelphij    T_Port = 389,
266310419Sdelphij    T_Preempt = 390,
267310419Sdelphij    T_Prefer = 391,
268310419Sdelphij    T_Protostats = 392,
269310419Sdelphij    T_Pw = 393,
270310419Sdelphij    T_Randfile = 394,
271310419Sdelphij    T_Rawstats = 395,
272310419Sdelphij    T_Refid = 396,
273310419Sdelphij    T_Requestkey = 397,
274310419Sdelphij    T_Reset = 398,
275310419Sdelphij    T_Restrict = 399,
276310419Sdelphij    T_Revoke = 400,
277310419Sdelphij    T_Rlimit = 401,
278310419Sdelphij    T_Saveconfigdir = 402,
279310419Sdelphij    T_Server = 403,
280310419Sdelphij    T_Setvar = 404,
281310419Sdelphij    T_Source = 405,
282310419Sdelphij    T_Stacksize = 406,
283310419Sdelphij    T_Statistics = 407,
284310419Sdelphij    T_Stats = 408,
285310419Sdelphij    T_Statsdir = 409,
286310419Sdelphij    T_Step = 410,
287310419Sdelphij    T_Stepback = 411,
288310419Sdelphij    T_Stepfwd = 412,
289310419Sdelphij    T_Stepout = 413,
290310419Sdelphij    T_Stratum = 414,
291310419Sdelphij    T_String = 415,
292310419Sdelphij    T_Sys = 416,
293310419Sdelphij    T_Sysstats = 417,
294310419Sdelphij    T_Tick = 418,
295310419Sdelphij    T_Time1 = 419,
296310419Sdelphij    T_Time2 = 420,
297310419Sdelphij    T_Timer = 421,
298310419Sdelphij    T_Timingstats = 422,
299310419Sdelphij    T_Tinker = 423,
300310419Sdelphij    T_Tos = 424,
301310419Sdelphij    T_Trap = 425,
302310419Sdelphij    T_True = 426,
303310419Sdelphij    T_Trustedkey = 427,
304310419Sdelphij    T_Ttl = 428,
305310419Sdelphij    T_Type = 429,
306310419Sdelphij    T_U_int = 430,
307310419Sdelphij    T_UEcrypto = 431,
308310419Sdelphij    T_UEcryptonak = 432,
309310419Sdelphij    T_UEdigest = 433,
310310419Sdelphij    T_Unconfig = 434,
311310419Sdelphij    T_Unpeer = 435,
312310419Sdelphij    T_Version = 436,
313310419Sdelphij    T_WanderThreshold = 437,
314310419Sdelphij    T_Week = 438,
315310419Sdelphij    T_Wildcard = 439,
316310419Sdelphij    T_Xleave = 440,
317310419Sdelphij    T_Year = 441,
318310419Sdelphij    T_Flag = 442,
319310419Sdelphij    T_EOC = 443,
320310419Sdelphij    T_Simulate = 444,
321310419Sdelphij    T_Beep_Delay = 445,
322310419Sdelphij    T_Sim_Duration = 446,
323310419Sdelphij    T_Server_Offset = 447,
324310419Sdelphij    T_Duration = 448,
325310419Sdelphij    T_Freq_Offset = 449,
326310419Sdelphij    T_Wander = 450,
327310419Sdelphij    T_Jitter = 451,
328310419Sdelphij    T_Prop_Delay = 452,
329310419Sdelphij    T_Proc_Delay = 453
330301301Sdelphij  };
331290001Sglebius#endif
332290001Sglebius/* Tokens.  */
333290001Sglebius#define T_Abbrev 258
334290001Sglebius#define T_Age 259
335290001Sglebius#define T_All 260
336290001Sglebius#define T_Allan 261
337290001Sglebius#define T_Allpeers 262
338290001Sglebius#define T_Auth 263
339290001Sglebius#define T_Autokey 264
340290001Sglebius#define T_Automax 265
341290001Sglebius#define T_Average 266
342290001Sglebius#define T_Bclient 267
343310419Sdelphij#define T_Bcpollbstep 268
344310419Sdelphij#define T_Beacon 269
345310419Sdelphij#define T_Broadcast 270
346310419Sdelphij#define T_Broadcastclient 271
347310419Sdelphij#define T_Broadcastdelay 272
348310419Sdelphij#define T_Burst 273
349310419Sdelphij#define T_Calibrate 274
350310419Sdelphij#define T_Ceiling 275
351310419Sdelphij#define T_Clockstats 276
352310419Sdelphij#define T_Cohort 277
353310419Sdelphij#define T_ControlKey 278
354310419Sdelphij#define T_Crypto 279
355310419Sdelphij#define T_Cryptostats 280
356310419Sdelphij#define T_Ctl 281
357310419Sdelphij#define T_Day 282
358310419Sdelphij#define T_Default 283
359310419Sdelphij#define T_Digest 284
360310419Sdelphij#define T_Disable 285
361310419Sdelphij#define T_Discard 286
362310419Sdelphij#define T_Dispersion 287
363310419Sdelphij#define T_Double 288
364310419Sdelphij#define T_Driftfile 289
365310419Sdelphij#define T_Drop 290
366310419Sdelphij#define T_Dscp 291
367310419Sdelphij#define T_Ellipsis 292
368310419Sdelphij#define T_Enable 293
369310419Sdelphij#define T_End 294
370310419Sdelphij#define T_False 295
371310419Sdelphij#define T_File 296
372310419Sdelphij#define T_Filegen 297
373310419Sdelphij#define T_Filenum 298
374310419Sdelphij#define T_Flag1 299
375310419Sdelphij#define T_Flag2 300
376310419Sdelphij#define T_Flag3 301
377310419Sdelphij#define T_Flag4 302
378310419Sdelphij#define T_Flake 303
379310419Sdelphij#define T_Floor 304
380310419Sdelphij#define T_Freq 305
381310419Sdelphij#define T_Fudge 306
382310419Sdelphij#define T_Host 307
383310419Sdelphij#define T_Huffpuff 308
384310419Sdelphij#define T_Iburst 309
385310419Sdelphij#define T_Ident 310
386310419Sdelphij#define T_Ignore 311
387310419Sdelphij#define T_Incalloc 312
388310419Sdelphij#define T_Incmem 313
389310419Sdelphij#define T_Initalloc 314
390310419Sdelphij#define T_Initmem 315
391310419Sdelphij#define T_Includefile 316
392310419Sdelphij#define T_Integer 317
393310419Sdelphij#define T_Interface 318
394310419Sdelphij#define T_Intrange 319
395310419Sdelphij#define T_Io 320
396310419Sdelphij#define T_Ipv4 321
397310419Sdelphij#define T_Ipv4_flag 322
398310419Sdelphij#define T_Ipv6 323
399310419Sdelphij#define T_Ipv6_flag 324
400310419Sdelphij#define T_Kernel 325
401310419Sdelphij#define T_Key 326
402310419Sdelphij#define T_Keys 327
403310419Sdelphij#define T_Keysdir 328
404310419Sdelphij#define T_Kod 329
405310419Sdelphij#define T_Mssntp 330
406310419Sdelphij#define T_Leapfile 331
407310419Sdelphij#define T_Leapsmearinterval 332
408310419Sdelphij#define T_Limited 333
409310419Sdelphij#define T_Link 334
410310419Sdelphij#define T_Listen 335
411310419Sdelphij#define T_Logconfig 336
412310419Sdelphij#define T_Logfile 337
413310419Sdelphij#define T_Loopstats 338
414310419Sdelphij#define T_Lowpriotrap 339
415310419Sdelphij#define T_Manycastclient 340
416310419Sdelphij#define T_Manycastserver 341
417310419Sdelphij#define T_Mask 342
418310419Sdelphij#define T_Maxage 343
419310419Sdelphij#define T_Maxclock 344
420310419Sdelphij#define T_Maxdepth 345
421310419Sdelphij#define T_Maxdist 346
422310419Sdelphij#define T_Maxmem 347
423310419Sdelphij#define T_Maxpoll 348
424310419Sdelphij#define T_Mdnstries 349
425310419Sdelphij#define T_Mem 350
426310419Sdelphij#define T_Memlock 351
427310419Sdelphij#define T_Minclock 352
428310419Sdelphij#define T_Mindepth 353
429310419Sdelphij#define T_Mindist 354
430310419Sdelphij#define T_Minimum 355
431310419Sdelphij#define T_Minpoll 356
432310419Sdelphij#define T_Minsane 357
433310419Sdelphij#define T_Mode 358
434310419Sdelphij#define T_Mode7 359
435310419Sdelphij#define T_Monitor 360
436310419Sdelphij#define T_Month 361
437310419Sdelphij#define T_Mru 362
438310419Sdelphij#define T_Multicastclient 363
439310419Sdelphij#define T_Nic 364
440310419Sdelphij#define T_Nolink 365
441310419Sdelphij#define T_Nomodify 366
442310419Sdelphij#define T_Nomrulist 367
443310419Sdelphij#define T_None 368
444310419Sdelphij#define T_Nonvolatile 369
445310419Sdelphij#define T_Nopeer 370
446310419Sdelphij#define T_Noquery 371
447310419Sdelphij#define T_Noselect 372
448310419Sdelphij#define T_Noserve 373
449310419Sdelphij#define T_Notrap 374
450310419Sdelphij#define T_Notrust 375
451310419Sdelphij#define T_Ntp 376
452310419Sdelphij#define T_Ntpport 377
453310419Sdelphij#define T_NtpSignDsocket 378
454310419Sdelphij#define T_Orphan 379
455310419Sdelphij#define T_Orphanwait 380
456310419Sdelphij#define T_PCEdigest 381
457310419Sdelphij#define T_Panic 382
458310419Sdelphij#define T_Peer 383
459310419Sdelphij#define T_Peerstats 384
460310419Sdelphij#define T_Phone 385
461310419Sdelphij#define T_Pid 386
462310419Sdelphij#define T_Pidfile 387
463310419Sdelphij#define T_Pool 388
464310419Sdelphij#define T_Port 389
465310419Sdelphij#define T_Preempt 390
466310419Sdelphij#define T_Prefer 391
467310419Sdelphij#define T_Protostats 392
468310419Sdelphij#define T_Pw 393
469310419Sdelphij#define T_Randfile 394
470310419Sdelphij#define T_Rawstats 395
471310419Sdelphij#define T_Refid 396
472310419Sdelphij#define T_Requestkey 397
473310419Sdelphij#define T_Reset 398
474310419Sdelphij#define T_Restrict 399
475310419Sdelphij#define T_Revoke 400
476310419Sdelphij#define T_Rlimit 401
477310419Sdelphij#define T_Saveconfigdir 402
478310419Sdelphij#define T_Server 403
479310419Sdelphij#define T_Setvar 404
480310419Sdelphij#define T_Source 405
481310419Sdelphij#define T_Stacksize 406
482310419Sdelphij#define T_Statistics 407
483310419Sdelphij#define T_Stats 408
484310419Sdelphij#define T_Statsdir 409
485310419Sdelphij#define T_Step 410
486310419Sdelphij#define T_Stepback 411
487310419Sdelphij#define T_Stepfwd 412
488310419Sdelphij#define T_Stepout 413
489310419Sdelphij#define T_Stratum 414
490310419Sdelphij#define T_String 415
491310419Sdelphij#define T_Sys 416
492310419Sdelphij#define T_Sysstats 417
493310419Sdelphij#define T_Tick 418
494310419Sdelphij#define T_Time1 419
495310419Sdelphij#define T_Time2 420
496310419Sdelphij#define T_Timer 421
497310419Sdelphij#define T_Timingstats 422
498310419Sdelphij#define T_Tinker 423
499310419Sdelphij#define T_Tos 424
500310419Sdelphij#define T_Trap 425
501310419Sdelphij#define T_True 426
502310419Sdelphij#define T_Trustedkey 427
503310419Sdelphij#define T_Ttl 428
504310419Sdelphij#define T_Type 429
505310419Sdelphij#define T_U_int 430
506310419Sdelphij#define T_UEcrypto 431
507310419Sdelphij#define T_UEcryptonak 432
508310419Sdelphij#define T_UEdigest 433
509310419Sdelphij#define T_Unconfig 434
510310419Sdelphij#define T_Unpeer 435
511310419Sdelphij#define T_Version 436
512310419Sdelphij#define T_WanderThreshold 437
513310419Sdelphij#define T_Week 438
514310419Sdelphij#define T_Wildcard 439
515310419Sdelphij#define T_Xleave 440
516310419Sdelphij#define T_Year 441
517310419Sdelphij#define T_Flag 442
518310419Sdelphij#define T_EOC 443
519310419Sdelphij#define T_Simulate 444
520310419Sdelphij#define T_Beep_Delay 445
521310419Sdelphij#define T_Sim_Duration 446
522310419Sdelphij#define T_Server_Offset 447
523310419Sdelphij#define T_Duration 448
524310419Sdelphij#define T_Freq_Offset 449
525310419Sdelphij#define T_Wander 450
526310419Sdelphij#define T_Jitter 451
527310419Sdelphij#define T_Prop_Delay 452
528310419Sdelphij#define T_Proc_Delay 453
529290001Sglebius
530301301Sdelphij/* Value type.  */
531301301Sdelphij#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
532294905Sdelphij
533301301Sdelphijunion YYSTYPE
534290001Sglebius{
535301301Sdelphij#line 51 "../../ntpd/ntp_parser.y" /* yacc.c:355  */
536290001Sglebius
537290001Sglebius	char *			String;
538290001Sglebius	double			Double;
539290001Sglebius	int			Integer;
540290001Sglebius	unsigned		U_int;
541290001Sglebius	gen_fifo *		Generic_fifo;
542290001Sglebius	attr_val *		Attr_val;
543290001Sglebius	attr_val_fifo *		Attr_val_fifo;
544290001Sglebius	int_fifo *		Int_fifo;
545290001Sglebius	string_fifo *		String_fifo;
546290001Sglebius	address_node *		Address_node;
547290001Sglebius	address_fifo *		Address_fifo;
548290001Sglebius	setvar_node *		Set_var;
549290001Sglebius	server_info *		Sim_server;
550290001Sglebius	server_info_fifo *	Sim_server_fifo;
551290001Sglebius	script_info *		Sim_script;
552290001Sglebius	script_info_fifo *	Sim_script_fifo;
553290001Sglebius
554310419Sdelphij#line 555 "ntp_parser.c" /* yacc.c:355  */
555301301Sdelphij};
556294905Sdelphij
557301301Sdelphijtypedef union YYSTYPE YYSTYPE;
558290001Sglebius# define YYSTYPE_IS_TRIVIAL 1
559290001Sglebius# define YYSTYPE_IS_DECLARED 1
560290001Sglebius#endif
561290001Sglebius
562301301Sdelphij
563290001Sglebiusextern YYSTYPE yylval;
564290001Sglebius
565290001Sglebiusint yyparse (void);
566290001Sglebius
567301301Sdelphij#endif /* !YY_YY_Y_TAB_H_INCLUDED  */
568290001Sglebius
569290001Sglebius/* Copy the second part of user declarations.  */
570290001Sglebius
571310419Sdelphij#line 572 "ntp_parser.c" /* yacc.c:358  */
572290001Sglebius
573290001Sglebius#ifdef short
574290001Sglebius# undef short
575290001Sglebius#endif
576290001Sglebius
577290001Sglebius#ifdef YYTYPE_UINT8
578290001Sglebiustypedef YYTYPE_UINT8 yytype_uint8;
579290001Sglebius#else
580290001Sglebiustypedef unsigned char yytype_uint8;
581290001Sglebius#endif
582290001Sglebius
583290001Sglebius#ifdef YYTYPE_INT8
584290001Sglebiustypedef YYTYPE_INT8 yytype_int8;
585301301Sdelphij#else
586294905Sdelphijtypedef signed char yytype_int8;
587290001Sglebius#endif
588290001Sglebius
589290001Sglebius#ifdef YYTYPE_UINT16
590290001Sglebiustypedef YYTYPE_UINT16 yytype_uint16;
591290001Sglebius#else
592290001Sglebiustypedef unsigned short int yytype_uint16;
593290001Sglebius#endif
594290001Sglebius
595290001Sglebius#ifdef YYTYPE_INT16
596290001Sglebiustypedef YYTYPE_INT16 yytype_int16;
597290001Sglebius#else
598290001Sglebiustypedef short int yytype_int16;
599290001Sglebius#endif
600290001Sglebius
601290001Sglebius#ifndef YYSIZE_T
602290001Sglebius# ifdef __SIZE_TYPE__
603290001Sglebius#  define YYSIZE_T __SIZE_TYPE__
604290001Sglebius# elif defined size_t
605290001Sglebius#  define YYSIZE_T size_t
606301301Sdelphij# elif ! defined YYSIZE_T
607290001Sglebius#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
608290001Sglebius#  define YYSIZE_T size_t
609290001Sglebius# else
610290001Sglebius#  define YYSIZE_T unsigned int
611290001Sglebius# endif
612290001Sglebius#endif
613290001Sglebius
614290001Sglebius#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
615290001Sglebius
616290001Sglebius#ifndef YY_
617290001Sglebius# if defined YYENABLE_NLS && YYENABLE_NLS
618290001Sglebius#  if ENABLE_NLS
619290001Sglebius#   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
620290001Sglebius#   define YY_(Msgid) dgettext ("bison-runtime", Msgid)
621290001Sglebius#  endif
622290001Sglebius# endif
623290001Sglebius# ifndef YY_
624290001Sglebius#  define YY_(Msgid) Msgid
625290001Sglebius# endif
626290001Sglebius#endif
627290001Sglebius
628301301Sdelphij#ifndef YY_ATTRIBUTE
629301301Sdelphij# if (defined __GNUC__                                               \
630301301Sdelphij      && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__)))  \
631301301Sdelphij     || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
632301301Sdelphij#  define YY_ATTRIBUTE(Spec) __attribute__(Spec)
633301301Sdelphij# else
634301301Sdelphij#  define YY_ATTRIBUTE(Spec) /* empty */
635290001Sglebius# endif
636290001Sglebius#endif
637290001Sglebius
638301301Sdelphij#ifndef YY_ATTRIBUTE_PURE
639301301Sdelphij# define YY_ATTRIBUTE_PURE   YY_ATTRIBUTE ((__pure__))
640301301Sdelphij#endif
641301301Sdelphij
642301301Sdelphij#ifndef YY_ATTRIBUTE_UNUSED
643301301Sdelphij# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
644301301Sdelphij#endif
645301301Sdelphij
646301301Sdelphij#if !defined _Noreturn \
647301301Sdelphij     && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
648301301Sdelphij# if defined _MSC_VER && 1200 <= _MSC_VER
649301301Sdelphij#  define _Noreturn __declspec (noreturn)
650301301Sdelphij# else
651301301Sdelphij#  define _Noreturn YY_ATTRIBUTE ((__noreturn__))
652301301Sdelphij# endif
653301301Sdelphij#endif
654301301Sdelphij
655290001Sglebius/* Suppress unused-variable warnings by "using" E.  */
656290001Sglebius#if ! defined lint || defined __GNUC__
657290001Sglebius# define YYUSE(E) ((void) (E))
658290001Sglebius#else
659290001Sglebius# define YYUSE(E) /* empty */
660290001Sglebius#endif
661290001Sglebius
662301301Sdelphij#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
663301301Sdelphij/* Suppress an incorrect diagnostic about yylval being uninitialized.  */
664301301Sdelphij# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
665301301Sdelphij    _Pragma ("GCC diagnostic push") \
666301301Sdelphij    _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
667301301Sdelphij    _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
668301301Sdelphij# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
669301301Sdelphij    _Pragma ("GCC diagnostic pop")
670290001Sglebius#else
671301301Sdelphij# define YY_INITIAL_VALUE(Value) Value
672290001Sglebius#endif
673301301Sdelphij#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
674301301Sdelphij# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
675301301Sdelphij# define YY_IGNORE_MAYBE_UNINITIALIZED_END
676290001Sglebius#endif
677301301Sdelphij#ifndef YY_INITIAL_VALUE
678301301Sdelphij# define YY_INITIAL_VALUE(Value) /* Nothing. */
679301301Sdelphij#endif
680290001Sglebius
681301301Sdelphij
682290001Sglebius#if ! defined yyoverflow || YYERROR_VERBOSE
683290001Sglebius
684290001Sglebius/* The parser invokes alloca or malloc; define the necessary symbols.  */
685290001Sglebius
686290001Sglebius# ifdef YYSTACK_USE_ALLOCA
687290001Sglebius#  if YYSTACK_USE_ALLOCA
688290001Sglebius#   ifdef __GNUC__
689290001Sglebius#    define YYSTACK_ALLOC __builtin_alloca
690290001Sglebius#   elif defined __BUILTIN_VA_ARG_INCR
691290001Sglebius#    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
692290001Sglebius#   elif defined _AIX
693290001Sglebius#    define YYSTACK_ALLOC __alloca
694290001Sglebius#   elif defined _MSC_VER
695290001Sglebius#    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
696290001Sglebius#    define alloca _alloca
697290001Sglebius#   else
698290001Sglebius#    define YYSTACK_ALLOC alloca
699301301Sdelphij#    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
700290001Sglebius#     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
701290001Sglebius      /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
702290001Sglebius#     ifndef EXIT_SUCCESS
703290001Sglebius#      define EXIT_SUCCESS 0
704290001Sglebius#     endif
705290001Sglebius#    endif
706290001Sglebius#   endif
707290001Sglebius#  endif
708290001Sglebius# endif
709290001Sglebius
710290001Sglebius# ifdef YYSTACK_ALLOC
711301301Sdelphij   /* Pacify GCC's 'empty if-body' warning.  */
712301301Sdelphij#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
713290001Sglebius#  ifndef YYSTACK_ALLOC_MAXIMUM
714290001Sglebius    /* The OS might guarantee only one guard page at the bottom of the stack,
715290001Sglebius       and a page size can be as small as 4096 bytes.  So we cannot safely
716290001Sglebius       invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
717290001Sglebius       to allow for a few compiler-allocated temporary stack slots.  */
718290001Sglebius#   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
719290001Sglebius#  endif
720290001Sglebius# else
721290001Sglebius#  define YYSTACK_ALLOC YYMALLOC
722290001Sglebius#  define YYSTACK_FREE YYFREE
723290001Sglebius#  ifndef YYSTACK_ALLOC_MAXIMUM
724290001Sglebius#   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
725290001Sglebius#  endif
726290001Sglebius#  if (defined __cplusplus && ! defined EXIT_SUCCESS \
727290001Sglebius       && ! ((defined YYMALLOC || defined malloc) \
728301301Sdelphij             && (defined YYFREE || defined free)))
729290001Sglebius#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
730290001Sglebius#   ifndef EXIT_SUCCESS
731290001Sglebius#    define EXIT_SUCCESS 0
732290001Sglebius#   endif
733290001Sglebius#  endif
734290001Sglebius#  ifndef YYMALLOC
735290001Sglebius#   define YYMALLOC malloc
736301301Sdelphij#   if ! defined malloc && ! defined EXIT_SUCCESS
737290001Sglebiusvoid *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
738290001Sglebius#   endif
739290001Sglebius#  endif
740290001Sglebius#  ifndef YYFREE
741290001Sglebius#   define YYFREE free
742301301Sdelphij#   if ! defined free && ! defined EXIT_SUCCESS
743290001Sglebiusvoid free (void *); /* INFRINGES ON USER NAME SPACE */
744290001Sglebius#   endif
745290001Sglebius#  endif
746290001Sglebius# endif
747290001Sglebius#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
748290001Sglebius
749290001Sglebius
750290001Sglebius#if (! defined yyoverflow \
751290001Sglebius     && (! defined __cplusplus \
752301301Sdelphij         || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
753290001Sglebius
754290001Sglebius/* A type that is properly aligned for any stack member.  */
755290001Sglebiusunion yyalloc
756290001Sglebius{
757290001Sglebius  yytype_int16 yyss_alloc;
758290001Sglebius  YYSTYPE yyvs_alloc;
759290001Sglebius};
760290001Sglebius
761290001Sglebius/* The size of the maximum gap between one aligned stack and the next.  */
762290001Sglebius# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
763290001Sglebius
764290001Sglebius/* The size of an array large to enough to hold all stacks, each with
765290001Sglebius   N elements.  */
766290001Sglebius# define YYSTACK_BYTES(N) \
767290001Sglebius     ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
768290001Sglebius      + YYSTACK_GAP_MAXIMUM)
769290001Sglebius
770290001Sglebius# define YYCOPY_NEEDED 1
771290001Sglebius
772290001Sglebius/* Relocate STACK from its old location to the new one.  The
773290001Sglebius   local variables YYSIZE and YYSTACKSIZE give the old and new number of
774290001Sglebius   elements in the stack, and YYPTR gives the new location of the
775290001Sglebius   stack.  Advance YYPTR to a properly aligned location for the next
776290001Sglebius   stack.  */
777301301Sdelphij# define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
778301301Sdelphij    do                                                                  \
779301301Sdelphij      {                                                                 \
780301301Sdelphij        YYSIZE_T yynewbytes;                                            \
781301301Sdelphij        YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
782301301Sdelphij        Stack = &yyptr->Stack_alloc;                                    \
783301301Sdelphij        yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
784301301Sdelphij        yyptr += yynewbytes / sizeof (*yyptr);                          \
785301301Sdelphij      }                                                                 \
786301301Sdelphij    while (0)
787290001Sglebius
788290001Sglebius#endif
789290001Sglebius
790290001Sglebius#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
791290001Sglebius/* Copy COUNT objects from SRC to DST.  The source and destination do
792290001Sglebius   not overlap.  */
793290001Sglebius# ifndef YYCOPY
794290001Sglebius#  if defined __GNUC__ && 1 < __GNUC__
795290001Sglebius#   define YYCOPY(Dst, Src, Count) \
796290001Sglebius      __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
797290001Sglebius#  else
798290001Sglebius#   define YYCOPY(Dst, Src, Count)              \
799290001Sglebius      do                                        \
800290001Sglebius        {                                       \
801290001Sglebius          YYSIZE_T yyi;                         \
802290001Sglebius          for (yyi = 0; yyi < (Count); yyi++)   \
803290001Sglebius            (Dst)[yyi] = (Src)[yyi];            \
804290001Sglebius        }                                       \
805301301Sdelphij      while (0)
806290001Sglebius#  endif
807290001Sglebius# endif
808290001Sglebius#endif /* !YYCOPY_NEEDED */
809290001Sglebius
810290001Sglebius/* YYFINAL -- State number of the termination state.  */
811310419Sdelphij#define YYFINAL  215
812290001Sglebius/* YYLAST -- Last index in YYTABLE.  */
813310419Sdelphij#define YYLAST   654
814290001Sglebius
815290001Sglebius/* YYNTOKENS -- Number of terminals.  */
816310419Sdelphij#define YYNTOKENS  204
817290001Sglebius/* YYNNTS -- Number of nonterminals.  */
818290001Sglebius#define YYNNTS  105
819290001Sglebius/* YYNRULES -- Number of rules.  */
820310419Sdelphij#define YYNRULES  318
821301301Sdelphij/* YYNSTATES -- Number of states.  */
822310419Sdelphij#define YYNSTATES  424
823290001Sglebius
824301301Sdelphij/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
825301301Sdelphij   by yylex, with out-of-bounds checking.  */
826290001Sglebius#define YYUNDEFTOK  2
827310419Sdelphij#define YYMAXUTOK   453
828290001Sglebius
829301301Sdelphij#define YYTRANSLATE(YYX)                                                \
830290001Sglebius  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
831290001Sglebius
832301301Sdelphij/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
833301301Sdelphij   as returned by yylex, without out-of-bounds checking.  */
834290001Sglebiusstatic const yytype_uint8 yytranslate[] =
835290001Sglebius{
836290001Sglebius       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
837290001Sglebius       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
838290001Sglebius       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
839290001Sglebius       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
840310419Sdelphij     200,   201,     2,     2,     2,     2,     2,     2,     2,     2,
841290001Sglebius       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
842310419Sdelphij       2,   199,     2,     2,     2,     2,     2,     2,     2,     2,
843290001Sglebius       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
844290001Sglebius       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
845290001Sglebius       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
846290001Sglebius       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
847290001Sglebius       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
848310419Sdelphij       2,     2,     2,   202,     2,   203,     2,     2,     2,     2,
849290001Sglebius       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
850290001Sglebius       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
851290001Sglebius       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
852290001Sglebius       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
853290001Sglebius       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
854290001Sglebius       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
855290001Sglebius       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
856290001Sglebius       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
857290001Sglebius       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
858290001Sglebius       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
859290001Sglebius       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
860290001Sglebius       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
861290001Sglebius       2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
862290001Sglebius       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
863290001Sglebius      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
864290001Sglebius      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
865290001Sglebius      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
866290001Sglebius      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
867290001Sglebius      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
868290001Sglebius      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
869290001Sglebius      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
870290001Sglebius      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
871290001Sglebius      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
872290001Sglebius     105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
873290001Sglebius     115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
874290001Sglebius     125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
875290001Sglebius     135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
876290001Sglebius     145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
877290001Sglebius     155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
878290001Sglebius     165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
879290001Sglebius     175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
880294905Sdelphij     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
881310419Sdelphij     195,   196,   197,   198
882290001Sglebius};
883290001Sglebius
884290001Sglebius#if YYDEBUG
885301301Sdelphij  /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
886290001Sglebiusstatic const yytype_uint16 yyrline[] =
887290001Sglebius{
888310419Sdelphij       0,   371,   371,   375,   376,   377,   392,   393,   394,   395,
889310419Sdelphij     396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
890310419Sdelphij     413,   423,   424,   425,   426,   427,   431,   432,   437,   442,
891310419Sdelphij     444,   450,   451,   459,   460,   461,   465,   470,   471,   472,
892310419Sdelphij     473,   474,   475,   476,   477,   481,   483,   488,   489,   490,
893310419Sdelphij     491,   492,   493,   497,   502,   511,   521,   522,   532,   534,
894310419Sdelphij     536,   538,   549,   556,   558,   563,   565,   567,   569,   571,
895310419Sdelphij     580,   586,   587,   595,   597,   609,   610,   611,   612,   613,
896310419Sdelphij     622,   627,   632,   640,   642,   644,   649,   650,   651,   652,
897310419Sdelphij     653,   654,   655,   659,   660,   661,   662,   671,   673,   682,
898310419Sdelphij     692,   697,   705,   706,   707,   708,   709,   710,   711,   712,
899310419Sdelphij     717,   718,   726,   736,   745,   760,   765,   766,   770,   771,
900310419Sdelphij     775,   776,   777,   778,   779,   780,   781,   790,   794,   798,
901310419Sdelphij     806,   814,   822,   837,   852,   865,   866,   874,   875,   876,
902310419Sdelphij     877,   878,   879,   880,   881,   882,   883,   884,   885,   886,
903310419Sdelphij     887,   888,   892,   897,   905,   910,   911,   912,   916,   921,
904310419Sdelphij     929,   934,   935,   936,   937,   938,   939,   940,   941,   949,
905310419Sdelphij     959,   964,   972,   974,   976,   985,   987,   992,   993,   997,
906310419Sdelphij     998,   999,  1000,  1008,  1013,  1018,  1026,  1031,  1032,  1033,
907310419Sdelphij    1042,  1044,  1049,  1054,  1062,  1064,  1081,  1082,  1083,  1084,
908310419Sdelphij    1085,  1086,  1090,  1091,  1092,  1093,  1094,  1095,  1103,  1108,
909310419Sdelphij    1113,  1121,  1126,  1127,  1128,  1129,  1130,  1131,  1132,  1133,
910310419Sdelphij    1134,  1135,  1144,  1145,  1146,  1153,  1160,  1167,  1183,  1202,
911310419Sdelphij    1204,  1206,  1208,  1210,  1212,  1219,  1224,  1225,  1226,  1230,
912310419Sdelphij    1234,  1243,  1244,  1248,  1249,  1250,  1254,  1265,  1279,  1291,
913310419Sdelphij    1296,  1298,  1303,  1304,  1312,  1314,  1322,  1327,  1335,  1360,
914310419Sdelphij    1367,  1377,  1378,  1382,  1383,  1384,  1385,  1389,  1390,  1391,
915310419Sdelphij    1395,  1400,  1405,  1413,  1414,  1415,  1416,  1417,  1418,  1419,
916310419Sdelphij    1429,  1434,  1442,  1447,  1455,  1457,  1461,  1466,  1471,  1479,
917310419Sdelphij    1484,  1492,  1501,  1502,  1506,  1507,  1516,  1534,  1538,  1543,
918310419Sdelphij    1551,  1556,  1557,  1561,  1566,  1574,  1579,  1584,  1589,  1594,
919310419Sdelphij    1602,  1607,  1612,  1620,  1625,  1626,  1627,  1628,  1629
920290001Sglebius};
921290001Sglebius#endif
922290001Sglebius
923290001Sglebius#if YYDEBUG || YYERROR_VERBOSE || 1
924290001Sglebius/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
925290001Sglebius   First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
926290001Sglebiusstatic const char *const yytname[] =
927290001Sglebius{
928290001Sglebius  "$end", "error", "$undefined", "T_Abbrev", "T_Age", "T_All", "T_Allan",
929290001Sglebius  "T_Allpeers", "T_Auth", "T_Autokey", "T_Automax", "T_Average",
930310419Sdelphij  "T_Bclient", "T_Bcpollbstep", "T_Beacon", "T_Broadcast",
931310419Sdelphij  "T_Broadcastclient", "T_Broadcastdelay", "T_Burst", "T_Calibrate",
932310419Sdelphij  "T_Ceiling", "T_Clockstats", "T_Cohort", "T_ControlKey", "T_Crypto",
933310419Sdelphij  "T_Cryptostats", "T_Ctl", "T_Day", "T_Default", "T_Digest", "T_Disable",
934310419Sdelphij  "T_Discard", "T_Dispersion", "T_Double", "T_Driftfile", "T_Drop",
935310419Sdelphij  "T_Dscp", "T_Ellipsis", "T_Enable", "T_End", "T_False", "T_File",
936310419Sdelphij  "T_Filegen", "T_Filenum", "T_Flag1", "T_Flag2", "T_Flag3", "T_Flag4",
937310419Sdelphij  "T_Flake", "T_Floor", "T_Freq", "T_Fudge", "T_Host", "T_Huffpuff",
938310419Sdelphij  "T_Iburst", "T_Ident", "T_Ignore", "T_Incalloc", "T_Incmem",
939310419Sdelphij  "T_Initalloc", "T_Initmem", "T_Includefile", "T_Integer", "T_Interface",
940310419Sdelphij  "T_Intrange", "T_Io", "T_Ipv4", "T_Ipv4_flag", "T_Ipv6", "T_Ipv6_flag",
941310419Sdelphij  "T_Kernel", "T_Key", "T_Keys", "T_Keysdir", "T_Kod", "T_Mssntp",
942310419Sdelphij  "T_Leapfile", "T_Leapsmearinterval", "T_Limited", "T_Link", "T_Listen",
943310419Sdelphij  "T_Logconfig", "T_Logfile", "T_Loopstats", "T_Lowpriotrap",
944310419Sdelphij  "T_Manycastclient", "T_Manycastserver", "T_Mask", "T_Maxage",
945310419Sdelphij  "T_Maxclock", "T_Maxdepth", "T_Maxdist", "T_Maxmem", "T_Maxpoll",
946310419Sdelphij  "T_Mdnstries", "T_Mem", "T_Memlock", "T_Minclock", "T_Mindepth",
947310419Sdelphij  "T_Mindist", "T_Minimum", "T_Minpoll", "T_Minsane", "T_Mode", "T_Mode7",
948310419Sdelphij  "T_Monitor", "T_Month", "T_Mru", "T_Multicastclient", "T_Nic",
949310419Sdelphij  "T_Nolink", "T_Nomodify", "T_Nomrulist", "T_None", "T_Nonvolatile",
950310419Sdelphij  "T_Nopeer", "T_Noquery", "T_Noselect", "T_Noserve", "T_Notrap",
951310419Sdelphij  "T_Notrust", "T_Ntp", "T_Ntpport", "T_NtpSignDsocket", "T_Orphan",
952310419Sdelphij  "T_Orphanwait", "T_PCEdigest", "T_Panic", "T_Peer", "T_Peerstats",
953310419Sdelphij  "T_Phone", "T_Pid", "T_Pidfile", "T_Pool", "T_Port", "T_Preempt",
954310419Sdelphij  "T_Prefer", "T_Protostats", "T_Pw", "T_Randfile", "T_Rawstats",
955310419Sdelphij  "T_Refid", "T_Requestkey", "T_Reset", "T_Restrict", "T_Revoke",
956310419Sdelphij  "T_Rlimit", "T_Saveconfigdir", "T_Server", "T_Setvar", "T_Source",
957310419Sdelphij  "T_Stacksize", "T_Statistics", "T_Stats", "T_Statsdir", "T_Step",
958310419Sdelphij  "T_Stepback", "T_Stepfwd", "T_Stepout", "T_Stratum", "T_String", "T_Sys",
959310419Sdelphij  "T_Sysstats", "T_Tick", "T_Time1", "T_Time2", "T_Timer", "T_Timingstats",
960310419Sdelphij  "T_Tinker", "T_Tos", "T_Trap", "T_True", "T_Trustedkey", "T_Ttl",
961310419Sdelphij  "T_Type", "T_U_int", "T_UEcrypto", "T_UEcryptonak", "T_UEdigest",
962310419Sdelphij  "T_Unconfig", "T_Unpeer", "T_Version", "T_WanderThreshold", "T_Week",
963310419Sdelphij  "T_Wildcard", "T_Xleave", "T_Year", "T_Flag", "T_EOC", "T_Simulate",
964310419Sdelphij  "T_Beep_Delay", "T_Sim_Duration", "T_Server_Offset", "T_Duration",
965310419Sdelphij  "T_Freq_Offset", "T_Wander", "T_Jitter", "T_Prop_Delay", "T_Proc_Delay",
966310419Sdelphij  "'='", "'('", "')'", "'{'", "'}'", "$accept", "configuration",
967310419Sdelphij  "command_list", "command", "server_command", "client_type", "address",
968310419Sdelphij  "ip_address", "address_fam", "option_list", "option", "option_flag",
969310419Sdelphij  "option_flag_keyword", "option_int", "option_int_keyword", "option_str",
970310419Sdelphij  "option_str_keyword", "unpeer_command", "unpeer_keyword",
971310419Sdelphij  "other_mode_command", "authentication_command", "crypto_command_list",
972310419Sdelphij  "crypto_command", "crypto_str_keyword", "orphan_mode_command",
973310419Sdelphij  "tos_option_list", "tos_option", "tos_option_int_keyword",
974310419Sdelphij  "tos_option_dbl_keyword", "monitoring_command", "stats_list", "stat",
975310419Sdelphij  "filegen_option_list", "filegen_option", "link_nolink", "enable_disable",
976310419Sdelphij  "filegen_type", "access_control_command", "ac_flag_list",
977310419Sdelphij  "access_control_flag", "discard_option_list", "discard_option",
978310419Sdelphij  "discard_option_keyword", "mru_option_list", "mru_option",
979310419Sdelphij  "mru_option_keyword", "fudge_command", "fudge_factor_list",
980310419Sdelphij  "fudge_factor", "fudge_factor_dbl_keyword", "fudge_factor_bool_keyword",
981310419Sdelphij  "rlimit_command", "rlimit_option_list", "rlimit_option",
982310419Sdelphij  "rlimit_option_keyword", "system_option_command", "system_option_list",
983310419Sdelphij  "system_option", "system_option_flag_keyword",
984290001Sglebius  "system_option_local_flag_keyword", "tinker_command",
985290001Sglebius  "tinker_option_list", "tinker_option", "tinker_option_keyword",
986290001Sglebius  "miscellaneous_command", "misc_cmd_dbl_keyword", "misc_cmd_int_keyword",
987290001Sglebius  "misc_cmd_str_keyword", "misc_cmd_str_lcl_keyword", "drift_parm",
988290001Sglebius  "variable_assign", "t_default_or_zero", "trap_option_list",
989290001Sglebius  "trap_option", "log_config_list", "log_config_command",
990290001Sglebius  "interface_command", "interface_nic", "nic_rule_class",
991290001Sglebius  "nic_rule_action", "reset_command", "counter_set_list",
992290001Sglebius  "counter_set_keyword", "integer_list", "integer_list_range",
993290001Sglebius  "integer_list_range_elt", "integer_range", "string_list", "address_list",
994290001Sglebius  "boolean", "number", "simulate_command", "sim_conf_start",
995290001Sglebius  "sim_init_statement_list", "sim_init_statement", "sim_init_keyword",
996290001Sglebius  "sim_server_list", "sim_server", "sim_server_offset", "sim_server_name",
997290001Sglebius  "sim_act_list", "sim_act", "sim_act_stmt_list", "sim_act_stmt",
998301301Sdelphij  "sim_act_keyword", YY_NULLPTR
999290001Sglebius};
1000290001Sglebius#endif
1001290001Sglebius
1002290001Sglebius# ifdef YYPRINT
1003301301Sdelphij/* YYTOKNUM[NUM] -- (External) token number corresponding to the
1004301301Sdelphij   (internal) symbol number NUM (which must be that of a token).  */
1005290001Sglebiusstatic const yytype_uint16 yytoknum[] =
1006290001Sglebius{
1007290001Sglebius       0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1008290001Sglebius     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
1009290001Sglebius     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
1010290001Sglebius     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
1011290001Sglebius     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
1012290001Sglebius     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
1013290001Sglebius     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
1014290001Sglebius     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
1015290001Sglebius     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
1016290001Sglebius     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
1017290001Sglebius     355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
1018290001Sglebius     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
1019290001Sglebius     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
1020290001Sglebius     385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
1021290001Sglebius     395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
1022290001Sglebius     405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
1023290001Sglebius     415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
1024290001Sglebius     425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
1025290001Sglebius     435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
1026310419Sdelphij     445,   446,   447,   448,   449,   450,   451,   452,   453,    61,
1027310419Sdelphij      40,    41,   123,   125
1028290001Sglebius};
1029290001Sglebius# endif
1030290001Sglebius
1031301301Sdelphij#define YYPACT_NINF -189
1032290001Sglebius
1033301301Sdelphij#define yypact_value_is_default(Yystate) \
1034301301Sdelphij  (!!((Yystate) == (-189)))
1035301301Sdelphij
1036301301Sdelphij#define YYTABLE_NINF -7
1037301301Sdelphij
1038301301Sdelphij#define yytable_value_is_error(Yytable_value) \
1039301301Sdelphij  0
1040301301Sdelphij
1041301301Sdelphij  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1042301301Sdelphij     STATE-NUM.  */
1043301301Sdelphijstatic const yytype_int16 yypact[] =
1044290001Sglebius{
1045310419Sdelphij      18,  -177,   -45,  -189,  -189,  -189,   -40,  -189,    32,     5,
1046310419Sdelphij    -129,  -189,    32,  -189,   204,   -44,  -189,  -117,  -189,  -110,
1047310419Sdelphij    -101,  -189,  -189,   -97,  -189,  -189,   -44,    -4,   495,   -44,
1048310419Sdelphij    -189,  -189,   -96,  -189,   -94,  -189,  -189,     8,    54,   258,
1049310419Sdelphij      10,   -28,  -189,  -189,   -89,   204,   -86,  -189,   270,   529,
1050310419Sdelphij     -85,   -56,    14,  -189,  -189,  -189,    83,   207,   -95,  -189,
1051310419Sdelphij     -44,  -189,   -44,  -189,  -189,  -189,  -189,  -189,  -189,  -189,
1052310419Sdelphij    -189,  -189,  -189,    -7,    24,   -73,   -68,  -189,    -3,  -189,
1053310419Sdelphij    -189,  -106,  -189,  -189,  -189,   313,  -189,  -189,  -189,  -189,
1054310419Sdelphij    -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,    32,  -189,
1055310419Sdelphij    -189,  -189,  -189,  -189,  -189,     5,  -189,    35,    65,  -189,
1056310419Sdelphij      32,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,
1057310419Sdelphij    -189,  -189,  -189,   110,  -189,   -59,   368,  -189,  -189,  -189,
1058310419Sdelphij     -97,  -189,  -189,   -44,  -189,  -189,  -189,  -189,  -189,  -189,
1059310419Sdelphij    -189,  -189,  -189,   495,  -189,    44,   -44,  -189,  -189,   -51,
1060310419Sdelphij    -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,    54,  -189,
1061310419Sdelphij    -189,    86,    89,  -189,  -189,    33,  -189,  -189,  -189,  -189,
1062310419Sdelphij     -28,  -189,    49,   -75,  -189,   204,  -189,  -189,  -189,  -189,
1063310419Sdelphij    -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,   270,  -189,
1064310419Sdelphij      -7,  -189,  -189,  -189,   -33,  -189,  -189,  -189,  -189,  -189,
1065310419Sdelphij    -189,  -189,  -189,   529,  -189,    66,    -7,  -189,  -189,    67,
1066310419Sdelphij     -56,  -189,  -189,  -189,    68,  -189,   -53,  -189,  -189,  -189,
1067310419Sdelphij    -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,    16,
1068310419Sdelphij    -153,  -189,  -189,  -189,  -189,  -189,    77,  -189,   -18,  -189,
1069310419Sdelphij    -189,  -189,  -189,   226,   -13,  -189,  -189,  -189,  -189,    -8,
1070310419Sdelphij      97,  -189,  -189,   110,  -189,    -7,   -33,  -189,  -189,  -189,
1071310419Sdelphij    -189,  -189,  -189,  -189,  -189,   449,  -189,  -189,   449,   449,
1072310419Sdelphij     -85,  -189,  -189,    11,  -189,  -189,  -189,  -189,  -189,  -189,
1073310419Sdelphij    -189,  -189,  -189,  -189,   -49,   108,  -189,  -189,  -189,   125,
1074310419Sdelphij    -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -102,   -20,
1075310419Sdelphij     -30,  -189,  -189,  -189,  -189,    13,  -189,  -189,     9,  -189,
1076301301Sdelphij    -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,
1077301301Sdelphij    -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,
1078310419Sdelphij    -189,  -189,  -189,  -189,   449,   449,  -189,   146,   -85,   113,
1079310419Sdelphij    -189,   116,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,
1080301301Sdelphij    -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,
1081310419Sdelphij    -189,   -54,  -189,    23,   -10,     6,  -138,  -189,    -9,  -189,
1082310419Sdelphij      -7,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,
1083310419Sdelphij     449,  -189,  -189,  -189,  -189,   -17,  -189,  -189,  -189,   -44,
1084310419Sdelphij    -189,  -189,  -189,    20,  -189,  -189,  -189,     0,    21,    -7,
1085310419Sdelphij      22,  -173,  -189,    25,    -7,  -189,  -189,  -189,    17,     7,
1086310419Sdelphij    -189,  -189,  -189,  -189,  -189,   217,    39,    36,  -189,    46,
1087310419Sdelphij    -189,    -7,  -189,  -189
1088290001Sglebius};
1089290001Sglebius
1090301301Sdelphij  /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
1091301301Sdelphij     Performed when YYTABLE does not specify something else to do.  Zero
1092301301Sdelphij     means the default is an error.  */
1093290001Sglebiusstatic const yytype_uint16 yydefact[] =
1094290001Sglebius{
1095310419Sdelphij       0,     0,     0,    24,    58,   236,     0,    71,     0,     0,
1096310419Sdelphij     248,   239,     0,   229,     0,     0,   241,     0,   261,     0,
1097310419Sdelphij       0,   242,   240,     0,   243,    25,     0,     0,     0,     0,
1098310419Sdelphij     262,   237,     0,    23,     0,   244,    22,     0,     0,     0,
1099310419Sdelphij       0,     0,   245,    21,     0,     0,     0,   238,     0,     0,
1100310419Sdelphij       0,     0,     0,    56,    57,   297,     0,     2,     0,     7,
1101290001Sglebius       0,     8,     0,     9,    10,    13,    11,    12,    14,    15,
1102310419Sdelphij      16,    17,    18,     0,     0,     0,     0,   222,     0,   223,
1103310419Sdelphij      19,     0,     5,    62,    63,    64,   196,   197,   198,   199,
1104310419Sdelphij     202,   200,   201,   203,   204,   205,   206,   207,   191,   193,
1105310419Sdelphij     194,   195,   155,   156,   157,   127,   153,     0,   246,   230,
1106310419Sdelphij     190,   102,   103,   104,   105,   109,   106,   107,   108,   110,
1107310419Sdelphij      29,    30,    28,     0,    26,     0,     6,    65,    66,   258,
1108310419Sdelphij     231,   257,   290,    59,    61,   161,   162,   163,   164,   165,
1109310419Sdelphij     166,   167,   168,   128,   159,     0,    60,    70,   288,   232,
1110310419Sdelphij      67,   273,   274,   275,   276,   277,   278,   279,   270,   272,
1111310419Sdelphij     135,    29,    30,   135,   135,    26,    68,   189,   187,   188,
1112310419Sdelphij     183,   185,     0,     0,   233,    97,   101,    98,   212,   213,
1113310419Sdelphij     214,   215,   216,   217,   218,   219,   220,   221,   208,   210,
1114310419Sdelphij       0,    86,    92,    87,     0,    88,    96,    94,    95,    93,
1115310419Sdelphij      91,    89,    90,    80,    82,     0,     0,   252,   284,     0,
1116310419Sdelphij      69,   283,   285,   281,   235,     1,     0,     4,    31,    55,
1117310419Sdelphij     295,   294,   224,   225,   226,   227,   269,   268,   267,     0,
1118310419Sdelphij       0,    79,    75,    76,    77,    78,     0,    72,     0,   192,
1119310419Sdelphij     152,   154,   247,    99,     0,   179,   180,   181,   182,     0,
1120310419Sdelphij       0,   177,   178,   169,   171,     0,     0,    27,   228,   256,
1121310419Sdelphij     289,   158,   160,   287,   271,   131,   135,   135,   134,   129,
1122310419Sdelphij       0,   184,   186,     0,   100,   209,   211,   293,   291,   292,
1123310419Sdelphij      85,    81,    83,    84,   234,     0,   282,   280,     3,    20,
1124310419Sdelphij     263,   264,   265,   260,   266,   259,   301,   302,     0,     0,
1125310419Sdelphij       0,    74,    73,   119,   118,     0,   116,   117,     0,   111,
1126310419Sdelphij     114,   115,   175,   176,   174,   170,   172,   173,   137,   138,
1127301301Sdelphij     139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
1128310419Sdelphij     149,   150,   151,   136,   132,   133,   135,   251,     0,     0,
1129310419Sdelphij     253,     0,    37,    38,    39,    54,    47,    49,    48,    51,
1130310419Sdelphij      40,    41,    42,    43,    50,    52,    44,    32,    33,    36,
1131310419Sdelphij      34,     0,    35,     0,     0,     0,     0,   304,     0,   299,
1132310419Sdelphij       0,   112,   126,   122,   124,   120,   121,   123,   125,   113,
1133310419Sdelphij     130,   250,   249,   255,   254,     0,    45,    46,    53,     0,
1134310419Sdelphij     298,   296,   303,     0,   300,   286,   307,     0,     0,     0,
1135310419Sdelphij       0,     0,   309,     0,     0,   305,   308,   306,     0,     0,
1136310419Sdelphij     314,   315,   316,   317,   318,     0,     0,     0,   310,     0,
1137310419Sdelphij     312,     0,   311,   313
1138290001Sglebius};
1139290001Sglebius
1140301301Sdelphij  /* YYPGOTO[NTERM-NUM].  */
1141301301Sdelphijstatic const yytype_int16 yypgoto[] =
1142290001Sglebius{
1143310419Sdelphij    -189,  -189,  -189,   -48,  -189,  -189,   -15,   -38,  -189,  -189,
1144301301Sdelphij    -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,
1145310419Sdelphij    -189,  -189,  -189,  -189,  -189,  -189,    37,  -189,  -189,  -189,
1146310419Sdelphij    -189,   -42,  -189,  -189,  -189,  -189,  -189,  -189,  -159,  -189,
1147310419Sdelphij    -189,   131,  -189,  -189,    96,  -189,  -189,  -189,    -6,  -189,
1148310419Sdelphij    -189,  -189,  -189,    74,  -189,  -189,   236,   -71,  -189,  -189,
1149310419Sdelphij    -189,  -189,    62,  -189,  -189,  -189,  -189,  -189,  -189,  -189,
1150310419Sdelphij    -189,  -189,  -189,  -189,  -189,   122,  -189,  -189,  -189,  -189,
1151310419Sdelphij    -189,  -189,    95,  -189,  -189,    45,  -189,  -189,   225,     1,
1152310419Sdelphij    -188,  -189,  -189,  -189,   -39,  -189,  -189,  -103,  -189,  -189,
1153310419Sdelphij    -189,  -136,  -189,  -149,  -189
1154290001Sglebius};
1155290001Sglebius
1156301301Sdelphij  /* YYDEFGOTO[NTERM-NUM].  */
1157301301Sdelphijstatic const yytype_int16 yydefgoto[] =
1158290001Sglebius{
1159310419Sdelphij      -1,    56,    57,    58,    59,    60,   132,   124,   125,   289,
1160310419Sdelphij     357,   358,   359,   360,   361,   362,   363,    61,    62,    63,
1161310419Sdelphij      64,    85,   237,   238,    65,   203,   204,   205,   206,    66,
1162310419Sdelphij     175,   119,   243,   309,   310,   311,   379,    67,   265,   333,
1163310419Sdelphij     105,   106,   107,   143,   144,   145,    68,   253,   254,   255,
1164310419Sdelphij     256,    69,   170,   171,   172,    70,    98,    99,   100,   101,
1165301301Sdelphij      71,   188,   189,   190,    72,    73,    74,    75,    76,   109,
1166310419Sdelphij     174,   382,   284,   340,   130,   131,    77,    78,   295,   229,
1167310419Sdelphij      79,   158,   159,   214,   210,   211,   212,   149,   133,   280,
1168310419Sdelphij     222,    80,    81,   298,   299,   300,   366,   367,   398,   368,
1169310419Sdelphij     401,   402,   415,   416,   417
1170290001Sglebius};
1171290001Sglebius
1172301301Sdelphij  /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
1173301301Sdelphij     positive, shift that token.  If negative, reduce the rule whose
1174301301Sdelphij     number is the opposite.  If YYTABLE_NINF, syntax error.  */
1175290001Sglebiusstatic const yytype_int16 yytable[] =
1176290001Sglebius{
1177310419Sdelphij     123,   165,   276,   176,   268,   269,   208,   277,   386,   216,
1178310419Sdelphij     364,    82,   207,   372,   338,   167,   102,    83,   283,     1,
1179310419Sdelphij     400,   290,    84,   120,   164,   121,   220,   239,     2,   278,
1180310419Sdelphij     405,   108,   226,     3,     4,     5,   373,   296,   297,   239,
1181310419Sdelphij      86,     6,     7,   126,    87,   218,   364,   219,     8,     9,
1182310419Sdelphij     127,    88,    10,   227,    11,   221,    12,    13,   134,   128,
1183310419Sdelphij      14,   151,   152,   129,   147,   391,   148,   316,   168,    15,
1184310419Sdelphij     150,   173,   166,    16,   177,   122,   213,   228,   258,    17,
1185310419Sdelphij     153,    18,   291,   215,   292,   339,   223,   224,   296,   297,
1186310419Sdelphij      19,    20,   225,   217,    21,    22,   230,   241,   242,    23,
1187310419Sdelphij      24,   257,    89,    25,    26,   103,   262,   334,   335,   263,
1188310419Sdelphij     104,   272,    27,   244,   266,   374,   122,   267,   260,   154,
1189310419Sdelphij     270,   387,   375,   169,   273,    28,    29,    30,   282,   285,
1190310419Sdelphij     287,   260,    31,   274,   342,   288,    90,    91,   279,   301,
1191310419Sdelphij     376,    32,   302,   343,   209,   341,    33,   312,    34,   155,
1192310419Sdelphij      35,    36,   313,    92,   245,   246,   247,   248,    93,   314,
1193310419Sdelphij      37,    38,    39,    40,    41,    42,    43,    44,   369,   370,
1194310419Sdelphij      45,   337,    46,   371,   381,   384,   293,   380,   385,   344,
1195310419Sdelphij     345,    47,   394,   388,   395,    94,    48,    49,    50,   389,
1196310419Sdelphij      51,    52,   377,   393,   390,   378,   346,    53,    54,   399,
1197310419Sdelphij     294,   410,   411,   412,   413,   414,    -6,    55,    95,    96,
1198310419Sdelphij      97,   403,   397,   407,   400,   156,   408,     2,   347,   409,
1199310419Sdelphij     157,   404,     3,     4,     5,   111,   348,   420,   349,   112,
1200310419Sdelphij       6,     7,   336,   423,   422,   421,   240,     8,     9,   261,
1201310419Sdelphij     281,    10,   350,    11,   271,    12,    13,   315,   110,    14,
1202310419Sdelphij     275,   249,   259,   264,   146,   286,   303,   317,    15,   365,
1203310419Sdelphij     351,   352,    16,   392,   304,   406,   419,   305,    17,   250,
1204310419Sdelphij      18,     0,     0,     0,   251,   252,   178,     0,     0,    19,
1205310419Sdelphij      20,     0,     0,    21,    22,     0,   160,   113,    23,    24,
1206310419Sdelphij       0,     0,    25,    26,     0,     0,   353,     0,   354,     0,
1207310419Sdelphij     383,    27,   179,     0,     0,   306,   355,     0,     0,     0,
1208310419Sdelphij     356,     0,     0,     0,    28,    29,    30,     0,     0,     0,
1209310419Sdelphij     180,    31,     0,   181,     0,   161,     0,   162,     0,     0,
1210310419Sdelphij      32,     0,     0,   114,     0,    33,   307,    34,     0,    35,
1211310419Sdelphij      36,   115,   231,     0,   116,     0,     0,     0,     0,    37,
1212310419Sdelphij      38,    39,    40,    41,    42,    43,    44,     0,     0,    45,
1213310419Sdelphij       0,    46,     0,     0,     0,   232,   117,     0,   233,     0,
1214310419Sdelphij      47,   118,     0,     0,   396,    48,    49,    50,     2,    51,
1215310419Sdelphij      52,     0,     0,     3,     4,     5,    53,    54,     0,     0,
1216310419Sdelphij       0,     6,     7,     0,     0,    -6,    55,   182,     8,     9,
1217310419Sdelphij     308,     0,    10,     0,    11,     0,    12,    13,   163,     0,
1218310419Sdelphij      14,   410,   411,   412,   413,   414,     0,     0,   122,    15,
1219310419Sdelphij     418,     0,     0,    16,     0,   183,   184,   185,   186,    17,
1220310419Sdelphij       0,    18,     0,   187,     0,     0,     0,     0,     0,     0,
1221310419Sdelphij      19,    20,     0,     0,    21,    22,     0,     0,     0,    23,
1222310419Sdelphij      24,   234,   235,    25,    26,     0,     0,     0,   236,     0,
1223310419Sdelphij       0,     0,    27,     0,     0,     0,     0,     0,     0,     0,
1224310419Sdelphij       0,     0,     0,     0,     0,    28,    29,    30,     0,     0,
1225310419Sdelphij       0,     0,    31,     0,     0,     0,     0,     0,     0,     0,
1226310419Sdelphij       0,    32,     0,     0,     0,     0,    33,   318,    34,     0,
1227310419Sdelphij      35,    36,     0,     0,     0,   319,     0,     0,     0,     0,
1228310419Sdelphij      37,    38,    39,    40,    41,    42,    43,    44,     0,     0,
1229310419Sdelphij      45,     0,    46,   320,   321,     0,     0,   322,     0,     0,
1230310419Sdelphij       0,    47,     0,   323,     0,     0,    48,    49,    50,     0,
1231310419Sdelphij      51,    52,   191,   192,     0,     0,     0,    53,    54,   193,
1232310419Sdelphij       0,   194,   135,   136,   137,   138,     0,    55,     0,     0,
1233310419Sdelphij     324,   325,     0,     0,   326,   327,     0,   328,   329,   330,
1234310419Sdelphij       0,   331,     0,     0,     0,     0,     0,     0,   195,     0,
1235310419Sdelphij       0,     0,     0,   139,     0,   140,     0,   141,     0,     0,
1236310419Sdelphij       0,     0,     0,   142,     0,     0,     0,     0,     0,     0,
1237290001Sglebius       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1238310419Sdelphij       0,     0,     0,     0,     0,     0,     0,     0,   196,     0,
1239310419Sdelphij     197,     0,     0,     0,     0,     0,   198,     0,   199,     0,
1240310419Sdelphij     332,   200,     0,     0,     0,     0,     0,     0,     0,     0,
1241294905Sdelphij       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1242310419Sdelphij       0,     0,     0,   201,   202
1243290001Sglebius};
1244290001Sglebius
1245290001Sglebiusstatic const yytype_int16 yycheck[] =
1246290001Sglebius{
1247310419Sdelphij      15,    39,   190,    45,   163,   164,    62,    40,    62,    57,
1248310419Sdelphij     148,   188,    50,     4,    63,    43,    11,    62,   206,     1,
1249310419Sdelphij     193,     5,    62,    67,    39,    69,    33,    98,    10,    62,
1250310419Sdelphij     203,   160,    35,    15,    16,    17,    27,   190,   191,   110,
1251310419Sdelphij       8,    23,    24,   160,    12,    60,   148,    62,    30,    31,
1252310419Sdelphij     160,    19,    34,    56,    36,    62,    38,    39,    62,   160,
1253310419Sdelphij      42,     7,     8,   160,   160,   203,   160,   255,    96,    51,
1254310419Sdelphij      62,   160,    62,    55,   160,   160,    62,    80,   126,    61,
1255310419Sdelphij      26,    63,    66,     0,    68,   134,    62,   160,   190,   191,
1256310419Sdelphij      72,    73,   160,   188,    76,    77,   202,    62,    33,    81,
1257310419Sdelphij      82,   160,    70,    85,    86,   100,    62,   266,   267,   160,
1258310419Sdelphij     105,    62,    94,     3,    28,   106,   160,    28,   133,    65,
1259310419Sdelphij      87,   175,   113,   151,   199,   107,   108,   109,    62,    62,
1260310419Sdelphij      62,   146,   114,   175,     9,   188,   104,   105,   171,    62,
1261310419Sdelphij     131,   123,   160,    18,   200,    37,   128,   160,   130,    95,
1262310419Sdelphij     132,   133,   160,   121,    44,    45,    46,    47,   126,    62,
1263310419Sdelphij     142,   143,   144,   145,   146,   147,   148,   149,   188,   199,
1264310419Sdelphij     152,   160,   154,   160,    28,    62,   160,   336,    62,    54,
1265310419Sdelphij      55,   163,   370,   160,   201,   153,   168,   169,   170,   199,
1266310419Sdelphij     172,   173,   183,   202,   188,   186,    71,   179,   180,   199,
1267310419Sdelphij     184,   194,   195,   196,   197,   198,   188,   189,   176,   177,
1268310419Sdelphij     178,   399,   192,   188,   193,   161,   404,    10,    93,   202,
1269310419Sdelphij     166,   199,    15,    16,    17,    21,   101,   188,   103,    25,
1270310419Sdelphij      23,    24,   270,   421,   188,   199,   105,    30,    31,   143,
1271310419Sdelphij     203,    34,   117,    36,   170,    38,    39,   253,    12,    42,
1272310419Sdelphij     188,   141,   130,   158,    29,   210,    30,   256,    51,   298,
1273310419Sdelphij     135,   136,    55,   366,    38,   401,   415,    41,    61,   159,
1274310419Sdelphij      63,    -1,    -1,    -1,   164,   165,     6,    -1,    -1,    72,
1275310419Sdelphij      73,    -1,    -1,    76,    77,    -1,    28,    83,    81,    82,
1276310419Sdelphij      -1,    -1,    85,    86,    -1,    -1,   171,    -1,   173,    -1,
1277310419Sdelphij     338,    94,    32,    -1,    -1,    79,   181,    -1,    -1,    -1,
1278310419Sdelphij     185,    -1,    -1,    -1,   107,   108,   109,    -1,    -1,    -1,
1279310419Sdelphij      50,   114,    -1,    53,    -1,    67,    -1,    69,    -1,    -1,
1280310419Sdelphij     123,    -1,    -1,   129,    -1,   128,   110,   130,    -1,   132,
1281310419Sdelphij     133,   137,    29,    -1,   140,    -1,    -1,    -1,    -1,   142,
1282310419Sdelphij     143,   144,   145,   146,   147,   148,   149,    -1,    -1,   152,
1283310419Sdelphij      -1,   154,    -1,    -1,    -1,    52,   162,    -1,    55,    -1,
1284310419Sdelphij     163,   167,    -1,    -1,   389,   168,   169,   170,    10,   172,
1285310419Sdelphij     173,    -1,    -1,    15,    16,    17,   179,   180,    -1,    -1,
1286310419Sdelphij      -1,    23,    24,    -1,    -1,   188,   189,   127,    30,    31,
1287310419Sdelphij     174,    -1,    34,    -1,    36,    -1,    38,    39,   150,    -1,
1288310419Sdelphij      42,   194,   195,   196,   197,   198,    -1,    -1,   160,    51,
1289310419Sdelphij     203,    -1,    -1,    55,    -1,   155,   156,   157,   158,    61,
1290310419Sdelphij      -1,    63,    -1,   163,    -1,    -1,    -1,    -1,    -1,    -1,
1291310419Sdelphij      72,    73,    -1,    -1,    76,    77,    -1,    -1,    -1,    81,
1292310419Sdelphij      82,   138,   139,    85,    86,    -1,    -1,    -1,   145,    -1,
1293310419Sdelphij      -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1294310419Sdelphij      -1,    -1,    -1,    -1,    -1,   107,   108,   109,    -1,    -1,
1295310419Sdelphij      -1,    -1,   114,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1296310419Sdelphij      -1,   123,    -1,    -1,    -1,    -1,   128,    48,   130,    -1,
1297310419Sdelphij     132,   133,    -1,    -1,    -1,    56,    -1,    -1,    -1,    -1,
1298310419Sdelphij     142,   143,   144,   145,   146,   147,   148,   149,    -1,    -1,
1299310419Sdelphij     152,    -1,   154,    74,    75,    -1,    -1,    78,    -1,    -1,
1300310419Sdelphij      -1,   163,    -1,    84,    -1,    -1,   168,   169,   170,    -1,
1301310419Sdelphij     172,   173,    13,    14,    -1,    -1,    -1,   179,   180,    20,
1302310419Sdelphij      -1,    22,    57,    58,    59,    60,    -1,   189,    -1,    -1,
1303310419Sdelphij     111,   112,    -1,    -1,   115,   116,    -1,   118,   119,   120,
1304310419Sdelphij      -1,   122,    -1,    -1,    -1,    -1,    -1,    -1,    49,    -1,
1305310419Sdelphij      -1,    -1,    -1,    88,    -1,    90,    -1,    92,    -1,    -1,
1306310419Sdelphij      -1,    -1,    -1,    98,    -1,    -1,    -1,    -1,    -1,    -1,
1307301301Sdelphij      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1308310419Sdelphij      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    89,    -1,
1309310419Sdelphij      91,    -1,    -1,    -1,    -1,    -1,    97,    -1,    99,    -1,
1310310419Sdelphij     181,   102,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1311301301Sdelphij      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1312310419Sdelphij      -1,    -1,    -1,   124,   125
1313290001Sglebius};
1314290001Sglebius
1315301301Sdelphij  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1316301301Sdelphij     symbol of state STATE-NUM.  */
1317290001Sglebiusstatic const yytype_uint16 yystos[] =
1318290001Sglebius{
1319310419Sdelphij       0,     1,    10,    15,    16,    17,    23,    24,    30,    31,
1320310419Sdelphij      34,    36,    38,    39,    42,    51,    55,    61,    63,    72,
1321310419Sdelphij      73,    76,    77,    81,    82,    85,    86,    94,   107,   108,
1322310419Sdelphij     109,   114,   123,   128,   130,   132,   133,   142,   143,   144,
1323310419Sdelphij     145,   146,   147,   148,   149,   152,   154,   163,   168,   169,
1324310419Sdelphij     170,   172,   173,   179,   180,   189,   205,   206,   207,   208,
1325310419Sdelphij     209,   221,   222,   223,   224,   228,   233,   241,   250,   255,
1326310419Sdelphij     259,   264,   268,   269,   270,   271,   272,   280,   281,   284,
1327310419Sdelphij     295,   296,   188,    62,    62,   225,     8,    12,    19,    70,
1328310419Sdelphij     104,   105,   121,   126,   153,   176,   177,   178,   260,   261,
1329310419Sdelphij     262,   263,    11,   100,   105,   244,   245,   246,   160,   273,
1330310419Sdelphij     260,    21,    25,    83,   129,   137,   140,   162,   167,   235,
1331310419Sdelphij      67,    69,   160,   210,   211,   212,   160,   160,   160,   160,
1332310419Sdelphij     278,   279,   210,   292,    62,    57,    58,    59,    60,    88,
1333310419Sdelphij      90,    92,    98,   247,   248,   249,   292,   160,   160,   291,
1334310419Sdelphij      62,     7,     8,    26,    65,    95,   161,   166,   285,   286,
1335310419Sdelphij      28,    67,    69,   150,   210,   211,    62,    43,    96,   151,
1336310419Sdelphij     256,   257,   258,   160,   274,   234,   235,   160,     6,    32,
1337310419Sdelphij      50,    53,   127,   155,   156,   157,   158,   163,   265,   266,
1338310419Sdelphij     267,    13,    14,    20,    22,    49,    89,    91,    97,    99,
1339310419Sdelphij     102,   124,   125,   229,   230,   231,   232,   211,    62,   200,
1340310419Sdelphij     288,   289,   290,    62,   287,     0,   207,   188,   210,   210,
1341310419Sdelphij      33,    62,   294,    62,   160,   160,    35,    56,    80,   283,
1342310419Sdelphij     202,    29,    52,    55,   138,   139,   145,   226,   227,   261,
1343310419Sdelphij     245,    62,    33,   236,     3,    44,    45,    46,    47,   141,
1344310419Sdelphij     159,   164,   165,   251,   252,   253,   254,   160,   207,   279,
1345310419Sdelphij     210,   248,    62,   160,   286,   242,    28,    28,   242,   242,
1346310419Sdelphij      87,   257,    62,   199,   235,   266,   294,    40,    62,   171,
1347310419Sdelphij     293,   230,    62,   294,   276,    62,   289,    62,   188,   213,
1348310419Sdelphij       5,    66,    68,   160,   184,   282,   190,   191,   297,   298,
1349310419Sdelphij     299,    62,   160,    30,    38,    41,    79,   110,   174,   237,
1350310419Sdelphij     238,   239,   160,   160,    62,   252,   294,   293,    48,    56,
1351310419Sdelphij      74,    75,    78,    84,   111,   112,   115,   116,   118,   119,
1352310419Sdelphij     120,   122,   181,   243,   242,   242,   211,   160,    63,   134,
1353310419Sdelphij     277,    37,     9,    18,    54,    55,    71,    93,   101,   103,
1354310419Sdelphij     117,   135,   136,   171,   173,   181,   185,   214,   215,   216,
1355310419Sdelphij     217,   218,   219,   220,   148,   298,   300,   301,   303,   188,
1356310419Sdelphij     199,   160,     4,    27,   106,   113,   131,   183,   186,   240,
1357310419Sdelphij     242,    28,   275,   211,    62,    62,    62,   175,   160,   199,
1358310419Sdelphij     188,   203,   301,   202,   294,   201,   210,   192,   302,   199,
1359310419Sdelphij     193,   304,   305,   294,   199,   203,   305,   188,   294,   202,
1360310419Sdelphij     194,   195,   196,   197,   198,   306,   307,   308,   203,   307,
1361310419Sdelphij     188,   199,   188,   294
1362290001Sglebius};
1363290001Sglebius
1364301301Sdelphij  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1365301301Sdelphijstatic const yytype_uint16 yyr1[] =
1366301301Sdelphij{
1367310419Sdelphij       0,   204,   205,   206,   206,   206,   207,   207,   207,   207,
1368310419Sdelphij     207,   207,   207,   207,   207,   207,   207,   207,   207,   207,
1369310419Sdelphij     208,   209,   209,   209,   209,   209,   210,   210,   211,   212,
1370310419Sdelphij     212,   213,   213,   214,   214,   214,   215,   216,   216,   216,
1371310419Sdelphij     216,   216,   216,   216,   216,   217,   217,   218,   218,   218,
1372310419Sdelphij     218,   218,   218,   219,   220,   221,   222,   222,   223,   223,
1373310419Sdelphij     223,   223,   224,   224,   224,   224,   224,   224,   224,   224,
1374310419Sdelphij     224,   225,   225,   226,   226,   227,   227,   227,   227,   227,
1375310419Sdelphij     228,   229,   229,   230,   230,   230,   231,   231,   231,   231,
1376310419Sdelphij     231,   231,   231,   232,   232,   232,   232,   233,   233,   233,
1377310419Sdelphij     234,   234,   235,   235,   235,   235,   235,   235,   235,   235,
1378310419Sdelphij     236,   236,   237,   237,   237,   237,   238,   238,   239,   239,
1379310419Sdelphij     240,   240,   240,   240,   240,   240,   240,   241,   241,   241,
1380310419Sdelphij     241,   241,   241,   241,   241,   242,   242,   243,   243,   243,
1381310419Sdelphij     243,   243,   243,   243,   243,   243,   243,   243,   243,   243,
1382310419Sdelphij     243,   243,   244,   244,   245,   246,   246,   246,   247,   247,
1383310419Sdelphij     248,   249,   249,   249,   249,   249,   249,   249,   249,   250,
1384310419Sdelphij     251,   251,   252,   252,   252,   252,   252,   253,   253,   254,
1385310419Sdelphij     254,   254,   254,   255,   256,   256,   257,   258,   258,   258,
1386310419Sdelphij     259,   259,   260,   260,   261,   261,   262,   262,   262,   262,
1387310419Sdelphij     262,   262,   263,   263,   263,   263,   263,   263,   264,   265,
1388310419Sdelphij     265,   266,   267,   267,   267,   267,   267,   267,   267,   267,
1389310419Sdelphij     267,   267,   268,   268,   268,   268,   268,   268,   268,   268,
1390310419Sdelphij     268,   268,   268,   268,   268,   268,   269,   269,   269,   270,
1391310419Sdelphij     270,   271,   271,   272,   272,   272,   273,   273,   273,   274,
1392310419Sdelphij     275,   275,   276,   276,   277,   277,   278,   278,   279,   280,
1393310419Sdelphij     280,   281,   281,   282,   282,   282,   282,   283,   283,   283,
1394310419Sdelphij     284,   285,   285,   286,   286,   286,   286,   286,   286,   286,
1395310419Sdelphij     287,   287,   288,   288,   289,   289,   290,   291,   291,   292,
1396310419Sdelphij     292,   293,   293,   293,   294,   294,   295,   296,   297,   297,
1397310419Sdelphij     298,   299,   299,   300,   300,   301,   302,   303,   304,   304,
1398310419Sdelphij     305,   306,   306,   307,   308,   308,   308,   308,   308
1399301301Sdelphij};
1400290001Sglebius
1401301301Sdelphij  /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
1402301301Sdelphijstatic const yytype_uint8 yyr2[] =
1403301301Sdelphij{
1404301301Sdelphij       0,     2,     1,     3,     2,     2,     0,     1,     1,     1,
1405301301Sdelphij       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1406301301Sdelphij       3,     1,     1,     1,     1,     1,     1,     2,     1,     1,
1407301301Sdelphij       1,     0,     2,     1,     1,     1,     1,     1,     1,     1,
1408301301Sdelphij       1,     1,     1,     1,     1,     2,     2,     1,     1,     1,
1409301301Sdelphij       1,     1,     1,     2,     1,     2,     1,     1,     1,     2,
1410301301Sdelphij       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1411301301Sdelphij       2,     0,     2,     2,     2,     1,     1,     1,     1,     1,
1412301301Sdelphij       2,     2,     1,     2,     2,     2,     1,     1,     1,     1,
1413310419Sdelphij       1,     1,     1,     1,     1,     1,     1,     2,     2,     3,
1414310419Sdelphij       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1415310419Sdelphij       0,     2,     2,     2,     1,     1,     1,     1,     1,     1,
1416310419Sdelphij       1,     1,     1,     1,     1,     1,     1,     2,     2,     3,
1417310419Sdelphij       5,     3,     4,     4,     3,     0,     2,     1,     1,     1,
1418310419Sdelphij       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1419310419Sdelphij       1,     1,     2,     1,     2,     1,     1,     1,     2,     1,
1420310419Sdelphij       2,     1,     1,     1,     1,     1,     1,     1,     1,     3,
1421310419Sdelphij       2,     1,     2,     2,     2,     2,     2,     1,     1,     1,
1422310419Sdelphij       1,     1,     1,     2,     2,     1,     2,     1,     1,     1,
1423301301Sdelphij       2,     2,     2,     1,     1,     1,     1,     1,     1,     1,
1424310419Sdelphij       1,     1,     1,     1,     1,     1,     1,     1,     2,     2,
1425310419Sdelphij       1,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1426310419Sdelphij       1,     1,     1,     1,     2,     2,     2,     2,     3,     1,
1427310419Sdelphij       2,     2,     2,     2,     3,     2,     1,     1,     1,     1,
1428310419Sdelphij       1,     1,     1,     1,     1,     1,     1,     2,     0,     4,
1429310419Sdelphij       1,     0,     0,     2,     2,     2,     2,     1,     1,     3,
1430310419Sdelphij       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1431301301Sdelphij       2,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1432310419Sdelphij       2,     1,     2,     1,     1,     1,     5,     2,     1,     2,
1433310419Sdelphij       1,     1,     1,     1,     1,     1,     5,     1,     3,     2,
1434310419Sdelphij       3,     1,     1,     2,     1,     5,     4,     3,     2,     1,
1435310419Sdelphij       6,     3,     2,     3,     1,     1,     1,     1,     1
1436301301Sdelphij};
1437290001Sglebius
1438290001Sglebius
1439301301Sdelphij#define yyerrok         (yyerrstatus = 0)
1440301301Sdelphij#define yyclearin       (yychar = YYEMPTY)
1441301301Sdelphij#define YYEMPTY         (-2)
1442301301Sdelphij#define YYEOF           0
1443290001Sglebius
1444301301Sdelphij#define YYACCEPT        goto yyacceptlab
1445301301Sdelphij#define YYABORT         goto yyabortlab
1446301301Sdelphij#define YYERROR         goto yyerrorlab
1447290001Sglebius
1448301301Sdelphij
1449290001Sglebius#define YYRECOVERING()  (!!yyerrstatus)
1450290001Sglebius
1451290001Sglebius#define YYBACKUP(Token, Value)                                  \
1452290001Sglebiusdo                                                              \
1453290001Sglebius  if (yychar == YYEMPTY)                                        \
1454290001Sglebius    {                                                           \
1455290001Sglebius      yychar = (Token);                                         \
1456290001Sglebius      yylval = (Value);                                         \
1457290001Sglebius      YYPOPSTACK (yylen);                                       \
1458290001Sglebius      yystate = *yyssp;                                         \
1459290001Sglebius      goto yybackup;                                            \
1460290001Sglebius    }                                                           \
1461290001Sglebius  else                                                          \
1462290001Sglebius    {                                                           \
1463290001Sglebius      yyerror (YY_("syntax error: cannot back up")); \
1464301301Sdelphij      YYERROR;                                                  \
1465301301Sdelphij    }                                                           \
1466301301Sdelphijwhile (0)
1467290001Sglebius
1468290001Sglebius/* Error token number */
1469301301Sdelphij#define YYTERROR        1
1470301301Sdelphij#define YYERRCODE       256
1471290001Sglebius
1472290001Sglebius
1473290001Sglebius
1474290001Sglebius/* Enable debugging if requested.  */
1475290001Sglebius#if YYDEBUG
1476290001Sglebius
1477290001Sglebius# ifndef YYFPRINTF
1478290001Sglebius#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
1479290001Sglebius#  define YYFPRINTF fprintf
1480290001Sglebius# endif
1481290001Sglebius
1482301301Sdelphij# define YYDPRINTF(Args)                        \
1483301301Sdelphijdo {                                            \
1484301301Sdelphij  if (yydebug)                                  \
1485301301Sdelphij    YYFPRINTF Args;                             \
1486301301Sdelphij} while (0)
1487290001Sglebius
1488301301Sdelphij/* This macro is provided for backward compatibility. */
1489301301Sdelphij#ifndef YY_LOCATION_PRINT
1490301301Sdelphij# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
1491301301Sdelphij#endif
1492290001Sglebius
1493290001Sglebius
1494301301Sdelphij# define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
1495301301Sdelphijdo {                                                                      \
1496301301Sdelphij  if (yydebug)                                                            \
1497301301Sdelphij    {                                                                     \
1498301301Sdelphij      YYFPRINTF (stderr, "%s ", Title);                                   \
1499301301Sdelphij      yy_symbol_print (stderr,                                            \
1500301301Sdelphij                  Type, Value); \
1501301301Sdelphij      YYFPRINTF (stderr, "\n");                                           \
1502301301Sdelphij    }                                                                     \
1503301301Sdelphij} while (0)
1504290001Sglebius
1505301301Sdelphij
1506301301Sdelphij/*----------------------------------------.
1507301301Sdelphij| Print this symbol's value on YYOUTPUT.  |
1508301301Sdelphij`----------------------------------------*/
1509301301Sdelphij
1510290001Sglebiusstatic void
1511290001Sglebiusyy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
1512290001Sglebius{
1513290001Sglebius  FILE *yyo = yyoutput;
1514290001Sglebius  YYUSE (yyo);
1515290001Sglebius  if (!yyvaluep)
1516290001Sglebius    return;
1517290001Sglebius# ifdef YYPRINT
1518290001Sglebius  if (yytype < YYNTOKENS)
1519290001Sglebius    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
1520290001Sglebius# endif
1521290001Sglebius  YYUSE (yytype);
1522290001Sglebius}
1523290001Sglebius
1524290001Sglebius
1525290001Sglebius/*--------------------------------.
1526290001Sglebius| Print this symbol on YYOUTPUT.  |
1527290001Sglebius`--------------------------------*/
1528290001Sglebius
1529290001Sglebiusstatic void
1530290001Sglebiusyy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
1531290001Sglebius{
1532301301Sdelphij  YYFPRINTF (yyoutput, "%s %s (",
1533301301Sdelphij             yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
1534290001Sglebius
1535290001Sglebius  yy_symbol_value_print (yyoutput, yytype, yyvaluep);
1536290001Sglebius  YYFPRINTF (yyoutput, ")");
1537290001Sglebius}
1538290001Sglebius
1539290001Sglebius/*------------------------------------------------------------------.
1540290001Sglebius| yy_stack_print -- Print the state stack from its BOTTOM up to its |
1541290001Sglebius| TOP (included).                                                   |
1542290001Sglebius`------------------------------------------------------------------*/
1543290001Sglebius
1544290001Sglebiusstatic void
1545290001Sglebiusyy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
1546290001Sglebius{
1547290001Sglebius  YYFPRINTF (stderr, "Stack now");
1548290001Sglebius  for (; yybottom <= yytop; yybottom++)
1549290001Sglebius    {
1550290001Sglebius      int yybot = *yybottom;
1551290001Sglebius      YYFPRINTF (stderr, " %d", yybot);
1552290001Sglebius    }
1553290001Sglebius  YYFPRINTF (stderr, "\n");
1554290001Sglebius}
1555290001Sglebius
1556301301Sdelphij# define YY_STACK_PRINT(Bottom, Top)                            \
1557301301Sdelphijdo {                                                            \
1558301301Sdelphij  if (yydebug)                                                  \
1559301301Sdelphij    yy_stack_print ((Bottom), (Top));                           \
1560301301Sdelphij} while (0)
1561290001Sglebius
1562290001Sglebius
1563290001Sglebius/*------------------------------------------------.
1564290001Sglebius| Report that the YYRULE is going to be reduced.  |
1565290001Sglebius`------------------------------------------------*/
1566290001Sglebius
1567290001Sglebiusstatic void
1568301301Sdelphijyy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule)
1569290001Sglebius{
1570301301Sdelphij  unsigned long int yylno = yyrline[yyrule];
1571290001Sglebius  int yynrhs = yyr2[yyrule];
1572290001Sglebius  int yyi;
1573290001Sglebius  YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
1574301301Sdelphij             yyrule - 1, yylno);
1575290001Sglebius  /* The symbols being reduced.  */
1576290001Sglebius  for (yyi = 0; yyi < yynrhs; yyi++)
1577290001Sglebius    {
1578290001Sglebius      YYFPRINTF (stderr, "   $%d = ", yyi + 1);
1579301301Sdelphij      yy_symbol_print (stderr,
1580301301Sdelphij                       yystos[yyssp[yyi + 1 - yynrhs]],
1581301301Sdelphij                       &(yyvsp[(yyi + 1) - (yynrhs)])
1582301301Sdelphij                                              );
1583290001Sglebius      YYFPRINTF (stderr, "\n");
1584290001Sglebius    }
1585290001Sglebius}
1586290001Sglebius
1587301301Sdelphij# define YY_REDUCE_PRINT(Rule)          \
1588301301Sdelphijdo {                                    \
1589301301Sdelphij  if (yydebug)                          \
1590301301Sdelphij    yy_reduce_print (yyssp, yyvsp, Rule); \
1591301301Sdelphij} while (0)
1592290001Sglebius
1593290001Sglebius/* Nonzero means print parse trace.  It is left uninitialized so that
1594290001Sglebius   multiple parsers can coexist.  */
1595290001Sglebiusint yydebug;
1596290001Sglebius#else /* !YYDEBUG */
1597290001Sglebius# define YYDPRINTF(Args)
1598290001Sglebius# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
1599290001Sglebius# define YY_STACK_PRINT(Bottom, Top)
1600290001Sglebius# define YY_REDUCE_PRINT(Rule)
1601290001Sglebius#endif /* !YYDEBUG */
1602290001Sglebius
1603290001Sglebius
1604290001Sglebius/* YYINITDEPTH -- initial size of the parser's stacks.  */
1605301301Sdelphij#ifndef YYINITDEPTH
1606290001Sglebius# define YYINITDEPTH 200
1607290001Sglebius#endif
1608290001Sglebius
1609290001Sglebius/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
1610290001Sglebius   if the built-in stack extension method is used).
1611290001Sglebius
1612290001Sglebius   Do not make this value too large; the results are undefined if
1613290001Sglebius   YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
1614290001Sglebius   evaluated with infinite-precision integer arithmetic.  */
1615290001Sglebius
1616290001Sglebius#ifndef YYMAXDEPTH
1617290001Sglebius# define YYMAXDEPTH 10000
1618290001Sglebius#endif
1619290001Sglebius
1620290001Sglebius
1621290001Sglebius#if YYERROR_VERBOSE
1622290001Sglebius
1623290001Sglebius# ifndef yystrlen
1624290001Sglebius#  if defined __GLIBC__ && defined _STRING_H
1625290001Sglebius#   define yystrlen strlen
1626290001Sglebius#  else
1627290001Sglebius/* Return the length of YYSTR.  */
1628290001Sglebiusstatic YYSIZE_T
1629290001Sglebiusyystrlen (const char *yystr)
1630290001Sglebius{
1631290001Sglebius  YYSIZE_T yylen;
1632290001Sglebius  for (yylen = 0; yystr[yylen]; yylen++)
1633290001Sglebius    continue;
1634290001Sglebius  return yylen;
1635290001Sglebius}
1636290001Sglebius#  endif
1637290001Sglebius# endif
1638290001Sglebius
1639290001Sglebius# ifndef yystpcpy
1640290001Sglebius#  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
1641290001Sglebius#   define yystpcpy stpcpy
1642290001Sglebius#  else
1643290001Sglebius/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
1644290001Sglebius   YYDEST.  */
1645290001Sglebiusstatic char *
1646290001Sglebiusyystpcpy (char *yydest, const char *yysrc)
1647290001Sglebius{
1648290001Sglebius  char *yyd = yydest;
1649290001Sglebius  const char *yys = yysrc;
1650290001Sglebius
1651290001Sglebius  while ((*yyd++ = *yys++) != '\0')
1652290001Sglebius    continue;
1653290001Sglebius
1654290001Sglebius  return yyd - 1;
1655290001Sglebius}
1656290001Sglebius#  endif
1657290001Sglebius# endif
1658290001Sglebius
1659290001Sglebius# ifndef yytnamerr
1660290001Sglebius/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
1661290001Sglebius   quotes and backslashes, so that it's suitable for yyerror.  The
1662290001Sglebius   heuristic is that double-quoting is unnecessary unless the string
1663290001Sglebius   contains an apostrophe, a comma, or backslash (other than
1664290001Sglebius   backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
1665290001Sglebius   null, do not copy; instead, return the length of what the result
1666290001Sglebius   would have been.  */
1667290001Sglebiusstatic YYSIZE_T
1668290001Sglebiusyytnamerr (char *yyres, const char *yystr)
1669290001Sglebius{
1670290001Sglebius  if (*yystr == '"')
1671290001Sglebius    {
1672290001Sglebius      YYSIZE_T yyn = 0;
1673290001Sglebius      char const *yyp = yystr;
1674290001Sglebius
1675290001Sglebius      for (;;)
1676301301Sdelphij        switch (*++yyp)
1677301301Sdelphij          {
1678301301Sdelphij          case '\'':
1679301301Sdelphij          case ',':
1680301301Sdelphij            goto do_not_strip_quotes;
1681290001Sglebius
1682301301Sdelphij          case '\\':
1683301301Sdelphij            if (*++yyp != '\\')
1684301301Sdelphij              goto do_not_strip_quotes;
1685301301Sdelphij            /* Fall through.  */
1686301301Sdelphij          default:
1687301301Sdelphij            if (yyres)
1688301301Sdelphij              yyres[yyn] = *yyp;
1689301301Sdelphij            yyn++;
1690301301Sdelphij            break;
1691290001Sglebius
1692301301Sdelphij          case '"':
1693301301Sdelphij            if (yyres)
1694301301Sdelphij              yyres[yyn] = '\0';
1695301301Sdelphij            return yyn;
1696301301Sdelphij          }
1697290001Sglebius    do_not_strip_quotes: ;
1698290001Sglebius    }
1699290001Sglebius
1700290001Sglebius  if (! yyres)
1701290001Sglebius    return yystrlen (yystr);
1702290001Sglebius
1703290001Sglebius  return yystpcpy (yyres, yystr) - yyres;
1704290001Sglebius}
1705290001Sglebius# endif
1706290001Sglebius
1707290001Sglebius/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
1708290001Sglebius   about the unexpected token YYTOKEN for the state stack whose top is
1709290001Sglebius   YYSSP.
1710290001Sglebius
1711290001Sglebius   Return 0 if *YYMSG was successfully written.  Return 1 if *YYMSG is
1712290001Sglebius   not large enough to hold the message.  In that case, also set
1713290001Sglebius   *YYMSG_ALLOC to the required number of bytes.  Return 2 if the
1714290001Sglebius   required number of bytes is too large to store.  */
1715290001Sglebiusstatic int
1716290001Sglebiusyysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
1717290001Sglebius                yytype_int16 *yyssp, int yytoken)
1718290001Sglebius{
1719301301Sdelphij  YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
1720290001Sglebius  YYSIZE_T yysize = yysize0;
1721290001Sglebius  enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
1722290001Sglebius  /* Internationalized format string. */
1723301301Sdelphij  const char *yyformat = YY_NULLPTR;
1724290001Sglebius  /* Arguments of yyformat. */
1725290001Sglebius  char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
1726290001Sglebius  /* Number of reported tokens (one for the "unexpected", one per
1727290001Sglebius     "expected"). */
1728290001Sglebius  int yycount = 0;
1729290001Sglebius
1730290001Sglebius  /* There are many possibilities here to consider:
1731290001Sglebius     - If this state is a consistent state with a default action, then
1732290001Sglebius       the only way this function was invoked is if the default action
1733290001Sglebius       is an error action.  In that case, don't check for expected
1734290001Sglebius       tokens because there are none.
1735290001Sglebius     - The only way there can be no lookahead present (in yychar) is if
1736290001Sglebius       this state is a consistent state with a default action.  Thus,
1737290001Sglebius       detecting the absence of a lookahead is sufficient to determine
1738290001Sglebius       that there is no unexpected or expected token to report.  In that
1739290001Sglebius       case, just report a simple "syntax error".
1740290001Sglebius     - Don't assume there isn't a lookahead just because this state is a
1741290001Sglebius       consistent state with a default action.  There might have been a
1742290001Sglebius       previous inconsistent state, consistent state with a non-default
1743290001Sglebius       action, or user semantic action that manipulated yychar.
1744290001Sglebius     - Of course, the expected token list depends on states to have
1745290001Sglebius       correct lookahead information, and it depends on the parser not
1746290001Sglebius       to perform extra reductions after fetching a lookahead from the
1747290001Sglebius       scanner and before detecting a syntax error.  Thus, state merging
1748290001Sglebius       (from LALR or IELR) and default reductions corrupt the expected
1749290001Sglebius       token list.  However, the list is correct for canonical LR with
1750290001Sglebius       one exception: it will still contain any token that will not be
1751290001Sglebius       accepted due to an error action in a later state.
1752290001Sglebius  */
1753290001Sglebius  if (yytoken != YYEMPTY)
1754290001Sglebius    {
1755290001Sglebius      int yyn = yypact[*yyssp];
1756290001Sglebius      yyarg[yycount++] = yytname[yytoken];
1757290001Sglebius      if (!yypact_value_is_default (yyn))
1758290001Sglebius        {
1759290001Sglebius          /* Start YYX at -YYN if negative to avoid negative indexes in
1760290001Sglebius             YYCHECK.  In other words, skip the first -YYN actions for
1761290001Sglebius             this state because they are default actions.  */
1762290001Sglebius          int yyxbegin = yyn < 0 ? -yyn : 0;
1763290001Sglebius          /* Stay within bounds of both yycheck and yytname.  */
1764290001Sglebius          int yychecklim = YYLAST - yyn + 1;
1765290001Sglebius          int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
1766290001Sglebius          int yyx;
1767290001Sglebius
1768290001Sglebius          for (yyx = yyxbegin; yyx < yyxend; ++yyx)
1769290001Sglebius            if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
1770290001Sglebius                && !yytable_value_is_error (yytable[yyx + yyn]))
1771290001Sglebius              {
1772290001Sglebius                if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
1773290001Sglebius                  {
1774290001Sglebius                    yycount = 1;
1775290001Sglebius                    yysize = yysize0;
1776290001Sglebius                    break;
1777290001Sglebius                  }
1778290001Sglebius                yyarg[yycount++] = yytname[yyx];
1779290001Sglebius                {
1780301301Sdelphij                  YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
1781290001Sglebius                  if (! (yysize <= yysize1
1782290001Sglebius                         && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
1783290001Sglebius                    return 2;
1784290001Sglebius                  yysize = yysize1;
1785290001Sglebius                }
1786290001Sglebius              }
1787290001Sglebius        }
1788290001Sglebius    }
1789290001Sglebius
1790290001Sglebius  switch (yycount)
1791290001Sglebius    {
1792290001Sglebius# define YYCASE_(N, S)                      \
1793290001Sglebius      case N:                               \
1794290001Sglebius        yyformat = S;                       \
1795290001Sglebius      break
1796290001Sglebius      YYCASE_(0, YY_("syntax error"));
1797290001Sglebius      YYCASE_(1, YY_("syntax error, unexpected %s"));
1798290001Sglebius      YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
1799290001Sglebius      YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
1800290001Sglebius      YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
1801290001Sglebius      YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
1802290001Sglebius# undef YYCASE_
1803290001Sglebius    }
1804290001Sglebius
1805290001Sglebius  {
1806290001Sglebius    YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
1807290001Sglebius    if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
1808290001Sglebius      return 2;
1809290001Sglebius    yysize = yysize1;
1810290001Sglebius  }
1811290001Sglebius
1812290001Sglebius  if (*yymsg_alloc < yysize)
1813290001Sglebius    {
1814290001Sglebius      *yymsg_alloc = 2 * yysize;
1815290001Sglebius      if (! (yysize <= *yymsg_alloc
1816290001Sglebius             && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
1817290001Sglebius        *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
1818290001Sglebius      return 1;
1819290001Sglebius    }
1820290001Sglebius
1821290001Sglebius  /* Avoid sprintf, as that infringes on the user's name space.
1822290001Sglebius     Don't have undefined behavior even if the translation
1823290001Sglebius     produced a string with the wrong number of "%s"s.  */
1824290001Sglebius  {
1825290001Sglebius    char *yyp = *yymsg;
1826290001Sglebius    int yyi = 0;
1827290001Sglebius    while ((*yyp = *yyformat) != '\0')
1828290001Sglebius      if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
1829290001Sglebius        {
1830290001Sglebius          yyp += yytnamerr (yyp, yyarg[yyi++]);
1831290001Sglebius          yyformat += 2;
1832290001Sglebius        }
1833290001Sglebius      else
1834290001Sglebius        {
1835290001Sglebius          yyp++;
1836290001Sglebius          yyformat++;
1837290001Sglebius        }
1838290001Sglebius  }
1839290001Sglebius  return 0;
1840290001Sglebius}
1841290001Sglebius#endif /* YYERROR_VERBOSE */
1842290001Sglebius
1843290001Sglebius/*-----------------------------------------------.
1844290001Sglebius| Release the memory associated to this symbol.  |
1845290001Sglebius`-----------------------------------------------*/
1846290001Sglebius
1847290001Sglebiusstatic void
1848290001Sglebiusyydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
1849290001Sglebius{
1850290001Sglebius  YYUSE (yyvaluep);
1851290001Sglebius  if (!yymsg)
1852290001Sglebius    yymsg = "Deleting";
1853290001Sglebius  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
1854290001Sglebius
1855301301Sdelphij  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
1856290001Sglebius  YYUSE (yytype);
1857301301Sdelphij  YY_IGNORE_MAYBE_UNINITIALIZED_END
1858290001Sglebius}
1859290001Sglebius
1860290001Sglebius
1861290001Sglebius
1862290001Sglebius
1863290001Sglebius/* The lookahead symbol.  */
1864290001Sglebiusint yychar;
1865290001Sglebius
1866290001Sglebius/* The semantic value of the lookahead symbol.  */
1867301301SdelphijYYSTYPE yylval;
1868290001Sglebius/* Number of syntax errors so far.  */
1869290001Sglebiusint yynerrs;
1870290001Sglebius
1871290001Sglebius
1872290001Sglebius/*----------.
1873290001Sglebius| yyparse.  |
1874290001Sglebius`----------*/
1875290001Sglebius
1876290001Sglebiusint
1877290001Sglebiusyyparse (void)
1878290001Sglebius{
1879290001Sglebius    int yystate;
1880290001Sglebius    /* Number of tokens to shift before error messages enabled.  */
1881290001Sglebius    int yyerrstatus;
1882290001Sglebius
1883290001Sglebius    /* The stacks and their tools:
1884301301Sdelphij       'yyss': related to states.
1885301301Sdelphij       'yyvs': related to semantic values.
1886290001Sglebius
1887290001Sglebius       Refer to the stacks through separate pointers, to allow yyoverflow
1888290001Sglebius       to reallocate them elsewhere.  */
1889290001Sglebius
1890290001Sglebius    /* The state stack.  */
1891290001Sglebius    yytype_int16 yyssa[YYINITDEPTH];
1892290001Sglebius    yytype_int16 *yyss;
1893290001Sglebius    yytype_int16 *yyssp;
1894290001Sglebius
1895290001Sglebius    /* The semantic value stack.  */
1896290001Sglebius    YYSTYPE yyvsa[YYINITDEPTH];
1897290001Sglebius    YYSTYPE *yyvs;
1898290001Sglebius    YYSTYPE *yyvsp;
1899290001Sglebius
1900290001Sglebius    YYSIZE_T yystacksize;
1901290001Sglebius
1902290001Sglebius  int yyn;
1903290001Sglebius  int yyresult;
1904290001Sglebius  /* Lookahead token as an internal (translated) token number.  */
1905290001Sglebius  int yytoken = 0;
1906290001Sglebius  /* The variables used to return semantic value and location from the
1907290001Sglebius     action routines.  */
1908290001Sglebius  YYSTYPE yyval;
1909290001Sglebius
1910290001Sglebius#if YYERROR_VERBOSE
1911290001Sglebius  /* Buffer for error messages, and its allocated size.  */
1912290001Sglebius  char yymsgbuf[128];
1913290001Sglebius  char *yymsg = yymsgbuf;
1914290001Sglebius  YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
1915290001Sglebius#endif
1916290001Sglebius
1917290001Sglebius#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
1918290001Sglebius
1919290001Sglebius  /* The number of symbols on the RHS of the reduced rule.
1920290001Sglebius     Keep to zero when no symbol should be popped.  */
1921290001Sglebius  int yylen = 0;
1922290001Sglebius
1923290001Sglebius  yyssp = yyss = yyssa;
1924290001Sglebius  yyvsp = yyvs = yyvsa;
1925290001Sglebius  yystacksize = YYINITDEPTH;
1926290001Sglebius
1927290001Sglebius  YYDPRINTF ((stderr, "Starting parse\n"));
1928290001Sglebius
1929290001Sglebius  yystate = 0;
1930290001Sglebius  yyerrstatus = 0;
1931290001Sglebius  yynerrs = 0;
1932290001Sglebius  yychar = YYEMPTY; /* Cause a token to be read.  */
1933290001Sglebius  goto yysetstate;
1934290001Sglebius
1935290001Sglebius/*------------------------------------------------------------.
1936290001Sglebius| yynewstate -- Push a new state, which is found in yystate.  |
1937290001Sglebius`------------------------------------------------------------*/
1938290001Sglebius yynewstate:
1939290001Sglebius  /* In all cases, when you get here, the value and location stacks
1940290001Sglebius     have just been pushed.  So pushing a state here evens the stacks.  */
1941290001Sglebius  yyssp++;
1942290001Sglebius
1943290001Sglebius yysetstate:
1944290001Sglebius  *yyssp = yystate;
1945290001Sglebius
1946290001Sglebius  if (yyss + yystacksize - 1 <= yyssp)
1947290001Sglebius    {
1948290001Sglebius      /* Get the current used size of the three stacks, in elements.  */
1949290001Sglebius      YYSIZE_T yysize = yyssp - yyss + 1;
1950290001Sglebius
1951290001Sglebius#ifdef yyoverflow
1952290001Sglebius      {
1953301301Sdelphij        /* Give user a chance to reallocate the stack.  Use copies of
1954301301Sdelphij           these so that the &'s don't force the real ones into
1955301301Sdelphij           memory.  */
1956301301Sdelphij        YYSTYPE *yyvs1 = yyvs;
1957301301Sdelphij        yytype_int16 *yyss1 = yyss;
1958290001Sglebius
1959301301Sdelphij        /* Each stack pointer address is followed by the size of the
1960301301Sdelphij           data in use in that stack, in bytes.  This used to be a
1961301301Sdelphij           conditional around just the two extra args, but that might
1962301301Sdelphij           be undefined if yyoverflow is a macro.  */
1963301301Sdelphij        yyoverflow (YY_("memory exhausted"),
1964301301Sdelphij                    &yyss1, yysize * sizeof (*yyssp),
1965301301Sdelphij                    &yyvs1, yysize * sizeof (*yyvsp),
1966301301Sdelphij                    &yystacksize);
1967290001Sglebius
1968301301Sdelphij        yyss = yyss1;
1969301301Sdelphij        yyvs = yyvs1;
1970290001Sglebius      }
1971290001Sglebius#else /* no yyoverflow */
1972290001Sglebius# ifndef YYSTACK_RELOCATE
1973290001Sglebius      goto yyexhaustedlab;
1974290001Sglebius# else
1975290001Sglebius      /* Extend the stack our own way.  */
1976290001Sglebius      if (YYMAXDEPTH <= yystacksize)
1977301301Sdelphij        goto yyexhaustedlab;
1978290001Sglebius      yystacksize *= 2;
1979290001Sglebius      if (YYMAXDEPTH < yystacksize)
1980301301Sdelphij        yystacksize = YYMAXDEPTH;
1981290001Sglebius
1982290001Sglebius      {
1983301301Sdelphij        yytype_int16 *yyss1 = yyss;
1984301301Sdelphij        union yyalloc *yyptr =
1985301301Sdelphij          (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
1986301301Sdelphij        if (! yyptr)
1987301301Sdelphij          goto yyexhaustedlab;
1988301301Sdelphij        YYSTACK_RELOCATE (yyss_alloc, yyss);
1989301301Sdelphij        YYSTACK_RELOCATE (yyvs_alloc, yyvs);
1990290001Sglebius#  undef YYSTACK_RELOCATE
1991301301Sdelphij        if (yyss1 != yyssa)
1992301301Sdelphij          YYSTACK_FREE (yyss1);
1993290001Sglebius      }
1994290001Sglebius# endif
1995290001Sglebius#endif /* no yyoverflow */
1996290001Sglebius
1997290001Sglebius      yyssp = yyss + yysize - 1;
1998290001Sglebius      yyvsp = yyvs + yysize - 1;
1999290001Sglebius
2000290001Sglebius      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
2001301301Sdelphij                  (unsigned long int) yystacksize));
2002290001Sglebius
2003290001Sglebius      if (yyss + yystacksize - 1 <= yyssp)
2004301301Sdelphij        YYABORT;
2005290001Sglebius    }
2006290001Sglebius
2007290001Sglebius  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
2008290001Sglebius
2009290001Sglebius  if (yystate == YYFINAL)
2010290001Sglebius    YYACCEPT;
2011290001Sglebius
2012290001Sglebius  goto yybackup;
2013290001Sglebius
2014290001Sglebius/*-----------.
2015290001Sglebius| yybackup.  |
2016290001Sglebius`-----------*/
2017290001Sglebiusyybackup:
2018290001Sglebius
2019290001Sglebius  /* Do appropriate processing given the current state.  Read a
2020290001Sglebius     lookahead token if we need one and don't already have one.  */
2021290001Sglebius
2022290001Sglebius  /* First try to decide what to do without reference to lookahead token.  */
2023290001Sglebius  yyn = yypact[yystate];
2024290001Sglebius  if (yypact_value_is_default (yyn))
2025290001Sglebius    goto yydefault;
2026290001Sglebius
2027290001Sglebius  /* Not known => get a lookahead token if don't already have one.  */
2028290001Sglebius
2029290001Sglebius  /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
2030290001Sglebius  if (yychar == YYEMPTY)
2031290001Sglebius    {
2032290001Sglebius      YYDPRINTF ((stderr, "Reading a token: "));
2033301301Sdelphij      yychar = yylex ();
2034290001Sglebius    }
2035290001Sglebius
2036290001Sglebius  if (yychar <= YYEOF)
2037290001Sglebius    {
2038290001Sglebius      yychar = yytoken = YYEOF;
2039290001Sglebius      YYDPRINTF ((stderr, "Now at end of input.\n"));
2040290001Sglebius    }
2041290001Sglebius  else
2042290001Sglebius    {
2043290001Sglebius      yytoken = YYTRANSLATE (yychar);
2044290001Sglebius      YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
2045290001Sglebius    }
2046290001Sglebius
2047290001Sglebius  /* If the proper action on seeing token YYTOKEN is to reduce or to
2048290001Sglebius     detect an error, take that action.  */
2049290001Sglebius  yyn += yytoken;
2050290001Sglebius  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
2051290001Sglebius    goto yydefault;
2052290001Sglebius  yyn = yytable[yyn];
2053290001Sglebius  if (yyn <= 0)
2054290001Sglebius    {
2055290001Sglebius      if (yytable_value_is_error (yyn))
2056290001Sglebius        goto yyerrlab;
2057290001Sglebius      yyn = -yyn;
2058290001Sglebius      goto yyreduce;
2059290001Sglebius    }
2060290001Sglebius
2061290001Sglebius  /* Count tokens shifted since error; after three, turn off error
2062290001Sglebius     status.  */
2063290001Sglebius  if (yyerrstatus)
2064290001Sglebius    yyerrstatus--;
2065290001Sglebius
2066290001Sglebius  /* Shift the lookahead token.  */
2067290001Sglebius  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
2068290001Sglebius
2069290001Sglebius  /* Discard the shifted token.  */
2070290001Sglebius  yychar = YYEMPTY;
2071290001Sglebius
2072290001Sglebius  yystate = yyn;
2073290001Sglebius  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2074290001Sglebius  *++yyvsp = yylval;
2075290001Sglebius  YY_IGNORE_MAYBE_UNINITIALIZED_END
2076290001Sglebius
2077290001Sglebius  goto yynewstate;
2078290001Sglebius
2079290001Sglebius
2080290001Sglebius/*-----------------------------------------------------------.
2081290001Sglebius| yydefault -- do the default action for the current state.  |
2082290001Sglebius`-----------------------------------------------------------*/
2083290001Sglebiusyydefault:
2084290001Sglebius  yyn = yydefact[yystate];
2085290001Sglebius  if (yyn == 0)
2086290001Sglebius    goto yyerrlab;
2087290001Sglebius  goto yyreduce;
2088290001Sglebius
2089290001Sglebius
2090290001Sglebius/*-----------------------------.
2091290001Sglebius| yyreduce -- Do a reduction.  |
2092290001Sglebius`-----------------------------*/
2093290001Sglebiusyyreduce:
2094290001Sglebius  /* yyn is the number of a rule to reduce with.  */
2095290001Sglebius  yylen = yyr2[yyn];
2096290001Sglebius
2097290001Sglebius  /* If YYLEN is nonzero, implement the default value of the action:
2098301301Sdelphij     '$$ = $1'.
2099290001Sglebius
2100290001Sglebius     Otherwise, the following line sets YYVAL to garbage.
2101290001Sglebius     This behavior is undocumented and Bison
2102290001Sglebius     users should not rely upon it.  Assigning to YYVAL
2103290001Sglebius     unconditionally makes the parser a bit smaller, and it avoids a
2104290001Sglebius     GCC warning that YYVAL may be used uninitialized.  */
2105290001Sglebius  yyval = yyvsp[1-yylen];
2106290001Sglebius
2107290001Sglebius
2108290001Sglebius  YY_REDUCE_PRINT (yyn);
2109290001Sglebius  switch (yyn)
2110290001Sglebius    {
2111290001Sglebius        case 5:
2112310419Sdelphij#line 378 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2113290001Sglebius    {
2114290001Sglebius			/* I will need to incorporate much more fine grained
2115290001Sglebius			 * error messages. The following should suffice for
2116290001Sglebius			 * the time being.
2117290001Sglebius			 */
2118290001Sglebius			struct FILE_INFO * ip_ctx = lex_current();
2119290001Sglebius			msyslog(LOG_ERR,
2120290001Sglebius				"syntax error in %s line %d, column %d",
2121290001Sglebius				ip_ctx->fname,
2122290001Sglebius				ip_ctx->errpos.nline,
2123290001Sglebius				ip_ctx->errpos.ncol);
2124290001Sglebius		}
2125310419Sdelphij#line 2126 "ntp_parser.c" /* yacc.c:1646  */
2126290001Sglebius    break;
2127290001Sglebius
2128290001Sglebius  case 20:
2129310419Sdelphij#line 414 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2130290001Sglebius    {
2131290001Sglebius			peer_node *my_node;
2132290001Sglebius
2133301301Sdelphij			my_node = create_peer_node((yyvsp[-2].Integer), (yyvsp[-1].Address_node), (yyvsp[0].Attr_val_fifo));
2134290001Sglebius			APPEND_G_FIFO(cfgt.peers, my_node);
2135290001Sglebius		}
2136310419Sdelphij#line 2137 "ntp_parser.c" /* yacc.c:1646  */
2137290001Sglebius    break;
2138290001Sglebius
2139290001Sglebius  case 27:
2140310419Sdelphij#line 433 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2141301301Sdelphij    { (yyval.Address_node) = create_address_node((yyvsp[0].String), (yyvsp[-1].Integer)); }
2142310419Sdelphij#line 2143 "ntp_parser.c" /* yacc.c:1646  */
2143290001Sglebius    break;
2144290001Sglebius
2145290001Sglebius  case 28:
2146310419Sdelphij#line 438 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2147301301Sdelphij    { (yyval.Address_node) = create_address_node((yyvsp[0].String), AF_UNSPEC); }
2148310419Sdelphij#line 2149 "ntp_parser.c" /* yacc.c:1646  */
2149290001Sglebius    break;
2150290001Sglebius
2151290001Sglebius  case 29:
2152310419Sdelphij#line 443 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2153290001Sglebius    { (yyval.Integer) = AF_INET; }
2154310419Sdelphij#line 2155 "ntp_parser.c" /* yacc.c:1646  */
2155290001Sglebius    break;
2156290001Sglebius
2157290001Sglebius  case 30:
2158310419Sdelphij#line 445 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2159290001Sglebius    { (yyval.Integer) = AF_INET6; }
2160310419Sdelphij#line 2161 "ntp_parser.c" /* yacc.c:1646  */
2161290001Sglebius    break;
2162290001Sglebius
2163290001Sglebius  case 31:
2164310419Sdelphij#line 450 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2165290001Sglebius    { (yyval.Attr_val_fifo) = NULL; }
2166310419Sdelphij#line 2167 "ntp_parser.c" /* yacc.c:1646  */
2167290001Sglebius    break;
2168290001Sglebius
2169290001Sglebius  case 32:
2170310419Sdelphij#line 452 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2171290001Sglebius    {
2172301301Sdelphij			(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
2173301301Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
2174290001Sglebius		}
2175310419Sdelphij#line 2176 "ntp_parser.c" /* yacc.c:1646  */
2176290001Sglebius    break;
2177290001Sglebius
2178290001Sglebius  case 36:
2179310419Sdelphij#line 466 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2180301301Sdelphij    { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer)); }
2181310419Sdelphij#line 2182 "ntp_parser.c" /* yacc.c:1646  */
2182290001Sglebius    break;
2183290001Sglebius
2184290001Sglebius  case 45:
2185310419Sdelphij#line 482 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2186301301Sdelphij    { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
2187310419Sdelphij#line 2188 "ntp_parser.c" /* yacc.c:1646  */
2188290001Sglebius    break;
2189290001Sglebius
2190290001Sglebius  case 46:
2191310419Sdelphij#line 484 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2192301301Sdelphij    { (yyval.Attr_val) = create_attr_uval((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
2193310419Sdelphij#line 2194 "ntp_parser.c" /* yacc.c:1646  */
2194290001Sglebius    break;
2195290001Sglebius
2196290001Sglebius  case 53:
2197310419Sdelphij#line 498 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2198301301Sdelphij    { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); }
2199310419Sdelphij#line 2200 "ntp_parser.c" /* yacc.c:1646  */
2200290001Sglebius    break;
2201290001Sglebius
2202290001Sglebius  case 55:
2203310419Sdelphij#line 512 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2204290001Sglebius    {
2205290001Sglebius			unpeer_node *my_node;
2206290001Sglebius
2207301301Sdelphij			my_node = create_unpeer_node((yyvsp[0].Address_node));
2208290001Sglebius			if (my_node)
2209290001Sglebius				APPEND_G_FIFO(cfgt.unpeers, my_node);
2210290001Sglebius		}
2211310419Sdelphij#line 2212 "ntp_parser.c" /* yacc.c:1646  */
2212290001Sglebius    break;
2213290001Sglebius
2214290001Sglebius  case 58:
2215310419Sdelphij#line 533 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2216290001Sglebius    { cfgt.broadcastclient = 1; }
2217310419Sdelphij#line 2218 "ntp_parser.c" /* yacc.c:1646  */
2218290001Sglebius    break;
2219290001Sglebius
2220290001Sglebius  case 59:
2221310419Sdelphij#line 535 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2222301301Sdelphij    { CONCAT_G_FIFOS(cfgt.manycastserver, (yyvsp[0].Address_fifo)); }
2223310419Sdelphij#line 2224 "ntp_parser.c" /* yacc.c:1646  */
2224290001Sglebius    break;
2225290001Sglebius
2226290001Sglebius  case 60:
2227310419Sdelphij#line 537 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2228301301Sdelphij    { CONCAT_G_FIFOS(cfgt.multicastclient, (yyvsp[0].Address_fifo)); }
2229310419Sdelphij#line 2230 "ntp_parser.c" /* yacc.c:1646  */
2230290001Sglebius    break;
2231290001Sglebius
2232290001Sglebius  case 61:
2233310419Sdelphij#line 539 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2234301301Sdelphij    { cfgt.mdnstries = (yyvsp[0].Integer); }
2235310419Sdelphij#line 2236 "ntp_parser.c" /* yacc.c:1646  */
2236290001Sglebius    break;
2237290001Sglebius
2238290001Sglebius  case 62:
2239310419Sdelphij#line 550 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2240290001Sglebius    {
2241290001Sglebius			attr_val *atrv;
2242290001Sglebius
2243301301Sdelphij			atrv = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer));
2244290001Sglebius			APPEND_G_FIFO(cfgt.vars, atrv);
2245290001Sglebius		}
2246310419Sdelphij#line 2247 "ntp_parser.c" /* yacc.c:1646  */
2247290001Sglebius    break;
2248290001Sglebius
2249290001Sglebius  case 63:
2250310419Sdelphij#line 557 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2251301301Sdelphij    { cfgt.auth.control_key = (yyvsp[0].Integer); }
2252310419Sdelphij#line 2253 "ntp_parser.c" /* yacc.c:1646  */
2253290001Sglebius    break;
2254290001Sglebius
2255290001Sglebius  case 64:
2256310419Sdelphij#line 559 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2257290001Sglebius    {
2258290001Sglebius			cfgt.auth.cryptosw++;
2259301301Sdelphij			CONCAT_G_FIFOS(cfgt.auth.crypto_cmd_list, (yyvsp[0].Attr_val_fifo));
2260290001Sglebius		}
2261310419Sdelphij#line 2262 "ntp_parser.c" /* yacc.c:1646  */
2262290001Sglebius    break;
2263290001Sglebius
2264290001Sglebius  case 65:
2265310419Sdelphij#line 564 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2266301301Sdelphij    { cfgt.auth.keys = (yyvsp[0].String); }
2267310419Sdelphij#line 2268 "ntp_parser.c" /* yacc.c:1646  */
2268290001Sglebius    break;
2269290001Sglebius
2270290001Sglebius  case 66:
2271310419Sdelphij#line 566 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2272301301Sdelphij    { cfgt.auth.keysdir = (yyvsp[0].String); }
2273310419Sdelphij#line 2274 "ntp_parser.c" /* yacc.c:1646  */
2274290001Sglebius    break;
2275290001Sglebius
2276290001Sglebius  case 67:
2277310419Sdelphij#line 568 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2278301301Sdelphij    { cfgt.auth.request_key = (yyvsp[0].Integer); }
2279310419Sdelphij#line 2280 "ntp_parser.c" /* yacc.c:1646  */
2280290001Sglebius    break;
2281290001Sglebius
2282290001Sglebius  case 68:
2283310419Sdelphij#line 570 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2284301301Sdelphij    { cfgt.auth.revoke = (yyvsp[0].Integer); }
2285310419Sdelphij#line 2286 "ntp_parser.c" /* yacc.c:1646  */
2286290001Sglebius    break;
2287290001Sglebius
2288290001Sglebius  case 69:
2289310419Sdelphij#line 572 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2290290001Sglebius    {
2291301301Sdelphij			cfgt.auth.trusted_key_list = (yyvsp[0].Attr_val_fifo);
2292290001Sglebius
2293290001Sglebius			// if (!cfgt.auth.trusted_key_list)
2294290001Sglebius			// 	cfgt.auth.trusted_key_list = $2;
2295290001Sglebius			// else
2296290001Sglebius			// 	LINK_SLIST(cfgt.auth.trusted_key_list, $2, link);
2297290001Sglebius		}
2298310419Sdelphij#line 2299 "ntp_parser.c" /* yacc.c:1646  */
2299290001Sglebius    break;
2300290001Sglebius
2301290001Sglebius  case 70:
2302310419Sdelphij#line 581 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2303301301Sdelphij    { cfgt.auth.ntp_signd_socket = (yyvsp[0].String); }
2304310419Sdelphij#line 2305 "ntp_parser.c" /* yacc.c:1646  */
2305290001Sglebius    break;
2306290001Sglebius
2307290001Sglebius  case 71:
2308310419Sdelphij#line 586 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2309290001Sglebius    { (yyval.Attr_val_fifo) = NULL; }
2310310419Sdelphij#line 2311 "ntp_parser.c" /* yacc.c:1646  */
2311290001Sglebius    break;
2312290001Sglebius
2313290001Sglebius  case 72:
2314310419Sdelphij#line 588 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2315290001Sglebius    {
2316301301Sdelphij			(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
2317301301Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
2318290001Sglebius		}
2319310419Sdelphij#line 2320 "ntp_parser.c" /* yacc.c:1646  */
2320290001Sglebius    break;
2321290001Sglebius
2322290001Sglebius  case 73:
2323310419Sdelphij#line 596 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2324301301Sdelphij    { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); }
2325310419Sdelphij#line 2326 "ntp_parser.c" /* yacc.c:1646  */
2326290001Sglebius    break;
2327290001Sglebius
2328290001Sglebius  case 74:
2329310419Sdelphij#line 598 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2330290001Sglebius    {
2331290001Sglebius			(yyval.Attr_val) = NULL;
2332301301Sdelphij			cfgt.auth.revoke = (yyvsp[0].Integer);
2333290001Sglebius			msyslog(LOG_WARNING,
2334290001Sglebius				"'crypto revoke %d' is deprecated, "
2335290001Sglebius				"please use 'revoke %d' instead.",
2336290001Sglebius				cfgt.auth.revoke, cfgt.auth.revoke);
2337290001Sglebius		}
2338310419Sdelphij#line 2339 "ntp_parser.c" /* yacc.c:1646  */
2339290001Sglebius    break;
2340290001Sglebius
2341290001Sglebius  case 80:
2342310419Sdelphij#line 623 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2343301301Sdelphij    { CONCAT_G_FIFOS(cfgt.orphan_cmds, (yyvsp[0].Attr_val_fifo)); }
2344310419Sdelphij#line 2345 "ntp_parser.c" /* yacc.c:1646  */
2345290001Sglebius    break;
2346290001Sglebius
2347290001Sglebius  case 81:
2348310419Sdelphij#line 628 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2349290001Sglebius    {
2350301301Sdelphij			(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
2351301301Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
2352290001Sglebius		}
2353310419Sdelphij#line 2354 "ntp_parser.c" /* yacc.c:1646  */
2354290001Sglebius    break;
2355290001Sglebius
2356290001Sglebius  case 82:
2357310419Sdelphij#line 633 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2358290001Sglebius    {
2359290001Sglebius			(yyval.Attr_val_fifo) = NULL;
2360301301Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
2361290001Sglebius		}
2362310419Sdelphij#line 2363 "ntp_parser.c" /* yacc.c:1646  */
2363290001Sglebius    break;
2364290001Sglebius
2365290001Sglebius  case 83:
2366310419Sdelphij#line 641 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2367301301Sdelphij    { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (double)(yyvsp[0].Integer)); }
2368310419Sdelphij#line 2369 "ntp_parser.c" /* yacc.c:1646  */
2369290001Sglebius    break;
2370290001Sglebius
2371290001Sglebius  case 84:
2372310419Sdelphij#line 643 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2373301301Sdelphij    { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (yyvsp[0].Double)); }
2374310419Sdelphij#line 2375 "ntp_parser.c" /* yacc.c:1646  */
2375290001Sglebius    break;
2376290001Sglebius
2377290001Sglebius  case 85:
2378310419Sdelphij#line 645 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2379301301Sdelphij    { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (double)(yyvsp[0].Integer)); }
2380310419Sdelphij#line 2381 "ntp_parser.c" /* yacc.c:1646  */
2381290001Sglebius    break;
2382290001Sglebius
2383310419Sdelphij  case 97:
2384310419Sdelphij#line 672 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2385301301Sdelphij    { CONCAT_G_FIFOS(cfgt.stats_list, (yyvsp[0].Int_fifo)); }
2386310419Sdelphij#line 2387 "ntp_parser.c" /* yacc.c:1646  */
2387290001Sglebius    break;
2388290001Sglebius
2389310419Sdelphij  case 98:
2390310419Sdelphij#line 674 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2391290001Sglebius    {
2392290001Sglebius			if (lex_from_file()) {
2393301301Sdelphij				cfgt.stats_dir = (yyvsp[0].String);
2394290001Sglebius			} else {
2395301301Sdelphij				YYFREE((yyvsp[0].String));
2396290001Sglebius				yyerror("statsdir remote configuration ignored");
2397290001Sglebius			}
2398290001Sglebius		}
2399310419Sdelphij#line 2400 "ntp_parser.c" /* yacc.c:1646  */
2400290001Sglebius    break;
2401290001Sglebius
2402310419Sdelphij  case 99:
2403310419Sdelphij#line 683 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2404290001Sglebius    {
2405290001Sglebius			filegen_node *fgn;
2406290001Sglebius
2407301301Sdelphij			fgn = create_filegen_node((yyvsp[-1].Integer), (yyvsp[0].Attr_val_fifo));
2408290001Sglebius			APPEND_G_FIFO(cfgt.filegen_opts, fgn);
2409290001Sglebius		}
2410310419Sdelphij#line 2411 "ntp_parser.c" /* yacc.c:1646  */
2411290001Sglebius    break;
2412290001Sglebius
2413310419Sdelphij  case 100:
2414310419Sdelphij#line 693 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2415290001Sglebius    {
2416301301Sdelphij			(yyval.Int_fifo) = (yyvsp[-1].Int_fifo);
2417301301Sdelphij			APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer)));
2418290001Sglebius		}
2419310419Sdelphij#line 2420 "ntp_parser.c" /* yacc.c:1646  */
2420290001Sglebius    break;
2421290001Sglebius
2422310419Sdelphij  case 101:
2423310419Sdelphij#line 698 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2424290001Sglebius    {
2425290001Sglebius			(yyval.Int_fifo) = NULL;
2426301301Sdelphij			APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer)));
2427290001Sglebius		}
2428310419Sdelphij#line 2429 "ntp_parser.c" /* yacc.c:1646  */
2429290001Sglebius    break;
2430290001Sglebius
2431310419Sdelphij  case 110:
2432310419Sdelphij#line 717 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2433290001Sglebius    { (yyval.Attr_val_fifo) = NULL; }
2434310419Sdelphij#line 2435 "ntp_parser.c" /* yacc.c:1646  */
2435290001Sglebius    break;
2436290001Sglebius
2437310419Sdelphij  case 111:
2438310419Sdelphij#line 719 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2439290001Sglebius    {
2440301301Sdelphij			(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
2441301301Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
2442290001Sglebius		}
2443310419Sdelphij#line 2444 "ntp_parser.c" /* yacc.c:1646  */
2444290001Sglebius    break;
2445290001Sglebius
2446310419Sdelphij  case 112:
2447310419Sdelphij#line 727 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2448290001Sglebius    {
2449290001Sglebius			if (lex_from_file()) {
2450301301Sdelphij				(yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String));
2451290001Sglebius			} else {
2452290001Sglebius				(yyval.Attr_val) = NULL;
2453301301Sdelphij				YYFREE((yyvsp[0].String));
2454290001Sglebius				yyerror("filegen file remote config ignored");
2455290001Sglebius			}
2456290001Sglebius		}
2457310419Sdelphij#line 2458 "ntp_parser.c" /* yacc.c:1646  */
2458290001Sglebius    break;
2459290001Sglebius
2460310419Sdelphij  case 113:
2461310419Sdelphij#line 737 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2462290001Sglebius    {
2463290001Sglebius			if (lex_from_file()) {
2464301301Sdelphij				(yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer));
2465290001Sglebius			} else {
2466290001Sglebius				(yyval.Attr_val) = NULL;
2467290001Sglebius				yyerror("filegen type remote config ignored");
2468290001Sglebius			}
2469290001Sglebius		}
2470310419Sdelphij#line 2471 "ntp_parser.c" /* yacc.c:1646  */
2471290001Sglebius    break;
2472290001Sglebius
2473310419Sdelphij  case 114:
2474310419Sdelphij#line 746 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2475290001Sglebius    {
2476290001Sglebius			const char *err;
2477290001Sglebius
2478290001Sglebius			if (lex_from_file()) {
2479301301Sdelphij				(yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer));
2480290001Sglebius			} else {
2481290001Sglebius				(yyval.Attr_val) = NULL;
2482301301Sdelphij				if (T_Link == (yyvsp[0].Integer))
2483290001Sglebius					err = "filegen link remote config ignored";
2484290001Sglebius				else
2485290001Sglebius					err = "filegen nolink remote config ignored";
2486290001Sglebius				yyerror(err);
2487290001Sglebius			}
2488290001Sglebius		}
2489310419Sdelphij#line 2490 "ntp_parser.c" /* yacc.c:1646  */
2490290001Sglebius    break;
2491290001Sglebius
2492310419Sdelphij  case 115:
2493310419Sdelphij#line 761 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2494301301Sdelphij    { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer)); }
2495310419Sdelphij#line 2496 "ntp_parser.c" /* yacc.c:1646  */
2496290001Sglebius    break;
2497290001Sglebius
2498310419Sdelphij  case 127:
2499310419Sdelphij#line 791 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2500290001Sglebius    {
2501301301Sdelphij			CONCAT_G_FIFOS(cfgt.discard_opts, (yyvsp[0].Attr_val_fifo));
2502290001Sglebius		}
2503310419Sdelphij#line 2504 "ntp_parser.c" /* yacc.c:1646  */
2504290001Sglebius    break;
2505290001Sglebius
2506310419Sdelphij  case 128:
2507310419Sdelphij#line 795 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2508290001Sglebius    {
2509301301Sdelphij			CONCAT_G_FIFOS(cfgt.mru_opts, (yyvsp[0].Attr_val_fifo));
2510290001Sglebius		}
2511310419Sdelphij#line 2512 "ntp_parser.c" /* yacc.c:1646  */
2512290001Sglebius    break;
2513290001Sglebius
2514310419Sdelphij  case 129:
2515310419Sdelphij#line 799 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2516290001Sglebius    {
2517290001Sglebius			restrict_node *rn;
2518290001Sglebius
2519301301Sdelphij			rn = create_restrict_node((yyvsp[-1].Address_node), NULL, (yyvsp[0].Int_fifo),
2520290001Sglebius						  lex_current()->curpos.nline);
2521290001Sglebius			APPEND_G_FIFO(cfgt.restrict_opts, rn);
2522290001Sglebius		}
2523310419Sdelphij#line 2524 "ntp_parser.c" /* yacc.c:1646  */
2524290001Sglebius    break;
2525290001Sglebius
2526310419Sdelphij  case 130:
2527310419Sdelphij#line 807 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2528290001Sglebius    {
2529290001Sglebius			restrict_node *rn;
2530290001Sglebius
2531301301Sdelphij			rn = create_restrict_node((yyvsp[-3].Address_node), (yyvsp[-1].Address_node), (yyvsp[0].Int_fifo),
2532290001Sglebius						  lex_current()->curpos.nline);
2533290001Sglebius			APPEND_G_FIFO(cfgt.restrict_opts, rn);
2534290001Sglebius		}
2535310419Sdelphij#line 2536 "ntp_parser.c" /* yacc.c:1646  */
2536290001Sglebius    break;
2537290001Sglebius
2538310419Sdelphij  case 131:
2539310419Sdelphij#line 815 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2540290001Sglebius    {
2541290001Sglebius			restrict_node *rn;
2542290001Sglebius
2543301301Sdelphij			rn = create_restrict_node(NULL, NULL, (yyvsp[0].Int_fifo),
2544290001Sglebius						  lex_current()->curpos.nline);
2545290001Sglebius			APPEND_G_FIFO(cfgt.restrict_opts, rn);
2546290001Sglebius		}
2547310419Sdelphij#line 2548 "ntp_parser.c" /* yacc.c:1646  */
2548290001Sglebius    break;
2549290001Sglebius
2550310419Sdelphij  case 132:
2551310419Sdelphij#line 823 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2552290001Sglebius    {
2553290001Sglebius			restrict_node *rn;
2554290001Sglebius
2555290001Sglebius			rn = create_restrict_node(
2556290001Sglebius				create_address_node(
2557290001Sglebius					estrdup("0.0.0.0"),
2558290001Sglebius					AF_INET),
2559290001Sglebius				create_address_node(
2560290001Sglebius					estrdup("0.0.0.0"),
2561290001Sglebius					AF_INET),
2562301301Sdelphij				(yyvsp[0].Int_fifo),
2563290001Sglebius				lex_current()->curpos.nline);
2564290001Sglebius			APPEND_G_FIFO(cfgt.restrict_opts, rn);
2565290001Sglebius		}
2566310419Sdelphij#line 2567 "ntp_parser.c" /* yacc.c:1646  */
2567290001Sglebius    break;
2568290001Sglebius
2569310419Sdelphij  case 133:
2570310419Sdelphij#line 838 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2571290001Sglebius    {
2572290001Sglebius			restrict_node *rn;
2573290001Sglebius
2574290001Sglebius			rn = create_restrict_node(
2575290001Sglebius				create_address_node(
2576290001Sglebius					estrdup("::"),
2577290001Sglebius					AF_INET6),
2578290001Sglebius				create_address_node(
2579290001Sglebius					estrdup("::"),
2580290001Sglebius					AF_INET6),
2581301301Sdelphij				(yyvsp[0].Int_fifo),
2582290001Sglebius				lex_current()->curpos.nline);
2583290001Sglebius			APPEND_G_FIFO(cfgt.restrict_opts, rn);
2584290001Sglebius		}
2585310419Sdelphij#line 2586 "ntp_parser.c" /* yacc.c:1646  */
2586290001Sglebius    break;
2587290001Sglebius
2588310419Sdelphij  case 134:
2589310419Sdelphij#line 853 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2590290001Sglebius    {
2591290001Sglebius			restrict_node *	rn;
2592290001Sglebius
2593301301Sdelphij			APPEND_G_FIFO((yyvsp[0].Int_fifo), create_int_node((yyvsp[-1].Integer)));
2594290001Sglebius			rn = create_restrict_node(
2595301301Sdelphij				NULL, NULL, (yyvsp[0].Int_fifo), lex_current()->curpos.nline);
2596290001Sglebius			APPEND_G_FIFO(cfgt.restrict_opts, rn);
2597290001Sglebius		}
2598310419Sdelphij#line 2599 "ntp_parser.c" /* yacc.c:1646  */
2599290001Sglebius    break;
2600290001Sglebius
2601310419Sdelphij  case 135:
2602310419Sdelphij#line 865 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2603290001Sglebius    { (yyval.Int_fifo) = NULL; }
2604310419Sdelphij#line 2605 "ntp_parser.c" /* yacc.c:1646  */
2605290001Sglebius    break;
2606290001Sglebius
2607310419Sdelphij  case 136:
2608310419Sdelphij#line 867 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2609290001Sglebius    {
2610301301Sdelphij			(yyval.Int_fifo) = (yyvsp[-1].Int_fifo);
2611301301Sdelphij			APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer)));
2612290001Sglebius		}
2613310419Sdelphij#line 2614 "ntp_parser.c" /* yacc.c:1646  */
2614290001Sglebius    break;
2615290001Sglebius
2616310419Sdelphij  case 152:
2617310419Sdelphij#line 893 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2618290001Sglebius    {
2619301301Sdelphij			(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
2620301301Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
2621290001Sglebius		}
2622310419Sdelphij#line 2623 "ntp_parser.c" /* yacc.c:1646  */
2623290001Sglebius    break;
2624290001Sglebius
2625310419Sdelphij  case 153:
2626310419Sdelphij#line 898 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2627290001Sglebius    {
2628290001Sglebius			(yyval.Attr_val_fifo) = NULL;
2629301301Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
2630290001Sglebius		}
2631310419Sdelphij#line 2632 "ntp_parser.c" /* yacc.c:1646  */
2632290001Sglebius    break;
2633290001Sglebius
2634310419Sdelphij  case 154:
2635310419Sdelphij#line 906 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2636301301Sdelphij    { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
2637310419Sdelphij#line 2638 "ntp_parser.c" /* yacc.c:1646  */
2638290001Sglebius    break;
2639290001Sglebius
2640310419Sdelphij  case 158:
2641310419Sdelphij#line 917 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2642290001Sglebius    {
2643301301Sdelphij			(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
2644301301Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
2645290001Sglebius		}
2646310419Sdelphij#line 2647 "ntp_parser.c" /* yacc.c:1646  */
2647290001Sglebius    break;
2648290001Sglebius
2649310419Sdelphij  case 159:
2650310419Sdelphij#line 922 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2651290001Sglebius    {
2652290001Sglebius			(yyval.Attr_val_fifo) = NULL;
2653301301Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
2654290001Sglebius		}
2655310419Sdelphij#line 2656 "ntp_parser.c" /* yacc.c:1646  */
2656290001Sglebius    break;
2657290001Sglebius
2658310419Sdelphij  case 160:
2659310419Sdelphij#line 930 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2660301301Sdelphij    { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
2661310419Sdelphij#line 2662 "ntp_parser.c" /* yacc.c:1646  */
2662290001Sglebius    break;
2663290001Sglebius
2664310419Sdelphij  case 169:
2665310419Sdelphij#line 950 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2666290001Sglebius    {
2667290001Sglebius			addr_opts_node *aon;
2668290001Sglebius
2669301301Sdelphij			aon = create_addr_opts_node((yyvsp[-1].Address_node), (yyvsp[0].Attr_val_fifo));
2670290001Sglebius			APPEND_G_FIFO(cfgt.fudge, aon);
2671290001Sglebius		}
2672310419Sdelphij#line 2673 "ntp_parser.c" /* yacc.c:1646  */
2673290001Sglebius    break;
2674290001Sglebius
2675310419Sdelphij  case 170:
2676310419Sdelphij#line 960 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2677290001Sglebius    {
2678301301Sdelphij			(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
2679301301Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
2680290001Sglebius		}
2681310419Sdelphij#line 2682 "ntp_parser.c" /* yacc.c:1646  */
2682290001Sglebius    break;
2683290001Sglebius
2684310419Sdelphij  case 171:
2685310419Sdelphij#line 965 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2686290001Sglebius    {
2687290001Sglebius			(yyval.Attr_val_fifo) = NULL;
2688301301Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
2689290001Sglebius		}
2690310419Sdelphij#line 2691 "ntp_parser.c" /* yacc.c:1646  */
2691290001Sglebius    break;
2692290001Sglebius
2693310419Sdelphij  case 172:
2694310419Sdelphij#line 973 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2695301301Sdelphij    { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (yyvsp[0].Double)); }
2696310419Sdelphij#line 2697 "ntp_parser.c" /* yacc.c:1646  */
2697290001Sglebius    break;
2698290001Sglebius
2699310419Sdelphij  case 173:
2700310419Sdelphij#line 975 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2701301301Sdelphij    { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
2702310419Sdelphij#line 2703 "ntp_parser.c" /* yacc.c:1646  */
2703290001Sglebius    break;
2704290001Sglebius
2705310419Sdelphij  case 174:
2706310419Sdelphij#line 977 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2707293896Sglebius    {
2708301301Sdelphij			if ((yyvsp[0].Integer) >= 0 && (yyvsp[0].Integer) <= 16) {
2709301301Sdelphij				(yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer));
2710293896Sglebius			} else {
2711293896Sglebius				(yyval.Attr_val) = NULL;
2712293896Sglebius				yyerror("fudge factor: stratum value not in [0..16], ignored");
2713293896Sglebius			}
2714293896Sglebius		}
2715310419Sdelphij#line 2716 "ntp_parser.c" /* yacc.c:1646  */
2716290001Sglebius    break;
2717290001Sglebius
2718310419Sdelphij  case 175:
2719310419Sdelphij#line 986 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2720301301Sdelphij    { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); }
2721310419Sdelphij#line 2722 "ntp_parser.c" /* yacc.c:1646  */
2722290001Sglebius    break;
2723290001Sglebius
2724310419Sdelphij  case 176:
2725310419Sdelphij#line 988 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2726301301Sdelphij    { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); }
2727310419Sdelphij#line 2728 "ntp_parser.c" /* yacc.c:1646  */
2728290001Sglebius    break;
2729290001Sglebius
2730310419Sdelphij  case 183:
2731310419Sdelphij#line 1009 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2732301301Sdelphij    { CONCAT_G_FIFOS(cfgt.rlimit, (yyvsp[0].Attr_val_fifo)); }
2733310419Sdelphij#line 2734 "ntp_parser.c" /* yacc.c:1646  */
2734290001Sglebius    break;
2735290001Sglebius
2736310419Sdelphij  case 184:
2737310419Sdelphij#line 1014 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2738290001Sglebius    {
2739301301Sdelphij			(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
2740301301Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
2741290001Sglebius		}
2742310419Sdelphij#line 2743 "ntp_parser.c" /* yacc.c:1646  */
2743290001Sglebius    break;
2744290001Sglebius
2745310419Sdelphij  case 185:
2746310419Sdelphij#line 1019 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2747290001Sglebius    {
2748290001Sglebius			(yyval.Attr_val_fifo) = NULL;
2749301301Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
2750290001Sglebius		}
2751310419Sdelphij#line 2752 "ntp_parser.c" /* yacc.c:1646  */
2752290001Sglebius    break;
2753290001Sglebius
2754310419Sdelphij  case 186:
2755310419Sdelphij#line 1027 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2756301301Sdelphij    { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
2757310419Sdelphij#line 2758 "ntp_parser.c" /* yacc.c:1646  */
2758290001Sglebius    break;
2759290001Sglebius
2760310419Sdelphij  case 190:
2761310419Sdelphij#line 1043 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2762301301Sdelphij    { CONCAT_G_FIFOS(cfgt.enable_opts, (yyvsp[0].Attr_val_fifo)); }
2763310419Sdelphij#line 2764 "ntp_parser.c" /* yacc.c:1646  */
2764290001Sglebius    break;
2765290001Sglebius
2766310419Sdelphij  case 191:
2767310419Sdelphij#line 1045 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2768301301Sdelphij    { CONCAT_G_FIFOS(cfgt.disable_opts, (yyvsp[0].Attr_val_fifo)); }
2769310419Sdelphij#line 2770 "ntp_parser.c" /* yacc.c:1646  */
2770290001Sglebius    break;
2771290001Sglebius
2772310419Sdelphij  case 192:
2773310419Sdelphij#line 1050 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2774290001Sglebius    {
2775301301Sdelphij			(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
2776301301Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
2777290001Sglebius		}
2778310419Sdelphij#line 2779 "ntp_parser.c" /* yacc.c:1646  */
2779290001Sglebius    break;
2780290001Sglebius
2781310419Sdelphij  case 193:
2782310419Sdelphij#line 1055 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2783290001Sglebius    {
2784290001Sglebius			(yyval.Attr_val_fifo) = NULL;
2785301301Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
2786290001Sglebius		}
2787310419Sdelphij#line 2788 "ntp_parser.c" /* yacc.c:1646  */
2788290001Sglebius    break;
2789290001Sglebius
2790310419Sdelphij  case 194:
2791310419Sdelphij#line 1063 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2792301301Sdelphij    { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer)); }
2793310419Sdelphij#line 2794 "ntp_parser.c" /* yacc.c:1646  */
2794290001Sglebius    break;
2795290001Sglebius
2796310419Sdelphij  case 195:
2797310419Sdelphij#line 1065 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2798290001Sglebius    {
2799290001Sglebius			if (lex_from_file()) {
2800301301Sdelphij				(yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer));
2801290001Sglebius			} else {
2802290001Sglebius				char err_str[128];
2803290001Sglebius
2804290001Sglebius				(yyval.Attr_val) = NULL;
2805290001Sglebius				snprintf(err_str, sizeof(err_str),
2806290001Sglebius					 "enable/disable %s remote configuration ignored",
2807301301Sdelphij					 keyword((yyvsp[0].Integer)));
2808290001Sglebius				yyerror(err_str);
2809290001Sglebius			}
2810290001Sglebius		}
2811310419Sdelphij#line 2812 "ntp_parser.c" /* yacc.c:1646  */
2812290001Sglebius    break;
2813290001Sglebius
2814310419Sdelphij  case 208:
2815310419Sdelphij#line 1104 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2816301301Sdelphij    { CONCAT_G_FIFOS(cfgt.tinker, (yyvsp[0].Attr_val_fifo)); }
2817310419Sdelphij#line 2818 "ntp_parser.c" /* yacc.c:1646  */
2818290001Sglebius    break;
2819290001Sglebius
2820310419Sdelphij  case 209:
2821310419Sdelphij#line 1109 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2822290001Sglebius    {
2823301301Sdelphij			(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
2824301301Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
2825290001Sglebius		}
2826310419Sdelphij#line 2827 "ntp_parser.c" /* yacc.c:1646  */
2827290001Sglebius    break;
2828290001Sglebius
2829310419Sdelphij  case 210:
2830310419Sdelphij#line 1114 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2831290001Sglebius    {
2832290001Sglebius			(yyval.Attr_val_fifo) = NULL;
2833301301Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
2834290001Sglebius		}
2835310419Sdelphij#line 2836 "ntp_parser.c" /* yacc.c:1646  */
2836290001Sglebius    break;
2837290001Sglebius
2838310419Sdelphij  case 211:
2839310419Sdelphij#line 1122 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2840301301Sdelphij    { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (yyvsp[0].Double)); }
2841310419Sdelphij#line 2842 "ntp_parser.c" /* yacc.c:1646  */
2842290001Sglebius    break;
2843290001Sglebius
2844310419Sdelphij  case 224:
2845310419Sdelphij#line 1147 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2846290001Sglebius    {
2847290001Sglebius			attr_val *av;
2848290001Sglebius
2849301301Sdelphij			av = create_attr_dval((yyvsp[-1].Integer), (yyvsp[0].Double));
2850290001Sglebius			APPEND_G_FIFO(cfgt.vars, av);
2851290001Sglebius		}
2852310419Sdelphij#line 2853 "ntp_parser.c" /* yacc.c:1646  */
2853290001Sglebius    break;
2854290001Sglebius
2855310419Sdelphij  case 225:
2856310419Sdelphij#line 1154 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2857290001Sglebius    {
2858290001Sglebius			attr_val *av;
2859290001Sglebius
2860301301Sdelphij			av = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer));
2861290001Sglebius			APPEND_G_FIFO(cfgt.vars, av);
2862290001Sglebius		}
2863310419Sdelphij#line 2864 "ntp_parser.c" /* yacc.c:1646  */
2864290001Sglebius    break;
2865290001Sglebius
2866310419Sdelphij  case 226:
2867310419Sdelphij#line 1161 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2868290001Sglebius    {
2869290001Sglebius			attr_val *av;
2870290001Sglebius
2871301301Sdelphij			av = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String));
2872290001Sglebius			APPEND_G_FIFO(cfgt.vars, av);
2873290001Sglebius		}
2874310419Sdelphij#line 2875 "ntp_parser.c" /* yacc.c:1646  */
2875290001Sglebius    break;
2876290001Sglebius
2877310419Sdelphij  case 227:
2878310419Sdelphij#line 1168 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2879290001Sglebius    {
2880290001Sglebius			char error_text[64];
2881290001Sglebius			attr_val *av;
2882290001Sglebius
2883290001Sglebius			if (lex_from_file()) {
2884301301Sdelphij				av = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String));
2885290001Sglebius				APPEND_G_FIFO(cfgt.vars, av);
2886290001Sglebius			} else {
2887301301Sdelphij				YYFREE((yyvsp[0].String));
2888290001Sglebius				snprintf(error_text, sizeof(error_text),
2889290001Sglebius					 "%s remote config ignored",
2890301301Sdelphij					 keyword((yyvsp[-1].Integer)));
2891290001Sglebius				yyerror(error_text);
2892290001Sglebius			}
2893290001Sglebius		}
2894310419Sdelphij#line 2895 "ntp_parser.c" /* yacc.c:1646  */
2895290001Sglebius    break;
2896290001Sglebius
2897310419Sdelphij  case 228:
2898310419Sdelphij#line 1184 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2899290001Sglebius    {
2900290001Sglebius			if (!lex_from_file()) {
2901301301Sdelphij				YYFREE((yyvsp[-1].String)); /* avoid leak */
2902290001Sglebius				yyerror("remote includefile ignored");
2903290001Sglebius				break;
2904290001Sglebius			}
2905290001Sglebius			if (lex_level() > MAXINCLUDELEVEL) {
2906290001Sglebius				fprintf(stderr, "getconfig: Maximum include file level exceeded.\n");
2907290001Sglebius				msyslog(LOG_ERR, "getconfig: Maximum include file level exceeded.");
2908290001Sglebius			} else {
2909301301Sdelphij				const char * path = FindConfig((yyvsp[-1].String)); /* might return $2! */
2910290001Sglebius				if (!lex_push_file(path, "r")) {
2911290001Sglebius					fprintf(stderr, "getconfig: Couldn't open <%s>\n", path);
2912290001Sglebius					msyslog(LOG_ERR, "getconfig: Couldn't open <%s>", path);
2913290001Sglebius				}
2914290001Sglebius			}
2915301301Sdelphij			YYFREE((yyvsp[-1].String)); /* avoid leak */
2916290001Sglebius		}
2917310419Sdelphij#line 2918 "ntp_parser.c" /* yacc.c:1646  */
2918290001Sglebius    break;
2919290001Sglebius
2920301301Sdelphij  case 229:
2921301301Sdelphij#line 1203 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2922310419Sdelphij    { lex_flush_stack(); }
2923310419Sdelphij#line 2924 "ntp_parser.c" /* yacc.c:1646  */
2924290001Sglebius    break;
2925290001Sglebius
2926294905Sdelphij  case 230:
2927301301Sdelphij#line 1205 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2928310419Sdelphij    { /* see drift_parm below for actions */ }
2929310419Sdelphij#line 2930 "ntp_parser.c" /* yacc.c:1646  */
2930290001Sglebius    break;
2931290001Sglebius
2932294905Sdelphij  case 231:
2933301301Sdelphij#line 1207 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2934310419Sdelphij    { CONCAT_G_FIFOS(cfgt.logconfig, (yyvsp[0].Attr_val_fifo)); }
2935310419Sdelphij#line 2936 "ntp_parser.c" /* yacc.c:1646  */
2936290001Sglebius    break;
2937290001Sglebius
2938294905Sdelphij  case 232:
2939301301Sdelphij#line 1209 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2940310419Sdelphij    { CONCAT_G_FIFOS(cfgt.phone, (yyvsp[0].String_fifo)); }
2941310419Sdelphij#line 2942 "ntp_parser.c" /* yacc.c:1646  */
2942301301Sdelphij    break;
2943301301Sdelphij
2944301301Sdelphij  case 233:
2945301301Sdelphij#line 1211 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2946310419Sdelphij    { APPEND_G_FIFO(cfgt.setvar, (yyvsp[0].Set_var)); }
2947310419Sdelphij#line 2948 "ntp_parser.c" /* yacc.c:1646  */
2948310419Sdelphij    break;
2949310419Sdelphij
2950310419Sdelphij  case 234:
2951310419Sdelphij#line 1213 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2952290001Sglebius    {
2953290001Sglebius			addr_opts_node *aon;
2954290001Sglebius
2955301301Sdelphij			aon = create_addr_opts_node((yyvsp[-1].Address_node), (yyvsp[0].Attr_val_fifo));
2956290001Sglebius			APPEND_G_FIFO(cfgt.trap, aon);
2957290001Sglebius		}
2958310419Sdelphij#line 2959 "ntp_parser.c" /* yacc.c:1646  */
2959290001Sglebius    break;
2960290001Sglebius
2961310419Sdelphij  case 235:
2962310419Sdelphij#line 1220 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2963301301Sdelphij    { CONCAT_G_FIFOS(cfgt.ttl, (yyvsp[0].Attr_val_fifo)); }
2964310419Sdelphij#line 2965 "ntp_parser.c" /* yacc.c:1646  */
2965290001Sglebius    break;
2966290001Sglebius
2967310419Sdelphij  case 240:
2968310419Sdelphij#line 1235 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2969290001Sglebius    {
2970290001Sglebius#ifndef LEAP_SMEAR
2971290001Sglebius			yyerror("Built without LEAP_SMEAR support.");
2972290001Sglebius#endif
2973290001Sglebius		}
2974310419Sdelphij#line 2975 "ntp_parser.c" /* yacc.c:1646  */
2975290001Sglebius    break;
2976290001Sglebius
2977310419Sdelphij  case 246:
2978310419Sdelphij#line 1255 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2979290001Sglebius    {
2980290001Sglebius			if (lex_from_file()) {
2981290001Sglebius				attr_val *av;
2982301301Sdelphij				av = create_attr_sval(T_Driftfile, (yyvsp[0].String));
2983290001Sglebius				APPEND_G_FIFO(cfgt.vars, av);
2984290001Sglebius			} else {
2985301301Sdelphij				YYFREE((yyvsp[0].String));
2986290001Sglebius				yyerror("driftfile remote configuration ignored");
2987290001Sglebius			}
2988290001Sglebius		}
2989310419Sdelphij#line 2990 "ntp_parser.c" /* yacc.c:1646  */
2990290001Sglebius    break;
2991290001Sglebius
2992310419Sdelphij  case 247:
2993310419Sdelphij#line 1266 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2994290001Sglebius    {
2995290001Sglebius			if (lex_from_file()) {
2996290001Sglebius				attr_val *av;
2997301301Sdelphij				av = create_attr_sval(T_Driftfile, (yyvsp[-1].String));
2998290001Sglebius				APPEND_G_FIFO(cfgt.vars, av);
2999301301Sdelphij				av = create_attr_dval(T_WanderThreshold, (yyvsp[0].Double));
3000290001Sglebius				APPEND_G_FIFO(cfgt.vars, av);
3001290001Sglebius			} else {
3002301301Sdelphij				YYFREE((yyvsp[-1].String));
3003290001Sglebius				yyerror("driftfile remote configuration ignored");
3004290001Sglebius			}
3005290001Sglebius		}
3006310419Sdelphij#line 3007 "ntp_parser.c" /* yacc.c:1646  */
3007290001Sglebius    break;
3008290001Sglebius
3009310419Sdelphij  case 248:
3010310419Sdelphij#line 1279 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3011290001Sglebius    {
3012290001Sglebius			if (lex_from_file()) {
3013290001Sglebius				attr_val *av;
3014290001Sglebius				av = create_attr_sval(T_Driftfile, estrdup(""));
3015290001Sglebius				APPEND_G_FIFO(cfgt.vars, av);
3016290001Sglebius			} else {
3017290001Sglebius				yyerror("driftfile remote configuration ignored");
3018290001Sglebius			}
3019290001Sglebius		}
3020310419Sdelphij#line 3021 "ntp_parser.c" /* yacc.c:1646  */
3021290001Sglebius    break;
3022290001Sglebius
3023310419Sdelphij  case 249:
3024310419Sdelphij#line 1292 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3025301301Sdelphij    { (yyval.Set_var) = create_setvar_node((yyvsp[-3].String), (yyvsp[-1].String), (yyvsp[0].Integer)); }
3026310419Sdelphij#line 3027 "ntp_parser.c" /* yacc.c:1646  */
3027290001Sglebius    break;
3028290001Sglebius
3029310419Sdelphij  case 251:
3030310419Sdelphij#line 1298 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3031290001Sglebius    { (yyval.Integer) = 0; }
3032310419Sdelphij#line 3033 "ntp_parser.c" /* yacc.c:1646  */
3033290001Sglebius    break;
3034290001Sglebius
3035310419Sdelphij  case 252:
3036310419Sdelphij#line 1303 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3037290001Sglebius    { (yyval.Attr_val_fifo) = NULL; }
3038310419Sdelphij#line 3039 "ntp_parser.c" /* yacc.c:1646  */
3039290001Sglebius    break;
3040290001Sglebius
3041310419Sdelphij  case 253:
3042310419Sdelphij#line 1305 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3043290001Sglebius    {
3044301301Sdelphij			(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
3045301301Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
3046290001Sglebius		}
3047310419Sdelphij#line 3048 "ntp_parser.c" /* yacc.c:1646  */
3048290001Sglebius    break;
3049290001Sglebius
3050310419Sdelphij  case 254:
3051310419Sdelphij#line 1313 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3052301301Sdelphij    { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
3053310419Sdelphij#line 3054 "ntp_parser.c" /* yacc.c:1646  */
3054290001Sglebius    break;
3055290001Sglebius
3056310419Sdelphij  case 255:
3057310419Sdelphij#line 1315 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3058290001Sglebius    {
3059301301Sdelphij			(yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), estrdup((yyvsp[0].Address_node)->address));
3060301301Sdelphij			destroy_address_node((yyvsp[0].Address_node));
3061290001Sglebius		}
3062310419Sdelphij#line 3063 "ntp_parser.c" /* yacc.c:1646  */
3063290001Sglebius    break;
3064290001Sglebius
3065310419Sdelphij  case 256:
3066310419Sdelphij#line 1323 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3067290001Sglebius    {
3068301301Sdelphij			(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
3069301301Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
3070290001Sglebius		}
3071310419Sdelphij#line 3072 "ntp_parser.c" /* yacc.c:1646  */
3072290001Sglebius    break;
3073290001Sglebius
3074310419Sdelphij  case 257:
3075310419Sdelphij#line 1328 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3076290001Sglebius    {
3077290001Sglebius			(yyval.Attr_val_fifo) = NULL;
3078301301Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
3079290001Sglebius		}
3080310419Sdelphij#line 3081 "ntp_parser.c" /* yacc.c:1646  */
3081290001Sglebius    break;
3082290001Sglebius
3083310419Sdelphij  case 258:
3084310419Sdelphij#line 1336 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3085290001Sglebius    {
3086290001Sglebius			char	prefix;
3087290001Sglebius			char *	type;
3088290001Sglebius
3089301301Sdelphij			switch ((yyvsp[0].String)[0]) {
3090290001Sglebius
3091290001Sglebius			case '+':
3092290001Sglebius			case '-':
3093290001Sglebius			case '=':
3094301301Sdelphij				prefix = (yyvsp[0].String)[0];
3095301301Sdelphij				type = (yyvsp[0].String) + 1;
3096290001Sglebius				break;
3097290001Sglebius
3098290001Sglebius			default:
3099290001Sglebius				prefix = '=';
3100301301Sdelphij				type = (yyvsp[0].String);
3101290001Sglebius			}
3102290001Sglebius
3103290001Sglebius			(yyval.Attr_val) = create_attr_sval(prefix, estrdup(type));
3104301301Sdelphij			YYFREE((yyvsp[0].String));
3105290001Sglebius		}
3106310419Sdelphij#line 3107 "ntp_parser.c" /* yacc.c:1646  */
3107290001Sglebius    break;
3108290001Sglebius
3109310419Sdelphij  case 259:
3110310419Sdelphij#line 1361 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3111290001Sglebius    {
3112290001Sglebius			nic_rule_node *nrn;
3113290001Sglebius
3114301301Sdelphij			nrn = create_nic_rule_node((yyvsp[0].Integer), NULL, (yyvsp[-1].Integer));
3115290001Sglebius			APPEND_G_FIFO(cfgt.nic_rules, nrn);
3116290001Sglebius		}
3117310419Sdelphij#line 3118 "ntp_parser.c" /* yacc.c:1646  */
3118290001Sglebius    break;
3119290001Sglebius
3120310419Sdelphij  case 260:
3121310419Sdelphij#line 1368 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3122290001Sglebius    {
3123290001Sglebius			nic_rule_node *nrn;
3124290001Sglebius
3125301301Sdelphij			nrn = create_nic_rule_node(0, (yyvsp[0].String), (yyvsp[-1].Integer));
3126290001Sglebius			APPEND_G_FIFO(cfgt.nic_rules, nrn);
3127290001Sglebius		}
3128310419Sdelphij#line 3129 "ntp_parser.c" /* yacc.c:1646  */
3129290001Sglebius    break;
3130290001Sglebius
3131310419Sdelphij  case 270:
3132310419Sdelphij#line 1396 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3133301301Sdelphij    { CONCAT_G_FIFOS(cfgt.reset_counters, (yyvsp[0].Int_fifo)); }
3134310419Sdelphij#line 3135 "ntp_parser.c" /* yacc.c:1646  */
3135290001Sglebius    break;
3136290001Sglebius
3137310419Sdelphij  case 271:
3138310419Sdelphij#line 1401 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3139290001Sglebius    {
3140301301Sdelphij			(yyval.Int_fifo) = (yyvsp[-1].Int_fifo);
3141301301Sdelphij			APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer)));
3142290001Sglebius		}
3143310419Sdelphij#line 3144 "ntp_parser.c" /* yacc.c:1646  */
3144290001Sglebius    break;
3145290001Sglebius
3146310419Sdelphij  case 272:
3147310419Sdelphij#line 1406 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3148290001Sglebius    {
3149301301Sdelphij			(yyval.Int_fifo) = NULL;
3150301301Sdelphij			APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer)));
3151290001Sglebius		}
3152310419Sdelphij#line 3153 "ntp_parser.c" /* yacc.c:1646  */
3153290001Sglebius    break;
3154290001Sglebius
3155310419Sdelphij  case 280:
3156310419Sdelphij#line 1430 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3157290001Sglebius    {
3158301301Sdelphij			(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
3159301301Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), create_int_node((yyvsp[0].Integer)));
3160290001Sglebius		}
3161310419Sdelphij#line 3162 "ntp_parser.c" /* yacc.c:1646  */
3162290001Sglebius    break;
3163290001Sglebius
3164310419Sdelphij  case 281:
3165310419Sdelphij#line 1435 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3166290001Sglebius    {
3167301301Sdelphij			(yyval.Attr_val_fifo) = NULL;
3168301301Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), create_int_node((yyvsp[0].Integer)));
3169290001Sglebius		}
3170310419Sdelphij#line 3171 "ntp_parser.c" /* yacc.c:1646  */
3171290001Sglebius    break;
3172290001Sglebius
3173310419Sdelphij  case 282:
3174310419Sdelphij#line 1443 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3175290001Sglebius    {
3176301301Sdelphij			(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
3177301301Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
3178290001Sglebius		}
3179310419Sdelphij#line 3180 "ntp_parser.c" /* yacc.c:1646  */
3180290001Sglebius    break;
3181290001Sglebius
3182310419Sdelphij  case 283:
3183310419Sdelphij#line 1448 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3184301301Sdelphij    {
3185301301Sdelphij			(yyval.Attr_val_fifo) = NULL;
3186301301Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
3187301301Sdelphij		}
3188310419Sdelphij#line 3189 "ntp_parser.c" /* yacc.c:1646  */
3189290001Sglebius    break;
3190290001Sglebius
3191310419Sdelphij  case 284:
3192310419Sdelphij#line 1456 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3193301301Sdelphij    { (yyval.Attr_val) = create_attr_ival('i', (yyvsp[0].Integer)); }
3194310419Sdelphij#line 3195 "ntp_parser.c" /* yacc.c:1646  */
3195290001Sglebius    break;
3196290001Sglebius
3197310419Sdelphij  case 286:
3198310419Sdelphij#line 1462 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3199301301Sdelphij    { (yyval.Attr_val) = create_attr_rangeval('-', (yyvsp[-3].Integer), (yyvsp[-1].Integer)); }
3200310419Sdelphij#line 3201 "ntp_parser.c" /* yacc.c:1646  */
3201290001Sglebius    break;
3202290001Sglebius
3203310419Sdelphij  case 287:
3204310419Sdelphij#line 1467 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3205290001Sglebius    {
3206301301Sdelphij			(yyval.String_fifo) = (yyvsp[-1].String_fifo);
3207301301Sdelphij			APPEND_G_FIFO((yyval.String_fifo), create_string_node((yyvsp[0].String)));
3208290001Sglebius		}
3209310419Sdelphij#line 3210 "ntp_parser.c" /* yacc.c:1646  */
3210290001Sglebius    break;
3211290001Sglebius
3212310419Sdelphij  case 288:
3213310419Sdelphij#line 1472 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3214290001Sglebius    {
3215301301Sdelphij			(yyval.String_fifo) = NULL;
3216301301Sdelphij			APPEND_G_FIFO((yyval.String_fifo), create_string_node((yyvsp[0].String)));
3217290001Sglebius		}
3218310419Sdelphij#line 3219 "ntp_parser.c" /* yacc.c:1646  */
3219290001Sglebius    break;
3220290001Sglebius
3221310419Sdelphij  case 289:
3222310419Sdelphij#line 1480 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3223290001Sglebius    {
3224301301Sdelphij			(yyval.Address_fifo) = (yyvsp[-1].Address_fifo);
3225301301Sdelphij			APPEND_G_FIFO((yyval.Address_fifo), (yyvsp[0].Address_node));
3226290001Sglebius		}
3227310419Sdelphij#line 3228 "ntp_parser.c" /* yacc.c:1646  */
3228290001Sglebius    break;
3229290001Sglebius
3230310419Sdelphij  case 290:
3231310419Sdelphij#line 1485 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3232290001Sglebius    {
3233301301Sdelphij			(yyval.Address_fifo) = NULL;
3234301301Sdelphij			APPEND_G_FIFO((yyval.Address_fifo), (yyvsp[0].Address_node));
3235301301Sdelphij		}
3236310419Sdelphij#line 3237 "ntp_parser.c" /* yacc.c:1646  */
3237301301Sdelphij    break;
3238301301Sdelphij
3239310419Sdelphij  case 291:
3240310419Sdelphij#line 1493 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3241301301Sdelphij    {
3242301301Sdelphij			if ((yyvsp[0].Integer) != 0 && (yyvsp[0].Integer) != 1) {
3243290001Sglebius				yyerror("Integer value is not boolean (0 or 1). Assuming 1");
3244290001Sglebius				(yyval.Integer) = 1;
3245290001Sglebius			} else {
3246301301Sdelphij				(yyval.Integer) = (yyvsp[0].Integer);
3247290001Sglebius			}
3248290001Sglebius		}
3249310419Sdelphij#line 3250 "ntp_parser.c" /* yacc.c:1646  */
3250290001Sglebius    break;
3251290001Sglebius
3252310419Sdelphij  case 292:
3253310419Sdelphij#line 1501 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3254290001Sglebius    { (yyval.Integer) = 1; }
3255310419Sdelphij#line 3256 "ntp_parser.c" /* yacc.c:1646  */
3256290001Sglebius    break;
3257290001Sglebius
3258310419Sdelphij  case 293:
3259310419Sdelphij#line 1502 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3260290001Sglebius    { (yyval.Integer) = 0; }
3261310419Sdelphij#line 3262 "ntp_parser.c" /* yacc.c:1646  */
3262290001Sglebius    break;
3263290001Sglebius
3264310419Sdelphij  case 294:
3265310419Sdelphij#line 1506 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3266301301Sdelphij    { (yyval.Double) = (double)(yyvsp[0].Integer); }
3267310419Sdelphij#line 3268 "ntp_parser.c" /* yacc.c:1646  */
3268290001Sglebius    break;
3269290001Sglebius
3270310419Sdelphij  case 296:
3271310419Sdelphij#line 1517 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3272290001Sglebius    {
3273290001Sglebius			sim_node *sn;
3274290001Sglebius
3275301301Sdelphij			sn =  create_sim_node((yyvsp[-2].Attr_val_fifo), (yyvsp[-1].Sim_server_fifo));
3276290001Sglebius			APPEND_G_FIFO(cfgt.sim_details, sn);
3277290001Sglebius
3278290001Sglebius			/* Revert from ; to \n for end-of-command */
3279290001Sglebius			old_config_style = 1;
3280290001Sglebius		}
3281310419Sdelphij#line 3282 "ntp_parser.c" /* yacc.c:1646  */
3282290001Sglebius    break;
3283290001Sglebius
3284310419Sdelphij  case 297:
3285310419Sdelphij#line 1534 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3286290001Sglebius    { old_config_style = 0; }
3287310419Sdelphij#line 3288 "ntp_parser.c" /* yacc.c:1646  */
3288290001Sglebius    break;
3289290001Sglebius
3290310419Sdelphij  case 298:
3291310419Sdelphij#line 1539 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3292290001Sglebius    {
3293301301Sdelphij			(yyval.Attr_val_fifo) = (yyvsp[-2].Attr_val_fifo);
3294301301Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val));
3295290001Sglebius		}
3296310419Sdelphij#line 3297 "ntp_parser.c" /* yacc.c:1646  */
3297290001Sglebius    break;
3298290001Sglebius
3299310419Sdelphij  case 299:
3300310419Sdelphij#line 1544 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3301290001Sglebius    {
3302290001Sglebius			(yyval.Attr_val_fifo) = NULL;
3303301301Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val));
3304290001Sglebius		}
3305310419Sdelphij#line 3306 "ntp_parser.c" /* yacc.c:1646  */
3306290001Sglebius    break;
3307290001Sglebius
3308310419Sdelphij  case 300:
3309310419Sdelphij#line 1552 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3310301301Sdelphij    { (yyval.Attr_val) = create_attr_dval((yyvsp[-2].Integer), (yyvsp[0].Double)); }
3311310419Sdelphij#line 3312 "ntp_parser.c" /* yacc.c:1646  */
3312290001Sglebius    break;
3313290001Sglebius
3314310419Sdelphij  case 303:
3315310419Sdelphij#line 1562 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3316290001Sglebius    {
3317301301Sdelphij			(yyval.Sim_server_fifo) = (yyvsp[-1].Sim_server_fifo);
3318301301Sdelphij			APPEND_G_FIFO((yyval.Sim_server_fifo), (yyvsp[0].Sim_server));
3319290001Sglebius		}
3320310419Sdelphij#line 3321 "ntp_parser.c" /* yacc.c:1646  */
3321290001Sglebius    break;
3322290001Sglebius
3323310419Sdelphij  case 304:
3324310419Sdelphij#line 1567 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3325290001Sglebius    {
3326290001Sglebius			(yyval.Sim_server_fifo) = NULL;
3327301301Sdelphij			APPEND_G_FIFO((yyval.Sim_server_fifo), (yyvsp[0].Sim_server));
3328290001Sglebius		}
3329310419Sdelphij#line 3330 "ntp_parser.c" /* yacc.c:1646  */
3330290001Sglebius    break;
3331290001Sglebius
3332310419Sdelphij  case 305:
3333310419Sdelphij#line 1575 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3334301301Sdelphij    { (yyval.Sim_server) = ONLY_SIM(create_sim_server((yyvsp[-4].Address_node), (yyvsp[-2].Double), (yyvsp[-1].Sim_script_fifo))); }
3335310419Sdelphij#line 3336 "ntp_parser.c" /* yacc.c:1646  */
3336290001Sglebius    break;
3337290001Sglebius
3338310419Sdelphij  case 306:
3339310419Sdelphij#line 1580 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3340301301Sdelphij    { (yyval.Double) = (yyvsp[-1].Double); }
3341310419Sdelphij#line 3342 "ntp_parser.c" /* yacc.c:1646  */
3342290001Sglebius    break;
3343290001Sglebius
3344310419Sdelphij  case 307:
3345310419Sdelphij#line 1585 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3346301301Sdelphij    { (yyval.Address_node) = (yyvsp[0].Address_node); }
3347310419Sdelphij#line 3348 "ntp_parser.c" /* yacc.c:1646  */
3348301301Sdelphij    break;
3349301301Sdelphij
3350310419Sdelphij  case 308:
3351310419Sdelphij#line 1590 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3352290001Sglebius    {
3353301301Sdelphij			(yyval.Sim_script_fifo) = (yyvsp[-1].Sim_script_fifo);
3354301301Sdelphij			APPEND_G_FIFO((yyval.Sim_script_fifo), (yyvsp[0].Sim_script));
3355290001Sglebius		}
3356310419Sdelphij#line 3357 "ntp_parser.c" /* yacc.c:1646  */
3357290001Sglebius    break;
3358290001Sglebius
3359310419Sdelphij  case 309:
3360310419Sdelphij#line 1595 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3361290001Sglebius    {
3362290001Sglebius			(yyval.Sim_script_fifo) = NULL;
3363301301Sdelphij			APPEND_G_FIFO((yyval.Sim_script_fifo), (yyvsp[0].Sim_script));
3364290001Sglebius		}
3365310419Sdelphij#line 3366 "ntp_parser.c" /* yacc.c:1646  */
3366290001Sglebius    break;
3367290001Sglebius
3368310419Sdelphij  case 310:
3369310419Sdelphij#line 1603 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3370301301Sdelphij    { (yyval.Sim_script) = ONLY_SIM(create_sim_script_info((yyvsp[-3].Double), (yyvsp[-1].Attr_val_fifo))); }
3371310419Sdelphij#line 3372 "ntp_parser.c" /* yacc.c:1646  */
3372290001Sglebius    break;
3373290001Sglebius
3374310419Sdelphij  case 311:
3375310419Sdelphij#line 1608 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3376290001Sglebius    {
3377301301Sdelphij			(yyval.Attr_val_fifo) = (yyvsp[-2].Attr_val_fifo);
3378301301Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val));
3379290001Sglebius		}
3380310419Sdelphij#line 3381 "ntp_parser.c" /* yacc.c:1646  */
3381290001Sglebius    break;
3382290001Sglebius
3383310419Sdelphij  case 312:
3384310419Sdelphij#line 1613 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3385290001Sglebius    {
3386290001Sglebius			(yyval.Attr_val_fifo) = NULL;
3387301301Sdelphij			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val));
3388290001Sglebius		}
3389310419Sdelphij#line 3390 "ntp_parser.c" /* yacc.c:1646  */
3390290001Sglebius    break;
3391290001Sglebius
3392310419Sdelphij  case 313:
3393310419Sdelphij#line 1621 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3394301301Sdelphij    { (yyval.Attr_val) = create_attr_dval((yyvsp[-2].Integer), (yyvsp[0].Double)); }
3395310419Sdelphij#line 3396 "ntp_parser.c" /* yacc.c:1646  */
3396290001Sglebius    break;
3397290001Sglebius
3398290001Sglebius
3399310419Sdelphij#line 3400 "ntp_parser.c" /* yacc.c:1646  */
3400290001Sglebius      default: break;
3401290001Sglebius    }
3402290001Sglebius  /* User semantic actions sometimes alter yychar, and that requires
3403290001Sglebius     that yytoken be updated with the new translation.  We take the
3404290001Sglebius     approach of translating immediately before every use of yytoken.
3405290001Sglebius     One alternative is translating here after every semantic action,
3406290001Sglebius     but that translation would be missed if the semantic action invokes
3407290001Sglebius     YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
3408290001Sglebius     if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
3409290001Sglebius     incorrect destructor might then be invoked immediately.  In the
3410290001Sglebius     case of YYERROR or YYBACKUP, subsequent parser actions might lead
3411290001Sglebius     to an incorrect destructor call or verbose syntax error message
3412290001Sglebius     before the lookahead is translated.  */
3413290001Sglebius  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
3414290001Sglebius
3415290001Sglebius  YYPOPSTACK (yylen);
3416290001Sglebius  yylen = 0;
3417290001Sglebius  YY_STACK_PRINT (yyss, yyssp);
3418290001Sglebius
3419290001Sglebius  *++yyvsp = yyval;
3420290001Sglebius
3421301301Sdelphij  /* Now 'shift' the result of the reduction.  Determine what state
3422290001Sglebius     that goes to, based on the state we popped back to and the rule
3423290001Sglebius     number reduced by.  */
3424290001Sglebius
3425290001Sglebius  yyn = yyr1[yyn];
3426290001Sglebius
3427290001Sglebius  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
3428290001Sglebius  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
3429290001Sglebius    yystate = yytable[yystate];
3430290001Sglebius  else
3431290001Sglebius    yystate = yydefgoto[yyn - YYNTOKENS];
3432290001Sglebius
3433290001Sglebius  goto yynewstate;
3434290001Sglebius
3435290001Sglebius
3436301301Sdelphij/*--------------------------------------.
3437301301Sdelphij| yyerrlab -- here on detecting error.  |
3438301301Sdelphij`--------------------------------------*/
3439290001Sglebiusyyerrlab:
3440290001Sglebius  /* Make sure we have latest lookahead translation.  See comments at
3441290001Sglebius     user semantic actions for why this is necessary.  */
3442290001Sglebius  yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
3443290001Sglebius
3444290001Sglebius  /* If not already recovering from an error, report this error.  */
3445290001Sglebius  if (!yyerrstatus)
3446290001Sglebius    {
3447290001Sglebius      ++yynerrs;
3448290001Sglebius#if ! YYERROR_VERBOSE
3449290001Sglebius      yyerror (YY_("syntax error"));
3450290001Sglebius#else
3451290001Sglebius# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
3452290001Sglebius                                        yyssp, yytoken)
3453290001Sglebius      {
3454290001Sglebius        char const *yymsgp = YY_("syntax error");
3455290001Sglebius        int yysyntax_error_status;
3456290001Sglebius        yysyntax_error_status = YYSYNTAX_ERROR;
3457290001Sglebius        if (yysyntax_error_status == 0)
3458290001Sglebius          yymsgp = yymsg;
3459290001Sglebius        else if (yysyntax_error_status == 1)
3460290001Sglebius          {
3461290001Sglebius            if (yymsg != yymsgbuf)
3462290001Sglebius              YYSTACK_FREE (yymsg);
3463290001Sglebius            yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
3464290001Sglebius            if (!yymsg)
3465290001Sglebius              {
3466290001Sglebius                yymsg = yymsgbuf;
3467290001Sglebius                yymsg_alloc = sizeof yymsgbuf;
3468290001Sglebius                yysyntax_error_status = 2;
3469290001Sglebius              }
3470290001Sglebius            else
3471290001Sglebius              {
3472290001Sglebius                yysyntax_error_status = YYSYNTAX_ERROR;
3473290001Sglebius                yymsgp = yymsg;
3474290001Sglebius              }
3475290001Sglebius          }
3476290001Sglebius        yyerror (yymsgp);
3477290001Sglebius        if (yysyntax_error_status == 2)
3478290001Sglebius          goto yyexhaustedlab;
3479290001Sglebius      }
3480290001Sglebius# undef YYSYNTAX_ERROR
3481290001Sglebius#endif
3482290001Sglebius    }
3483290001Sglebius
3484290001Sglebius
3485290001Sglebius
3486290001Sglebius  if (yyerrstatus == 3)
3487290001Sglebius    {
3488290001Sglebius      /* If just tried and failed to reuse lookahead token after an
3489301301Sdelphij         error, discard it.  */
3490290001Sglebius
3491290001Sglebius      if (yychar <= YYEOF)
3492301301Sdelphij        {
3493301301Sdelphij          /* Return failure if at end of input.  */
3494301301Sdelphij          if (yychar == YYEOF)
3495301301Sdelphij            YYABORT;
3496301301Sdelphij        }
3497290001Sglebius      else
3498301301Sdelphij        {
3499301301Sdelphij          yydestruct ("Error: discarding",
3500301301Sdelphij                      yytoken, &yylval);
3501301301Sdelphij          yychar = YYEMPTY;
3502301301Sdelphij        }
3503290001Sglebius    }
3504290001Sglebius
3505290001Sglebius  /* Else will try to reuse lookahead token after shifting the error
3506290001Sglebius     token.  */
3507290001Sglebius  goto yyerrlab1;
3508290001Sglebius
3509290001Sglebius
3510290001Sglebius/*---------------------------------------------------.
3511290001Sglebius| yyerrorlab -- error raised explicitly by YYERROR.  |
3512290001Sglebius`---------------------------------------------------*/
3513290001Sglebiusyyerrorlab:
3514290001Sglebius
3515290001Sglebius  /* Pacify compilers like GCC when the user code never invokes
3516290001Sglebius     YYERROR and the label yyerrorlab therefore never appears in user
3517290001Sglebius     code.  */
3518290001Sglebius  if (/*CONSTCOND*/ 0)
3519290001Sglebius     goto yyerrorlab;
3520290001Sglebius
3521301301Sdelphij  /* Do not reclaim the symbols of the rule whose action triggered
3522290001Sglebius     this YYERROR.  */
3523290001Sglebius  YYPOPSTACK (yylen);
3524290001Sglebius  yylen = 0;
3525290001Sglebius  YY_STACK_PRINT (yyss, yyssp);
3526290001Sglebius  yystate = *yyssp;
3527290001Sglebius  goto yyerrlab1;
3528290001Sglebius
3529290001Sglebius
3530290001Sglebius/*-------------------------------------------------------------.
3531290001Sglebius| yyerrlab1 -- common code for both syntax error and YYERROR.  |
3532290001Sglebius`-------------------------------------------------------------*/
3533290001Sglebiusyyerrlab1:
3534301301Sdelphij  yyerrstatus = 3;      /* Each real token shifted decrements this.  */
3535290001Sglebius
3536290001Sglebius  for (;;)
3537290001Sglebius    {
3538290001Sglebius      yyn = yypact[yystate];
3539290001Sglebius      if (!yypact_value_is_default (yyn))
3540301301Sdelphij        {
3541301301Sdelphij          yyn += YYTERROR;
3542301301Sdelphij          if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
3543301301Sdelphij            {
3544301301Sdelphij              yyn = yytable[yyn];
3545301301Sdelphij              if (0 < yyn)
3546301301Sdelphij                break;
3547301301Sdelphij            }
3548301301Sdelphij        }
3549290001Sglebius
3550290001Sglebius      /* Pop the current state because it cannot handle the error token.  */
3551290001Sglebius      if (yyssp == yyss)
3552301301Sdelphij        YYABORT;
3553290001Sglebius
3554290001Sglebius
3555290001Sglebius      yydestruct ("Error: popping",
3556301301Sdelphij                  yystos[yystate], yyvsp);
3557290001Sglebius      YYPOPSTACK (1);
3558290001Sglebius      yystate = *yyssp;
3559290001Sglebius      YY_STACK_PRINT (yyss, yyssp);
3560290001Sglebius    }
3561290001Sglebius
3562290001Sglebius  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
3563290001Sglebius  *++yyvsp = yylval;
3564290001Sglebius  YY_IGNORE_MAYBE_UNINITIALIZED_END
3565290001Sglebius
3566290001Sglebius
3567290001Sglebius  /* Shift the error token.  */
3568290001Sglebius  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
3569290001Sglebius
3570290001Sglebius  yystate = yyn;
3571290001Sglebius  goto yynewstate;
3572290001Sglebius
3573290001Sglebius
3574290001Sglebius/*-------------------------------------.
3575290001Sglebius| yyacceptlab -- YYACCEPT comes here.  |
3576290001Sglebius`-------------------------------------*/
3577290001Sglebiusyyacceptlab:
3578290001Sglebius  yyresult = 0;
3579290001Sglebius  goto yyreturn;
3580290001Sglebius
3581290001Sglebius/*-----------------------------------.
3582290001Sglebius| yyabortlab -- YYABORT comes here.  |
3583290001Sglebius`-----------------------------------*/
3584290001Sglebiusyyabortlab:
3585290001Sglebius  yyresult = 1;
3586290001Sglebius  goto yyreturn;
3587290001Sglebius
3588290001Sglebius#if !defined yyoverflow || YYERROR_VERBOSE
3589290001Sglebius/*-------------------------------------------------.
3590290001Sglebius| yyexhaustedlab -- memory exhaustion comes here.  |
3591290001Sglebius`-------------------------------------------------*/
3592290001Sglebiusyyexhaustedlab:
3593290001Sglebius  yyerror (YY_("memory exhausted"));
3594290001Sglebius  yyresult = 2;
3595290001Sglebius  /* Fall through.  */
3596290001Sglebius#endif
3597290001Sglebius
3598290001Sglebiusyyreturn:
3599290001Sglebius  if (yychar != YYEMPTY)
3600290001Sglebius    {
3601290001Sglebius      /* Make sure we have latest lookahead translation.  See comments at
3602290001Sglebius         user semantic actions for why this is necessary.  */
3603290001Sglebius      yytoken = YYTRANSLATE (yychar);
3604290001Sglebius      yydestruct ("Cleanup: discarding lookahead",
3605290001Sglebius                  yytoken, &yylval);
3606290001Sglebius    }
3607301301Sdelphij  /* Do not reclaim the symbols of the rule whose action triggered
3608290001Sglebius     this YYABORT or YYACCEPT.  */
3609290001Sglebius  YYPOPSTACK (yylen);
3610290001Sglebius  YY_STACK_PRINT (yyss, yyssp);
3611290001Sglebius  while (yyssp != yyss)
3612290001Sglebius    {
3613290001Sglebius      yydestruct ("Cleanup: popping",
3614301301Sdelphij                  yystos[*yyssp], yyvsp);
3615290001Sglebius      YYPOPSTACK (1);
3616290001Sglebius    }
3617290001Sglebius#ifndef yyoverflow
3618290001Sglebius  if (yyss != yyssa)
3619290001Sglebius    YYSTACK_FREE (yyss);
3620290001Sglebius#endif
3621290001Sglebius#if YYERROR_VERBOSE
3622290001Sglebius  if (yymsg != yymsgbuf)
3623290001Sglebius    YYSTACK_FREE (yymsg);
3624290001Sglebius#endif
3625301301Sdelphij  return yyresult;
3626290001Sglebius}
3627310419Sdelphij#line 1632 "../../ntpd/ntp_parser.y" /* yacc.c:1906  */
3628290001Sglebius
3629290001Sglebius
3630290001Sglebiusvoid
3631290001Sglebiusyyerror(
3632290001Sglebius	const char *msg
3633290001Sglebius	)
3634290001Sglebius{
3635290001Sglebius	int retval;
3636290001Sglebius	struct FILE_INFO * ip_ctx;
3637290001Sglebius
3638290001Sglebius	ip_ctx = lex_current();
3639290001Sglebius	ip_ctx->errpos = ip_ctx->tokpos;
3640290001Sglebius
3641290001Sglebius	msyslog(LOG_ERR, "line %d column %d %s",
3642290001Sglebius		ip_ctx->errpos.nline, ip_ctx->errpos.ncol, msg);
3643290001Sglebius	if (!lex_from_file()) {
3644290001Sglebius		/* Save the error message in the correct buffer */
3645290001Sglebius		retval = snprintf(remote_config.err_msg + remote_config.err_pos,
3646290001Sglebius				  MAXLINE - remote_config.err_pos,
3647290001Sglebius				  "column %d %s",
3648290001Sglebius				  ip_ctx->errpos.ncol, msg);
3649290001Sglebius
3650290001Sglebius		/* Increment the value of err_pos */
3651290001Sglebius		if (retval > 0)
3652290001Sglebius			remote_config.err_pos += retval;
3653290001Sglebius
3654290001Sglebius		/* Increment the number of errors */
3655290001Sglebius		++remote_config.no_errors;
3656290001Sglebius	}
3657290001Sglebius}
3658290001Sglebius
3659290001Sglebius
3660290001Sglebius/*
3661290001Sglebius * token_name - convert T_ token integers to text
3662290001Sglebius *		example: token_name(T_Server) returns "T_Server"
3663290001Sglebius */
3664290001Sglebiusconst char *
3665290001Sglebiustoken_name(
3666290001Sglebius	int token
3667290001Sglebius	)
3668290001Sglebius{
3669290001Sglebius	return yytname[YYTRANSLATE(token)];
3670290001Sglebius}
3671290001Sglebius
3672290001Sglebius
3673290001Sglebius/* Initial Testing function -- ignore */
3674290001Sglebius#if 0
3675290001Sglebiusint main(int argc, char *argv[])
3676290001Sglebius{
3677290001Sglebius	ip_file = FOPEN(argv[1], "r");
3678290001Sglebius	if (!ip_file)
3679290001Sglebius		fprintf(stderr, "ERROR!! Could not open file: %s\n", argv[1]);
3680290001Sglebius	yyparse();
3681290001Sglebius	return 0;
3682290001Sglebius}
3683290001Sglebius#endif
3684290001Sglebius
3685