xref: /freebsd/contrib/ntp/ntpd/ntp_parser.c (revision f391d6bc1d0464f62f1b8264666c897a680156b1)
1e27abb66SXin LI /* A Bison parser, made by GNU Bison 3.0.4.  */
22b15cb3dSCy Schubert 
32b15cb3dSCy Schubert /* Bison implementation for Yacc-like parsers in C
42b15cb3dSCy Schubert 
5e27abb66SXin LI    Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
62b15cb3dSCy Schubert 
72b15cb3dSCy Schubert    This program is free software: you can redistribute it and/or modify
82b15cb3dSCy Schubert    it under the terms of the GNU General Public License as published by
92b15cb3dSCy Schubert    the Free Software Foundation, either version 3 of the License, or
102b15cb3dSCy Schubert    (at your option) any later version.
112b15cb3dSCy Schubert 
122b15cb3dSCy Schubert    This program is distributed in the hope that it will be useful,
132b15cb3dSCy Schubert    but WITHOUT ANY WARRANTY; without even the implied warranty of
142b15cb3dSCy Schubert    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
152b15cb3dSCy Schubert    GNU General Public License for more details.
162b15cb3dSCy Schubert 
172b15cb3dSCy Schubert    You should have received a copy of the GNU General Public License
182b15cb3dSCy Schubert    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
192b15cb3dSCy Schubert 
202b15cb3dSCy Schubert /* As a special exception, you may create a larger work that contains
212b15cb3dSCy Schubert    part or all of the Bison parser skeleton and distribute that work
222b15cb3dSCy Schubert    under terms of your choice, so long as that work isn't itself a
232b15cb3dSCy Schubert    parser generator using the skeleton or a modified version thereof
242b15cb3dSCy Schubert    as a parser skeleton.  Alternatively, if you modify or redistribute
252b15cb3dSCy Schubert    the parser skeleton itself, you may (at your option) remove this
262b15cb3dSCy Schubert    special exception, which will cause the skeleton and the resulting
272b15cb3dSCy Schubert    Bison output files to be licensed under the GNU General Public
282b15cb3dSCy Schubert    License without this special exception.
292b15cb3dSCy Schubert 
302b15cb3dSCy Schubert    This special exception was added by the Free Software Foundation in
312b15cb3dSCy Schubert    version 2.2 of Bison.  */
322b15cb3dSCy Schubert 
332b15cb3dSCy Schubert /* C LALR(1) parser skeleton written by Richard Stallman, by
342b15cb3dSCy Schubert    simplifying the original so-called "semantic" parser.  */
352b15cb3dSCy Schubert 
362b15cb3dSCy Schubert /* All symbols defined below should begin with yy or YY, to avoid
372b15cb3dSCy Schubert    infringing on user name space.  This should be done even for local
382b15cb3dSCy Schubert    variables, as they might otherwise be expanded by user macros.
392b15cb3dSCy Schubert    There are some unavoidable exceptions within include files to
402b15cb3dSCy Schubert    define necessary library symbols; they are noted "INFRINGES ON
412b15cb3dSCy Schubert    USER NAME SPACE" below.  */
422b15cb3dSCy Schubert 
432b15cb3dSCy Schubert /* Identify Bison output.  */
442b15cb3dSCy Schubert #define YYBISON 1
452b15cb3dSCy Schubert 
462b15cb3dSCy Schubert /* Bison version.  */
47e27abb66SXin LI #define YYBISON_VERSION "3.0.4"
482b15cb3dSCy Schubert 
492b15cb3dSCy Schubert /* Skeleton name.  */
502b15cb3dSCy Schubert #define YYSKELETON_NAME "yacc.c"
512b15cb3dSCy Schubert 
522b15cb3dSCy Schubert /* Pure parsers.  */
532b15cb3dSCy Schubert #define YYPURE 0
542b15cb3dSCy Schubert 
552b15cb3dSCy Schubert /* Push parsers.  */
562b15cb3dSCy Schubert #define YYPUSH 0
572b15cb3dSCy Schubert 
582b15cb3dSCy Schubert /* Pull parsers.  */
592b15cb3dSCy Schubert #define YYPULL 1
602b15cb3dSCy Schubert 
612b15cb3dSCy Schubert 
622b15cb3dSCy Schubert 
632b15cb3dSCy Schubert 
642b15cb3dSCy Schubert /* Copy the first part of user declarations.  */
65e27abb66SXin LI #line 11 "../../ntpd/ntp_parser.y" /* yacc.c:339  */
662b15cb3dSCy Schubert 
672b15cb3dSCy Schubert   #ifdef HAVE_CONFIG_H
682b15cb3dSCy Schubert   # include <config.h>
692b15cb3dSCy Schubert   #endif
702b15cb3dSCy Schubert 
712b15cb3dSCy Schubert   #include "ntp.h"
722b15cb3dSCy Schubert   #include "ntpd.h"
732b15cb3dSCy Schubert   #include "ntp_machine.h"
742b15cb3dSCy Schubert   #include "ntp_stdlib.h"
752b15cb3dSCy Schubert   #include "ntp_filegen.h"
762b15cb3dSCy Schubert   #include "ntp_scanner.h"
772b15cb3dSCy Schubert   #include "ntp_config.h"
782b15cb3dSCy Schubert   #include "ntp_crypto.h"
792b15cb3dSCy Schubert 
802b15cb3dSCy Schubert   #include "ntpsim.h"		/* HMS: Do we really want this all the time? */
812b15cb3dSCy Schubert 				/* SK: It might be a good idea to always
822b15cb3dSCy Schubert 				   include the simulator code. That way
832b15cb3dSCy Schubert 				   someone can use the same configuration file
842b15cb3dSCy Schubert 				   for both the simulator and the daemon
852b15cb3dSCy Schubert 				*/
862b15cb3dSCy Schubert 
872b15cb3dSCy Schubert   #define YYMALLOC	emalloc
882b15cb3dSCy Schubert   #define YYFREE	free
892b15cb3dSCy Schubert   #define YYERROR_VERBOSE
902b15cb3dSCy Schubert   #define YYMAXDEPTH	1000	/* stop the madness sooner */
91276da39aSCy Schubert   void yyerror(const char *msg);
922b15cb3dSCy Schubert 
932b15cb3dSCy Schubert   #ifdef SIM
942b15cb3dSCy Schubert   #  define ONLY_SIM(a)	(a)
952b15cb3dSCy Schubert   #else
962b15cb3dSCy Schubert   #  define ONLY_SIM(a)	NULL
972b15cb3dSCy Schubert   #endif
982b15cb3dSCy Schubert 
99*f391d6bcSXin LI #line 100 "ntp_parser.c" /* yacc.c:339  */
1002b15cb3dSCy Schubert 
101e27abb66SXin LI # ifndef YY_NULLPTR
1022b15cb3dSCy Schubert #  if defined __cplusplus && 201103L <= __cplusplus
103e27abb66SXin LI #   define YY_NULLPTR nullptr
1042b15cb3dSCy Schubert #  else
105e27abb66SXin LI #   define YY_NULLPTR 0
1062b15cb3dSCy Schubert #  endif
1072b15cb3dSCy Schubert # endif
1082b15cb3dSCy Schubert 
1092b15cb3dSCy Schubert /* Enabling verbose error messages.  */
1102b15cb3dSCy Schubert #ifdef YYERROR_VERBOSE
1112b15cb3dSCy Schubert # undef YYERROR_VERBOSE
1122b15cb3dSCy Schubert # define YYERROR_VERBOSE 1
1132b15cb3dSCy Schubert #else
1142b15cb3dSCy Schubert # define YYERROR_VERBOSE 0
1152b15cb3dSCy Schubert #endif
1162b15cb3dSCy Schubert 
1172b15cb3dSCy Schubert /* In a future release of Bison, this section will be replaced
1182b15cb3dSCy Schubert    by #include "y.tab.h".  */
119e27abb66SXin LI #ifndef YY_YY_Y_TAB_H_INCLUDED
120e27abb66SXin LI # define YY_YY_Y_TAB_H_INCLUDED
121e27abb66SXin LI /* Debug traces.  */
1222b15cb3dSCy Schubert #ifndef YYDEBUG
1232b15cb3dSCy Schubert # define YYDEBUG 1
1242b15cb3dSCy Schubert #endif
1252b15cb3dSCy Schubert #if YYDEBUG
1262b15cb3dSCy Schubert extern int yydebug;
1272b15cb3dSCy Schubert #endif
1282b15cb3dSCy Schubert 
129e27abb66SXin LI /* Token type.  */
1302b15cb3dSCy Schubert #ifndef YYTOKENTYPE
1312b15cb3dSCy Schubert # define YYTOKENTYPE
132e27abb66SXin LI   enum yytokentype
133e27abb66SXin LI   {
1342b15cb3dSCy Schubert     T_Abbrev = 258,
1352b15cb3dSCy Schubert     T_Age = 259,
1362b15cb3dSCy Schubert     T_All = 260,
1372b15cb3dSCy Schubert     T_Allan = 261,
1382b15cb3dSCy Schubert     T_Allpeers = 262,
1392b15cb3dSCy Schubert     T_Auth = 263,
1402b15cb3dSCy Schubert     T_Autokey = 264,
1412b15cb3dSCy Schubert     T_Automax = 265,
1422b15cb3dSCy Schubert     T_Average = 266,
1432b15cb3dSCy Schubert     T_Bclient = 267,
144*f391d6bcSXin LI     T_Bcpollbstep = 268,
145*f391d6bcSXin LI     T_Beacon = 269,
146*f391d6bcSXin LI     T_Broadcast = 270,
147*f391d6bcSXin LI     T_Broadcastclient = 271,
148*f391d6bcSXin LI     T_Broadcastdelay = 272,
149*f391d6bcSXin LI     T_Burst = 273,
150*f391d6bcSXin LI     T_Calibrate = 274,
151*f391d6bcSXin LI     T_Ceiling = 275,
152*f391d6bcSXin LI     T_Clockstats = 276,
153*f391d6bcSXin LI     T_Cohort = 277,
154*f391d6bcSXin LI     T_ControlKey = 278,
155*f391d6bcSXin LI     T_Crypto = 279,
156*f391d6bcSXin LI     T_Cryptostats = 280,
157*f391d6bcSXin LI     T_Ctl = 281,
158*f391d6bcSXin LI     T_Day = 282,
159*f391d6bcSXin LI     T_Default = 283,
160*f391d6bcSXin LI     T_Digest = 284,
161*f391d6bcSXin LI     T_Disable = 285,
162*f391d6bcSXin LI     T_Discard = 286,
163*f391d6bcSXin LI     T_Dispersion = 287,
164*f391d6bcSXin LI     T_Double = 288,
165*f391d6bcSXin LI     T_Driftfile = 289,
166*f391d6bcSXin LI     T_Drop = 290,
167*f391d6bcSXin LI     T_Dscp = 291,
168*f391d6bcSXin LI     T_Ellipsis = 292,
169*f391d6bcSXin LI     T_Enable = 293,
170*f391d6bcSXin LI     T_End = 294,
171*f391d6bcSXin LI     T_False = 295,
172*f391d6bcSXin LI     T_File = 296,
173*f391d6bcSXin LI     T_Filegen = 297,
174*f391d6bcSXin LI     T_Filenum = 298,
175*f391d6bcSXin LI     T_Flag1 = 299,
176*f391d6bcSXin LI     T_Flag2 = 300,
177*f391d6bcSXin LI     T_Flag3 = 301,
178*f391d6bcSXin LI     T_Flag4 = 302,
179*f391d6bcSXin LI     T_Flake = 303,
180*f391d6bcSXin LI     T_Floor = 304,
181*f391d6bcSXin LI     T_Freq = 305,
182*f391d6bcSXin LI     T_Fudge = 306,
183*f391d6bcSXin LI     T_Host = 307,
184*f391d6bcSXin LI     T_Huffpuff = 308,
185*f391d6bcSXin LI     T_Iburst = 309,
186*f391d6bcSXin LI     T_Ident = 310,
187*f391d6bcSXin LI     T_Ignore = 311,
188*f391d6bcSXin LI     T_Incalloc = 312,
189*f391d6bcSXin LI     T_Incmem = 313,
190*f391d6bcSXin LI     T_Initalloc = 314,
191*f391d6bcSXin LI     T_Initmem = 315,
192*f391d6bcSXin LI     T_Includefile = 316,
193*f391d6bcSXin LI     T_Integer = 317,
194*f391d6bcSXin LI     T_Interface = 318,
195*f391d6bcSXin LI     T_Intrange = 319,
196*f391d6bcSXin LI     T_Io = 320,
197*f391d6bcSXin LI     T_Ipv4 = 321,
198*f391d6bcSXin LI     T_Ipv4_flag = 322,
199*f391d6bcSXin LI     T_Ipv6 = 323,
200*f391d6bcSXin LI     T_Ipv6_flag = 324,
201*f391d6bcSXin LI     T_Kernel = 325,
202*f391d6bcSXin LI     T_Key = 326,
203*f391d6bcSXin LI     T_Keys = 327,
204*f391d6bcSXin LI     T_Keysdir = 328,
205*f391d6bcSXin LI     T_Kod = 329,
206*f391d6bcSXin LI     T_Mssntp = 330,
207*f391d6bcSXin LI     T_Leapfile = 331,
208*f391d6bcSXin LI     T_Leapsmearinterval = 332,
209*f391d6bcSXin LI     T_Limited = 333,
210*f391d6bcSXin LI     T_Link = 334,
211*f391d6bcSXin LI     T_Listen = 335,
212*f391d6bcSXin LI     T_Logconfig = 336,
213*f391d6bcSXin LI     T_Logfile = 337,
214*f391d6bcSXin LI     T_Loopstats = 338,
215*f391d6bcSXin LI     T_Lowpriotrap = 339,
216*f391d6bcSXin LI     T_Manycastclient = 340,
217*f391d6bcSXin LI     T_Manycastserver = 341,
218*f391d6bcSXin LI     T_Mask = 342,
219*f391d6bcSXin LI     T_Maxage = 343,
220*f391d6bcSXin LI     T_Maxclock = 344,
221*f391d6bcSXin LI     T_Maxdepth = 345,
222*f391d6bcSXin LI     T_Maxdist = 346,
223*f391d6bcSXin LI     T_Maxmem = 347,
224*f391d6bcSXin LI     T_Maxpoll = 348,
225*f391d6bcSXin LI     T_Mdnstries = 349,
226*f391d6bcSXin LI     T_Mem = 350,
227*f391d6bcSXin LI     T_Memlock = 351,
228*f391d6bcSXin LI     T_Minclock = 352,
229*f391d6bcSXin LI     T_Mindepth = 353,
230*f391d6bcSXin LI     T_Mindist = 354,
231*f391d6bcSXin LI     T_Minimum = 355,
232*f391d6bcSXin LI     T_Minpoll = 356,
233*f391d6bcSXin LI     T_Minsane = 357,
234*f391d6bcSXin LI     T_Mode = 358,
235*f391d6bcSXin LI     T_Mode7 = 359,
236*f391d6bcSXin LI     T_Monitor = 360,
237*f391d6bcSXin LI     T_Month = 361,
238*f391d6bcSXin LI     T_Mru = 362,
239*f391d6bcSXin LI     T_Multicastclient = 363,
240*f391d6bcSXin LI     T_Nic = 364,
241*f391d6bcSXin LI     T_Nolink = 365,
242*f391d6bcSXin LI     T_Nomodify = 366,
243*f391d6bcSXin LI     T_Nomrulist = 367,
244*f391d6bcSXin LI     T_None = 368,
245*f391d6bcSXin LI     T_Nonvolatile = 369,
246*f391d6bcSXin LI     T_Nopeer = 370,
247*f391d6bcSXin LI     T_Noquery = 371,
248*f391d6bcSXin LI     T_Noselect = 372,
249*f391d6bcSXin LI     T_Noserve = 373,
250*f391d6bcSXin LI     T_Notrap = 374,
251*f391d6bcSXin LI     T_Notrust = 375,
252*f391d6bcSXin LI     T_Ntp = 376,
253*f391d6bcSXin LI     T_Ntpport = 377,
254*f391d6bcSXin LI     T_NtpSignDsocket = 378,
255*f391d6bcSXin LI     T_Orphan = 379,
256*f391d6bcSXin LI     T_Orphanwait = 380,
257*f391d6bcSXin LI     T_PCEdigest = 381,
258*f391d6bcSXin LI     T_Panic = 382,
259*f391d6bcSXin LI     T_Peer = 383,
260*f391d6bcSXin LI     T_Peerstats = 384,
261*f391d6bcSXin LI     T_Phone = 385,
262*f391d6bcSXin LI     T_Pid = 386,
263*f391d6bcSXin LI     T_Pidfile = 387,
264*f391d6bcSXin LI     T_Pool = 388,
265*f391d6bcSXin LI     T_Port = 389,
266*f391d6bcSXin LI     T_Preempt = 390,
267*f391d6bcSXin LI     T_Prefer = 391,
268*f391d6bcSXin LI     T_Protostats = 392,
269*f391d6bcSXin LI     T_Pw = 393,
270*f391d6bcSXin LI     T_Randfile = 394,
271*f391d6bcSXin LI     T_Rawstats = 395,
272*f391d6bcSXin LI     T_Refid = 396,
273*f391d6bcSXin LI     T_Requestkey = 397,
274*f391d6bcSXin LI     T_Reset = 398,
275*f391d6bcSXin LI     T_Restrict = 399,
276*f391d6bcSXin LI     T_Revoke = 400,
277*f391d6bcSXin LI     T_Rlimit = 401,
278*f391d6bcSXin LI     T_Saveconfigdir = 402,
279*f391d6bcSXin LI     T_Server = 403,
280*f391d6bcSXin LI     T_Setvar = 404,
281*f391d6bcSXin LI     T_Source = 405,
282*f391d6bcSXin LI     T_Stacksize = 406,
283*f391d6bcSXin LI     T_Statistics = 407,
284*f391d6bcSXin LI     T_Stats = 408,
285*f391d6bcSXin LI     T_Statsdir = 409,
286*f391d6bcSXin LI     T_Step = 410,
287*f391d6bcSXin LI     T_Stepback = 411,
288*f391d6bcSXin LI     T_Stepfwd = 412,
289*f391d6bcSXin LI     T_Stepout = 413,
290*f391d6bcSXin LI     T_Stratum = 414,
291*f391d6bcSXin LI     T_String = 415,
292*f391d6bcSXin LI     T_Sys = 416,
293*f391d6bcSXin LI     T_Sysstats = 417,
294*f391d6bcSXin LI     T_Tick = 418,
295*f391d6bcSXin LI     T_Time1 = 419,
296*f391d6bcSXin LI     T_Time2 = 420,
297*f391d6bcSXin LI     T_Timer = 421,
298*f391d6bcSXin LI     T_Timingstats = 422,
299*f391d6bcSXin LI     T_Tinker = 423,
300*f391d6bcSXin LI     T_Tos = 424,
301*f391d6bcSXin LI     T_Trap = 425,
302*f391d6bcSXin LI     T_True = 426,
303*f391d6bcSXin LI     T_Trustedkey = 427,
304*f391d6bcSXin LI     T_Ttl = 428,
305*f391d6bcSXin LI     T_Type = 429,
306*f391d6bcSXin LI     T_U_int = 430,
307*f391d6bcSXin LI     T_UEcrypto = 431,
308*f391d6bcSXin LI     T_UEcryptonak = 432,
309*f391d6bcSXin LI     T_UEdigest = 433,
310*f391d6bcSXin LI     T_Unconfig = 434,
311*f391d6bcSXin LI     T_Unpeer = 435,
312*f391d6bcSXin LI     T_Version = 436,
313*f391d6bcSXin LI     T_WanderThreshold = 437,
314*f391d6bcSXin LI     T_Week = 438,
315*f391d6bcSXin LI     T_Wildcard = 439,
316*f391d6bcSXin LI     T_Xleave = 440,
317*f391d6bcSXin LI     T_Year = 441,
318*f391d6bcSXin LI     T_Flag = 442,
319*f391d6bcSXin LI     T_EOC = 443,
320*f391d6bcSXin LI     T_Simulate = 444,
321*f391d6bcSXin LI     T_Beep_Delay = 445,
322*f391d6bcSXin LI     T_Sim_Duration = 446,
323*f391d6bcSXin LI     T_Server_Offset = 447,
324*f391d6bcSXin LI     T_Duration = 448,
325*f391d6bcSXin LI     T_Freq_Offset = 449,
326*f391d6bcSXin LI     T_Wander = 450,
327*f391d6bcSXin LI     T_Jitter = 451,
328*f391d6bcSXin LI     T_Prop_Delay = 452,
329*f391d6bcSXin LI     T_Proc_Delay = 453
3302b15cb3dSCy Schubert   };
3312b15cb3dSCy Schubert #endif
3322b15cb3dSCy Schubert /* Tokens.  */
3332b15cb3dSCy Schubert #define T_Abbrev 258
3342b15cb3dSCy Schubert #define T_Age 259
3352b15cb3dSCy Schubert #define T_All 260
3362b15cb3dSCy Schubert #define T_Allan 261
3372b15cb3dSCy Schubert #define T_Allpeers 262
3382b15cb3dSCy Schubert #define T_Auth 263
3392b15cb3dSCy Schubert #define T_Autokey 264
3402b15cb3dSCy Schubert #define T_Automax 265
3412b15cb3dSCy Schubert #define T_Average 266
3422b15cb3dSCy Schubert #define T_Bclient 267
343*f391d6bcSXin LI #define T_Bcpollbstep 268
344*f391d6bcSXin LI #define T_Beacon 269
345*f391d6bcSXin LI #define T_Broadcast 270
346*f391d6bcSXin LI #define T_Broadcastclient 271
347*f391d6bcSXin LI #define T_Broadcastdelay 272
348*f391d6bcSXin LI #define T_Burst 273
349*f391d6bcSXin LI #define T_Calibrate 274
350*f391d6bcSXin LI #define T_Ceiling 275
351*f391d6bcSXin LI #define T_Clockstats 276
352*f391d6bcSXin LI #define T_Cohort 277
353*f391d6bcSXin LI #define T_ControlKey 278
354*f391d6bcSXin LI #define T_Crypto 279
355*f391d6bcSXin LI #define T_Cryptostats 280
356*f391d6bcSXin LI #define T_Ctl 281
357*f391d6bcSXin LI #define T_Day 282
358*f391d6bcSXin LI #define T_Default 283
359*f391d6bcSXin LI #define T_Digest 284
360*f391d6bcSXin LI #define T_Disable 285
361*f391d6bcSXin LI #define T_Discard 286
362*f391d6bcSXin LI #define T_Dispersion 287
363*f391d6bcSXin LI #define T_Double 288
364*f391d6bcSXin LI #define T_Driftfile 289
365*f391d6bcSXin LI #define T_Drop 290
366*f391d6bcSXin LI #define T_Dscp 291
367*f391d6bcSXin LI #define T_Ellipsis 292
368*f391d6bcSXin LI #define T_Enable 293
369*f391d6bcSXin LI #define T_End 294
370*f391d6bcSXin LI #define T_False 295
371*f391d6bcSXin LI #define T_File 296
372*f391d6bcSXin LI #define T_Filegen 297
373*f391d6bcSXin LI #define T_Filenum 298
374*f391d6bcSXin LI #define T_Flag1 299
375*f391d6bcSXin LI #define T_Flag2 300
376*f391d6bcSXin LI #define T_Flag3 301
377*f391d6bcSXin LI #define T_Flag4 302
378*f391d6bcSXin LI #define T_Flake 303
379*f391d6bcSXin LI #define T_Floor 304
380*f391d6bcSXin LI #define T_Freq 305
381*f391d6bcSXin LI #define T_Fudge 306
382*f391d6bcSXin LI #define T_Host 307
383*f391d6bcSXin LI #define T_Huffpuff 308
384*f391d6bcSXin LI #define T_Iburst 309
385*f391d6bcSXin LI #define T_Ident 310
386*f391d6bcSXin LI #define T_Ignore 311
387*f391d6bcSXin LI #define T_Incalloc 312
388*f391d6bcSXin LI #define T_Incmem 313
389*f391d6bcSXin LI #define T_Initalloc 314
390*f391d6bcSXin LI #define T_Initmem 315
391*f391d6bcSXin LI #define T_Includefile 316
392*f391d6bcSXin LI #define T_Integer 317
393*f391d6bcSXin LI #define T_Interface 318
394*f391d6bcSXin LI #define T_Intrange 319
395*f391d6bcSXin LI #define T_Io 320
396*f391d6bcSXin LI #define T_Ipv4 321
397*f391d6bcSXin LI #define T_Ipv4_flag 322
398*f391d6bcSXin LI #define T_Ipv6 323
399*f391d6bcSXin LI #define T_Ipv6_flag 324
400*f391d6bcSXin LI #define T_Kernel 325
401*f391d6bcSXin LI #define T_Key 326
402*f391d6bcSXin LI #define T_Keys 327
403*f391d6bcSXin LI #define T_Keysdir 328
404*f391d6bcSXin LI #define T_Kod 329
405*f391d6bcSXin LI #define T_Mssntp 330
406*f391d6bcSXin LI #define T_Leapfile 331
407*f391d6bcSXin LI #define T_Leapsmearinterval 332
408*f391d6bcSXin LI #define T_Limited 333
409*f391d6bcSXin LI #define T_Link 334
410*f391d6bcSXin LI #define T_Listen 335
411*f391d6bcSXin LI #define T_Logconfig 336
412*f391d6bcSXin LI #define T_Logfile 337
413*f391d6bcSXin LI #define T_Loopstats 338
414*f391d6bcSXin LI #define T_Lowpriotrap 339
415*f391d6bcSXin LI #define T_Manycastclient 340
416*f391d6bcSXin LI #define T_Manycastserver 341
417*f391d6bcSXin LI #define T_Mask 342
418*f391d6bcSXin LI #define T_Maxage 343
419*f391d6bcSXin LI #define T_Maxclock 344
420*f391d6bcSXin LI #define T_Maxdepth 345
421*f391d6bcSXin LI #define T_Maxdist 346
422*f391d6bcSXin LI #define T_Maxmem 347
423*f391d6bcSXin LI #define T_Maxpoll 348
424*f391d6bcSXin LI #define T_Mdnstries 349
425*f391d6bcSXin LI #define T_Mem 350
426*f391d6bcSXin LI #define T_Memlock 351
427*f391d6bcSXin LI #define T_Minclock 352
428*f391d6bcSXin LI #define T_Mindepth 353
429*f391d6bcSXin LI #define T_Mindist 354
430*f391d6bcSXin LI #define T_Minimum 355
431*f391d6bcSXin LI #define T_Minpoll 356
432*f391d6bcSXin LI #define T_Minsane 357
433*f391d6bcSXin LI #define T_Mode 358
434*f391d6bcSXin LI #define T_Mode7 359
435*f391d6bcSXin LI #define T_Monitor 360
436*f391d6bcSXin LI #define T_Month 361
437*f391d6bcSXin LI #define T_Mru 362
438*f391d6bcSXin LI #define T_Multicastclient 363
439*f391d6bcSXin LI #define T_Nic 364
440*f391d6bcSXin LI #define T_Nolink 365
441*f391d6bcSXin LI #define T_Nomodify 366
442*f391d6bcSXin LI #define T_Nomrulist 367
443*f391d6bcSXin LI #define T_None 368
444*f391d6bcSXin LI #define T_Nonvolatile 369
445*f391d6bcSXin LI #define T_Nopeer 370
446*f391d6bcSXin LI #define T_Noquery 371
447*f391d6bcSXin LI #define T_Noselect 372
448*f391d6bcSXin LI #define T_Noserve 373
449*f391d6bcSXin LI #define T_Notrap 374
450*f391d6bcSXin LI #define T_Notrust 375
451*f391d6bcSXin LI #define T_Ntp 376
452*f391d6bcSXin LI #define T_Ntpport 377
453*f391d6bcSXin LI #define T_NtpSignDsocket 378
454*f391d6bcSXin LI #define T_Orphan 379
455*f391d6bcSXin LI #define T_Orphanwait 380
456*f391d6bcSXin LI #define T_PCEdigest 381
457*f391d6bcSXin LI #define T_Panic 382
458*f391d6bcSXin LI #define T_Peer 383
459*f391d6bcSXin LI #define T_Peerstats 384
460*f391d6bcSXin LI #define T_Phone 385
461*f391d6bcSXin LI #define T_Pid 386
462*f391d6bcSXin LI #define T_Pidfile 387
463*f391d6bcSXin LI #define T_Pool 388
464*f391d6bcSXin LI #define T_Port 389
465*f391d6bcSXin LI #define T_Preempt 390
466*f391d6bcSXin LI #define T_Prefer 391
467*f391d6bcSXin LI #define T_Protostats 392
468*f391d6bcSXin LI #define T_Pw 393
469*f391d6bcSXin LI #define T_Randfile 394
470*f391d6bcSXin LI #define T_Rawstats 395
471*f391d6bcSXin LI #define T_Refid 396
472*f391d6bcSXin LI #define T_Requestkey 397
473*f391d6bcSXin LI #define T_Reset 398
474*f391d6bcSXin LI #define T_Restrict 399
475*f391d6bcSXin LI #define T_Revoke 400
476*f391d6bcSXin LI #define T_Rlimit 401
477*f391d6bcSXin LI #define T_Saveconfigdir 402
478*f391d6bcSXin LI #define T_Server 403
479*f391d6bcSXin LI #define T_Setvar 404
480*f391d6bcSXin LI #define T_Source 405
481*f391d6bcSXin LI #define T_Stacksize 406
482*f391d6bcSXin LI #define T_Statistics 407
483*f391d6bcSXin LI #define T_Stats 408
484*f391d6bcSXin LI #define T_Statsdir 409
485*f391d6bcSXin LI #define T_Step 410
486*f391d6bcSXin LI #define T_Stepback 411
487*f391d6bcSXin LI #define T_Stepfwd 412
488*f391d6bcSXin LI #define T_Stepout 413
489*f391d6bcSXin LI #define T_Stratum 414
490*f391d6bcSXin LI #define T_String 415
491*f391d6bcSXin LI #define T_Sys 416
492*f391d6bcSXin LI #define T_Sysstats 417
493*f391d6bcSXin LI #define T_Tick 418
494*f391d6bcSXin LI #define T_Time1 419
495*f391d6bcSXin LI #define T_Time2 420
496*f391d6bcSXin LI #define T_Timer 421
497*f391d6bcSXin LI #define T_Timingstats 422
498*f391d6bcSXin LI #define T_Tinker 423
499*f391d6bcSXin LI #define T_Tos 424
500*f391d6bcSXin LI #define T_Trap 425
501*f391d6bcSXin LI #define T_True 426
502*f391d6bcSXin LI #define T_Trustedkey 427
503*f391d6bcSXin LI #define T_Ttl 428
504*f391d6bcSXin LI #define T_Type 429
505*f391d6bcSXin LI #define T_U_int 430
506*f391d6bcSXin LI #define T_UEcrypto 431
507*f391d6bcSXin LI #define T_UEcryptonak 432
508*f391d6bcSXin LI #define T_UEdigest 433
509*f391d6bcSXin LI #define T_Unconfig 434
510*f391d6bcSXin LI #define T_Unpeer 435
511*f391d6bcSXin LI #define T_Version 436
512*f391d6bcSXin LI #define T_WanderThreshold 437
513*f391d6bcSXin LI #define T_Week 438
514*f391d6bcSXin LI #define T_Wildcard 439
515*f391d6bcSXin LI #define T_Xleave 440
516*f391d6bcSXin LI #define T_Year 441
517*f391d6bcSXin LI #define T_Flag 442
518*f391d6bcSXin LI #define T_EOC 443
519*f391d6bcSXin LI #define T_Simulate 444
520*f391d6bcSXin LI #define T_Beep_Delay 445
521*f391d6bcSXin LI #define T_Sim_Duration 446
522*f391d6bcSXin LI #define T_Server_Offset 447
523*f391d6bcSXin LI #define T_Duration 448
524*f391d6bcSXin LI #define T_Freq_Offset 449
525*f391d6bcSXin LI #define T_Wander 450
526*f391d6bcSXin LI #define T_Jitter 451
527*f391d6bcSXin LI #define T_Prop_Delay 452
528*f391d6bcSXin LI #define T_Proc_Delay 453
5292b15cb3dSCy Schubert 
530e27abb66SXin LI /* Value type.  */
5312b15cb3dSCy Schubert #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
532e27abb66SXin LI 
533e27abb66SXin LI union YYSTYPE
5342b15cb3dSCy Schubert {
535e27abb66SXin LI #line 51 "../../ntpd/ntp_parser.y" /* yacc.c:355  */
5362b15cb3dSCy Schubert 
5372b15cb3dSCy Schubert 	char *			String;
5382b15cb3dSCy Schubert 	double			Double;
5392b15cb3dSCy Schubert 	int			Integer;
5402b15cb3dSCy Schubert 	unsigned		U_int;
5412b15cb3dSCy Schubert 	gen_fifo *		Generic_fifo;
5422b15cb3dSCy Schubert 	attr_val *		Attr_val;
5432b15cb3dSCy Schubert 	attr_val_fifo *		Attr_val_fifo;
5442b15cb3dSCy Schubert 	int_fifo *		Int_fifo;
5452b15cb3dSCy Schubert 	string_fifo *		String_fifo;
5462b15cb3dSCy Schubert 	address_node *		Address_node;
5472b15cb3dSCy Schubert 	address_fifo *		Address_fifo;
5482b15cb3dSCy Schubert 	setvar_node *		Set_var;
5492b15cb3dSCy Schubert 	server_info *		Sim_server;
5502b15cb3dSCy Schubert 	server_info_fifo *	Sim_server_fifo;
5512b15cb3dSCy Schubert 	script_info *		Sim_script;
5522b15cb3dSCy Schubert 	script_info_fifo *	Sim_script_fifo;
5532b15cb3dSCy Schubert 
554*f391d6bcSXin LI #line 555 "ntp_parser.c" /* yacc.c:355  */
555e27abb66SXin LI };
55668ba7e87SXin LI 
557e27abb66SXin LI typedef union YYSTYPE YYSTYPE;
5582b15cb3dSCy Schubert # define YYSTYPE_IS_TRIVIAL 1
5592b15cb3dSCy Schubert # define YYSTYPE_IS_DECLARED 1
5602b15cb3dSCy Schubert #endif
5612b15cb3dSCy Schubert 
562e27abb66SXin LI 
5632b15cb3dSCy Schubert extern YYSTYPE yylval;
5642b15cb3dSCy Schubert 
565276da39aSCy Schubert int yyparse (void);
5662b15cb3dSCy Schubert 
567e27abb66SXin LI #endif /* !YY_YY_Y_TAB_H_INCLUDED  */
5682b15cb3dSCy Schubert 
5692b15cb3dSCy Schubert /* Copy the second part of user declarations.  */
5702b15cb3dSCy Schubert 
571*f391d6bcSXin LI #line 572 "ntp_parser.c" /* yacc.c:358  */
5722b15cb3dSCy Schubert 
5732b15cb3dSCy Schubert #ifdef short
5742b15cb3dSCy Schubert # undef short
5752b15cb3dSCy Schubert #endif
5762b15cb3dSCy Schubert 
5772b15cb3dSCy Schubert #ifdef YYTYPE_UINT8
5782b15cb3dSCy Schubert typedef YYTYPE_UINT8 yytype_uint8;
5792b15cb3dSCy Schubert #else
5802b15cb3dSCy Schubert typedef unsigned char yytype_uint8;
5812b15cb3dSCy Schubert #endif
5822b15cb3dSCy Schubert 
5832b15cb3dSCy Schubert #ifdef YYTYPE_INT8
5842b15cb3dSCy Schubert typedef YYTYPE_INT8 yytype_int8;
58568ba7e87SXin LI #else
586e27abb66SXin LI typedef signed char yytype_int8;
5872b15cb3dSCy Schubert #endif
5882b15cb3dSCy Schubert 
5892b15cb3dSCy Schubert #ifdef YYTYPE_UINT16
5902b15cb3dSCy Schubert typedef YYTYPE_UINT16 yytype_uint16;
5912b15cb3dSCy Schubert #else
5922b15cb3dSCy Schubert typedef unsigned short int yytype_uint16;
5932b15cb3dSCy Schubert #endif
5942b15cb3dSCy Schubert 
5952b15cb3dSCy Schubert #ifdef YYTYPE_INT16
5962b15cb3dSCy Schubert typedef YYTYPE_INT16 yytype_int16;
5972b15cb3dSCy Schubert #else
5982b15cb3dSCy Schubert typedef short int yytype_int16;
5992b15cb3dSCy Schubert #endif
6002b15cb3dSCy Schubert 
6012b15cb3dSCy Schubert #ifndef YYSIZE_T
6022b15cb3dSCy Schubert # ifdef __SIZE_TYPE__
6032b15cb3dSCy Schubert #  define YYSIZE_T __SIZE_TYPE__
6042b15cb3dSCy Schubert # elif defined size_t
6052b15cb3dSCy Schubert #  define YYSIZE_T size_t
606e27abb66SXin LI # elif ! defined YYSIZE_T
6072b15cb3dSCy Schubert #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
6082b15cb3dSCy Schubert #  define YYSIZE_T size_t
6092b15cb3dSCy Schubert # else
6102b15cb3dSCy Schubert #  define YYSIZE_T unsigned int
6112b15cb3dSCy Schubert # endif
6122b15cb3dSCy Schubert #endif
6132b15cb3dSCy Schubert 
6142b15cb3dSCy Schubert #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
6152b15cb3dSCy Schubert 
6162b15cb3dSCy Schubert #ifndef YY_
6172b15cb3dSCy Schubert # if defined YYENABLE_NLS && YYENABLE_NLS
6182b15cb3dSCy Schubert #  if ENABLE_NLS
6192b15cb3dSCy Schubert #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
6202b15cb3dSCy Schubert #   define YY_(Msgid) dgettext ("bison-runtime", Msgid)
6212b15cb3dSCy Schubert #  endif
6222b15cb3dSCy Schubert # endif
6232b15cb3dSCy Schubert # ifndef YY_
6242b15cb3dSCy Schubert #  define YY_(Msgid) Msgid
6252b15cb3dSCy Schubert # endif
6262b15cb3dSCy Schubert #endif
6272b15cb3dSCy Schubert 
628e27abb66SXin LI #ifndef YY_ATTRIBUTE
629e27abb66SXin LI # if (defined __GNUC__                                               \
630e27abb66SXin LI       && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__)))  \
631e27abb66SXin LI      || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
632e27abb66SXin LI #  define YY_ATTRIBUTE(Spec) __attribute__(Spec)
633e27abb66SXin LI # else
634e27abb66SXin LI #  define YY_ATTRIBUTE(Spec) /* empty */
635e27abb66SXin LI # endif
636e27abb66SXin LI #endif
637e27abb66SXin LI 
638e27abb66SXin LI #ifndef YY_ATTRIBUTE_PURE
639e27abb66SXin LI # define YY_ATTRIBUTE_PURE   YY_ATTRIBUTE ((__pure__))
640e27abb66SXin LI #endif
641e27abb66SXin LI 
642e27abb66SXin LI #ifndef YY_ATTRIBUTE_UNUSED
643e27abb66SXin LI # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
644e27abb66SXin LI #endif
645e27abb66SXin LI 
646e27abb66SXin LI #if !defined _Noreturn \
647e27abb66SXin LI      && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
648e27abb66SXin LI # if defined _MSC_VER && 1200 <= _MSC_VER
649e27abb66SXin LI #  define _Noreturn __declspec (noreturn)
650e27abb66SXin LI # else
651e27abb66SXin LI #  define _Noreturn YY_ATTRIBUTE ((__noreturn__))
6522b15cb3dSCy Schubert # endif
6532b15cb3dSCy Schubert #endif
6542b15cb3dSCy Schubert 
6552b15cb3dSCy Schubert /* Suppress unused-variable warnings by "using" E.  */
6562b15cb3dSCy Schubert #if ! defined lint || defined __GNUC__
6572b15cb3dSCy Schubert # define YYUSE(E) ((void) (E))
6582b15cb3dSCy Schubert #else
6592b15cb3dSCy Schubert # define YYUSE(E) /* empty */
6602b15cb3dSCy Schubert #endif
6612b15cb3dSCy Schubert 
662e27abb66SXin LI #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
663e27abb66SXin LI /* Suppress an incorrect diagnostic about yylval being uninitialized.  */
664e27abb66SXin LI # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
665e27abb66SXin LI     _Pragma ("GCC diagnostic push") \
666e27abb66SXin LI     _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
667e27abb66SXin LI     _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
668e27abb66SXin LI # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
669e27abb66SXin LI     _Pragma ("GCC diagnostic pop")
670e27abb66SXin LI #else
671e27abb66SXin LI # define YY_INITIAL_VALUE(Value) Value
672e27abb66SXin LI #endif
673e27abb66SXin LI #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
674e27abb66SXin LI # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
675e27abb66SXin LI # define YY_IGNORE_MAYBE_UNINITIALIZED_END
676e27abb66SXin LI #endif
677e27abb66SXin LI #ifndef YY_INITIAL_VALUE
678e27abb66SXin LI # define YY_INITIAL_VALUE(Value) /* Nothing. */
679e27abb66SXin LI #endif
6802b15cb3dSCy Schubert 
6812b15cb3dSCy Schubert 
6822b15cb3dSCy Schubert #if ! defined yyoverflow || YYERROR_VERBOSE
6832b15cb3dSCy Schubert 
6842b15cb3dSCy Schubert /* The parser invokes alloca or malloc; define the necessary symbols.  */
6852b15cb3dSCy Schubert 
6862b15cb3dSCy Schubert # ifdef YYSTACK_USE_ALLOCA
6872b15cb3dSCy Schubert #  if YYSTACK_USE_ALLOCA
6882b15cb3dSCy Schubert #   ifdef __GNUC__
6892b15cb3dSCy Schubert #    define YYSTACK_ALLOC __builtin_alloca
6902b15cb3dSCy Schubert #   elif defined __BUILTIN_VA_ARG_INCR
6912b15cb3dSCy Schubert #    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
6922b15cb3dSCy Schubert #   elif defined _AIX
6932b15cb3dSCy Schubert #    define YYSTACK_ALLOC __alloca
6942b15cb3dSCy Schubert #   elif defined _MSC_VER
6952b15cb3dSCy Schubert #    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
6962b15cb3dSCy Schubert #    define alloca _alloca
6972b15cb3dSCy Schubert #   else
6982b15cb3dSCy Schubert #    define YYSTACK_ALLOC alloca
699e27abb66SXin LI #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
7002b15cb3dSCy Schubert #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
7012b15cb3dSCy Schubert       /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
7022b15cb3dSCy Schubert #     ifndef EXIT_SUCCESS
7032b15cb3dSCy Schubert #      define EXIT_SUCCESS 0
7042b15cb3dSCy Schubert #     endif
7052b15cb3dSCy Schubert #    endif
7062b15cb3dSCy Schubert #   endif
7072b15cb3dSCy Schubert #  endif
7082b15cb3dSCy Schubert # endif
7092b15cb3dSCy Schubert 
7102b15cb3dSCy Schubert # ifdef YYSTACK_ALLOC
711e27abb66SXin LI    /* Pacify GCC's 'empty if-body' warning.  */
712e27abb66SXin LI #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
7132b15cb3dSCy Schubert #  ifndef YYSTACK_ALLOC_MAXIMUM
7142b15cb3dSCy Schubert     /* The OS might guarantee only one guard page at the bottom of the stack,
7152b15cb3dSCy Schubert        and a page size can be as small as 4096 bytes.  So we cannot safely
7162b15cb3dSCy Schubert        invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
7172b15cb3dSCy Schubert        to allow for a few compiler-allocated temporary stack slots.  */
7182b15cb3dSCy Schubert #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
7192b15cb3dSCy Schubert #  endif
7202b15cb3dSCy Schubert # else
7212b15cb3dSCy Schubert #  define YYSTACK_ALLOC YYMALLOC
7222b15cb3dSCy Schubert #  define YYSTACK_FREE YYFREE
7232b15cb3dSCy Schubert #  ifndef YYSTACK_ALLOC_MAXIMUM
7242b15cb3dSCy Schubert #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
7252b15cb3dSCy Schubert #  endif
7262b15cb3dSCy Schubert #  if (defined __cplusplus && ! defined EXIT_SUCCESS \
7272b15cb3dSCy Schubert        && ! ((defined YYMALLOC || defined malloc) \
7282b15cb3dSCy Schubert              && (defined YYFREE || defined free)))
7292b15cb3dSCy Schubert #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
7302b15cb3dSCy Schubert #   ifndef EXIT_SUCCESS
7312b15cb3dSCy Schubert #    define EXIT_SUCCESS 0
7322b15cb3dSCy Schubert #   endif
7332b15cb3dSCy Schubert #  endif
7342b15cb3dSCy Schubert #  ifndef YYMALLOC
7352b15cb3dSCy Schubert #   define YYMALLOC malloc
736e27abb66SXin LI #   if ! defined malloc && ! defined EXIT_SUCCESS
7372b15cb3dSCy Schubert void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
7382b15cb3dSCy Schubert #   endif
7392b15cb3dSCy Schubert #  endif
7402b15cb3dSCy Schubert #  ifndef YYFREE
7412b15cb3dSCy Schubert #   define YYFREE free
742e27abb66SXin LI #   if ! defined free && ! defined EXIT_SUCCESS
7432b15cb3dSCy Schubert void free (void *); /* INFRINGES ON USER NAME SPACE */
7442b15cb3dSCy Schubert #   endif
7452b15cb3dSCy Schubert #  endif
7462b15cb3dSCy Schubert # endif
7472b15cb3dSCy Schubert #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
7482b15cb3dSCy Schubert 
7492b15cb3dSCy Schubert 
7502b15cb3dSCy Schubert #if (! defined yyoverflow \
7512b15cb3dSCy Schubert      && (! defined __cplusplus \
7522b15cb3dSCy Schubert          || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
7532b15cb3dSCy Schubert 
7542b15cb3dSCy Schubert /* A type that is properly aligned for any stack member.  */
7552b15cb3dSCy Schubert union yyalloc
7562b15cb3dSCy Schubert {
7572b15cb3dSCy Schubert   yytype_int16 yyss_alloc;
7582b15cb3dSCy Schubert   YYSTYPE yyvs_alloc;
7592b15cb3dSCy Schubert };
7602b15cb3dSCy Schubert 
7612b15cb3dSCy Schubert /* The size of the maximum gap between one aligned stack and the next.  */
7622b15cb3dSCy Schubert # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
7632b15cb3dSCy Schubert 
7642b15cb3dSCy Schubert /* The size of an array large to enough to hold all stacks, each with
7652b15cb3dSCy Schubert    N elements.  */
7662b15cb3dSCy Schubert # define YYSTACK_BYTES(N) \
7672b15cb3dSCy Schubert      ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
7682b15cb3dSCy Schubert       + YYSTACK_GAP_MAXIMUM)
7692b15cb3dSCy Schubert 
7702b15cb3dSCy Schubert # define YYCOPY_NEEDED 1
7712b15cb3dSCy Schubert 
7722b15cb3dSCy Schubert /* Relocate STACK from its old location to the new one.  The
7732b15cb3dSCy Schubert    local variables YYSIZE and YYSTACKSIZE give the old and new number of
7742b15cb3dSCy Schubert    elements in the stack, and YYPTR gives the new location of the
7752b15cb3dSCy Schubert    stack.  Advance YYPTR to a properly aligned location for the next
7762b15cb3dSCy Schubert    stack.  */
7772b15cb3dSCy Schubert # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
7782b15cb3dSCy Schubert     do                                                                  \
7792b15cb3dSCy Schubert       {                                                                 \
7802b15cb3dSCy Schubert         YYSIZE_T yynewbytes;                                            \
7812b15cb3dSCy Schubert         YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
7822b15cb3dSCy Schubert         Stack = &yyptr->Stack_alloc;                                    \
7832b15cb3dSCy Schubert         yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
7842b15cb3dSCy Schubert         yyptr += yynewbytes / sizeof (*yyptr);                          \
7852b15cb3dSCy Schubert       }                                                                 \
786e27abb66SXin LI     while (0)
7872b15cb3dSCy Schubert 
7882b15cb3dSCy Schubert #endif
7892b15cb3dSCy Schubert 
7902b15cb3dSCy Schubert #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
7912b15cb3dSCy Schubert /* Copy COUNT objects from SRC to DST.  The source and destination do
7922b15cb3dSCy Schubert    not overlap.  */
7932b15cb3dSCy Schubert # ifndef YYCOPY
7942b15cb3dSCy Schubert #  if defined __GNUC__ && 1 < __GNUC__
7952b15cb3dSCy Schubert #   define YYCOPY(Dst, Src, Count) \
7962b15cb3dSCy Schubert       __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
7972b15cb3dSCy Schubert #  else
7982b15cb3dSCy Schubert #   define YYCOPY(Dst, Src, Count)              \
7992b15cb3dSCy Schubert       do                                        \
8002b15cb3dSCy Schubert         {                                       \
8012b15cb3dSCy Schubert           YYSIZE_T yyi;                         \
8022b15cb3dSCy Schubert           for (yyi = 0; yyi < (Count); yyi++)   \
8032b15cb3dSCy Schubert             (Dst)[yyi] = (Src)[yyi];            \
8042b15cb3dSCy Schubert         }                                       \
805e27abb66SXin LI       while (0)
8062b15cb3dSCy Schubert #  endif
8072b15cb3dSCy Schubert # endif
8082b15cb3dSCy Schubert #endif /* !YYCOPY_NEEDED */
8092b15cb3dSCy Schubert 
8102b15cb3dSCy Schubert /* YYFINAL -- State number of the termination state.  */
811*f391d6bcSXin LI #define YYFINAL  215
8122b15cb3dSCy Schubert /* YYLAST -- Last index in YYTABLE.  */
813*f391d6bcSXin LI #define YYLAST   654
8142b15cb3dSCy Schubert 
8152b15cb3dSCy Schubert /* YYNTOKENS -- Number of terminals.  */
816*f391d6bcSXin LI #define YYNTOKENS  204
8172b15cb3dSCy Schubert /* YYNNTS -- Number of nonterminals.  */
818276da39aSCy Schubert #define YYNNTS  105
8192b15cb3dSCy Schubert /* YYNRULES -- Number of rules.  */
820*f391d6bcSXin LI #define YYNRULES  318
821e27abb66SXin LI /* YYNSTATES -- Number of states.  */
822*f391d6bcSXin LI #define YYNSTATES  424
8232b15cb3dSCy Schubert 
824e27abb66SXin LI /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
825e27abb66SXin LI    by yylex, with out-of-bounds checking.  */
8262b15cb3dSCy Schubert #define YYUNDEFTOK  2
827*f391d6bcSXin LI #define YYMAXUTOK   453
8282b15cb3dSCy Schubert 
8292b15cb3dSCy Schubert #define YYTRANSLATE(YYX)                                                \
8302b15cb3dSCy Schubert   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
8312b15cb3dSCy Schubert 
832e27abb66SXin LI /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
833e27abb66SXin LI    as returned by yylex, without out-of-bounds checking.  */
8342b15cb3dSCy Schubert static const yytype_uint8 yytranslate[] =
8352b15cb3dSCy Schubert {
8362b15cb3dSCy Schubert        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
8372b15cb3dSCy Schubert        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
8382b15cb3dSCy Schubert        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
8392b15cb3dSCy Schubert        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
840*f391d6bcSXin LI      200,   201,     2,     2,     2,     2,     2,     2,     2,     2,
8412b15cb3dSCy Schubert        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
842*f391d6bcSXin LI        2,   199,     2,     2,     2,     2,     2,     2,     2,     2,
8432b15cb3dSCy Schubert        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
8442b15cb3dSCy Schubert        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
8452b15cb3dSCy Schubert        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
8462b15cb3dSCy Schubert        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
8472b15cb3dSCy Schubert        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
848*f391d6bcSXin LI        2,     2,     2,   202,     2,   203,     2,     2,     2,     2,
8492b15cb3dSCy Schubert        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
8502b15cb3dSCy Schubert        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
8512b15cb3dSCy Schubert        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
8522b15cb3dSCy Schubert        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
8532b15cb3dSCy Schubert        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
8542b15cb3dSCy Schubert        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
8552b15cb3dSCy Schubert        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
8562b15cb3dSCy Schubert        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
8572b15cb3dSCy Schubert        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
8582b15cb3dSCy Schubert        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
8592b15cb3dSCy Schubert        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
8602b15cb3dSCy Schubert        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
8612b15cb3dSCy Schubert        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
8622b15cb3dSCy Schubert        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
8632b15cb3dSCy Schubert       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
8642b15cb3dSCy Schubert       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
8652b15cb3dSCy Schubert       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
8662b15cb3dSCy Schubert       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
8672b15cb3dSCy Schubert       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
8682b15cb3dSCy Schubert       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
8692b15cb3dSCy Schubert       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
8702b15cb3dSCy Schubert       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
8712b15cb3dSCy Schubert       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
8722b15cb3dSCy Schubert      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
8732b15cb3dSCy Schubert      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
8742b15cb3dSCy Schubert      125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
8752b15cb3dSCy Schubert      135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
8762b15cb3dSCy Schubert      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
8772b15cb3dSCy Schubert      155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
8782b15cb3dSCy Schubert      165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
8792b15cb3dSCy Schubert      175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
88068ba7e87SXin LI      185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
881*f391d6bcSXin LI      195,   196,   197,   198
8822b15cb3dSCy Schubert };
8832b15cb3dSCy Schubert 
8842b15cb3dSCy Schubert #if YYDEBUG
885e27abb66SXin LI   /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
8862b15cb3dSCy Schubert static const yytype_uint16 yyrline[] =
8872b15cb3dSCy Schubert {
888*f391d6bcSXin LI        0,   371,   371,   375,   376,   377,   392,   393,   394,   395,
889*f391d6bcSXin LI      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
890*f391d6bcSXin LI      413,   423,   424,   425,   426,   427,   431,   432,   437,   442,
891*f391d6bcSXin LI      444,   450,   451,   459,   460,   461,   465,   470,   471,   472,
892*f391d6bcSXin LI      473,   474,   475,   476,   477,   481,   483,   488,   489,   490,
893*f391d6bcSXin LI      491,   492,   493,   497,   502,   511,   521,   522,   532,   534,
894*f391d6bcSXin LI      536,   538,   549,   556,   558,   563,   565,   567,   569,   571,
895*f391d6bcSXin LI      580,   586,   587,   595,   597,   609,   610,   611,   612,   613,
896*f391d6bcSXin LI      622,   627,   632,   640,   642,   644,   649,   650,   651,   652,
897*f391d6bcSXin LI      653,   654,   655,   659,   660,   661,   662,   671,   673,   682,
898*f391d6bcSXin LI      692,   697,   705,   706,   707,   708,   709,   710,   711,   712,
899*f391d6bcSXin LI      717,   718,   726,   736,   745,   760,   765,   766,   770,   771,
900*f391d6bcSXin LI      775,   776,   777,   778,   779,   780,   781,   790,   794,   798,
901*f391d6bcSXin LI      806,   814,   822,   837,   852,   865,   866,   874,   875,   876,
902*f391d6bcSXin LI      877,   878,   879,   880,   881,   882,   883,   884,   885,   886,
903*f391d6bcSXin LI      887,   888,   892,   897,   905,   910,   911,   912,   916,   921,
904*f391d6bcSXin LI      929,   934,   935,   936,   937,   938,   939,   940,   941,   949,
905*f391d6bcSXin LI      959,   964,   972,   974,   976,   985,   987,   992,   993,   997,
906*f391d6bcSXin LI      998,   999,  1000,  1008,  1013,  1018,  1026,  1031,  1032,  1033,
907*f391d6bcSXin LI     1042,  1044,  1049,  1054,  1062,  1064,  1081,  1082,  1083,  1084,
908*f391d6bcSXin LI     1085,  1086,  1090,  1091,  1092,  1093,  1094,  1095,  1103,  1108,
909*f391d6bcSXin LI     1113,  1121,  1126,  1127,  1128,  1129,  1130,  1131,  1132,  1133,
910*f391d6bcSXin LI     1134,  1135,  1144,  1145,  1146,  1153,  1160,  1167,  1183,  1202,
911*f391d6bcSXin LI     1204,  1206,  1208,  1210,  1212,  1219,  1224,  1225,  1226,  1230,
912*f391d6bcSXin LI     1234,  1243,  1244,  1248,  1249,  1250,  1254,  1265,  1279,  1291,
913*f391d6bcSXin LI     1296,  1298,  1303,  1304,  1312,  1314,  1322,  1327,  1335,  1360,
914*f391d6bcSXin LI     1367,  1377,  1378,  1382,  1383,  1384,  1385,  1389,  1390,  1391,
915*f391d6bcSXin LI     1395,  1400,  1405,  1413,  1414,  1415,  1416,  1417,  1418,  1419,
916*f391d6bcSXin LI     1429,  1434,  1442,  1447,  1455,  1457,  1461,  1466,  1471,  1479,
917*f391d6bcSXin LI     1484,  1492,  1501,  1502,  1506,  1507,  1516,  1534,  1538,  1543,
918*f391d6bcSXin LI     1551,  1556,  1557,  1561,  1566,  1574,  1579,  1584,  1589,  1594,
919*f391d6bcSXin LI     1602,  1607,  1612,  1620,  1625,  1626,  1627,  1628,  1629
9202b15cb3dSCy Schubert };
9212b15cb3dSCy Schubert #endif
9222b15cb3dSCy Schubert 
9232b15cb3dSCy Schubert #if YYDEBUG || YYERROR_VERBOSE || 1
9242b15cb3dSCy Schubert /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
9252b15cb3dSCy Schubert    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
9262b15cb3dSCy Schubert static const char *const yytname[] =
9272b15cb3dSCy Schubert {
9282b15cb3dSCy Schubert   "$end", "error", "$undefined", "T_Abbrev", "T_Age", "T_All", "T_Allan",
9292b15cb3dSCy Schubert   "T_Allpeers", "T_Auth", "T_Autokey", "T_Automax", "T_Average",
930*f391d6bcSXin LI   "T_Bclient", "T_Bcpollbstep", "T_Beacon", "T_Broadcast",
931*f391d6bcSXin LI   "T_Broadcastclient", "T_Broadcastdelay", "T_Burst", "T_Calibrate",
932*f391d6bcSXin LI   "T_Ceiling", "T_Clockstats", "T_Cohort", "T_ControlKey", "T_Crypto",
933*f391d6bcSXin LI   "T_Cryptostats", "T_Ctl", "T_Day", "T_Default", "T_Digest", "T_Disable",
934*f391d6bcSXin LI   "T_Discard", "T_Dispersion", "T_Double", "T_Driftfile", "T_Drop",
935*f391d6bcSXin LI   "T_Dscp", "T_Ellipsis", "T_Enable", "T_End", "T_False", "T_File",
936*f391d6bcSXin LI   "T_Filegen", "T_Filenum", "T_Flag1", "T_Flag2", "T_Flag3", "T_Flag4",
937*f391d6bcSXin LI   "T_Flake", "T_Floor", "T_Freq", "T_Fudge", "T_Host", "T_Huffpuff",
938*f391d6bcSXin LI   "T_Iburst", "T_Ident", "T_Ignore", "T_Incalloc", "T_Incmem",
939*f391d6bcSXin LI   "T_Initalloc", "T_Initmem", "T_Includefile", "T_Integer", "T_Interface",
940*f391d6bcSXin LI   "T_Intrange", "T_Io", "T_Ipv4", "T_Ipv4_flag", "T_Ipv6", "T_Ipv6_flag",
941*f391d6bcSXin LI   "T_Kernel", "T_Key", "T_Keys", "T_Keysdir", "T_Kod", "T_Mssntp",
942*f391d6bcSXin LI   "T_Leapfile", "T_Leapsmearinterval", "T_Limited", "T_Link", "T_Listen",
943*f391d6bcSXin LI   "T_Logconfig", "T_Logfile", "T_Loopstats", "T_Lowpriotrap",
944*f391d6bcSXin LI   "T_Manycastclient", "T_Manycastserver", "T_Mask", "T_Maxage",
945*f391d6bcSXin LI   "T_Maxclock", "T_Maxdepth", "T_Maxdist", "T_Maxmem", "T_Maxpoll",
946*f391d6bcSXin LI   "T_Mdnstries", "T_Mem", "T_Memlock", "T_Minclock", "T_Mindepth",
947*f391d6bcSXin LI   "T_Mindist", "T_Minimum", "T_Minpoll", "T_Minsane", "T_Mode", "T_Mode7",
948*f391d6bcSXin LI   "T_Monitor", "T_Month", "T_Mru", "T_Multicastclient", "T_Nic",
949*f391d6bcSXin LI   "T_Nolink", "T_Nomodify", "T_Nomrulist", "T_None", "T_Nonvolatile",
950*f391d6bcSXin LI   "T_Nopeer", "T_Noquery", "T_Noselect", "T_Noserve", "T_Notrap",
951*f391d6bcSXin LI   "T_Notrust", "T_Ntp", "T_Ntpport", "T_NtpSignDsocket", "T_Orphan",
952*f391d6bcSXin LI   "T_Orphanwait", "T_PCEdigest", "T_Panic", "T_Peer", "T_Peerstats",
953*f391d6bcSXin LI   "T_Phone", "T_Pid", "T_Pidfile", "T_Pool", "T_Port", "T_Preempt",
954*f391d6bcSXin LI   "T_Prefer", "T_Protostats", "T_Pw", "T_Randfile", "T_Rawstats",
955*f391d6bcSXin LI   "T_Refid", "T_Requestkey", "T_Reset", "T_Restrict", "T_Revoke",
956*f391d6bcSXin LI   "T_Rlimit", "T_Saveconfigdir", "T_Server", "T_Setvar", "T_Source",
957*f391d6bcSXin LI   "T_Stacksize", "T_Statistics", "T_Stats", "T_Statsdir", "T_Step",
958*f391d6bcSXin LI   "T_Stepback", "T_Stepfwd", "T_Stepout", "T_Stratum", "T_String", "T_Sys",
959*f391d6bcSXin LI   "T_Sysstats", "T_Tick", "T_Time1", "T_Time2", "T_Timer", "T_Timingstats",
960*f391d6bcSXin LI   "T_Tinker", "T_Tos", "T_Trap", "T_True", "T_Trustedkey", "T_Ttl",
961*f391d6bcSXin LI   "T_Type", "T_U_int", "T_UEcrypto", "T_UEcryptonak", "T_UEdigest",
962*f391d6bcSXin LI   "T_Unconfig", "T_Unpeer", "T_Version", "T_WanderThreshold", "T_Week",
963*f391d6bcSXin LI   "T_Wildcard", "T_Xleave", "T_Year", "T_Flag", "T_EOC", "T_Simulate",
964*f391d6bcSXin LI   "T_Beep_Delay", "T_Sim_Duration", "T_Server_Offset", "T_Duration",
965*f391d6bcSXin LI   "T_Freq_Offset", "T_Wander", "T_Jitter", "T_Prop_Delay", "T_Proc_Delay",
966*f391d6bcSXin LI   "'='", "'('", "')'", "'{'", "'}'", "$accept", "configuration",
967*f391d6bcSXin LI   "command_list", "command", "server_command", "client_type", "address",
968*f391d6bcSXin LI   "ip_address", "address_fam", "option_list", "option", "option_flag",
969*f391d6bcSXin LI   "option_flag_keyword", "option_int", "option_int_keyword", "option_str",
970*f391d6bcSXin LI   "option_str_keyword", "unpeer_command", "unpeer_keyword",
971*f391d6bcSXin LI   "other_mode_command", "authentication_command", "crypto_command_list",
972*f391d6bcSXin LI   "crypto_command", "crypto_str_keyword", "orphan_mode_command",
973*f391d6bcSXin LI   "tos_option_list", "tos_option", "tos_option_int_keyword",
974*f391d6bcSXin LI   "tos_option_dbl_keyword", "monitoring_command", "stats_list", "stat",
975*f391d6bcSXin LI   "filegen_option_list", "filegen_option", "link_nolink", "enable_disable",
976*f391d6bcSXin LI   "filegen_type", "access_control_command", "ac_flag_list",
977*f391d6bcSXin LI   "access_control_flag", "discard_option_list", "discard_option",
978*f391d6bcSXin LI   "discard_option_keyword", "mru_option_list", "mru_option",
979*f391d6bcSXin LI   "mru_option_keyword", "fudge_command", "fudge_factor_list",
980*f391d6bcSXin LI   "fudge_factor", "fudge_factor_dbl_keyword", "fudge_factor_bool_keyword",
981*f391d6bcSXin LI   "rlimit_command", "rlimit_option_list", "rlimit_option",
982*f391d6bcSXin LI   "rlimit_option_keyword", "system_option_command", "system_option_list",
983*f391d6bcSXin LI   "system_option", "system_option_flag_keyword",
9842b15cb3dSCy Schubert   "system_option_local_flag_keyword", "tinker_command",
9852b15cb3dSCy Schubert   "tinker_option_list", "tinker_option", "tinker_option_keyword",
986276da39aSCy Schubert   "miscellaneous_command", "misc_cmd_dbl_keyword", "misc_cmd_int_keyword",
987276da39aSCy Schubert   "misc_cmd_str_keyword", "misc_cmd_str_lcl_keyword", "drift_parm",
988276da39aSCy Schubert   "variable_assign", "t_default_or_zero", "trap_option_list",
989276da39aSCy Schubert   "trap_option", "log_config_list", "log_config_command",
990276da39aSCy Schubert   "interface_command", "interface_nic", "nic_rule_class",
991276da39aSCy Schubert   "nic_rule_action", "reset_command", "counter_set_list",
992276da39aSCy Schubert   "counter_set_keyword", "integer_list", "integer_list_range",
993276da39aSCy Schubert   "integer_list_range_elt", "integer_range", "string_list", "address_list",
994276da39aSCy Schubert   "boolean", "number", "simulate_command", "sim_conf_start",
995276da39aSCy Schubert   "sim_init_statement_list", "sim_init_statement", "sim_init_keyword",
996276da39aSCy Schubert   "sim_server_list", "sim_server", "sim_server_offset", "sim_server_name",
997276da39aSCy Schubert   "sim_act_list", "sim_act", "sim_act_stmt_list", "sim_act_stmt",
998e27abb66SXin LI   "sim_act_keyword", YY_NULLPTR
9992b15cb3dSCy Schubert };
10002b15cb3dSCy Schubert #endif
10012b15cb3dSCy Schubert 
10022b15cb3dSCy Schubert # ifdef YYPRINT
1003e27abb66SXin LI /* YYTOKNUM[NUM] -- (External) token number corresponding to the
1004e27abb66SXin LI    (internal) symbol number NUM (which must be that of a token).  */
10052b15cb3dSCy Schubert static const yytype_uint16 yytoknum[] =
10062b15cb3dSCy Schubert {
10072b15cb3dSCy Schubert        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
10082b15cb3dSCy Schubert      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
10092b15cb3dSCy Schubert      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
10102b15cb3dSCy Schubert      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
10112b15cb3dSCy Schubert      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
10122b15cb3dSCy Schubert      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
10132b15cb3dSCy Schubert      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
10142b15cb3dSCy Schubert      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
10152b15cb3dSCy Schubert      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
10162b15cb3dSCy Schubert      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
10172b15cb3dSCy Schubert      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
10182b15cb3dSCy Schubert      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
10192b15cb3dSCy Schubert      375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
10202b15cb3dSCy Schubert      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
10212b15cb3dSCy Schubert      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
10222b15cb3dSCy Schubert      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
10232b15cb3dSCy Schubert      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
10242b15cb3dSCy Schubert      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
10252b15cb3dSCy Schubert      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
1026*f391d6bcSXin LI      445,   446,   447,   448,   449,   450,   451,   452,   453,    61,
1027*f391d6bcSXin LI       40,    41,   123,   125
10282b15cb3dSCy Schubert };
10292b15cb3dSCy Schubert # endif
10302b15cb3dSCy Schubert 
1031e27abb66SXin LI #define YYPACT_NINF -189
1032e27abb66SXin LI 
1033e27abb66SXin LI #define yypact_value_is_default(Yystate) \
1034e27abb66SXin LI   (!!((Yystate) == (-189)))
1035e27abb66SXin LI 
1036e27abb66SXin LI #define YYTABLE_NINF -7
1037e27abb66SXin LI 
1038e27abb66SXin LI #define yytable_value_is_error(Yytable_value) \
1039e27abb66SXin LI   0
1040e27abb66SXin LI 
1041e27abb66SXin LI   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1042e27abb66SXin LI      STATE-NUM.  */
1043e27abb66SXin LI static const yytype_int16 yypact[] =
1044e27abb66SXin LI {
1045*f391d6bcSXin LI       18,  -177,   -45,  -189,  -189,  -189,   -40,  -189,    32,     5,
1046*f391d6bcSXin LI     -129,  -189,    32,  -189,   204,   -44,  -189,  -117,  -189,  -110,
1047*f391d6bcSXin LI     -101,  -189,  -189,   -97,  -189,  -189,   -44,    -4,   495,   -44,
1048*f391d6bcSXin LI     -189,  -189,   -96,  -189,   -94,  -189,  -189,     8,    54,   258,
1049*f391d6bcSXin LI       10,   -28,  -189,  -189,   -89,   204,   -86,  -189,   270,   529,
1050*f391d6bcSXin LI      -85,   -56,    14,  -189,  -189,  -189,    83,   207,   -95,  -189,
1051*f391d6bcSXin LI      -44,  -189,   -44,  -189,  -189,  -189,  -189,  -189,  -189,  -189,
1052*f391d6bcSXin LI     -189,  -189,  -189,    -7,    24,   -73,   -68,  -189,    -3,  -189,
1053*f391d6bcSXin LI     -189,  -106,  -189,  -189,  -189,   313,  -189,  -189,  -189,  -189,
1054*f391d6bcSXin LI     -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,    32,  -189,
1055*f391d6bcSXin LI     -189,  -189,  -189,  -189,  -189,     5,  -189,    35,    65,  -189,
1056*f391d6bcSXin LI       32,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,
1057*f391d6bcSXin LI     -189,  -189,  -189,   110,  -189,   -59,   368,  -189,  -189,  -189,
1058*f391d6bcSXin LI      -97,  -189,  -189,   -44,  -189,  -189,  -189,  -189,  -189,  -189,
1059*f391d6bcSXin LI     -189,  -189,  -189,   495,  -189,    44,   -44,  -189,  -189,   -51,
1060*f391d6bcSXin LI     -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,    54,  -189,
1061*f391d6bcSXin LI     -189,    86,    89,  -189,  -189,    33,  -189,  -189,  -189,  -189,
1062*f391d6bcSXin LI      -28,  -189,    49,   -75,  -189,   204,  -189,  -189,  -189,  -189,
1063*f391d6bcSXin LI     -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,   270,  -189,
1064*f391d6bcSXin LI       -7,  -189,  -189,  -189,   -33,  -189,  -189,  -189,  -189,  -189,
1065*f391d6bcSXin LI     -189,  -189,  -189,   529,  -189,    66,    -7,  -189,  -189,    67,
1066*f391d6bcSXin LI      -56,  -189,  -189,  -189,    68,  -189,   -53,  -189,  -189,  -189,
1067*f391d6bcSXin LI     -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,    16,
1068*f391d6bcSXin LI     -153,  -189,  -189,  -189,  -189,  -189,    77,  -189,   -18,  -189,
1069*f391d6bcSXin LI     -189,  -189,  -189,   226,   -13,  -189,  -189,  -189,  -189,    -8,
1070*f391d6bcSXin LI       97,  -189,  -189,   110,  -189,    -7,   -33,  -189,  -189,  -189,
1071*f391d6bcSXin LI     -189,  -189,  -189,  -189,  -189,   449,  -189,  -189,   449,   449,
1072*f391d6bcSXin LI      -85,  -189,  -189,    11,  -189,  -189,  -189,  -189,  -189,  -189,
1073*f391d6bcSXin LI     -189,  -189,  -189,  -189,   -49,   108,  -189,  -189,  -189,   125,
1074*f391d6bcSXin LI     -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -102,   -20,
1075*f391d6bcSXin LI      -30,  -189,  -189,  -189,  -189,    13,  -189,  -189,     9,  -189,
1076e27abb66SXin LI     -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,
1077e27abb66SXin LI     -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,
1078*f391d6bcSXin LI     -189,  -189,  -189,  -189,   449,   449,  -189,   146,   -85,   113,
1079*f391d6bcSXin LI     -189,   116,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,
1080e27abb66SXin LI     -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,
1081*f391d6bcSXin LI     -189,   -54,  -189,    23,   -10,     6,  -138,  -189,    -9,  -189,
1082*f391d6bcSXin LI       -7,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,
1083*f391d6bcSXin LI      449,  -189,  -189,  -189,  -189,   -17,  -189,  -189,  -189,   -44,
1084*f391d6bcSXin LI     -189,  -189,  -189,    20,  -189,  -189,  -189,     0,    21,    -7,
1085*f391d6bcSXin LI       22,  -173,  -189,    25,    -7,  -189,  -189,  -189,    17,     7,
1086*f391d6bcSXin LI     -189,  -189,  -189,  -189,  -189,   217,    39,    36,  -189,    46,
1087*f391d6bcSXin LI     -189,    -7,  -189,  -189
1088e27abb66SXin LI };
1089e27abb66SXin LI 
1090e27abb66SXin LI   /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
1091e27abb66SXin LI      Performed when YYTABLE does not specify something else to do.  Zero
1092e27abb66SXin LI      means the default is an error.  */
1093e27abb66SXin LI static const yytype_uint16 yydefact[] =
1094e27abb66SXin LI {
1095*f391d6bcSXin LI        0,     0,     0,    24,    58,   236,     0,    71,     0,     0,
1096*f391d6bcSXin LI      248,   239,     0,   229,     0,     0,   241,     0,   261,     0,
1097*f391d6bcSXin LI        0,   242,   240,     0,   243,    25,     0,     0,     0,     0,
1098*f391d6bcSXin LI      262,   237,     0,    23,     0,   244,    22,     0,     0,     0,
1099*f391d6bcSXin LI        0,     0,   245,    21,     0,     0,     0,   238,     0,     0,
1100*f391d6bcSXin LI        0,     0,     0,    56,    57,   297,     0,     2,     0,     7,
1101e27abb66SXin LI        0,     8,     0,     9,    10,    13,    11,    12,    14,    15,
1102*f391d6bcSXin LI       16,    17,    18,     0,     0,     0,     0,   222,     0,   223,
1103*f391d6bcSXin LI       19,     0,     5,    62,    63,    64,   196,   197,   198,   199,
1104*f391d6bcSXin LI      202,   200,   201,   203,   204,   205,   206,   207,   191,   193,
1105*f391d6bcSXin LI      194,   195,   155,   156,   157,   127,   153,     0,   246,   230,
1106*f391d6bcSXin LI      190,   102,   103,   104,   105,   109,   106,   107,   108,   110,
1107*f391d6bcSXin LI       29,    30,    28,     0,    26,     0,     6,    65,    66,   258,
1108*f391d6bcSXin LI      231,   257,   290,    59,    61,   161,   162,   163,   164,   165,
1109*f391d6bcSXin LI      166,   167,   168,   128,   159,     0,    60,    70,   288,   232,
1110*f391d6bcSXin LI       67,   273,   274,   275,   276,   277,   278,   279,   270,   272,
1111*f391d6bcSXin LI      135,    29,    30,   135,   135,    26,    68,   189,   187,   188,
1112*f391d6bcSXin LI      183,   185,     0,     0,   233,    97,   101,    98,   212,   213,
1113*f391d6bcSXin LI      214,   215,   216,   217,   218,   219,   220,   221,   208,   210,
1114*f391d6bcSXin LI        0,    86,    92,    87,     0,    88,    96,    94,    95,    93,
1115*f391d6bcSXin LI       91,    89,    90,    80,    82,     0,     0,   252,   284,     0,
1116*f391d6bcSXin LI       69,   283,   285,   281,   235,     1,     0,     4,    31,    55,
1117*f391d6bcSXin LI      295,   294,   224,   225,   226,   227,   269,   268,   267,     0,
1118*f391d6bcSXin LI        0,    79,    75,    76,    77,    78,     0,    72,     0,   192,
1119*f391d6bcSXin LI      152,   154,   247,    99,     0,   179,   180,   181,   182,     0,
1120*f391d6bcSXin LI        0,   177,   178,   169,   171,     0,     0,    27,   228,   256,
1121*f391d6bcSXin LI      289,   158,   160,   287,   271,   131,   135,   135,   134,   129,
1122*f391d6bcSXin LI        0,   184,   186,     0,   100,   209,   211,   293,   291,   292,
1123*f391d6bcSXin LI       85,    81,    83,    84,   234,     0,   282,   280,     3,    20,
1124*f391d6bcSXin LI      263,   264,   265,   260,   266,   259,   301,   302,     0,     0,
1125*f391d6bcSXin LI        0,    74,    73,   119,   118,     0,   116,   117,     0,   111,
1126*f391d6bcSXin LI      114,   115,   175,   176,   174,   170,   172,   173,   137,   138,
1127e27abb66SXin LI      139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
1128*f391d6bcSXin LI      149,   150,   151,   136,   132,   133,   135,   251,     0,     0,
1129*f391d6bcSXin LI      253,     0,    37,    38,    39,    54,    47,    49,    48,    51,
1130*f391d6bcSXin LI       40,    41,    42,    43,    50,    52,    44,    32,    33,    36,
1131*f391d6bcSXin LI       34,     0,    35,     0,     0,     0,     0,   304,     0,   299,
1132*f391d6bcSXin LI        0,   112,   126,   122,   124,   120,   121,   123,   125,   113,
1133*f391d6bcSXin LI      130,   250,   249,   255,   254,     0,    45,    46,    53,     0,
1134*f391d6bcSXin LI      298,   296,   303,     0,   300,   286,   307,     0,     0,     0,
1135*f391d6bcSXin LI        0,     0,   309,     0,     0,   305,   308,   306,     0,     0,
1136*f391d6bcSXin LI      314,   315,   316,   317,   318,     0,     0,     0,   310,     0,
1137*f391d6bcSXin LI      312,     0,   311,   313
1138e27abb66SXin LI };
1139e27abb66SXin LI 
1140e27abb66SXin LI   /* YYPGOTO[NTERM-NUM].  */
1141e27abb66SXin LI static const yytype_int16 yypgoto[] =
1142e27abb66SXin LI {
1143*f391d6bcSXin LI     -189,  -189,  -189,   -48,  -189,  -189,   -15,   -38,  -189,  -189,
1144e27abb66SXin LI     -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,
1145*f391d6bcSXin LI     -189,  -189,  -189,  -189,  -189,  -189,    37,  -189,  -189,  -189,
1146*f391d6bcSXin LI     -189,   -42,  -189,  -189,  -189,  -189,  -189,  -189,  -159,  -189,
1147*f391d6bcSXin LI     -189,   131,  -189,  -189,    96,  -189,  -189,  -189,    -6,  -189,
1148*f391d6bcSXin LI     -189,  -189,  -189,    74,  -189,  -189,   236,   -71,  -189,  -189,
1149*f391d6bcSXin LI     -189,  -189,    62,  -189,  -189,  -189,  -189,  -189,  -189,  -189,
1150*f391d6bcSXin LI     -189,  -189,  -189,  -189,  -189,   122,  -189,  -189,  -189,  -189,
1151*f391d6bcSXin LI     -189,  -189,    95,  -189,  -189,    45,  -189,  -189,   225,     1,
1152*f391d6bcSXin LI     -188,  -189,  -189,  -189,   -39,  -189,  -189,  -103,  -189,  -189,
1153*f391d6bcSXin LI     -189,  -136,  -189,  -149,  -189
1154e27abb66SXin LI };
1155e27abb66SXin LI 
1156e27abb66SXin LI   /* YYDEFGOTO[NTERM-NUM].  */
1157e27abb66SXin LI static const yytype_int16 yydefgoto[] =
1158e27abb66SXin LI {
1159*f391d6bcSXin LI       -1,    56,    57,    58,    59,    60,   132,   124,   125,   289,
1160*f391d6bcSXin LI      357,   358,   359,   360,   361,   362,   363,    61,    62,    63,
1161*f391d6bcSXin LI       64,    85,   237,   238,    65,   203,   204,   205,   206,    66,
1162*f391d6bcSXin LI      175,   119,   243,   309,   310,   311,   379,    67,   265,   333,
1163*f391d6bcSXin LI      105,   106,   107,   143,   144,   145,    68,   253,   254,   255,
1164*f391d6bcSXin LI      256,    69,   170,   171,   172,    70,    98,    99,   100,   101,
1165e27abb66SXin LI       71,   188,   189,   190,    72,    73,    74,    75,    76,   109,
1166*f391d6bcSXin LI      174,   382,   284,   340,   130,   131,    77,    78,   295,   229,
1167*f391d6bcSXin LI       79,   158,   159,   214,   210,   211,   212,   149,   133,   280,
1168*f391d6bcSXin LI      222,    80,    81,   298,   299,   300,   366,   367,   398,   368,
1169*f391d6bcSXin LI      401,   402,   415,   416,   417
1170e27abb66SXin LI };
1171e27abb66SXin LI 
1172e27abb66SXin LI   /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
1173e27abb66SXin LI      positive, shift that token.  If negative, reduce the rule whose
1174e27abb66SXin LI      number is the opposite.  If YYTABLE_NINF, syntax error.  */
1175e27abb66SXin LI static const yytype_int16 yytable[] =
1176e27abb66SXin LI {
1177*f391d6bcSXin LI      123,   165,   276,   176,   268,   269,   208,   277,   386,   216,
1178*f391d6bcSXin LI      364,    82,   207,   372,   338,   167,   102,    83,   283,     1,
1179*f391d6bcSXin LI      400,   290,    84,   120,   164,   121,   220,   239,     2,   278,
1180*f391d6bcSXin LI      405,   108,   226,     3,     4,     5,   373,   296,   297,   239,
1181*f391d6bcSXin LI       86,     6,     7,   126,    87,   218,   364,   219,     8,     9,
1182*f391d6bcSXin LI      127,    88,    10,   227,    11,   221,    12,    13,   134,   128,
1183*f391d6bcSXin LI       14,   151,   152,   129,   147,   391,   148,   316,   168,    15,
1184*f391d6bcSXin LI      150,   173,   166,    16,   177,   122,   213,   228,   258,    17,
1185*f391d6bcSXin LI      153,    18,   291,   215,   292,   339,   223,   224,   296,   297,
1186*f391d6bcSXin LI       19,    20,   225,   217,    21,    22,   230,   241,   242,    23,
1187*f391d6bcSXin LI       24,   257,    89,    25,    26,   103,   262,   334,   335,   263,
1188*f391d6bcSXin LI      104,   272,    27,   244,   266,   374,   122,   267,   260,   154,
1189*f391d6bcSXin LI      270,   387,   375,   169,   273,    28,    29,    30,   282,   285,
1190*f391d6bcSXin LI      287,   260,    31,   274,   342,   288,    90,    91,   279,   301,
1191*f391d6bcSXin LI      376,    32,   302,   343,   209,   341,    33,   312,    34,   155,
1192*f391d6bcSXin LI       35,    36,   313,    92,   245,   246,   247,   248,    93,   314,
1193*f391d6bcSXin LI       37,    38,    39,    40,    41,    42,    43,    44,   369,   370,
1194*f391d6bcSXin LI       45,   337,    46,   371,   381,   384,   293,   380,   385,   344,
1195*f391d6bcSXin LI      345,    47,   394,   388,   395,    94,    48,    49,    50,   389,
1196*f391d6bcSXin LI       51,    52,   377,   393,   390,   378,   346,    53,    54,   399,
1197*f391d6bcSXin LI      294,   410,   411,   412,   413,   414,    -6,    55,    95,    96,
1198*f391d6bcSXin LI       97,   403,   397,   407,   400,   156,   408,     2,   347,   409,
1199*f391d6bcSXin LI      157,   404,     3,     4,     5,   111,   348,   420,   349,   112,
1200*f391d6bcSXin LI        6,     7,   336,   423,   422,   421,   240,     8,     9,   261,
1201*f391d6bcSXin LI      281,    10,   350,    11,   271,    12,    13,   315,   110,    14,
1202*f391d6bcSXin LI      275,   249,   259,   264,   146,   286,   303,   317,    15,   365,
1203*f391d6bcSXin LI      351,   352,    16,   392,   304,   406,   419,   305,    17,   250,
1204*f391d6bcSXin LI       18,     0,     0,     0,   251,   252,   178,     0,     0,    19,
1205*f391d6bcSXin LI       20,     0,     0,    21,    22,     0,   160,   113,    23,    24,
1206*f391d6bcSXin LI        0,     0,    25,    26,     0,     0,   353,     0,   354,     0,
1207*f391d6bcSXin LI      383,    27,   179,     0,     0,   306,   355,     0,     0,     0,
1208*f391d6bcSXin LI      356,     0,     0,     0,    28,    29,    30,     0,     0,     0,
1209*f391d6bcSXin LI      180,    31,     0,   181,     0,   161,     0,   162,     0,     0,
1210*f391d6bcSXin LI       32,     0,     0,   114,     0,    33,   307,    34,     0,    35,
1211*f391d6bcSXin LI       36,   115,   231,     0,   116,     0,     0,     0,     0,    37,
1212*f391d6bcSXin LI       38,    39,    40,    41,    42,    43,    44,     0,     0,    45,
1213*f391d6bcSXin LI        0,    46,     0,     0,     0,   232,   117,     0,   233,     0,
1214*f391d6bcSXin LI       47,   118,     0,     0,   396,    48,    49,    50,     2,    51,
1215*f391d6bcSXin LI       52,     0,     0,     3,     4,     5,    53,    54,     0,     0,
1216*f391d6bcSXin LI        0,     6,     7,     0,     0,    -6,    55,   182,     8,     9,
1217*f391d6bcSXin LI      308,     0,    10,     0,    11,     0,    12,    13,   163,     0,
1218*f391d6bcSXin LI       14,   410,   411,   412,   413,   414,     0,     0,   122,    15,
1219*f391d6bcSXin LI      418,     0,     0,    16,     0,   183,   184,   185,   186,    17,
1220*f391d6bcSXin LI        0,    18,     0,   187,     0,     0,     0,     0,     0,     0,
1221*f391d6bcSXin LI       19,    20,     0,     0,    21,    22,     0,     0,     0,    23,
1222*f391d6bcSXin LI       24,   234,   235,    25,    26,     0,     0,     0,   236,     0,
1223*f391d6bcSXin LI        0,     0,    27,     0,     0,     0,     0,     0,     0,     0,
1224*f391d6bcSXin LI        0,     0,     0,     0,     0,    28,    29,    30,     0,     0,
1225*f391d6bcSXin LI        0,     0,    31,     0,     0,     0,     0,     0,     0,     0,
1226*f391d6bcSXin LI        0,    32,     0,     0,     0,     0,    33,   318,    34,     0,
1227*f391d6bcSXin LI       35,    36,     0,     0,     0,   319,     0,     0,     0,     0,
1228*f391d6bcSXin LI       37,    38,    39,    40,    41,    42,    43,    44,     0,     0,
1229*f391d6bcSXin LI       45,     0,    46,   320,   321,     0,     0,   322,     0,     0,
1230*f391d6bcSXin LI        0,    47,     0,   323,     0,     0,    48,    49,    50,     0,
1231*f391d6bcSXin LI       51,    52,   191,   192,     0,     0,     0,    53,    54,   193,
1232*f391d6bcSXin LI        0,   194,   135,   136,   137,   138,     0,    55,     0,     0,
1233*f391d6bcSXin LI      324,   325,     0,     0,   326,   327,     0,   328,   329,   330,
1234*f391d6bcSXin LI        0,   331,     0,     0,     0,     0,     0,     0,   195,     0,
1235*f391d6bcSXin LI        0,     0,     0,   139,     0,   140,     0,   141,     0,     0,
1236*f391d6bcSXin LI        0,     0,     0,   142,     0,     0,     0,     0,     0,     0,
1237e27abb66SXin LI        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1238*f391d6bcSXin LI        0,     0,     0,     0,     0,     0,     0,     0,   196,     0,
1239*f391d6bcSXin LI      197,     0,     0,     0,     0,     0,   198,     0,   199,     0,
1240*f391d6bcSXin LI      332,   200,     0,     0,     0,     0,     0,     0,     0,     0,
1241e27abb66SXin LI        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1242*f391d6bcSXin LI        0,     0,     0,   201,   202
1243e27abb66SXin LI };
1244e27abb66SXin LI 
1245e27abb66SXin LI static const yytype_int16 yycheck[] =
1246e27abb66SXin LI {
1247*f391d6bcSXin LI       15,    39,   190,    45,   163,   164,    62,    40,    62,    57,
1248*f391d6bcSXin LI      148,   188,    50,     4,    63,    43,    11,    62,   206,     1,
1249*f391d6bcSXin LI      193,     5,    62,    67,    39,    69,    33,    98,    10,    62,
1250*f391d6bcSXin LI      203,   160,    35,    15,    16,    17,    27,   190,   191,   110,
1251*f391d6bcSXin LI        8,    23,    24,   160,    12,    60,   148,    62,    30,    31,
1252*f391d6bcSXin LI      160,    19,    34,    56,    36,    62,    38,    39,    62,   160,
1253*f391d6bcSXin LI       42,     7,     8,   160,   160,   203,   160,   255,    96,    51,
1254*f391d6bcSXin LI       62,   160,    62,    55,   160,   160,    62,    80,   126,    61,
1255*f391d6bcSXin LI       26,    63,    66,     0,    68,   134,    62,   160,   190,   191,
1256*f391d6bcSXin LI       72,    73,   160,   188,    76,    77,   202,    62,    33,    81,
1257*f391d6bcSXin LI       82,   160,    70,    85,    86,   100,    62,   266,   267,   160,
1258*f391d6bcSXin LI      105,    62,    94,     3,    28,   106,   160,    28,   133,    65,
1259*f391d6bcSXin LI       87,   175,   113,   151,   199,   107,   108,   109,    62,    62,
1260*f391d6bcSXin LI       62,   146,   114,   175,     9,   188,   104,   105,   171,    62,
1261*f391d6bcSXin LI      131,   123,   160,    18,   200,    37,   128,   160,   130,    95,
1262*f391d6bcSXin LI      132,   133,   160,   121,    44,    45,    46,    47,   126,    62,
1263*f391d6bcSXin LI      142,   143,   144,   145,   146,   147,   148,   149,   188,   199,
1264*f391d6bcSXin LI      152,   160,   154,   160,    28,    62,   160,   336,    62,    54,
1265*f391d6bcSXin LI       55,   163,   370,   160,   201,   153,   168,   169,   170,   199,
1266*f391d6bcSXin LI      172,   173,   183,   202,   188,   186,    71,   179,   180,   199,
1267*f391d6bcSXin LI      184,   194,   195,   196,   197,   198,   188,   189,   176,   177,
1268*f391d6bcSXin LI      178,   399,   192,   188,   193,   161,   404,    10,    93,   202,
1269*f391d6bcSXin LI      166,   199,    15,    16,    17,    21,   101,   188,   103,    25,
1270*f391d6bcSXin LI       23,    24,   270,   421,   188,   199,   105,    30,    31,   143,
1271*f391d6bcSXin LI      203,    34,   117,    36,   170,    38,    39,   253,    12,    42,
1272*f391d6bcSXin LI      188,   141,   130,   158,    29,   210,    30,   256,    51,   298,
1273*f391d6bcSXin LI      135,   136,    55,   366,    38,   401,   415,    41,    61,   159,
1274*f391d6bcSXin LI       63,    -1,    -1,    -1,   164,   165,     6,    -1,    -1,    72,
1275*f391d6bcSXin LI       73,    -1,    -1,    76,    77,    -1,    28,    83,    81,    82,
1276*f391d6bcSXin LI       -1,    -1,    85,    86,    -1,    -1,   171,    -1,   173,    -1,
1277*f391d6bcSXin LI      338,    94,    32,    -1,    -1,    79,   181,    -1,    -1,    -1,
1278*f391d6bcSXin LI      185,    -1,    -1,    -1,   107,   108,   109,    -1,    -1,    -1,
1279*f391d6bcSXin LI       50,   114,    -1,    53,    -1,    67,    -1,    69,    -1,    -1,
1280*f391d6bcSXin LI      123,    -1,    -1,   129,    -1,   128,   110,   130,    -1,   132,
1281*f391d6bcSXin LI      133,   137,    29,    -1,   140,    -1,    -1,    -1,    -1,   142,
1282*f391d6bcSXin LI      143,   144,   145,   146,   147,   148,   149,    -1,    -1,   152,
1283*f391d6bcSXin LI       -1,   154,    -1,    -1,    -1,    52,   162,    -1,    55,    -1,
1284*f391d6bcSXin LI      163,   167,    -1,    -1,   389,   168,   169,   170,    10,   172,
1285*f391d6bcSXin LI      173,    -1,    -1,    15,    16,    17,   179,   180,    -1,    -1,
1286*f391d6bcSXin LI       -1,    23,    24,    -1,    -1,   188,   189,   127,    30,    31,
1287*f391d6bcSXin LI      174,    -1,    34,    -1,    36,    -1,    38,    39,   150,    -1,
1288*f391d6bcSXin LI       42,   194,   195,   196,   197,   198,    -1,    -1,   160,    51,
1289*f391d6bcSXin LI      203,    -1,    -1,    55,    -1,   155,   156,   157,   158,    61,
1290*f391d6bcSXin LI       -1,    63,    -1,   163,    -1,    -1,    -1,    -1,    -1,    -1,
1291*f391d6bcSXin LI       72,    73,    -1,    -1,    76,    77,    -1,    -1,    -1,    81,
1292*f391d6bcSXin LI       82,   138,   139,    85,    86,    -1,    -1,    -1,   145,    -1,
1293*f391d6bcSXin LI       -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1294*f391d6bcSXin LI       -1,    -1,    -1,    -1,    -1,   107,   108,   109,    -1,    -1,
1295*f391d6bcSXin LI       -1,    -1,   114,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1296*f391d6bcSXin LI       -1,   123,    -1,    -1,    -1,    -1,   128,    48,   130,    -1,
1297*f391d6bcSXin LI      132,   133,    -1,    -1,    -1,    56,    -1,    -1,    -1,    -1,
1298*f391d6bcSXin LI      142,   143,   144,   145,   146,   147,   148,   149,    -1,    -1,
1299*f391d6bcSXin LI      152,    -1,   154,    74,    75,    -1,    -1,    78,    -1,    -1,
1300*f391d6bcSXin LI       -1,   163,    -1,    84,    -1,    -1,   168,   169,   170,    -1,
1301*f391d6bcSXin LI      172,   173,    13,    14,    -1,    -1,    -1,   179,   180,    20,
1302*f391d6bcSXin LI       -1,    22,    57,    58,    59,    60,    -1,   189,    -1,    -1,
1303*f391d6bcSXin LI      111,   112,    -1,    -1,   115,   116,    -1,   118,   119,   120,
1304*f391d6bcSXin LI       -1,   122,    -1,    -1,    -1,    -1,    -1,    -1,    49,    -1,
1305*f391d6bcSXin LI       -1,    -1,    -1,    88,    -1,    90,    -1,    92,    -1,    -1,
1306*f391d6bcSXin LI       -1,    -1,    -1,    98,    -1,    -1,    -1,    -1,    -1,    -1,
1307e27abb66SXin LI       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1308*f391d6bcSXin LI       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    89,    -1,
1309*f391d6bcSXin LI       91,    -1,    -1,    -1,    -1,    -1,    97,    -1,    99,    -1,
1310*f391d6bcSXin LI      181,   102,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1311e27abb66SXin LI       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1312*f391d6bcSXin LI       -1,    -1,    -1,   124,   125
1313e27abb66SXin LI };
1314e27abb66SXin LI 
1315e27abb66SXin LI   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1316e27abb66SXin LI      symbol of state STATE-NUM.  */
1317e27abb66SXin LI static const yytype_uint16 yystos[] =
1318e27abb66SXin LI {
1319*f391d6bcSXin LI        0,     1,    10,    15,    16,    17,    23,    24,    30,    31,
1320*f391d6bcSXin LI       34,    36,    38,    39,    42,    51,    55,    61,    63,    72,
1321*f391d6bcSXin LI       73,    76,    77,    81,    82,    85,    86,    94,   107,   108,
1322*f391d6bcSXin LI      109,   114,   123,   128,   130,   132,   133,   142,   143,   144,
1323*f391d6bcSXin LI      145,   146,   147,   148,   149,   152,   154,   163,   168,   169,
1324*f391d6bcSXin LI      170,   172,   173,   179,   180,   189,   205,   206,   207,   208,
1325*f391d6bcSXin LI      209,   221,   222,   223,   224,   228,   233,   241,   250,   255,
1326*f391d6bcSXin LI      259,   264,   268,   269,   270,   271,   272,   280,   281,   284,
1327*f391d6bcSXin LI      295,   296,   188,    62,    62,   225,     8,    12,    19,    70,
1328*f391d6bcSXin LI      104,   105,   121,   126,   153,   176,   177,   178,   260,   261,
1329*f391d6bcSXin LI      262,   263,    11,   100,   105,   244,   245,   246,   160,   273,
1330*f391d6bcSXin LI      260,    21,    25,    83,   129,   137,   140,   162,   167,   235,
1331*f391d6bcSXin LI       67,    69,   160,   210,   211,   212,   160,   160,   160,   160,
1332*f391d6bcSXin LI      278,   279,   210,   292,    62,    57,    58,    59,    60,    88,
1333*f391d6bcSXin LI       90,    92,    98,   247,   248,   249,   292,   160,   160,   291,
1334*f391d6bcSXin LI       62,     7,     8,    26,    65,    95,   161,   166,   285,   286,
1335*f391d6bcSXin LI       28,    67,    69,   150,   210,   211,    62,    43,    96,   151,
1336*f391d6bcSXin LI      256,   257,   258,   160,   274,   234,   235,   160,     6,    32,
1337*f391d6bcSXin LI       50,    53,   127,   155,   156,   157,   158,   163,   265,   266,
1338*f391d6bcSXin LI      267,    13,    14,    20,    22,    49,    89,    91,    97,    99,
1339*f391d6bcSXin LI      102,   124,   125,   229,   230,   231,   232,   211,    62,   200,
1340*f391d6bcSXin LI      288,   289,   290,    62,   287,     0,   207,   188,   210,   210,
1341*f391d6bcSXin LI       33,    62,   294,    62,   160,   160,    35,    56,    80,   283,
1342*f391d6bcSXin LI      202,    29,    52,    55,   138,   139,   145,   226,   227,   261,
1343*f391d6bcSXin LI      245,    62,    33,   236,     3,    44,    45,    46,    47,   141,
1344*f391d6bcSXin LI      159,   164,   165,   251,   252,   253,   254,   160,   207,   279,
1345*f391d6bcSXin LI      210,   248,    62,   160,   286,   242,    28,    28,   242,   242,
1346*f391d6bcSXin LI       87,   257,    62,   199,   235,   266,   294,    40,    62,   171,
1347*f391d6bcSXin LI      293,   230,    62,   294,   276,    62,   289,    62,   188,   213,
1348*f391d6bcSXin LI        5,    66,    68,   160,   184,   282,   190,   191,   297,   298,
1349*f391d6bcSXin LI      299,    62,   160,    30,    38,    41,    79,   110,   174,   237,
1350*f391d6bcSXin LI      238,   239,   160,   160,    62,   252,   294,   293,    48,    56,
1351*f391d6bcSXin LI       74,    75,    78,    84,   111,   112,   115,   116,   118,   119,
1352*f391d6bcSXin LI      120,   122,   181,   243,   242,   242,   211,   160,    63,   134,
1353*f391d6bcSXin LI      277,    37,     9,    18,    54,    55,    71,    93,   101,   103,
1354*f391d6bcSXin LI      117,   135,   136,   171,   173,   181,   185,   214,   215,   216,
1355*f391d6bcSXin LI      217,   218,   219,   220,   148,   298,   300,   301,   303,   188,
1356*f391d6bcSXin LI      199,   160,     4,    27,   106,   113,   131,   183,   186,   240,
1357*f391d6bcSXin LI      242,    28,   275,   211,    62,    62,    62,   175,   160,   199,
1358*f391d6bcSXin LI      188,   203,   301,   202,   294,   201,   210,   192,   302,   199,
1359*f391d6bcSXin LI      193,   304,   305,   294,   199,   203,   305,   188,   294,   202,
1360*f391d6bcSXin LI      194,   195,   196,   197,   198,   306,   307,   308,   203,   307,
1361*f391d6bcSXin LI      188,   199,   188,   294
1362e27abb66SXin LI };
1363e27abb66SXin LI 
13649034852cSGleb Smirnoff   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
13659034852cSGleb Smirnoff static const yytype_uint16 yyr1[] =
13669034852cSGleb Smirnoff {
1367*f391d6bcSXin LI        0,   204,   205,   206,   206,   206,   207,   207,   207,   207,
1368*f391d6bcSXin LI      207,   207,   207,   207,   207,   207,   207,   207,   207,   207,
1369*f391d6bcSXin LI      208,   209,   209,   209,   209,   209,   210,   210,   211,   212,
1370*f391d6bcSXin LI      212,   213,   213,   214,   214,   214,   215,   216,   216,   216,
1371*f391d6bcSXin LI      216,   216,   216,   216,   216,   217,   217,   218,   218,   218,
1372*f391d6bcSXin LI      218,   218,   218,   219,   220,   221,   222,   222,   223,   223,
1373*f391d6bcSXin LI      223,   223,   224,   224,   224,   224,   224,   224,   224,   224,
1374*f391d6bcSXin LI      224,   225,   225,   226,   226,   227,   227,   227,   227,   227,
1375*f391d6bcSXin LI      228,   229,   229,   230,   230,   230,   231,   231,   231,   231,
1376*f391d6bcSXin LI      231,   231,   231,   232,   232,   232,   232,   233,   233,   233,
1377*f391d6bcSXin LI      234,   234,   235,   235,   235,   235,   235,   235,   235,   235,
1378*f391d6bcSXin LI      236,   236,   237,   237,   237,   237,   238,   238,   239,   239,
1379*f391d6bcSXin LI      240,   240,   240,   240,   240,   240,   240,   241,   241,   241,
1380*f391d6bcSXin LI      241,   241,   241,   241,   241,   242,   242,   243,   243,   243,
1381*f391d6bcSXin LI      243,   243,   243,   243,   243,   243,   243,   243,   243,   243,
1382*f391d6bcSXin LI      243,   243,   244,   244,   245,   246,   246,   246,   247,   247,
1383*f391d6bcSXin LI      248,   249,   249,   249,   249,   249,   249,   249,   249,   250,
1384*f391d6bcSXin LI      251,   251,   252,   252,   252,   252,   252,   253,   253,   254,
1385*f391d6bcSXin LI      254,   254,   254,   255,   256,   256,   257,   258,   258,   258,
1386*f391d6bcSXin LI      259,   259,   260,   260,   261,   261,   262,   262,   262,   262,
1387*f391d6bcSXin LI      262,   262,   263,   263,   263,   263,   263,   263,   264,   265,
1388*f391d6bcSXin LI      265,   266,   267,   267,   267,   267,   267,   267,   267,   267,
1389*f391d6bcSXin LI      267,   267,   268,   268,   268,   268,   268,   268,   268,   268,
1390*f391d6bcSXin LI      268,   268,   268,   268,   268,   268,   269,   269,   269,   270,
1391*f391d6bcSXin LI      270,   271,   271,   272,   272,   272,   273,   273,   273,   274,
1392*f391d6bcSXin LI      275,   275,   276,   276,   277,   277,   278,   278,   279,   280,
1393*f391d6bcSXin LI      280,   281,   281,   282,   282,   282,   282,   283,   283,   283,
1394*f391d6bcSXin LI      284,   285,   285,   286,   286,   286,   286,   286,   286,   286,
1395*f391d6bcSXin LI      287,   287,   288,   288,   289,   289,   290,   291,   291,   292,
1396*f391d6bcSXin LI      292,   293,   293,   293,   294,   294,   295,   296,   297,   297,
1397*f391d6bcSXin LI      298,   299,   299,   300,   300,   301,   302,   303,   304,   304,
1398*f391d6bcSXin LI      305,   306,   306,   307,   308,   308,   308,   308,   308
13999034852cSGleb Smirnoff };
14009034852cSGleb Smirnoff 
1401e27abb66SXin LI   /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
14029034852cSGleb Smirnoff static const yytype_uint8 yyr2[] =
14039034852cSGleb Smirnoff {
14049034852cSGleb Smirnoff        0,     2,     1,     3,     2,     2,     0,     1,     1,     1,
14059034852cSGleb Smirnoff        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
14069034852cSGleb Smirnoff        3,     1,     1,     1,     1,     1,     1,     2,     1,     1,
14079034852cSGleb Smirnoff        1,     0,     2,     1,     1,     1,     1,     1,     1,     1,
14089034852cSGleb Smirnoff        1,     1,     1,     1,     1,     2,     2,     1,     1,     1,
14099034852cSGleb Smirnoff        1,     1,     1,     2,     1,     2,     1,     1,     1,     2,
14109034852cSGleb Smirnoff        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
14119034852cSGleb Smirnoff        2,     0,     2,     2,     2,     1,     1,     1,     1,     1,
14129034852cSGleb Smirnoff        2,     2,     1,     2,     2,     2,     1,     1,     1,     1,
1413*f391d6bcSXin LI        1,     1,     1,     1,     1,     1,     1,     2,     2,     3,
1414e27abb66SXin LI        2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1415*f391d6bcSXin LI        0,     2,     2,     2,     1,     1,     1,     1,     1,     1,
1416*f391d6bcSXin LI        1,     1,     1,     1,     1,     1,     1,     2,     2,     3,
1417*f391d6bcSXin LI        5,     3,     4,     4,     3,     0,     2,     1,     1,     1,
1418*f391d6bcSXin LI        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1419*f391d6bcSXin LI        1,     1,     2,     1,     2,     1,     1,     1,     2,     1,
1420*f391d6bcSXin LI        2,     1,     1,     1,     1,     1,     1,     1,     1,     3,
1421*f391d6bcSXin LI        2,     1,     2,     2,     2,     2,     2,     1,     1,     1,
1422*f391d6bcSXin LI        1,     1,     1,     2,     2,     1,     2,     1,     1,     1,
1423*f391d6bcSXin LI        2,     2,     2,     1,     1,     1,     1,     1,     1,     1,
1424*f391d6bcSXin LI        1,     1,     1,     1,     1,     1,     1,     1,     2,     2,
1425*f391d6bcSXin LI        1,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1426*f391d6bcSXin LI        1,     1,     1,     1,     2,     2,     2,     2,     3,     1,
1427*f391d6bcSXin LI        2,     2,     2,     2,     3,     2,     1,     1,     1,     1,
1428*f391d6bcSXin LI        1,     1,     1,     1,     1,     1,     1,     2,     0,     4,
1429*f391d6bcSXin LI        1,     0,     0,     2,     2,     2,     2,     1,     1,     3,
1430*f391d6bcSXin LI        3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1431*f391d6bcSXin LI        2,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1432*f391d6bcSXin LI        2,     1,     2,     1,     1,     1,     5,     2,     1,     2,
1433*f391d6bcSXin LI        1,     1,     1,     1,     1,     1,     5,     1,     3,     2,
1434*f391d6bcSXin LI        3,     1,     1,     2,     1,     5,     4,     3,     2,     1,
1435*f391d6bcSXin LI        6,     3,     2,     3,     1,     1,     1,     1,     1
14369034852cSGleb Smirnoff };
14379034852cSGleb Smirnoff 
14389034852cSGleb Smirnoff 
14392b15cb3dSCy Schubert #define yyerrok         (yyerrstatus = 0)
14402b15cb3dSCy Schubert #define yyclearin       (yychar = YYEMPTY)
14412b15cb3dSCy Schubert #define YYEMPTY         (-2)
14422b15cb3dSCy Schubert #define YYEOF           0
14432b15cb3dSCy Schubert 
14442b15cb3dSCy Schubert #define YYACCEPT        goto yyacceptlab
14452b15cb3dSCy Schubert #define YYABORT         goto yyabortlab
14462b15cb3dSCy Schubert #define YYERROR         goto yyerrorlab
14472b15cb3dSCy Schubert 
14482b15cb3dSCy Schubert 
14492b15cb3dSCy Schubert #define YYRECOVERING()  (!!yyerrstatus)
14502b15cb3dSCy Schubert 
14512b15cb3dSCy Schubert #define YYBACKUP(Token, Value)                                  \
14522b15cb3dSCy Schubert do                                                              \
14532b15cb3dSCy Schubert   if (yychar == YYEMPTY)                                        \
14542b15cb3dSCy Schubert     {                                                           \
14552b15cb3dSCy Schubert       yychar = (Token);                                         \
14562b15cb3dSCy Schubert       yylval = (Value);                                         \
14572b15cb3dSCy Schubert       YYPOPSTACK (yylen);                                       \
14582b15cb3dSCy Schubert       yystate = *yyssp;                                         \
14592b15cb3dSCy Schubert       goto yybackup;                                            \
14602b15cb3dSCy Schubert     }                                                           \
14612b15cb3dSCy Schubert   else                                                          \
14622b15cb3dSCy Schubert     {                                                           \
1463276da39aSCy Schubert       yyerror (YY_("syntax error: cannot back up")); \
14642b15cb3dSCy Schubert       YYERROR;                                                  \
14652b15cb3dSCy Schubert     }                                                           \
1466e27abb66SXin LI while (0)
14672b15cb3dSCy Schubert 
14682b15cb3dSCy Schubert /* Error token number */
14692b15cb3dSCy Schubert #define YYTERROR        1
14702b15cb3dSCy Schubert #define YYERRCODE       256
14712b15cb3dSCy Schubert 
14722b15cb3dSCy Schubert 
14732b15cb3dSCy Schubert 
14742b15cb3dSCy Schubert /* Enable debugging if requested.  */
14752b15cb3dSCy Schubert #if YYDEBUG
14762b15cb3dSCy Schubert 
14772b15cb3dSCy Schubert # ifndef YYFPRINTF
14782b15cb3dSCy Schubert #  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
14792b15cb3dSCy Schubert #  define YYFPRINTF fprintf
14802b15cb3dSCy Schubert # endif
14812b15cb3dSCy Schubert 
14822b15cb3dSCy Schubert # define YYDPRINTF(Args)                        \
14832b15cb3dSCy Schubert do {                                            \
14842b15cb3dSCy Schubert   if (yydebug)                                  \
14852b15cb3dSCy Schubert     YYFPRINTF Args;                             \
1486e27abb66SXin LI } while (0)
1487e27abb66SXin LI 
1488e27abb66SXin LI /* This macro is provided for backward compatibility. */
1489e27abb66SXin LI #ifndef YY_LOCATION_PRINT
1490e27abb66SXin LI # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
1491e27abb66SXin LI #endif
1492e27abb66SXin LI 
14932b15cb3dSCy Schubert 
14942b15cb3dSCy Schubert # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
14952b15cb3dSCy Schubert do {                                                                      \
14962b15cb3dSCy Schubert   if (yydebug)                                                            \
14972b15cb3dSCy Schubert     {                                                                     \
14982b15cb3dSCy Schubert       YYFPRINTF (stderr, "%s ", Title);                                   \
14992b15cb3dSCy Schubert       yy_symbol_print (stderr,                                            \
1500276da39aSCy Schubert                   Type, Value); \
15012b15cb3dSCy Schubert       YYFPRINTF (stderr, "\n");                                           \
15022b15cb3dSCy Schubert     }                                                                     \
1503e27abb66SXin LI } while (0)
15042b15cb3dSCy Schubert 
15052b15cb3dSCy Schubert 
1506e27abb66SXin LI /*----------------------------------------.
1507e27abb66SXin LI | Print this symbol's value on YYOUTPUT.  |
1508e27abb66SXin LI `----------------------------------------*/
15092b15cb3dSCy Schubert 
15102b15cb3dSCy Schubert static void
1511276da39aSCy Schubert yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
15122b15cb3dSCy Schubert {
15132b15cb3dSCy Schubert   FILE *yyo = yyoutput;
15142b15cb3dSCy Schubert   YYUSE (yyo);
15152b15cb3dSCy Schubert   if (!yyvaluep)
15162b15cb3dSCy Schubert     return;
15172b15cb3dSCy Schubert # ifdef YYPRINT
15182b15cb3dSCy Schubert   if (yytype < YYNTOKENS)
15192b15cb3dSCy Schubert     YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
15202b15cb3dSCy Schubert # endif
15212b15cb3dSCy Schubert   YYUSE (yytype);
15222b15cb3dSCy Schubert }
15232b15cb3dSCy Schubert 
15242b15cb3dSCy Schubert 
15252b15cb3dSCy Schubert /*--------------------------------.
15262b15cb3dSCy Schubert | Print this symbol on YYOUTPUT.  |
15272b15cb3dSCy Schubert `--------------------------------*/
15282b15cb3dSCy Schubert 
15292b15cb3dSCy Schubert static void
1530276da39aSCy Schubert yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
15312b15cb3dSCy Schubert {
1532e27abb66SXin LI   YYFPRINTF (yyoutput, "%s %s (",
1533e27abb66SXin LI              yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
15342b15cb3dSCy Schubert 
1535276da39aSCy Schubert   yy_symbol_value_print (yyoutput, yytype, yyvaluep);
15362b15cb3dSCy Schubert   YYFPRINTF (yyoutput, ")");
15372b15cb3dSCy Schubert }
15382b15cb3dSCy Schubert 
15392b15cb3dSCy Schubert /*------------------------------------------------------------------.
15402b15cb3dSCy Schubert | yy_stack_print -- Print the state stack from its BOTTOM up to its |
15412b15cb3dSCy Schubert | TOP (included).                                                   |
15422b15cb3dSCy Schubert `------------------------------------------------------------------*/
15432b15cb3dSCy Schubert 
15442b15cb3dSCy Schubert static void
15452b15cb3dSCy Schubert yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
15462b15cb3dSCy Schubert {
15472b15cb3dSCy Schubert   YYFPRINTF (stderr, "Stack now");
15482b15cb3dSCy Schubert   for (; yybottom <= yytop; yybottom++)
15492b15cb3dSCy Schubert     {
15502b15cb3dSCy Schubert       int yybot = *yybottom;
15512b15cb3dSCy Schubert       YYFPRINTF (stderr, " %d", yybot);
15522b15cb3dSCy Schubert     }
15532b15cb3dSCy Schubert   YYFPRINTF (stderr, "\n");
15542b15cb3dSCy Schubert }
15552b15cb3dSCy Schubert 
15562b15cb3dSCy Schubert # define YY_STACK_PRINT(Bottom, Top)                            \
15572b15cb3dSCy Schubert do {                                                            \
15582b15cb3dSCy Schubert   if (yydebug)                                                  \
15592b15cb3dSCy Schubert     yy_stack_print ((Bottom), (Top));                           \
1560e27abb66SXin LI } while (0)
15612b15cb3dSCy Schubert 
15622b15cb3dSCy Schubert 
15632b15cb3dSCy Schubert /*------------------------------------------------.
15642b15cb3dSCy Schubert | Report that the YYRULE is going to be reduced.  |
15652b15cb3dSCy Schubert `------------------------------------------------*/
15662b15cb3dSCy Schubert 
15672b15cb3dSCy Schubert static void
1568e27abb66SXin LI yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule)
15692b15cb3dSCy Schubert {
1570e27abb66SXin LI   unsigned long int yylno = yyrline[yyrule];
15712b15cb3dSCy Schubert   int yynrhs = yyr2[yyrule];
15722b15cb3dSCy Schubert   int yyi;
15732b15cb3dSCy Schubert   YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
15742b15cb3dSCy Schubert              yyrule - 1, yylno);
15752b15cb3dSCy Schubert   /* The symbols being reduced.  */
15762b15cb3dSCy Schubert   for (yyi = 0; yyi < yynrhs; yyi++)
15772b15cb3dSCy Schubert     {
15782b15cb3dSCy Schubert       YYFPRINTF (stderr, "   $%d = ", yyi + 1);
1579e27abb66SXin LI       yy_symbol_print (stderr,
1580e27abb66SXin LI                        yystos[yyssp[yyi + 1 - yynrhs]],
15812b15cb3dSCy Schubert                        &(yyvsp[(yyi + 1) - (yynrhs)])
1582276da39aSCy Schubert                                               );
15832b15cb3dSCy Schubert       YYFPRINTF (stderr, "\n");
15842b15cb3dSCy Schubert     }
15852b15cb3dSCy Schubert }
15862b15cb3dSCy Schubert 
15872b15cb3dSCy Schubert # define YY_REDUCE_PRINT(Rule)          \
15882b15cb3dSCy Schubert do {                                    \
15892b15cb3dSCy Schubert   if (yydebug)                          \
1590e27abb66SXin LI     yy_reduce_print (yyssp, yyvsp, Rule); \
1591e27abb66SXin LI } while (0)
15922b15cb3dSCy Schubert 
15932b15cb3dSCy Schubert /* Nonzero means print parse trace.  It is left uninitialized so that
15942b15cb3dSCy Schubert    multiple parsers can coexist.  */
15952b15cb3dSCy Schubert int yydebug;
15962b15cb3dSCy Schubert #else /* !YYDEBUG */
15972b15cb3dSCy Schubert # define YYDPRINTF(Args)
15982b15cb3dSCy Schubert # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
15992b15cb3dSCy Schubert # define YY_STACK_PRINT(Bottom, Top)
16002b15cb3dSCy Schubert # define YY_REDUCE_PRINT(Rule)
16012b15cb3dSCy Schubert #endif /* !YYDEBUG */
16022b15cb3dSCy Schubert 
16032b15cb3dSCy Schubert 
16042b15cb3dSCy Schubert /* YYINITDEPTH -- initial size of the parser's stacks.  */
16052b15cb3dSCy Schubert #ifndef YYINITDEPTH
16062b15cb3dSCy Schubert # define YYINITDEPTH 200
16072b15cb3dSCy Schubert #endif
16082b15cb3dSCy Schubert 
16092b15cb3dSCy Schubert /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
16102b15cb3dSCy Schubert    if the built-in stack extension method is used).
16112b15cb3dSCy Schubert 
16122b15cb3dSCy Schubert    Do not make this value too large; the results are undefined if
16132b15cb3dSCy Schubert    YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
16142b15cb3dSCy Schubert    evaluated with infinite-precision integer arithmetic.  */
16152b15cb3dSCy Schubert 
16162b15cb3dSCy Schubert #ifndef YYMAXDEPTH
16172b15cb3dSCy Schubert # define YYMAXDEPTH 10000
16182b15cb3dSCy Schubert #endif
16192b15cb3dSCy Schubert 
16202b15cb3dSCy Schubert 
16212b15cb3dSCy Schubert #if YYERROR_VERBOSE
16222b15cb3dSCy Schubert 
16232b15cb3dSCy Schubert # ifndef yystrlen
16242b15cb3dSCy Schubert #  if defined __GLIBC__ && defined _STRING_H
16252b15cb3dSCy Schubert #   define yystrlen strlen
16262b15cb3dSCy Schubert #  else
16272b15cb3dSCy Schubert /* Return the length of YYSTR.  */
16282b15cb3dSCy Schubert static YYSIZE_T
16292b15cb3dSCy Schubert yystrlen (const char *yystr)
16302b15cb3dSCy Schubert {
16312b15cb3dSCy Schubert   YYSIZE_T yylen;
16322b15cb3dSCy Schubert   for (yylen = 0; yystr[yylen]; yylen++)
16332b15cb3dSCy Schubert     continue;
16342b15cb3dSCy Schubert   return yylen;
16352b15cb3dSCy Schubert }
16362b15cb3dSCy Schubert #  endif
16372b15cb3dSCy Schubert # endif
16382b15cb3dSCy Schubert 
16392b15cb3dSCy Schubert # ifndef yystpcpy
16402b15cb3dSCy Schubert #  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
16412b15cb3dSCy Schubert #   define yystpcpy stpcpy
16422b15cb3dSCy Schubert #  else
16432b15cb3dSCy Schubert /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
16442b15cb3dSCy Schubert    YYDEST.  */
16452b15cb3dSCy Schubert static char *
16462b15cb3dSCy Schubert yystpcpy (char *yydest, const char *yysrc)
16472b15cb3dSCy Schubert {
16482b15cb3dSCy Schubert   char *yyd = yydest;
16492b15cb3dSCy Schubert   const char *yys = yysrc;
16502b15cb3dSCy Schubert 
16512b15cb3dSCy Schubert   while ((*yyd++ = *yys++) != '\0')
16522b15cb3dSCy Schubert     continue;
16532b15cb3dSCy Schubert 
16542b15cb3dSCy Schubert   return yyd - 1;
16552b15cb3dSCy Schubert }
16562b15cb3dSCy Schubert #  endif
16572b15cb3dSCy Schubert # endif
16582b15cb3dSCy Schubert 
16592b15cb3dSCy Schubert # ifndef yytnamerr
16602b15cb3dSCy Schubert /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
16612b15cb3dSCy Schubert    quotes and backslashes, so that it's suitable for yyerror.  The
16622b15cb3dSCy Schubert    heuristic is that double-quoting is unnecessary unless the string
16632b15cb3dSCy Schubert    contains an apostrophe, a comma, or backslash (other than
16642b15cb3dSCy Schubert    backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
16652b15cb3dSCy Schubert    null, do not copy; instead, return the length of what the result
16662b15cb3dSCy Schubert    would have been.  */
16672b15cb3dSCy Schubert static YYSIZE_T
16682b15cb3dSCy Schubert yytnamerr (char *yyres, const char *yystr)
16692b15cb3dSCy Schubert {
16702b15cb3dSCy Schubert   if (*yystr == '"')
16712b15cb3dSCy Schubert     {
16722b15cb3dSCy Schubert       YYSIZE_T yyn = 0;
16732b15cb3dSCy Schubert       char const *yyp = yystr;
16742b15cb3dSCy Schubert 
16752b15cb3dSCy Schubert       for (;;)
16762b15cb3dSCy Schubert         switch (*++yyp)
16772b15cb3dSCy Schubert           {
16782b15cb3dSCy Schubert           case '\'':
16792b15cb3dSCy Schubert           case ',':
16802b15cb3dSCy Schubert             goto do_not_strip_quotes;
16812b15cb3dSCy Schubert 
16822b15cb3dSCy Schubert           case '\\':
16832b15cb3dSCy Schubert             if (*++yyp != '\\')
16842b15cb3dSCy Schubert               goto do_not_strip_quotes;
16852b15cb3dSCy Schubert             /* Fall through.  */
16862b15cb3dSCy Schubert           default:
16872b15cb3dSCy Schubert             if (yyres)
16882b15cb3dSCy Schubert               yyres[yyn] = *yyp;
16892b15cb3dSCy Schubert             yyn++;
16902b15cb3dSCy Schubert             break;
16912b15cb3dSCy Schubert 
16922b15cb3dSCy Schubert           case '"':
16932b15cb3dSCy Schubert             if (yyres)
16942b15cb3dSCy Schubert               yyres[yyn] = '\0';
16952b15cb3dSCy Schubert             return yyn;
16962b15cb3dSCy Schubert           }
16972b15cb3dSCy Schubert     do_not_strip_quotes: ;
16982b15cb3dSCy Schubert     }
16992b15cb3dSCy Schubert 
17002b15cb3dSCy Schubert   if (! yyres)
17012b15cb3dSCy Schubert     return yystrlen (yystr);
17022b15cb3dSCy Schubert 
17032b15cb3dSCy Schubert   return yystpcpy (yyres, yystr) - yyres;
17042b15cb3dSCy Schubert }
17052b15cb3dSCy Schubert # endif
17062b15cb3dSCy Schubert 
17072b15cb3dSCy Schubert /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
17082b15cb3dSCy Schubert    about the unexpected token YYTOKEN for the state stack whose top is
17092b15cb3dSCy Schubert    YYSSP.
17102b15cb3dSCy Schubert 
17112b15cb3dSCy Schubert    Return 0 if *YYMSG was successfully written.  Return 1 if *YYMSG is
17122b15cb3dSCy Schubert    not large enough to hold the message.  In that case, also set
17132b15cb3dSCy Schubert    *YYMSG_ALLOC to the required number of bytes.  Return 2 if the
17142b15cb3dSCy Schubert    required number of bytes is too large to store.  */
17152b15cb3dSCy Schubert static int
17162b15cb3dSCy Schubert yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
17172b15cb3dSCy Schubert                 yytype_int16 *yyssp, int yytoken)
17182b15cb3dSCy Schubert {
1719e27abb66SXin LI   YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
17202b15cb3dSCy Schubert   YYSIZE_T yysize = yysize0;
17212b15cb3dSCy Schubert   enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
17222b15cb3dSCy Schubert   /* Internationalized format string. */
1723e27abb66SXin LI   const char *yyformat = YY_NULLPTR;
17242b15cb3dSCy Schubert   /* Arguments of yyformat. */
17252b15cb3dSCy Schubert   char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
17262b15cb3dSCy Schubert   /* Number of reported tokens (one for the "unexpected", one per
17272b15cb3dSCy Schubert      "expected"). */
17282b15cb3dSCy Schubert   int yycount = 0;
17292b15cb3dSCy Schubert 
17302b15cb3dSCy Schubert   /* There are many possibilities here to consider:
17312b15cb3dSCy Schubert      - If this state is a consistent state with a default action, then
17322b15cb3dSCy Schubert        the only way this function was invoked is if the default action
17332b15cb3dSCy Schubert        is an error action.  In that case, don't check for expected
17342b15cb3dSCy Schubert        tokens because there are none.
17352b15cb3dSCy Schubert      - The only way there can be no lookahead present (in yychar) is if
17362b15cb3dSCy Schubert        this state is a consistent state with a default action.  Thus,
17372b15cb3dSCy Schubert        detecting the absence of a lookahead is sufficient to determine
17382b15cb3dSCy Schubert        that there is no unexpected or expected token to report.  In that
17392b15cb3dSCy Schubert        case, just report a simple "syntax error".
17402b15cb3dSCy Schubert      - Don't assume there isn't a lookahead just because this state is a
17412b15cb3dSCy Schubert        consistent state with a default action.  There might have been a
17422b15cb3dSCy Schubert        previous inconsistent state, consistent state with a non-default
17432b15cb3dSCy Schubert        action, or user semantic action that manipulated yychar.
17442b15cb3dSCy Schubert      - Of course, the expected token list depends on states to have
17452b15cb3dSCy Schubert        correct lookahead information, and it depends on the parser not
17462b15cb3dSCy Schubert        to perform extra reductions after fetching a lookahead from the
17472b15cb3dSCy Schubert        scanner and before detecting a syntax error.  Thus, state merging
17482b15cb3dSCy Schubert        (from LALR or IELR) and default reductions corrupt the expected
17492b15cb3dSCy Schubert        token list.  However, the list is correct for canonical LR with
17502b15cb3dSCy Schubert        one exception: it will still contain any token that will not be
17512b15cb3dSCy Schubert        accepted due to an error action in a later state.
17522b15cb3dSCy Schubert   */
17532b15cb3dSCy Schubert   if (yytoken != YYEMPTY)
17542b15cb3dSCy Schubert     {
17552b15cb3dSCy Schubert       int yyn = yypact[*yyssp];
17562b15cb3dSCy Schubert       yyarg[yycount++] = yytname[yytoken];
17572b15cb3dSCy Schubert       if (!yypact_value_is_default (yyn))
17582b15cb3dSCy Schubert         {
17592b15cb3dSCy Schubert           /* Start YYX at -YYN if negative to avoid negative indexes in
17602b15cb3dSCy Schubert              YYCHECK.  In other words, skip the first -YYN actions for
17612b15cb3dSCy Schubert              this state because they are default actions.  */
17622b15cb3dSCy Schubert           int yyxbegin = yyn < 0 ? -yyn : 0;
17632b15cb3dSCy Schubert           /* Stay within bounds of both yycheck and yytname.  */
17642b15cb3dSCy Schubert           int yychecklim = YYLAST - yyn + 1;
17652b15cb3dSCy Schubert           int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
17662b15cb3dSCy Schubert           int yyx;
17672b15cb3dSCy Schubert 
17682b15cb3dSCy Schubert           for (yyx = yyxbegin; yyx < yyxend; ++yyx)
17692b15cb3dSCy Schubert             if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
17702b15cb3dSCy Schubert                 && !yytable_value_is_error (yytable[yyx + yyn]))
17712b15cb3dSCy Schubert               {
17722b15cb3dSCy Schubert                 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
17732b15cb3dSCy Schubert                   {
17742b15cb3dSCy Schubert                     yycount = 1;
17752b15cb3dSCy Schubert                     yysize = yysize0;
17762b15cb3dSCy Schubert                     break;
17772b15cb3dSCy Schubert                   }
17782b15cb3dSCy Schubert                 yyarg[yycount++] = yytname[yyx];
17792b15cb3dSCy Schubert                 {
1780e27abb66SXin LI                   YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
17812b15cb3dSCy Schubert                   if (! (yysize <= yysize1
17822b15cb3dSCy Schubert                          && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
17832b15cb3dSCy Schubert                     return 2;
17842b15cb3dSCy Schubert                   yysize = yysize1;
17852b15cb3dSCy Schubert                 }
17862b15cb3dSCy Schubert               }
17872b15cb3dSCy Schubert         }
17882b15cb3dSCy Schubert     }
17892b15cb3dSCy Schubert 
17902b15cb3dSCy Schubert   switch (yycount)
17912b15cb3dSCy Schubert     {
17922b15cb3dSCy Schubert # define YYCASE_(N, S)                      \
17932b15cb3dSCy Schubert       case N:                               \
17942b15cb3dSCy Schubert         yyformat = S;                       \
17952b15cb3dSCy Schubert       break
17962b15cb3dSCy Schubert       YYCASE_(0, YY_("syntax error"));
17972b15cb3dSCy Schubert       YYCASE_(1, YY_("syntax error, unexpected %s"));
17982b15cb3dSCy Schubert       YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
17992b15cb3dSCy Schubert       YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
18002b15cb3dSCy Schubert       YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
18012b15cb3dSCy Schubert       YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
18022b15cb3dSCy Schubert # undef YYCASE_
18032b15cb3dSCy Schubert     }
18042b15cb3dSCy Schubert 
18052b15cb3dSCy Schubert   {
18062b15cb3dSCy Schubert     YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
18072b15cb3dSCy Schubert     if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
18082b15cb3dSCy Schubert       return 2;
18092b15cb3dSCy Schubert     yysize = yysize1;
18102b15cb3dSCy Schubert   }
18112b15cb3dSCy Schubert 
18122b15cb3dSCy Schubert   if (*yymsg_alloc < yysize)
18132b15cb3dSCy Schubert     {
18142b15cb3dSCy Schubert       *yymsg_alloc = 2 * yysize;
18152b15cb3dSCy Schubert       if (! (yysize <= *yymsg_alloc
18162b15cb3dSCy Schubert              && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
18172b15cb3dSCy Schubert         *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
18182b15cb3dSCy Schubert       return 1;
18192b15cb3dSCy Schubert     }
18202b15cb3dSCy Schubert 
18212b15cb3dSCy Schubert   /* Avoid sprintf, as that infringes on the user's name space.
18222b15cb3dSCy Schubert      Don't have undefined behavior even if the translation
18232b15cb3dSCy Schubert      produced a string with the wrong number of "%s"s.  */
18242b15cb3dSCy Schubert   {
18252b15cb3dSCy Schubert     char *yyp = *yymsg;
18262b15cb3dSCy Schubert     int yyi = 0;
18272b15cb3dSCy Schubert     while ((*yyp = *yyformat) != '\0')
18282b15cb3dSCy Schubert       if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
18292b15cb3dSCy Schubert         {
18302b15cb3dSCy Schubert           yyp += yytnamerr (yyp, yyarg[yyi++]);
18312b15cb3dSCy Schubert           yyformat += 2;
18322b15cb3dSCy Schubert         }
18332b15cb3dSCy Schubert       else
18342b15cb3dSCy Schubert         {
18352b15cb3dSCy Schubert           yyp++;
18362b15cb3dSCy Schubert           yyformat++;
18372b15cb3dSCy Schubert         }
18382b15cb3dSCy Schubert   }
18392b15cb3dSCy Schubert   return 0;
18402b15cb3dSCy Schubert }
18412b15cb3dSCy Schubert #endif /* YYERROR_VERBOSE */
18422b15cb3dSCy Schubert 
18432b15cb3dSCy Schubert /*-----------------------------------------------.
18442b15cb3dSCy Schubert | Release the memory associated to this symbol.  |
18452b15cb3dSCy Schubert `-----------------------------------------------*/
18462b15cb3dSCy Schubert 
18472b15cb3dSCy Schubert static void
1848276da39aSCy Schubert yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
18492b15cb3dSCy Schubert {
18502b15cb3dSCy Schubert   YYUSE (yyvaluep);
18512b15cb3dSCy Schubert   if (!yymsg)
18522b15cb3dSCy Schubert     yymsg = "Deleting";
18532b15cb3dSCy Schubert   YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
18542b15cb3dSCy Schubert 
1855e27abb66SXin LI   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
18562b15cb3dSCy Schubert   YYUSE (yytype);
1857e27abb66SXin LI   YY_IGNORE_MAYBE_UNINITIALIZED_END
18582b15cb3dSCy Schubert }
18592b15cb3dSCy Schubert 
18602b15cb3dSCy Schubert 
18612b15cb3dSCy Schubert 
18622b15cb3dSCy Schubert 
18632b15cb3dSCy Schubert /* The lookahead symbol.  */
18642b15cb3dSCy Schubert int yychar;
18652b15cb3dSCy Schubert 
18662b15cb3dSCy Schubert /* The semantic value of the lookahead symbol.  */
1867e27abb66SXin LI YYSTYPE yylval;
18682b15cb3dSCy Schubert /* Number of syntax errors so far.  */
18692b15cb3dSCy Schubert int yynerrs;
18702b15cb3dSCy Schubert 
18712b15cb3dSCy Schubert 
18722b15cb3dSCy Schubert /*----------.
18732b15cb3dSCy Schubert | yyparse.  |
18742b15cb3dSCy Schubert `----------*/
18752b15cb3dSCy Schubert 
1876276da39aSCy Schubert int
1877276da39aSCy Schubert yyparse (void)
18782b15cb3dSCy Schubert {
18792b15cb3dSCy Schubert     int yystate;
18802b15cb3dSCy Schubert     /* Number of tokens to shift before error messages enabled.  */
18812b15cb3dSCy Schubert     int yyerrstatus;
18822b15cb3dSCy Schubert 
18832b15cb3dSCy Schubert     /* The stacks and their tools:
1884e27abb66SXin LI        'yyss': related to states.
1885e27abb66SXin LI        'yyvs': related to semantic values.
18862b15cb3dSCy Schubert 
18872b15cb3dSCy Schubert        Refer to the stacks through separate pointers, to allow yyoverflow
18882b15cb3dSCy Schubert        to reallocate them elsewhere.  */
18892b15cb3dSCy Schubert 
18902b15cb3dSCy Schubert     /* The state stack.  */
18912b15cb3dSCy Schubert     yytype_int16 yyssa[YYINITDEPTH];
18922b15cb3dSCy Schubert     yytype_int16 *yyss;
18932b15cb3dSCy Schubert     yytype_int16 *yyssp;
18942b15cb3dSCy Schubert 
18952b15cb3dSCy Schubert     /* The semantic value stack.  */
18962b15cb3dSCy Schubert     YYSTYPE yyvsa[YYINITDEPTH];
18972b15cb3dSCy Schubert     YYSTYPE *yyvs;
18982b15cb3dSCy Schubert     YYSTYPE *yyvsp;
18992b15cb3dSCy Schubert 
19002b15cb3dSCy Schubert     YYSIZE_T yystacksize;
19012b15cb3dSCy Schubert 
19022b15cb3dSCy Schubert   int yyn;
19032b15cb3dSCy Schubert   int yyresult;
19042b15cb3dSCy Schubert   /* Lookahead token as an internal (translated) token number.  */
19052b15cb3dSCy Schubert   int yytoken = 0;
19062b15cb3dSCy Schubert   /* The variables used to return semantic value and location from the
19072b15cb3dSCy Schubert      action routines.  */
19082b15cb3dSCy Schubert   YYSTYPE yyval;
19092b15cb3dSCy Schubert 
19102b15cb3dSCy Schubert #if YYERROR_VERBOSE
19112b15cb3dSCy Schubert   /* Buffer for error messages, and its allocated size.  */
19122b15cb3dSCy Schubert   char yymsgbuf[128];
19132b15cb3dSCy Schubert   char *yymsg = yymsgbuf;
19142b15cb3dSCy Schubert   YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
19152b15cb3dSCy Schubert #endif
19162b15cb3dSCy Schubert 
19172b15cb3dSCy Schubert #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
19182b15cb3dSCy Schubert 
19192b15cb3dSCy Schubert   /* The number of symbols on the RHS of the reduced rule.
19202b15cb3dSCy Schubert      Keep to zero when no symbol should be popped.  */
19212b15cb3dSCy Schubert   int yylen = 0;
19222b15cb3dSCy Schubert 
19232b15cb3dSCy Schubert   yyssp = yyss = yyssa;
19242b15cb3dSCy Schubert   yyvsp = yyvs = yyvsa;
19252b15cb3dSCy Schubert   yystacksize = YYINITDEPTH;
19262b15cb3dSCy Schubert 
19272b15cb3dSCy Schubert   YYDPRINTF ((stderr, "Starting parse\n"));
19282b15cb3dSCy Schubert 
19292b15cb3dSCy Schubert   yystate = 0;
19302b15cb3dSCy Schubert   yyerrstatus = 0;
19312b15cb3dSCy Schubert   yynerrs = 0;
19322b15cb3dSCy Schubert   yychar = YYEMPTY; /* Cause a token to be read.  */
19332b15cb3dSCy Schubert   goto yysetstate;
19342b15cb3dSCy Schubert 
19352b15cb3dSCy Schubert /*------------------------------------------------------------.
19362b15cb3dSCy Schubert | yynewstate -- Push a new state, which is found in yystate.  |
19372b15cb3dSCy Schubert `------------------------------------------------------------*/
19382b15cb3dSCy Schubert  yynewstate:
19392b15cb3dSCy Schubert   /* In all cases, when you get here, the value and location stacks
19402b15cb3dSCy Schubert      have just been pushed.  So pushing a state here evens the stacks.  */
19412b15cb3dSCy Schubert   yyssp++;
19422b15cb3dSCy Schubert 
19432b15cb3dSCy Schubert  yysetstate:
19442b15cb3dSCy Schubert   *yyssp = yystate;
19452b15cb3dSCy Schubert 
19462b15cb3dSCy Schubert   if (yyss + yystacksize - 1 <= yyssp)
19472b15cb3dSCy Schubert     {
19482b15cb3dSCy Schubert       /* Get the current used size of the three stacks, in elements.  */
19492b15cb3dSCy Schubert       YYSIZE_T yysize = yyssp - yyss + 1;
19502b15cb3dSCy Schubert 
19512b15cb3dSCy Schubert #ifdef yyoverflow
19522b15cb3dSCy Schubert       {
19532b15cb3dSCy Schubert         /* Give user a chance to reallocate the stack.  Use copies of
19542b15cb3dSCy Schubert            these so that the &'s don't force the real ones into
19552b15cb3dSCy Schubert            memory.  */
19562b15cb3dSCy Schubert         YYSTYPE *yyvs1 = yyvs;
19572b15cb3dSCy Schubert         yytype_int16 *yyss1 = yyss;
19582b15cb3dSCy Schubert 
19592b15cb3dSCy Schubert         /* Each stack pointer address is followed by the size of the
19602b15cb3dSCy Schubert            data in use in that stack, in bytes.  This used to be a
19612b15cb3dSCy Schubert            conditional around just the two extra args, but that might
19622b15cb3dSCy Schubert            be undefined if yyoverflow is a macro.  */
19632b15cb3dSCy Schubert         yyoverflow (YY_("memory exhausted"),
19642b15cb3dSCy Schubert                     &yyss1, yysize * sizeof (*yyssp),
19652b15cb3dSCy Schubert                     &yyvs1, yysize * sizeof (*yyvsp),
19662b15cb3dSCy Schubert                     &yystacksize);
19672b15cb3dSCy Schubert 
19682b15cb3dSCy Schubert         yyss = yyss1;
19692b15cb3dSCy Schubert         yyvs = yyvs1;
19702b15cb3dSCy Schubert       }
19712b15cb3dSCy Schubert #else /* no yyoverflow */
19722b15cb3dSCy Schubert # ifndef YYSTACK_RELOCATE
19732b15cb3dSCy Schubert       goto yyexhaustedlab;
19742b15cb3dSCy Schubert # else
19752b15cb3dSCy Schubert       /* Extend the stack our own way.  */
19762b15cb3dSCy Schubert       if (YYMAXDEPTH <= yystacksize)
19772b15cb3dSCy Schubert         goto yyexhaustedlab;
19782b15cb3dSCy Schubert       yystacksize *= 2;
19792b15cb3dSCy Schubert       if (YYMAXDEPTH < yystacksize)
19802b15cb3dSCy Schubert         yystacksize = YYMAXDEPTH;
19812b15cb3dSCy Schubert 
19822b15cb3dSCy Schubert       {
19832b15cb3dSCy Schubert         yytype_int16 *yyss1 = yyss;
19842b15cb3dSCy Schubert         union yyalloc *yyptr =
19852b15cb3dSCy Schubert           (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
19862b15cb3dSCy Schubert         if (! yyptr)
19872b15cb3dSCy Schubert           goto yyexhaustedlab;
19882b15cb3dSCy Schubert         YYSTACK_RELOCATE (yyss_alloc, yyss);
19892b15cb3dSCy Schubert         YYSTACK_RELOCATE (yyvs_alloc, yyvs);
19902b15cb3dSCy Schubert #  undef YYSTACK_RELOCATE
19912b15cb3dSCy Schubert         if (yyss1 != yyssa)
19922b15cb3dSCy Schubert           YYSTACK_FREE (yyss1);
19932b15cb3dSCy Schubert       }
19942b15cb3dSCy Schubert # endif
19952b15cb3dSCy Schubert #endif /* no yyoverflow */
19962b15cb3dSCy Schubert 
19972b15cb3dSCy Schubert       yyssp = yyss + yysize - 1;
19982b15cb3dSCy Schubert       yyvsp = yyvs + yysize - 1;
19992b15cb3dSCy Schubert 
20002b15cb3dSCy Schubert       YYDPRINTF ((stderr, "Stack size increased to %lu\n",
20012b15cb3dSCy Schubert                   (unsigned long int) yystacksize));
20022b15cb3dSCy Schubert 
20032b15cb3dSCy Schubert       if (yyss + yystacksize - 1 <= yyssp)
20042b15cb3dSCy Schubert         YYABORT;
20052b15cb3dSCy Schubert     }
20062b15cb3dSCy Schubert 
20072b15cb3dSCy Schubert   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
20082b15cb3dSCy Schubert 
20092b15cb3dSCy Schubert   if (yystate == YYFINAL)
20102b15cb3dSCy Schubert     YYACCEPT;
20112b15cb3dSCy Schubert 
20122b15cb3dSCy Schubert   goto yybackup;
20132b15cb3dSCy Schubert 
20142b15cb3dSCy Schubert /*-----------.
20152b15cb3dSCy Schubert | yybackup.  |
20162b15cb3dSCy Schubert `-----------*/
20172b15cb3dSCy Schubert yybackup:
20182b15cb3dSCy Schubert 
20192b15cb3dSCy Schubert   /* Do appropriate processing given the current state.  Read a
20202b15cb3dSCy Schubert      lookahead token if we need one and don't already have one.  */
20212b15cb3dSCy Schubert 
20222b15cb3dSCy Schubert   /* First try to decide what to do without reference to lookahead token.  */
20232b15cb3dSCy Schubert   yyn = yypact[yystate];
20242b15cb3dSCy Schubert   if (yypact_value_is_default (yyn))
20252b15cb3dSCy Schubert     goto yydefault;
20262b15cb3dSCy Schubert 
20272b15cb3dSCy Schubert   /* Not known => get a lookahead token if don't already have one.  */
20282b15cb3dSCy Schubert 
20292b15cb3dSCy Schubert   /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
20302b15cb3dSCy Schubert   if (yychar == YYEMPTY)
20312b15cb3dSCy Schubert     {
20322b15cb3dSCy Schubert       YYDPRINTF ((stderr, "Reading a token: "));
2033e27abb66SXin LI       yychar = yylex ();
20342b15cb3dSCy Schubert     }
20352b15cb3dSCy Schubert 
20362b15cb3dSCy Schubert   if (yychar <= YYEOF)
20372b15cb3dSCy Schubert     {
20382b15cb3dSCy Schubert       yychar = yytoken = YYEOF;
20392b15cb3dSCy Schubert       YYDPRINTF ((stderr, "Now at end of input.\n"));
20402b15cb3dSCy Schubert     }
20412b15cb3dSCy Schubert   else
20422b15cb3dSCy Schubert     {
20432b15cb3dSCy Schubert       yytoken = YYTRANSLATE (yychar);
20442b15cb3dSCy Schubert       YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
20452b15cb3dSCy Schubert     }
20462b15cb3dSCy Schubert 
20472b15cb3dSCy Schubert   /* If the proper action on seeing token YYTOKEN is to reduce or to
20482b15cb3dSCy Schubert      detect an error, take that action.  */
20492b15cb3dSCy Schubert   yyn += yytoken;
20502b15cb3dSCy Schubert   if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
20512b15cb3dSCy Schubert     goto yydefault;
20522b15cb3dSCy Schubert   yyn = yytable[yyn];
20532b15cb3dSCy Schubert   if (yyn <= 0)
20542b15cb3dSCy Schubert     {
20552b15cb3dSCy Schubert       if (yytable_value_is_error (yyn))
20562b15cb3dSCy Schubert         goto yyerrlab;
20572b15cb3dSCy Schubert       yyn = -yyn;
20582b15cb3dSCy Schubert       goto yyreduce;
20592b15cb3dSCy Schubert     }
20602b15cb3dSCy Schubert 
20612b15cb3dSCy Schubert   /* Count tokens shifted since error; after three, turn off error
20622b15cb3dSCy Schubert      status.  */
20632b15cb3dSCy Schubert   if (yyerrstatus)
20642b15cb3dSCy Schubert     yyerrstatus--;
20652b15cb3dSCy Schubert 
20662b15cb3dSCy Schubert   /* Shift the lookahead token.  */
20672b15cb3dSCy Schubert   YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
20682b15cb3dSCy Schubert 
20692b15cb3dSCy Schubert   /* Discard the shifted token.  */
20702b15cb3dSCy Schubert   yychar = YYEMPTY;
20712b15cb3dSCy Schubert 
20722b15cb3dSCy Schubert   yystate = yyn;
20732b15cb3dSCy Schubert   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
20742b15cb3dSCy Schubert   *++yyvsp = yylval;
20752b15cb3dSCy Schubert   YY_IGNORE_MAYBE_UNINITIALIZED_END
20762b15cb3dSCy Schubert 
20772b15cb3dSCy Schubert   goto yynewstate;
20782b15cb3dSCy Schubert 
20792b15cb3dSCy Schubert 
20802b15cb3dSCy Schubert /*-----------------------------------------------------------.
20812b15cb3dSCy Schubert | yydefault -- do the default action for the current state.  |
20822b15cb3dSCy Schubert `-----------------------------------------------------------*/
20832b15cb3dSCy Schubert yydefault:
20842b15cb3dSCy Schubert   yyn = yydefact[yystate];
20852b15cb3dSCy Schubert   if (yyn == 0)
20862b15cb3dSCy Schubert     goto yyerrlab;
20872b15cb3dSCy Schubert   goto yyreduce;
20882b15cb3dSCy Schubert 
20892b15cb3dSCy Schubert 
20902b15cb3dSCy Schubert /*-----------------------------.
20912b15cb3dSCy Schubert | yyreduce -- Do a reduction.  |
20922b15cb3dSCy Schubert `-----------------------------*/
20932b15cb3dSCy Schubert yyreduce:
20942b15cb3dSCy Schubert   /* yyn is the number of a rule to reduce with.  */
20952b15cb3dSCy Schubert   yylen = yyr2[yyn];
20962b15cb3dSCy Schubert 
20972b15cb3dSCy Schubert   /* If YYLEN is nonzero, implement the default value of the action:
2098e27abb66SXin LI      '$$ = $1'.
20992b15cb3dSCy Schubert 
21002b15cb3dSCy Schubert      Otherwise, the following line sets YYVAL to garbage.
21012b15cb3dSCy Schubert      This behavior is undocumented and Bison
21022b15cb3dSCy Schubert      users should not rely upon it.  Assigning to YYVAL
21032b15cb3dSCy Schubert      unconditionally makes the parser a bit smaller, and it avoids a
21042b15cb3dSCy Schubert      GCC warning that YYVAL may be used uninitialized.  */
21052b15cb3dSCy Schubert   yyval = yyvsp[1-yylen];
21062b15cb3dSCy Schubert 
21072b15cb3dSCy Schubert 
21082b15cb3dSCy Schubert   YY_REDUCE_PRINT (yyn);
21092b15cb3dSCy Schubert   switch (yyn)
21102b15cb3dSCy Schubert     {
21112b15cb3dSCy Schubert         case 5:
2112*f391d6bcSXin LI #line 378 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
21132b15cb3dSCy Schubert     {
21142b15cb3dSCy Schubert 			/* I will need to incorporate much more fine grained
21152b15cb3dSCy Schubert 			 * error messages. The following should suffice for
21162b15cb3dSCy Schubert 			 * the time being.
21172b15cb3dSCy Schubert 			 */
2118276da39aSCy Schubert 			struct FILE_INFO * ip_ctx = lex_current();
21192b15cb3dSCy Schubert 			msyslog(LOG_ERR,
21202b15cb3dSCy Schubert 				"syntax error in %s line %d, column %d",
2121276da39aSCy Schubert 				ip_ctx->fname,
2122276da39aSCy Schubert 				ip_ctx->errpos.nline,
2123276da39aSCy Schubert 				ip_ctx->errpos.ncol);
21242b15cb3dSCy Schubert 		}
2125*f391d6bcSXin LI #line 2126 "ntp_parser.c" /* yacc.c:1646  */
21262b15cb3dSCy Schubert     break;
21272b15cb3dSCy Schubert 
21282b15cb3dSCy Schubert   case 20:
2129*f391d6bcSXin LI #line 414 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
21302b15cb3dSCy Schubert     {
21312b15cb3dSCy Schubert 			peer_node *my_node;
21322b15cb3dSCy Schubert 
2133e27abb66SXin LI 			my_node = create_peer_node((yyvsp[-2].Integer), (yyvsp[-1].Address_node), (yyvsp[0].Attr_val_fifo));
21342b15cb3dSCy Schubert 			APPEND_G_FIFO(cfgt.peers, my_node);
21352b15cb3dSCy Schubert 		}
2136*f391d6bcSXin LI #line 2137 "ntp_parser.c" /* yacc.c:1646  */
21372b15cb3dSCy Schubert     break;
21382b15cb3dSCy Schubert 
2139a25439b6SCy Schubert   case 27:
2140*f391d6bcSXin LI #line 433 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2141e27abb66SXin LI     { (yyval.Address_node) = create_address_node((yyvsp[0].String), (yyvsp[-1].Integer)); }
2142*f391d6bcSXin LI #line 2143 "ntp_parser.c" /* yacc.c:1646  */
21432b15cb3dSCy Schubert     break;
21442b15cb3dSCy Schubert 
2145a25439b6SCy Schubert   case 28:
2146*f391d6bcSXin LI #line 438 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2147e27abb66SXin LI     { (yyval.Address_node) = create_address_node((yyvsp[0].String), AF_UNSPEC); }
2148*f391d6bcSXin LI #line 2149 "ntp_parser.c" /* yacc.c:1646  */
21492b15cb3dSCy Schubert     break;
21502b15cb3dSCy Schubert 
2151a25439b6SCy Schubert   case 29:
2152*f391d6bcSXin LI #line 443 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2153a25439b6SCy Schubert     { (yyval.Integer) = AF_INET; }
2154*f391d6bcSXin LI #line 2155 "ntp_parser.c" /* yacc.c:1646  */
21552b15cb3dSCy Schubert     break;
21562b15cb3dSCy Schubert 
2157a25439b6SCy Schubert   case 30:
2158*f391d6bcSXin LI #line 445 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2159a25439b6SCy Schubert     { (yyval.Integer) = AF_INET6; }
2160*f391d6bcSXin LI #line 2161 "ntp_parser.c" /* yacc.c:1646  */
21612b15cb3dSCy Schubert     break;
21622b15cb3dSCy Schubert 
2163a25439b6SCy Schubert   case 31:
2164*f391d6bcSXin LI #line 450 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2165a25439b6SCy Schubert     { (yyval.Attr_val_fifo) = NULL; }
2166*f391d6bcSXin LI #line 2167 "ntp_parser.c" /* yacc.c:1646  */
2167a25439b6SCy Schubert     break;
2168a25439b6SCy Schubert 
2169a25439b6SCy Schubert   case 32:
2170*f391d6bcSXin LI #line 452 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
21712b15cb3dSCy Schubert     {
2172e27abb66SXin LI 			(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
2173e27abb66SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
21742b15cb3dSCy Schubert 		}
2175*f391d6bcSXin LI #line 2176 "ntp_parser.c" /* yacc.c:1646  */
21762b15cb3dSCy Schubert     break;
21772b15cb3dSCy Schubert 
2178a25439b6SCy Schubert   case 36:
2179*f391d6bcSXin LI #line 466 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2180e27abb66SXin LI     { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer)); }
2181*f391d6bcSXin LI #line 2182 "ntp_parser.c" /* yacc.c:1646  */
21822b15cb3dSCy Schubert     break;
21832b15cb3dSCy Schubert 
2184a25439b6SCy Schubert   case 45:
2185*f391d6bcSXin LI #line 482 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2186e27abb66SXin LI     { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
2187*f391d6bcSXin LI #line 2188 "ntp_parser.c" /* yacc.c:1646  */
21882b15cb3dSCy Schubert     break;
21892b15cb3dSCy Schubert 
2190a25439b6SCy Schubert   case 46:
2191*f391d6bcSXin LI #line 484 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2192e27abb66SXin LI     { (yyval.Attr_val) = create_attr_uval((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
2193*f391d6bcSXin LI #line 2194 "ntp_parser.c" /* yacc.c:1646  */
21942b15cb3dSCy Schubert     break;
21952b15cb3dSCy Schubert 
2196a25439b6SCy Schubert   case 53:
2197*f391d6bcSXin LI #line 498 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2198e27abb66SXin LI     { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); }
2199*f391d6bcSXin LI #line 2200 "ntp_parser.c" /* yacc.c:1646  */
2200a25439b6SCy Schubert     break;
2201a25439b6SCy Schubert 
22022b15cb3dSCy Schubert   case 55:
2203*f391d6bcSXin LI #line 512 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
22042b15cb3dSCy Schubert     {
22052b15cb3dSCy Schubert 			unpeer_node *my_node;
22062b15cb3dSCy Schubert 
2207e27abb66SXin LI 			my_node = create_unpeer_node((yyvsp[0].Address_node));
22082b15cb3dSCy Schubert 			if (my_node)
22092b15cb3dSCy Schubert 				APPEND_G_FIFO(cfgt.unpeers, my_node);
22102b15cb3dSCy Schubert 		}
2211*f391d6bcSXin LI #line 2212 "ntp_parser.c" /* yacc.c:1646  */
22122b15cb3dSCy Schubert     break;
22132b15cb3dSCy Schubert 
2214a25439b6SCy Schubert   case 58:
2215*f391d6bcSXin LI #line 533 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2216a25439b6SCy Schubert     { cfgt.broadcastclient = 1; }
2217*f391d6bcSXin LI #line 2218 "ntp_parser.c" /* yacc.c:1646  */
22182b15cb3dSCy Schubert     break;
22192b15cb3dSCy Schubert 
2220a25439b6SCy Schubert   case 59:
2221*f391d6bcSXin LI #line 535 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2222e27abb66SXin LI     { CONCAT_G_FIFOS(cfgt.manycastserver, (yyvsp[0].Address_fifo)); }
2223*f391d6bcSXin LI #line 2224 "ntp_parser.c" /* yacc.c:1646  */
22242b15cb3dSCy Schubert     break;
22252b15cb3dSCy Schubert 
2226a25439b6SCy Schubert   case 60:
2227*f391d6bcSXin LI #line 537 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2228e27abb66SXin LI     { CONCAT_G_FIFOS(cfgt.multicastclient, (yyvsp[0].Address_fifo)); }
2229*f391d6bcSXin LI #line 2230 "ntp_parser.c" /* yacc.c:1646  */
22302b15cb3dSCy Schubert     break;
22312b15cb3dSCy Schubert 
2232a25439b6SCy Schubert   case 61:
2233*f391d6bcSXin LI #line 539 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2234e27abb66SXin LI     { cfgt.mdnstries = (yyvsp[0].Integer); }
2235*f391d6bcSXin LI #line 2236 "ntp_parser.c" /* yacc.c:1646  */
2236a25439b6SCy Schubert     break;
2237a25439b6SCy Schubert 
22382b15cb3dSCy Schubert   case 62:
2239*f391d6bcSXin LI #line 550 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
22402b15cb3dSCy Schubert     {
22412b15cb3dSCy Schubert 			attr_val *atrv;
22422b15cb3dSCy Schubert 
2243e27abb66SXin LI 			atrv = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer));
22442b15cb3dSCy Schubert 			APPEND_G_FIFO(cfgt.vars, atrv);
22452b15cb3dSCy Schubert 		}
2246*f391d6bcSXin LI #line 2247 "ntp_parser.c" /* yacc.c:1646  */
22472b15cb3dSCy Schubert     break;
22482b15cb3dSCy Schubert 
2249a25439b6SCy Schubert   case 63:
2250*f391d6bcSXin LI #line 557 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2251e27abb66SXin LI     { cfgt.auth.control_key = (yyvsp[0].Integer); }
2252*f391d6bcSXin LI #line 2253 "ntp_parser.c" /* yacc.c:1646  */
2253a25439b6SCy Schubert     break;
2254a25439b6SCy Schubert 
2255a25439b6SCy Schubert   case 64:
2256*f391d6bcSXin LI #line 559 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
22572b15cb3dSCy Schubert     {
22582b15cb3dSCy Schubert 			cfgt.auth.cryptosw++;
2259e27abb66SXin LI 			CONCAT_G_FIFOS(cfgt.auth.crypto_cmd_list, (yyvsp[0].Attr_val_fifo));
22602b15cb3dSCy Schubert 		}
2261*f391d6bcSXin LI #line 2262 "ntp_parser.c" /* yacc.c:1646  */
22622b15cb3dSCy Schubert     break;
22632b15cb3dSCy Schubert 
2264a25439b6SCy Schubert   case 65:
2265*f391d6bcSXin LI #line 564 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2266e27abb66SXin LI     { cfgt.auth.keys = (yyvsp[0].String); }
2267*f391d6bcSXin LI #line 2268 "ntp_parser.c" /* yacc.c:1646  */
22682b15cb3dSCy Schubert     break;
22692b15cb3dSCy Schubert 
2270a25439b6SCy Schubert   case 66:
2271*f391d6bcSXin LI #line 566 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2272e27abb66SXin LI     { cfgt.auth.keysdir = (yyvsp[0].String); }
2273*f391d6bcSXin LI #line 2274 "ntp_parser.c" /* yacc.c:1646  */
22742b15cb3dSCy Schubert     break;
22752b15cb3dSCy Schubert 
2276a25439b6SCy Schubert   case 67:
2277*f391d6bcSXin LI #line 568 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2278e27abb66SXin LI     { cfgt.auth.request_key = (yyvsp[0].Integer); }
2279*f391d6bcSXin LI #line 2280 "ntp_parser.c" /* yacc.c:1646  */
22802b15cb3dSCy Schubert     break;
22812b15cb3dSCy Schubert 
2282a25439b6SCy Schubert   case 68:
2283*f391d6bcSXin LI #line 570 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2284e27abb66SXin LI     { cfgt.auth.revoke = (yyvsp[0].Integer); }
2285*f391d6bcSXin LI #line 2286 "ntp_parser.c" /* yacc.c:1646  */
2286a25439b6SCy Schubert     break;
2287a25439b6SCy Schubert 
2288a25439b6SCy Schubert   case 69:
2289*f391d6bcSXin LI #line 572 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
22902b15cb3dSCy Schubert     {
2291e27abb66SXin LI 			cfgt.auth.trusted_key_list = (yyvsp[0].Attr_val_fifo);
22922b15cb3dSCy Schubert 
22932b15cb3dSCy Schubert 			// if (!cfgt.auth.trusted_key_list)
22942b15cb3dSCy Schubert 			// 	cfgt.auth.trusted_key_list = $2;
22952b15cb3dSCy Schubert 			// else
22962b15cb3dSCy Schubert 			// 	LINK_SLIST(cfgt.auth.trusted_key_list, $2, link);
22972b15cb3dSCy Schubert 		}
2298*f391d6bcSXin LI #line 2299 "ntp_parser.c" /* yacc.c:1646  */
22992b15cb3dSCy Schubert     break;
23002b15cb3dSCy Schubert 
2301a25439b6SCy Schubert   case 70:
2302*f391d6bcSXin LI #line 581 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2303e27abb66SXin LI     { cfgt.auth.ntp_signd_socket = (yyvsp[0].String); }
2304*f391d6bcSXin LI #line 2305 "ntp_parser.c" /* yacc.c:1646  */
23052b15cb3dSCy Schubert     break;
23062b15cb3dSCy Schubert 
2307a25439b6SCy Schubert   case 71:
2308*f391d6bcSXin LI #line 586 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2309a25439b6SCy Schubert     { (yyval.Attr_val_fifo) = NULL; }
2310*f391d6bcSXin LI #line 2311 "ntp_parser.c" /* yacc.c:1646  */
2311a25439b6SCy Schubert     break;
2312a25439b6SCy Schubert 
2313a25439b6SCy Schubert   case 72:
2314*f391d6bcSXin LI #line 588 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
23152b15cb3dSCy Schubert     {
2316e27abb66SXin LI 			(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
2317e27abb66SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
23182b15cb3dSCy Schubert 		}
2319*f391d6bcSXin LI #line 2320 "ntp_parser.c" /* yacc.c:1646  */
23202b15cb3dSCy Schubert     break;
23212b15cb3dSCy Schubert 
2322a25439b6SCy Schubert   case 73:
2323*f391d6bcSXin LI #line 596 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2324e27abb66SXin LI     { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); }
2325*f391d6bcSXin LI #line 2326 "ntp_parser.c" /* yacc.c:1646  */
2326a25439b6SCy Schubert     break;
2327a25439b6SCy Schubert 
2328a25439b6SCy Schubert   case 74:
2329*f391d6bcSXin LI #line 598 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
23302b15cb3dSCy Schubert     {
23312b15cb3dSCy Schubert 			(yyval.Attr_val) = NULL;
2332e27abb66SXin LI 			cfgt.auth.revoke = (yyvsp[0].Integer);
23332b15cb3dSCy Schubert 			msyslog(LOG_WARNING,
23342b15cb3dSCy Schubert 				"'crypto revoke %d' is deprecated, "
23352b15cb3dSCy Schubert 				"please use 'revoke %d' instead.",
23362b15cb3dSCy Schubert 				cfgt.auth.revoke, cfgt.auth.revoke);
23372b15cb3dSCy Schubert 		}
2338*f391d6bcSXin LI #line 2339 "ntp_parser.c" /* yacc.c:1646  */
23392b15cb3dSCy Schubert     break;
23402b15cb3dSCy Schubert 
2341a25439b6SCy Schubert   case 80:
2342*f391d6bcSXin LI #line 623 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2343e27abb66SXin LI     { CONCAT_G_FIFOS(cfgt.orphan_cmds, (yyvsp[0].Attr_val_fifo)); }
2344*f391d6bcSXin LI #line 2345 "ntp_parser.c" /* yacc.c:1646  */
2345a25439b6SCy Schubert     break;
2346a25439b6SCy Schubert 
23472b15cb3dSCy Schubert   case 81:
2348*f391d6bcSXin LI #line 628 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
23492b15cb3dSCy Schubert     {
2350e27abb66SXin LI 			(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
2351e27abb66SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
23522b15cb3dSCy Schubert 		}
2353*f391d6bcSXin LI #line 2354 "ntp_parser.c" /* yacc.c:1646  */
23542b15cb3dSCy Schubert     break;
23552b15cb3dSCy Schubert 
23562b15cb3dSCy Schubert   case 82:
2357*f391d6bcSXin LI #line 633 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
23582b15cb3dSCy Schubert     {
23592b15cb3dSCy Schubert 			(yyval.Attr_val_fifo) = NULL;
2360e27abb66SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
23612b15cb3dSCy Schubert 		}
2362*f391d6bcSXin LI #line 2363 "ntp_parser.c" /* yacc.c:1646  */
23632b15cb3dSCy Schubert     break;
23642b15cb3dSCy Schubert 
2365a25439b6SCy Schubert   case 83:
2366*f391d6bcSXin LI #line 641 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2367e27abb66SXin LI     { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (double)(yyvsp[0].Integer)); }
2368*f391d6bcSXin LI #line 2369 "ntp_parser.c" /* yacc.c:1646  */
23692b15cb3dSCy Schubert     break;
23702b15cb3dSCy Schubert 
2371a25439b6SCy Schubert   case 84:
2372*f391d6bcSXin LI #line 643 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2373e27abb66SXin LI     { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (yyvsp[0].Double)); }
2374*f391d6bcSXin LI #line 2375 "ntp_parser.c" /* yacc.c:1646  */
23752b15cb3dSCy Schubert     break;
23762b15cb3dSCy Schubert 
2377a25439b6SCy Schubert   case 85:
2378*f391d6bcSXin LI #line 645 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2379e27abb66SXin LI     { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (double)(yyvsp[0].Integer)); }
2380*f391d6bcSXin LI #line 2381 "ntp_parser.c" /* yacc.c:1646  */
2381a25439b6SCy Schubert     break;
2382a25439b6SCy Schubert 
2383a25439b6SCy Schubert   case 97:
2384e27abb66SXin LI #line 672 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2385*f391d6bcSXin LI     { CONCAT_G_FIFOS(cfgt.stats_list, (yyvsp[0].Int_fifo)); }
2386*f391d6bcSXin LI #line 2387 "ntp_parser.c" /* yacc.c:1646  */
2387*f391d6bcSXin LI     break;
2388*f391d6bcSXin LI 
2389*f391d6bcSXin LI   case 98:
2390*f391d6bcSXin LI #line 674 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
23912b15cb3dSCy Schubert     {
2392276da39aSCy Schubert 			if (lex_from_file()) {
2393e27abb66SXin LI 				cfgt.stats_dir = (yyvsp[0].String);
23942b15cb3dSCy Schubert 			} else {
2395e27abb66SXin LI 				YYFREE((yyvsp[0].String));
2396276da39aSCy Schubert 				yyerror("statsdir remote configuration ignored");
23972b15cb3dSCy Schubert 			}
23982b15cb3dSCy Schubert 		}
2399*f391d6bcSXin LI #line 2400 "ntp_parser.c" /* yacc.c:1646  */
24002b15cb3dSCy Schubert     break;
24012b15cb3dSCy Schubert 
2402*f391d6bcSXin LI   case 99:
2403*f391d6bcSXin LI #line 683 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
24042b15cb3dSCy Schubert     {
24052b15cb3dSCy Schubert 			filegen_node *fgn;
24062b15cb3dSCy Schubert 
2407e27abb66SXin LI 			fgn = create_filegen_node((yyvsp[-1].Integer), (yyvsp[0].Attr_val_fifo));
24082b15cb3dSCy Schubert 			APPEND_G_FIFO(cfgt.filegen_opts, fgn);
24092b15cb3dSCy Schubert 		}
2410*f391d6bcSXin LI #line 2411 "ntp_parser.c" /* yacc.c:1646  */
24112b15cb3dSCy Schubert     break;
24122b15cb3dSCy Schubert 
2413*f391d6bcSXin LI   case 100:
2414*f391d6bcSXin LI #line 693 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
24152b15cb3dSCy Schubert     {
2416e27abb66SXin LI 			(yyval.Int_fifo) = (yyvsp[-1].Int_fifo);
2417e27abb66SXin LI 			APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer)));
24182b15cb3dSCy Schubert 		}
2419*f391d6bcSXin LI #line 2420 "ntp_parser.c" /* yacc.c:1646  */
24202b15cb3dSCy Schubert     break;
24212b15cb3dSCy Schubert 
2422*f391d6bcSXin LI   case 101:
2423*f391d6bcSXin LI #line 698 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
24242b15cb3dSCy Schubert     {
24252b15cb3dSCy Schubert 			(yyval.Int_fifo) = NULL;
2426e27abb66SXin LI 			APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer)));
24272b15cb3dSCy Schubert 		}
2428*f391d6bcSXin LI #line 2429 "ntp_parser.c" /* yacc.c:1646  */
2429a25439b6SCy Schubert     break;
2430a25439b6SCy Schubert 
2431a25439b6SCy Schubert   case 110:
2432e27abb66SXin LI #line 717 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2433*f391d6bcSXin LI     { (yyval.Attr_val_fifo) = NULL; }
2434*f391d6bcSXin LI #line 2435 "ntp_parser.c" /* yacc.c:1646  */
2435*f391d6bcSXin LI     break;
2436*f391d6bcSXin LI 
2437*f391d6bcSXin LI   case 111:
2438*f391d6bcSXin LI #line 719 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
24392b15cb3dSCy Schubert     {
2440e27abb66SXin LI 			(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
2441e27abb66SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
24422b15cb3dSCy Schubert 		}
2443*f391d6bcSXin LI #line 2444 "ntp_parser.c" /* yacc.c:1646  */
24442b15cb3dSCy Schubert     break;
24452b15cb3dSCy Schubert 
2446*f391d6bcSXin LI   case 112:
2447*f391d6bcSXin LI #line 727 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
24482b15cb3dSCy Schubert     {
2449276da39aSCy Schubert 			if (lex_from_file()) {
2450e27abb66SXin LI 				(yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String));
24512b15cb3dSCy Schubert 			} else {
24522b15cb3dSCy Schubert 				(yyval.Attr_val) = NULL;
2453e27abb66SXin LI 				YYFREE((yyvsp[0].String));
2454276da39aSCy Schubert 				yyerror("filegen file remote config ignored");
24552b15cb3dSCy Schubert 			}
24562b15cb3dSCy Schubert 		}
2457*f391d6bcSXin LI #line 2458 "ntp_parser.c" /* yacc.c:1646  */
24582b15cb3dSCy Schubert     break;
24592b15cb3dSCy Schubert 
2460*f391d6bcSXin LI   case 113:
2461*f391d6bcSXin LI #line 737 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
24622b15cb3dSCy Schubert     {
2463276da39aSCy Schubert 			if (lex_from_file()) {
2464e27abb66SXin LI 				(yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer));
24652b15cb3dSCy Schubert 			} else {
24662b15cb3dSCy Schubert 				(yyval.Attr_val) = NULL;
2467276da39aSCy Schubert 				yyerror("filegen type remote config ignored");
24682b15cb3dSCy Schubert 			}
24692b15cb3dSCy Schubert 		}
2470*f391d6bcSXin LI #line 2471 "ntp_parser.c" /* yacc.c:1646  */
24712b15cb3dSCy Schubert     break;
24722b15cb3dSCy Schubert 
2473*f391d6bcSXin LI   case 114:
2474*f391d6bcSXin LI #line 746 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
24752b15cb3dSCy Schubert     {
24762b15cb3dSCy Schubert 			const char *err;
24772b15cb3dSCy Schubert 
2478276da39aSCy Schubert 			if (lex_from_file()) {
2479e27abb66SXin LI 				(yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer));
24802b15cb3dSCy Schubert 			} else {
24812b15cb3dSCy Schubert 				(yyval.Attr_val) = NULL;
2482e27abb66SXin LI 				if (T_Link == (yyvsp[0].Integer))
24832b15cb3dSCy Schubert 					err = "filegen link remote config ignored";
24842b15cb3dSCy Schubert 				else
24852b15cb3dSCy Schubert 					err = "filegen nolink remote config ignored";
2486276da39aSCy Schubert 				yyerror(err);
24872b15cb3dSCy Schubert 			}
24882b15cb3dSCy Schubert 		}
2489*f391d6bcSXin LI #line 2490 "ntp_parser.c" /* yacc.c:1646  */
24902b15cb3dSCy Schubert     break;
24912b15cb3dSCy Schubert 
2492*f391d6bcSXin LI   case 115:
2493*f391d6bcSXin LI #line 761 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2494e27abb66SXin LI     { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer)); }
2495*f391d6bcSXin LI #line 2496 "ntp_parser.c" /* yacc.c:1646  */
24962b15cb3dSCy Schubert     break;
24972b15cb3dSCy Schubert 
24982b15cb3dSCy Schubert   case 127:
2499*f391d6bcSXin LI #line 791 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
25002b15cb3dSCy Schubert     {
2501*f391d6bcSXin LI 			CONCAT_G_FIFOS(cfgt.discard_opts, (yyvsp[0].Attr_val_fifo));
25022b15cb3dSCy Schubert 		}
2503*f391d6bcSXin LI #line 2504 "ntp_parser.c" /* yacc.c:1646  */
25042b15cb3dSCy Schubert     break;
25052b15cb3dSCy Schubert 
25062b15cb3dSCy Schubert   case 128:
2507*f391d6bcSXin LI #line 795 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2508*f391d6bcSXin LI     {
2509*f391d6bcSXin LI 			CONCAT_G_FIFOS(cfgt.mru_opts, (yyvsp[0].Attr_val_fifo));
2510*f391d6bcSXin LI 		}
2511*f391d6bcSXin LI #line 2512 "ntp_parser.c" /* yacc.c:1646  */
2512*f391d6bcSXin LI     break;
2513*f391d6bcSXin LI 
2514*f391d6bcSXin LI   case 129:
2515*f391d6bcSXin LI #line 799 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
25162b15cb3dSCy Schubert     {
25172b15cb3dSCy Schubert 			restrict_node *rn;
25182b15cb3dSCy Schubert 
2519e27abb66SXin LI 			rn = create_restrict_node((yyvsp[-1].Address_node), NULL, (yyvsp[0].Int_fifo),
2520276da39aSCy Schubert 						  lex_current()->curpos.nline);
25212b15cb3dSCy Schubert 			APPEND_G_FIFO(cfgt.restrict_opts, rn);
25222b15cb3dSCy Schubert 		}
2523*f391d6bcSXin LI #line 2524 "ntp_parser.c" /* yacc.c:1646  */
25242b15cb3dSCy Schubert     break;
25252b15cb3dSCy Schubert 
2526*f391d6bcSXin LI   case 130:
2527*f391d6bcSXin LI #line 807 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
25282b15cb3dSCy Schubert     {
25292b15cb3dSCy Schubert 			restrict_node *rn;
25302b15cb3dSCy Schubert 
2531e27abb66SXin LI 			rn = create_restrict_node((yyvsp[-3].Address_node), (yyvsp[-1].Address_node), (yyvsp[0].Int_fifo),
2532276da39aSCy Schubert 						  lex_current()->curpos.nline);
25332b15cb3dSCy Schubert 			APPEND_G_FIFO(cfgt.restrict_opts, rn);
25342b15cb3dSCy Schubert 		}
2535*f391d6bcSXin LI #line 2536 "ntp_parser.c" /* yacc.c:1646  */
25362b15cb3dSCy Schubert     break;
25372b15cb3dSCy Schubert 
2538*f391d6bcSXin LI   case 131:
2539*f391d6bcSXin LI #line 815 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
25402b15cb3dSCy Schubert     {
25412b15cb3dSCy Schubert 			restrict_node *rn;
25422b15cb3dSCy Schubert 
2543e27abb66SXin LI 			rn = create_restrict_node(NULL, NULL, (yyvsp[0].Int_fifo),
2544276da39aSCy Schubert 						  lex_current()->curpos.nline);
25452b15cb3dSCy Schubert 			APPEND_G_FIFO(cfgt.restrict_opts, rn);
25462b15cb3dSCy Schubert 		}
2547*f391d6bcSXin LI #line 2548 "ntp_parser.c" /* yacc.c:1646  */
25482b15cb3dSCy Schubert     break;
25492b15cb3dSCy Schubert 
25502b15cb3dSCy Schubert   case 132:
2551*f391d6bcSXin LI #line 823 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2552*f391d6bcSXin LI     {
2553*f391d6bcSXin LI 			restrict_node *rn;
2554*f391d6bcSXin LI 
2555*f391d6bcSXin LI 			rn = create_restrict_node(
2556*f391d6bcSXin LI 				create_address_node(
2557*f391d6bcSXin LI 					estrdup("0.0.0.0"),
2558*f391d6bcSXin LI 					AF_INET),
2559*f391d6bcSXin LI 				create_address_node(
2560*f391d6bcSXin LI 					estrdup("0.0.0.0"),
2561*f391d6bcSXin LI 					AF_INET),
2562*f391d6bcSXin LI 				(yyvsp[0].Int_fifo),
2563*f391d6bcSXin LI 				lex_current()->curpos.nline);
2564*f391d6bcSXin LI 			APPEND_G_FIFO(cfgt.restrict_opts, rn);
2565*f391d6bcSXin LI 		}
2566*f391d6bcSXin LI #line 2567 "ntp_parser.c" /* yacc.c:1646  */
2567*f391d6bcSXin LI     break;
2568*f391d6bcSXin LI 
2569*f391d6bcSXin LI   case 133:
2570*f391d6bcSXin LI #line 838 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
25712b15cb3dSCy Schubert     {
25722b15cb3dSCy Schubert 			restrict_node *rn;
25732b15cb3dSCy Schubert 
25742b15cb3dSCy Schubert 			rn = create_restrict_node(
25752b15cb3dSCy Schubert 				create_address_node(
25762b15cb3dSCy Schubert 					estrdup("::"),
25772b15cb3dSCy Schubert 					AF_INET6),
25782b15cb3dSCy Schubert 				create_address_node(
25792b15cb3dSCy Schubert 					estrdup("::"),
25802b15cb3dSCy Schubert 					AF_INET6),
2581e27abb66SXin LI 				(yyvsp[0].Int_fifo),
2582276da39aSCy Schubert 				lex_current()->curpos.nline);
25832b15cb3dSCy Schubert 			APPEND_G_FIFO(cfgt.restrict_opts, rn);
25842b15cb3dSCy Schubert 		}
2585*f391d6bcSXin LI #line 2586 "ntp_parser.c" /* yacc.c:1646  */
25862b15cb3dSCy Schubert     break;
25872b15cb3dSCy Schubert 
2588*f391d6bcSXin LI   case 134:
2589*f391d6bcSXin LI #line 853 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
25902b15cb3dSCy Schubert     {
25912b15cb3dSCy Schubert 			restrict_node *	rn;
25922b15cb3dSCy Schubert 
2593e27abb66SXin LI 			APPEND_G_FIFO((yyvsp[0].Int_fifo), create_int_node((yyvsp[-1].Integer)));
25942b15cb3dSCy Schubert 			rn = create_restrict_node(
2595e27abb66SXin LI 				NULL, NULL, (yyvsp[0].Int_fifo), lex_current()->curpos.nline);
25962b15cb3dSCy Schubert 			APPEND_G_FIFO(cfgt.restrict_opts, rn);
25972b15cb3dSCy Schubert 		}
2598*f391d6bcSXin LI #line 2599 "ntp_parser.c" /* yacc.c:1646  */
2599a25439b6SCy Schubert     break;
2600a25439b6SCy Schubert 
2601a25439b6SCy Schubert   case 135:
2602e27abb66SXin LI #line 865 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2603*f391d6bcSXin LI     { (yyval.Int_fifo) = NULL; }
2604*f391d6bcSXin LI #line 2605 "ntp_parser.c" /* yacc.c:1646  */
2605*f391d6bcSXin LI     break;
2606*f391d6bcSXin LI 
2607*f391d6bcSXin LI   case 136:
2608*f391d6bcSXin LI #line 867 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
26092b15cb3dSCy Schubert     {
2610e27abb66SXin LI 			(yyval.Int_fifo) = (yyvsp[-1].Int_fifo);
2611e27abb66SXin LI 			APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer)));
26122b15cb3dSCy Schubert 		}
2613*f391d6bcSXin LI #line 2614 "ntp_parser.c" /* yacc.c:1646  */
26142b15cb3dSCy Schubert     break;
26152b15cb3dSCy Schubert 
26162b15cb3dSCy Schubert   case 152:
2617*f391d6bcSXin LI #line 893 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
26182b15cb3dSCy Schubert     {
2619e27abb66SXin LI 			(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
2620e27abb66SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
26212b15cb3dSCy Schubert 		}
2622*f391d6bcSXin LI #line 2623 "ntp_parser.c" /* yacc.c:1646  */
26232b15cb3dSCy Schubert     break;
26242b15cb3dSCy Schubert 
2625*f391d6bcSXin LI   case 153:
2626*f391d6bcSXin LI #line 898 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
26272b15cb3dSCy Schubert     {
26282b15cb3dSCy Schubert 			(yyval.Attr_val_fifo) = NULL;
2629e27abb66SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
26302b15cb3dSCy Schubert 		}
2631*f391d6bcSXin LI #line 2632 "ntp_parser.c" /* yacc.c:1646  */
2632*f391d6bcSXin LI     break;
2633*f391d6bcSXin LI 
2634*f391d6bcSXin LI   case 154:
2635*f391d6bcSXin LI #line 906 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2636*f391d6bcSXin LI     { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
2637*f391d6bcSXin LI #line 2638 "ntp_parser.c" /* yacc.c:1646  */
2638*f391d6bcSXin LI     break;
2639*f391d6bcSXin LI 
2640*f391d6bcSXin LI   case 158:
2641*f391d6bcSXin LI #line 917 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2642*f391d6bcSXin LI     {
2643*f391d6bcSXin LI 			(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
2644*f391d6bcSXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
2645*f391d6bcSXin LI 		}
2646*f391d6bcSXin LI #line 2647 "ntp_parser.c" /* yacc.c:1646  */
26472b15cb3dSCy Schubert     break;
26482b15cb3dSCy Schubert 
2649a25439b6SCy Schubert   case 159:
2650*f391d6bcSXin LI #line 922 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2651*f391d6bcSXin LI     {
2652*f391d6bcSXin LI 			(yyval.Attr_val_fifo) = NULL;
2653*f391d6bcSXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
2654*f391d6bcSXin LI 		}
2655*f391d6bcSXin LI #line 2656 "ntp_parser.c" /* yacc.c:1646  */
2656a25439b6SCy Schubert     break;
2657a25439b6SCy Schubert 
2658*f391d6bcSXin LI   case 160:
2659*f391d6bcSXin LI #line 930 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2660*f391d6bcSXin LI     { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
2661*f391d6bcSXin LI #line 2662 "ntp_parser.c" /* yacc.c:1646  */
2662*f391d6bcSXin LI     break;
2663*f391d6bcSXin LI 
2664*f391d6bcSXin LI   case 169:
2665*f391d6bcSXin LI #line 950 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
26662b15cb3dSCy Schubert     {
26672b15cb3dSCy Schubert 			addr_opts_node *aon;
26682b15cb3dSCy Schubert 
2669e27abb66SXin LI 			aon = create_addr_opts_node((yyvsp[-1].Address_node), (yyvsp[0].Attr_val_fifo));
26702b15cb3dSCy Schubert 			APPEND_G_FIFO(cfgt.fudge, aon);
26712b15cb3dSCy Schubert 		}
2672*f391d6bcSXin LI #line 2673 "ntp_parser.c" /* yacc.c:1646  */
26732b15cb3dSCy Schubert     break;
26742b15cb3dSCy Schubert 
2675*f391d6bcSXin LI   case 170:
2676*f391d6bcSXin LI #line 960 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
26772b15cb3dSCy Schubert     {
2678e27abb66SXin LI 			(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
2679e27abb66SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
26802b15cb3dSCy Schubert 		}
2681*f391d6bcSXin LI #line 2682 "ntp_parser.c" /* yacc.c:1646  */
26822b15cb3dSCy Schubert     break;
26832b15cb3dSCy Schubert 
2684*f391d6bcSXin LI   case 171:
2685*f391d6bcSXin LI #line 965 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
26862b15cb3dSCy Schubert     {
26872b15cb3dSCy Schubert 			(yyval.Attr_val_fifo) = NULL;
2688e27abb66SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
26892b15cb3dSCy Schubert 		}
2690*f391d6bcSXin LI #line 2691 "ntp_parser.c" /* yacc.c:1646  */
26912b15cb3dSCy Schubert     break;
26922b15cb3dSCy Schubert 
2693a25439b6SCy Schubert   case 172:
2694e27abb66SXin LI #line 973 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2695*f391d6bcSXin LI     { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (yyvsp[0].Double)); }
2696*f391d6bcSXin LI #line 2697 "ntp_parser.c" /* yacc.c:1646  */
26972b15cb3dSCy Schubert     break;
26982b15cb3dSCy Schubert 
2699a25439b6SCy Schubert   case 173:
2700e27abb66SXin LI #line 975 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2701*f391d6bcSXin LI     { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
2702*f391d6bcSXin LI #line 2703 "ntp_parser.c" /* yacc.c:1646  */
2703*f391d6bcSXin LI     break;
2704*f391d6bcSXin LI 
2705*f391d6bcSXin LI   case 174:
2706*f391d6bcSXin LI #line 977 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
27073311ff84SXin LI     {
2708e27abb66SXin LI 			if ((yyvsp[0].Integer) >= 0 && (yyvsp[0].Integer) <= 16) {
2709e27abb66SXin LI 				(yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer));
27103311ff84SXin LI 			} else {
27113311ff84SXin LI 				(yyval.Attr_val) = NULL;
27123311ff84SXin LI 				yyerror("fudge factor: stratum value not in [0..16], ignored");
27133311ff84SXin LI 			}
27143311ff84SXin LI 		}
2715*f391d6bcSXin LI #line 2716 "ntp_parser.c" /* yacc.c:1646  */
27162b15cb3dSCy Schubert     break;
27172b15cb3dSCy Schubert 
2718a25439b6SCy Schubert   case 175:
2719e27abb66SXin LI #line 986 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2720e27abb66SXin LI     { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); }
2721*f391d6bcSXin LI #line 2722 "ntp_parser.c" /* yacc.c:1646  */
27222b15cb3dSCy Schubert     break;
27232b15cb3dSCy Schubert 
2724*f391d6bcSXin LI   case 176:
2725*f391d6bcSXin LI #line 988 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2726*f391d6bcSXin LI     { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); }
2727*f391d6bcSXin LI #line 2728 "ntp_parser.c" /* yacc.c:1646  */
2728a25439b6SCy Schubert     break;
2729a25439b6SCy Schubert 
27302b15cb3dSCy Schubert   case 183:
2731*f391d6bcSXin LI #line 1009 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2732*f391d6bcSXin LI     { CONCAT_G_FIFOS(cfgt.rlimit, (yyvsp[0].Attr_val_fifo)); }
2733*f391d6bcSXin LI #line 2734 "ntp_parser.c" /* yacc.c:1646  */
2734*f391d6bcSXin LI     break;
2735*f391d6bcSXin LI 
2736*f391d6bcSXin LI   case 184:
2737*f391d6bcSXin LI #line 1014 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
27382b15cb3dSCy Schubert     {
2739e27abb66SXin LI 			(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
2740e27abb66SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
27412b15cb3dSCy Schubert 		}
2742*f391d6bcSXin LI #line 2743 "ntp_parser.c" /* yacc.c:1646  */
27432b15cb3dSCy Schubert     break;
27442b15cb3dSCy Schubert 
2745*f391d6bcSXin LI   case 185:
2746*f391d6bcSXin LI #line 1019 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
27472b15cb3dSCy Schubert     {
27482b15cb3dSCy Schubert 			(yyval.Attr_val_fifo) = NULL;
2749e27abb66SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
27502b15cb3dSCy Schubert 		}
2751*f391d6bcSXin LI #line 2752 "ntp_parser.c" /* yacc.c:1646  */
27522b15cb3dSCy Schubert     break;
27532b15cb3dSCy Schubert 
2754*f391d6bcSXin LI   case 186:
2755*f391d6bcSXin LI #line 1027 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2756e27abb66SXin LI     { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
2757*f391d6bcSXin LI #line 2758 "ntp_parser.c" /* yacc.c:1646  */
27582b15cb3dSCy Schubert     break;
27592b15cb3dSCy Schubert 
2760a25439b6SCy Schubert   case 190:
2761e27abb66SXin LI #line 1043 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2762*f391d6bcSXin LI     { CONCAT_G_FIFOS(cfgt.enable_opts, (yyvsp[0].Attr_val_fifo)); }
2763*f391d6bcSXin LI #line 2764 "ntp_parser.c" /* yacc.c:1646  */
2764a25439b6SCy Schubert     break;
2765a25439b6SCy Schubert 
27662b15cb3dSCy Schubert   case 191:
2767*f391d6bcSXin LI #line 1045 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2768*f391d6bcSXin LI     { CONCAT_G_FIFOS(cfgt.disable_opts, (yyvsp[0].Attr_val_fifo)); }
2769*f391d6bcSXin LI #line 2770 "ntp_parser.c" /* yacc.c:1646  */
2770*f391d6bcSXin LI     break;
2771*f391d6bcSXin LI 
2772*f391d6bcSXin LI   case 192:
2773*f391d6bcSXin LI #line 1050 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
27742b15cb3dSCy Schubert     {
2775e27abb66SXin LI 			(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
2776e27abb66SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
27772b15cb3dSCy Schubert 		}
2778*f391d6bcSXin LI #line 2779 "ntp_parser.c" /* yacc.c:1646  */
27792b15cb3dSCy Schubert     break;
27802b15cb3dSCy Schubert 
2781*f391d6bcSXin LI   case 193:
2782*f391d6bcSXin LI #line 1055 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
27832b15cb3dSCy Schubert     {
27842b15cb3dSCy Schubert 			(yyval.Attr_val_fifo) = NULL;
2785e27abb66SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
27862b15cb3dSCy Schubert 		}
2787*f391d6bcSXin LI #line 2788 "ntp_parser.c" /* yacc.c:1646  */
2788a25439b6SCy Schubert     break;
2789a25439b6SCy Schubert 
2790a25439b6SCy Schubert   case 194:
2791e27abb66SXin LI #line 1063 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2792*f391d6bcSXin LI     { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer)); }
2793*f391d6bcSXin LI #line 2794 "ntp_parser.c" /* yacc.c:1646  */
2794*f391d6bcSXin LI     break;
2795*f391d6bcSXin LI 
2796*f391d6bcSXin LI   case 195:
2797*f391d6bcSXin LI #line 1065 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
27982b15cb3dSCy Schubert     {
2799276da39aSCy Schubert 			if (lex_from_file()) {
2800e27abb66SXin LI 				(yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer));
28012b15cb3dSCy Schubert 			} else {
28022b15cb3dSCy Schubert 				char err_str[128];
28032b15cb3dSCy Schubert 
28042b15cb3dSCy Schubert 				(yyval.Attr_val) = NULL;
28052b15cb3dSCy Schubert 				snprintf(err_str, sizeof(err_str),
28062b15cb3dSCy Schubert 					 "enable/disable %s remote configuration ignored",
2807e27abb66SXin LI 					 keyword((yyvsp[0].Integer)));
2808276da39aSCy Schubert 				yyerror(err_str);
28092b15cb3dSCy Schubert 			}
28102b15cb3dSCy Schubert 		}
2811*f391d6bcSXin LI #line 2812 "ntp_parser.c" /* yacc.c:1646  */
28122b15cb3dSCy Schubert     break;
28132b15cb3dSCy Schubert 
281468ba7e87SXin LI   case 208:
2815*f391d6bcSXin LI #line 1104 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2816*f391d6bcSXin LI     { CONCAT_G_FIFOS(cfgt.tinker, (yyvsp[0].Attr_val_fifo)); }
2817*f391d6bcSXin LI #line 2818 "ntp_parser.c" /* yacc.c:1646  */
2818*f391d6bcSXin LI     break;
2819*f391d6bcSXin LI 
2820*f391d6bcSXin LI   case 209:
2821*f391d6bcSXin LI #line 1109 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
28222b15cb3dSCy Schubert     {
2823e27abb66SXin LI 			(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
2824e27abb66SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
28252b15cb3dSCy Schubert 		}
2826*f391d6bcSXin LI #line 2827 "ntp_parser.c" /* yacc.c:1646  */
28272b15cb3dSCy Schubert     break;
28282b15cb3dSCy Schubert 
2829*f391d6bcSXin LI   case 210:
2830*f391d6bcSXin LI #line 1114 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2831e27abb66SXin LI     {
2832e27abb66SXin LI 			(yyval.Attr_val_fifo) = NULL;
2833e27abb66SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
2834e27abb66SXin LI 		}
2835*f391d6bcSXin LI #line 2836 "ntp_parser.c" /* yacc.c:1646  */
2836276da39aSCy Schubert     break;
2837276da39aSCy Schubert 
2838*f391d6bcSXin LI   case 211:
2839*f391d6bcSXin LI #line 1122 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2840e27abb66SXin LI     { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (yyvsp[0].Double)); }
2841*f391d6bcSXin LI #line 2842 "ntp_parser.c" /* yacc.c:1646  */
284268ba7e87SXin LI     break;
284368ba7e87SXin LI 
2844*f391d6bcSXin LI   case 224:
2845*f391d6bcSXin LI #line 1147 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
284668ba7e87SXin LI     {
284768ba7e87SXin LI 			attr_val *av;
284868ba7e87SXin LI 
2849e27abb66SXin LI 			av = create_attr_dval((yyvsp[-1].Integer), (yyvsp[0].Double));
285068ba7e87SXin LI 			APPEND_G_FIFO(cfgt.vars, av);
285168ba7e87SXin LI 		}
2852*f391d6bcSXin LI #line 2853 "ntp_parser.c" /* yacc.c:1646  */
285368ba7e87SXin LI     break;
285468ba7e87SXin LI 
2855*f391d6bcSXin LI   case 225:
2856*f391d6bcSXin LI #line 1154 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
285768ba7e87SXin LI     {
285868ba7e87SXin LI 			attr_val *av;
285968ba7e87SXin LI 
2860e27abb66SXin LI 			av = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer));
286168ba7e87SXin LI 			APPEND_G_FIFO(cfgt.vars, av);
286268ba7e87SXin LI 		}
2863*f391d6bcSXin LI #line 2864 "ntp_parser.c" /* yacc.c:1646  */
286468ba7e87SXin LI     break;
286568ba7e87SXin LI 
2866*f391d6bcSXin LI   case 226:
2867*f391d6bcSXin LI #line 1161 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2868e27abb66SXin LI     {
2869e27abb66SXin LI 			attr_val *av;
2870e27abb66SXin LI 
2871e27abb66SXin LI 			av = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String));
2872e27abb66SXin LI 			APPEND_G_FIFO(cfgt.vars, av);
2873e27abb66SXin LI 		}
2874*f391d6bcSXin LI #line 2875 "ntp_parser.c" /* yacc.c:1646  */
2875e27abb66SXin LI     break;
2876e27abb66SXin LI 
2877*f391d6bcSXin LI   case 227:
2878*f391d6bcSXin LI #line 1168 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
28792b15cb3dSCy Schubert     {
28802b15cb3dSCy Schubert 			char error_text[64];
28812b15cb3dSCy Schubert 			attr_val *av;
28822b15cb3dSCy Schubert 
2883276da39aSCy Schubert 			if (lex_from_file()) {
2884e27abb66SXin LI 				av = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String));
28852b15cb3dSCy Schubert 				APPEND_G_FIFO(cfgt.vars, av);
28862b15cb3dSCy Schubert 			} else {
2887e27abb66SXin LI 				YYFREE((yyvsp[0].String));
28882b15cb3dSCy Schubert 				snprintf(error_text, sizeof(error_text),
28892b15cb3dSCy Schubert 					 "%s remote config ignored",
2890e27abb66SXin LI 					 keyword((yyvsp[-1].Integer)));
2891276da39aSCy Schubert 				yyerror(error_text);
28922b15cb3dSCy Schubert 			}
28932b15cb3dSCy Schubert 		}
2894*f391d6bcSXin LI #line 2895 "ntp_parser.c" /* yacc.c:1646  */
28952b15cb3dSCy Schubert     break;
28962b15cb3dSCy Schubert 
2897*f391d6bcSXin LI   case 228:
2898*f391d6bcSXin LI #line 1184 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
28992b15cb3dSCy Schubert     {
2900276da39aSCy Schubert 			if (!lex_from_file()) {
2901e27abb66SXin LI 				YYFREE((yyvsp[-1].String)); /* avoid leak */
2902276da39aSCy Schubert 				yyerror("remote includefile ignored");
2903276da39aSCy Schubert 				break;
29042b15cb3dSCy Schubert 			}
2905276da39aSCy Schubert 			if (lex_level() > MAXINCLUDELEVEL) {
2906276da39aSCy Schubert 				fprintf(stderr, "getconfig: Maximum include file level exceeded.\n");
2907276da39aSCy Schubert 				msyslog(LOG_ERR, "getconfig: Maximum include file level exceeded.");
2908276da39aSCy Schubert 			} else {
2909e27abb66SXin LI 				const char * path = FindConfig((yyvsp[-1].String)); /* might return $2! */
2910276da39aSCy Schubert 				if (!lex_push_file(path, "r")) {
2911276da39aSCy Schubert 					fprintf(stderr, "getconfig: Couldn't open <%s>\n", path);
2912276da39aSCy Schubert 					msyslog(LOG_ERR, "getconfig: Couldn't open <%s>", path);
2913276da39aSCy Schubert 				}
2914276da39aSCy Schubert 			}
2915e27abb66SXin LI 			YYFREE((yyvsp[-1].String)); /* avoid leak */
2916276da39aSCy Schubert 		}
2917*f391d6bcSXin LI #line 2918 "ntp_parser.c" /* yacc.c:1646  */
29182b15cb3dSCy Schubert     break;
29192b15cb3dSCy Schubert 
2920a25439b6SCy Schubert   case 229:
2921e27abb66SXin LI #line 1203 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2922*f391d6bcSXin LI     { lex_flush_stack(); }
2923*f391d6bcSXin LI #line 2924 "ntp_parser.c" /* yacc.c:1646  */
2924a25439b6SCy Schubert     break;
2925a25439b6SCy Schubert 
2926276da39aSCy Schubert   case 230:
2927e27abb66SXin LI #line 1205 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2928*f391d6bcSXin LI     { /* see drift_parm below for actions */ }
2929*f391d6bcSXin LI #line 2930 "ntp_parser.c" /* yacc.c:1646  */
2930276da39aSCy Schubert     break;
2931276da39aSCy Schubert 
293268ba7e87SXin LI   case 231:
2933e27abb66SXin LI #line 1207 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2934*f391d6bcSXin LI     { CONCAT_G_FIFOS(cfgt.logconfig, (yyvsp[0].Attr_val_fifo)); }
2935*f391d6bcSXin LI #line 2936 "ntp_parser.c" /* yacc.c:1646  */
293668ba7e87SXin LI     break;
293768ba7e87SXin LI 
293868ba7e87SXin LI   case 232:
2939e27abb66SXin LI #line 1209 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2940*f391d6bcSXin LI     { CONCAT_G_FIFOS(cfgt.phone, (yyvsp[0].String_fifo)); }
2941*f391d6bcSXin LI #line 2942 "ntp_parser.c" /* yacc.c:1646  */
294268ba7e87SXin LI     break;
294368ba7e87SXin LI 
294468ba7e87SXin LI   case 233:
2945e27abb66SXin LI #line 1211 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2946*f391d6bcSXin LI     { APPEND_G_FIFO(cfgt.setvar, (yyvsp[0].Set_var)); }
2947*f391d6bcSXin LI #line 2948 "ntp_parser.c" /* yacc.c:1646  */
2948*f391d6bcSXin LI     break;
2949*f391d6bcSXin LI 
2950*f391d6bcSXin LI   case 234:
2951*f391d6bcSXin LI #line 1213 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2952e27abb66SXin LI     {
2953e27abb66SXin LI 			addr_opts_node *aon;
2954e27abb66SXin LI 
2955e27abb66SXin LI 			aon = create_addr_opts_node((yyvsp[-1].Address_node), (yyvsp[0].Attr_val_fifo));
2956e27abb66SXin LI 			APPEND_G_FIFO(cfgt.trap, aon);
2957e27abb66SXin LI 		}
2958*f391d6bcSXin LI #line 2959 "ntp_parser.c" /* yacc.c:1646  */
295968ba7e87SXin LI     break;
296068ba7e87SXin LI 
2961*f391d6bcSXin LI   case 235:
2962*f391d6bcSXin LI #line 1220 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2963e27abb66SXin LI     { CONCAT_G_FIFOS(cfgt.ttl, (yyvsp[0].Attr_val_fifo)); }
2964*f391d6bcSXin LI #line 2965 "ntp_parser.c" /* yacc.c:1646  */
2965e27abb66SXin LI     break;
2966e27abb66SXin LI 
2967*f391d6bcSXin LI   case 240:
2968*f391d6bcSXin LI #line 1235 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2969276da39aSCy Schubert     {
2970276da39aSCy Schubert #ifndef LEAP_SMEAR
2971276da39aSCy Schubert 			yyerror("Built without LEAP_SMEAR support.");
2972276da39aSCy Schubert #endif
2973276da39aSCy Schubert 		}
2974*f391d6bcSXin LI #line 2975 "ntp_parser.c" /* yacc.c:1646  */
29752b15cb3dSCy Schubert     break;
29762b15cb3dSCy Schubert 
2977*f391d6bcSXin LI   case 246:
2978*f391d6bcSXin LI #line 1255 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
29792b15cb3dSCy Schubert     {
29809034852cSGleb Smirnoff 			if (lex_from_file()) {
29812b15cb3dSCy Schubert 				attr_val *av;
2982e27abb66SXin LI 				av = create_attr_sval(T_Driftfile, (yyvsp[0].String));
29832b15cb3dSCy Schubert 				APPEND_G_FIFO(cfgt.vars, av);
29849034852cSGleb Smirnoff 			} else {
2985e27abb66SXin LI 				YYFREE((yyvsp[0].String));
29869034852cSGleb Smirnoff 				yyerror("driftfile remote configuration ignored");
29872b15cb3dSCy Schubert 			}
29889034852cSGleb Smirnoff 		}
2989*f391d6bcSXin LI #line 2990 "ntp_parser.c" /* yacc.c:1646  */
29902b15cb3dSCy Schubert     break;
29912b15cb3dSCy Schubert 
2992*f391d6bcSXin LI   case 247:
2993*f391d6bcSXin LI #line 1266 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
2994e27abb66SXin LI     {
2995e27abb66SXin LI 			if (lex_from_file()) {
2996e27abb66SXin LI 				attr_val *av;
2997e27abb66SXin LI 				av = create_attr_sval(T_Driftfile, (yyvsp[-1].String));
2998e27abb66SXin LI 				APPEND_G_FIFO(cfgt.vars, av);
2999e27abb66SXin LI 				av = create_attr_dval(T_WanderThreshold, (yyvsp[0].Double));
3000e27abb66SXin LI 				APPEND_G_FIFO(cfgt.vars, av);
3001e27abb66SXin LI 			} else {
3002e27abb66SXin LI 				YYFREE((yyvsp[-1].String));
3003e27abb66SXin LI 				yyerror("driftfile remote configuration ignored");
3004e27abb66SXin LI 			}
3005e27abb66SXin LI 		}
3006*f391d6bcSXin LI #line 3007 "ntp_parser.c" /* yacc.c:1646  */
3007e27abb66SXin LI     break;
3008e27abb66SXin LI 
3009*f391d6bcSXin LI   case 248:
3010*f391d6bcSXin LI #line 1279 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
30112b15cb3dSCy Schubert     {
30129034852cSGleb Smirnoff 			if (lex_from_file()) {
30132b15cb3dSCy Schubert 				attr_val *av;
30149034852cSGleb Smirnoff 				av = create_attr_sval(T_Driftfile, estrdup(""));
30152b15cb3dSCy Schubert 				APPEND_G_FIFO(cfgt.vars, av);
30169034852cSGleb Smirnoff 			} else {
30179034852cSGleb Smirnoff 				yyerror("driftfile remote configuration ignored");
30182b15cb3dSCy Schubert 			}
30199034852cSGleb Smirnoff 		}
3020*f391d6bcSXin LI #line 3021 "ntp_parser.c" /* yacc.c:1646  */
3021a25439b6SCy Schubert     break;
3022a25439b6SCy Schubert 
3023*f391d6bcSXin LI   case 249:
3024*f391d6bcSXin LI #line 1292 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3025e27abb66SXin LI     { (yyval.Set_var) = create_setvar_node((yyvsp[-3].String), (yyvsp[-1].String), (yyvsp[0].Integer)); }
3026*f391d6bcSXin LI #line 3027 "ntp_parser.c" /* yacc.c:1646  */
3027276da39aSCy Schubert     break;
3028276da39aSCy Schubert 
3029276da39aSCy Schubert   case 251:
3030*f391d6bcSXin LI #line 1298 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3031*f391d6bcSXin LI     { (yyval.Integer) = 0; }
3032*f391d6bcSXin LI #line 3033 "ntp_parser.c" /* yacc.c:1646  */
3033276da39aSCy Schubert     break;
3034276da39aSCy Schubert 
3035276da39aSCy Schubert   case 252:
3036e27abb66SXin LI #line 1303 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3037*f391d6bcSXin LI     { (yyval.Attr_val_fifo) = NULL; }
3038*f391d6bcSXin LI #line 3039 "ntp_parser.c" /* yacc.c:1646  */
3039*f391d6bcSXin LI     break;
3040*f391d6bcSXin LI 
3041*f391d6bcSXin LI   case 253:
3042*f391d6bcSXin LI #line 1305 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3043e27abb66SXin LI     {
3044e27abb66SXin LI 			(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
3045e27abb66SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
3046e27abb66SXin LI 		}
3047*f391d6bcSXin LI #line 3048 "ntp_parser.c" /* yacc.c:1646  */
304868ba7e87SXin LI     break;
304968ba7e87SXin LI 
305068ba7e87SXin LI   case 254:
3051e27abb66SXin LI #line 1313 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3052*f391d6bcSXin LI     { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); }
3053*f391d6bcSXin LI #line 3054 "ntp_parser.c" /* yacc.c:1646  */
3054*f391d6bcSXin LI     break;
3055*f391d6bcSXin LI 
3056*f391d6bcSXin LI   case 255:
3057*f391d6bcSXin LI #line 1315 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
305868ba7e87SXin LI     {
3059e27abb66SXin LI 			(yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), estrdup((yyvsp[0].Address_node)->address));
3060e27abb66SXin LI 			destroy_address_node((yyvsp[0].Address_node));
306168ba7e87SXin LI 		}
3062*f391d6bcSXin LI #line 3063 "ntp_parser.c" /* yacc.c:1646  */
306368ba7e87SXin LI     break;
306468ba7e87SXin LI 
3065*f391d6bcSXin LI   case 256:
3066*f391d6bcSXin LI #line 1323 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
306768ba7e87SXin LI     {
3068e27abb66SXin LI 			(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
3069e27abb66SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
307068ba7e87SXin LI 		}
3071*f391d6bcSXin LI #line 3072 "ntp_parser.c" /* yacc.c:1646  */
307268ba7e87SXin LI     break;
307368ba7e87SXin LI 
3074*f391d6bcSXin LI   case 257:
3075*f391d6bcSXin LI #line 1328 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3076e27abb66SXin LI     {
3077e27abb66SXin LI 			(yyval.Attr_val_fifo) = NULL;
3078e27abb66SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
3079e27abb66SXin LI 		}
3080*f391d6bcSXin LI #line 3081 "ntp_parser.c" /* yacc.c:1646  */
3081e27abb66SXin LI     break;
3082e27abb66SXin LI 
3083*f391d6bcSXin LI   case 258:
3084*f391d6bcSXin LI #line 1336 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
30852b15cb3dSCy Schubert     {
30862b15cb3dSCy Schubert 			char	prefix;
30872b15cb3dSCy Schubert 			char *	type;
30882b15cb3dSCy Schubert 
3089e27abb66SXin LI 			switch ((yyvsp[0].String)[0]) {
30902b15cb3dSCy Schubert 
30912b15cb3dSCy Schubert 			case '+':
30922b15cb3dSCy Schubert 			case '-':
30932b15cb3dSCy Schubert 			case '=':
3094e27abb66SXin LI 				prefix = (yyvsp[0].String)[0];
3095e27abb66SXin LI 				type = (yyvsp[0].String) + 1;
30962b15cb3dSCy Schubert 				break;
30972b15cb3dSCy Schubert 
30982b15cb3dSCy Schubert 			default:
30992b15cb3dSCy Schubert 				prefix = '=';
3100e27abb66SXin LI 				type = (yyvsp[0].String);
31012b15cb3dSCy Schubert 			}
31022b15cb3dSCy Schubert 
31032b15cb3dSCy Schubert 			(yyval.Attr_val) = create_attr_sval(prefix, estrdup(type));
3104e27abb66SXin LI 			YYFREE((yyvsp[0].String));
31052b15cb3dSCy Schubert 		}
3106*f391d6bcSXin LI #line 3107 "ntp_parser.c" /* yacc.c:1646  */
31072b15cb3dSCy Schubert     break;
31082b15cb3dSCy Schubert 
3109*f391d6bcSXin LI   case 259:
3110*f391d6bcSXin LI #line 1361 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
31112b15cb3dSCy Schubert     {
31122b15cb3dSCy Schubert 			nic_rule_node *nrn;
31132b15cb3dSCy Schubert 
3114e27abb66SXin LI 			nrn = create_nic_rule_node((yyvsp[0].Integer), NULL, (yyvsp[-1].Integer));
31152b15cb3dSCy Schubert 			APPEND_G_FIFO(cfgt.nic_rules, nrn);
31162b15cb3dSCy Schubert 		}
3117*f391d6bcSXin LI #line 3118 "ntp_parser.c" /* yacc.c:1646  */
31182b15cb3dSCy Schubert     break;
31192b15cb3dSCy Schubert 
3120*f391d6bcSXin LI   case 260:
3121*f391d6bcSXin LI #line 1368 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3122e27abb66SXin LI     {
3123e27abb66SXin LI 			nic_rule_node *nrn;
3124e27abb66SXin LI 
3125e27abb66SXin LI 			nrn = create_nic_rule_node(0, (yyvsp[0].String), (yyvsp[-1].Integer));
3126e27abb66SXin LI 			APPEND_G_FIFO(cfgt.nic_rules, nrn);
3127e27abb66SXin LI 		}
3128*f391d6bcSXin LI #line 3129 "ntp_parser.c" /* yacc.c:1646  */
31292b15cb3dSCy Schubert     break;
31302b15cb3dSCy Schubert 
313168ba7e87SXin LI   case 270:
3132*f391d6bcSXin LI #line 1396 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3133*f391d6bcSXin LI     { CONCAT_G_FIFOS(cfgt.reset_counters, (yyvsp[0].Int_fifo)); }
3134*f391d6bcSXin LI #line 3135 "ntp_parser.c" /* yacc.c:1646  */
3135*f391d6bcSXin LI     break;
3136*f391d6bcSXin LI 
3137*f391d6bcSXin LI   case 271:
3138*f391d6bcSXin LI #line 1401 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
31392b15cb3dSCy Schubert     {
3140e27abb66SXin LI 			(yyval.Int_fifo) = (yyvsp[-1].Int_fifo);
3141e27abb66SXin LI 			APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer)));
31422b15cb3dSCy Schubert 		}
3143*f391d6bcSXin LI #line 3144 "ntp_parser.c" /* yacc.c:1646  */
31442b15cb3dSCy Schubert     break;
31452b15cb3dSCy Schubert 
3146*f391d6bcSXin LI   case 272:
3147*f391d6bcSXin LI #line 1406 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3148276da39aSCy Schubert     {
3149e27abb66SXin LI 			(yyval.Int_fifo) = NULL;
3150e27abb66SXin LI 			APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer)));
3151276da39aSCy Schubert 		}
3152*f391d6bcSXin LI #line 3153 "ntp_parser.c" /* yacc.c:1646  */
315368ba7e87SXin LI     break;
315468ba7e87SXin LI 
315568ba7e87SXin LI   case 280:
3156*f391d6bcSXin LI #line 1430 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3157*f391d6bcSXin LI     {
3158*f391d6bcSXin LI 			(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
3159*f391d6bcSXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), create_int_node((yyvsp[0].Integer)));
3160*f391d6bcSXin LI 		}
3161*f391d6bcSXin LI #line 3162 "ntp_parser.c" /* yacc.c:1646  */
3162*f391d6bcSXin LI     break;
3163*f391d6bcSXin LI 
3164*f391d6bcSXin LI   case 281:
3165*f391d6bcSXin LI #line 1435 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
316668ba7e87SXin LI     {
3167e27abb66SXin LI 			(yyval.Attr_val_fifo) = NULL;
3168e27abb66SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), create_int_node((yyvsp[0].Integer)));
316968ba7e87SXin LI 		}
3170*f391d6bcSXin LI #line 3171 "ntp_parser.c" /* yacc.c:1646  */
31712b15cb3dSCy Schubert     break;
31722b15cb3dSCy Schubert 
3173*f391d6bcSXin LI   case 282:
3174*f391d6bcSXin LI #line 1443 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
317568ba7e87SXin LI     {
3176e27abb66SXin LI 			(yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo);
3177e27abb66SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
317868ba7e87SXin LI 		}
3179*f391d6bcSXin LI #line 3180 "ntp_parser.c" /* yacc.c:1646  */
31802b15cb3dSCy Schubert     break;
31812b15cb3dSCy Schubert 
3182*f391d6bcSXin LI   case 283:
3183*f391d6bcSXin LI #line 1448 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3184e27abb66SXin LI     {
3185e27abb66SXin LI 			(yyval.Attr_val_fifo) = NULL;
3186e27abb66SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val));
3187e27abb66SXin LI 		}
3188*f391d6bcSXin LI #line 3189 "ntp_parser.c" /* yacc.c:1646  */
31892b15cb3dSCy Schubert     break;
31902b15cb3dSCy Schubert 
3191*f391d6bcSXin LI   case 284:
3192*f391d6bcSXin LI #line 1456 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3193e27abb66SXin LI     { (yyval.Attr_val) = create_attr_ival('i', (yyvsp[0].Integer)); }
3194*f391d6bcSXin LI #line 3195 "ntp_parser.c" /* yacc.c:1646  */
31952b15cb3dSCy Schubert     break;
31962b15cb3dSCy Schubert 
31972b15cb3dSCy Schubert   case 286:
3198*f391d6bcSXin LI #line 1462 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3199*f391d6bcSXin LI     { (yyval.Attr_val) = create_attr_rangeval('-', (yyvsp[-3].Integer), (yyvsp[-1].Integer)); }
3200*f391d6bcSXin LI #line 3201 "ntp_parser.c" /* yacc.c:1646  */
3201*f391d6bcSXin LI     break;
3202*f391d6bcSXin LI 
3203*f391d6bcSXin LI   case 287:
3204*f391d6bcSXin LI #line 1467 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3205276da39aSCy Schubert     {
3206e27abb66SXin LI 			(yyval.String_fifo) = (yyvsp[-1].String_fifo);
3207e27abb66SXin LI 			APPEND_G_FIFO((yyval.String_fifo), create_string_node((yyvsp[0].String)));
3208276da39aSCy Schubert 		}
3209*f391d6bcSXin LI #line 3210 "ntp_parser.c" /* yacc.c:1646  */
3210276da39aSCy Schubert     break;
3211276da39aSCy Schubert 
3212*f391d6bcSXin LI   case 288:
3213*f391d6bcSXin LI #line 1472 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
321468ba7e87SXin LI     {
3215e27abb66SXin LI 			(yyval.String_fifo) = NULL;
3216e27abb66SXin LI 			APPEND_G_FIFO((yyval.String_fifo), create_string_node((yyvsp[0].String)));
321768ba7e87SXin LI 		}
3218*f391d6bcSXin LI #line 3219 "ntp_parser.c" /* yacc.c:1646  */
3219a25439b6SCy Schubert     break;
3220a25439b6SCy Schubert 
3221*f391d6bcSXin LI   case 289:
3222*f391d6bcSXin LI #line 1480 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
322368ba7e87SXin LI     {
3224e27abb66SXin LI 			(yyval.Address_fifo) = (yyvsp[-1].Address_fifo);
3225e27abb66SXin LI 			APPEND_G_FIFO((yyval.Address_fifo), (yyvsp[0].Address_node));
322668ba7e87SXin LI 		}
3227*f391d6bcSXin LI #line 3228 "ntp_parser.c" /* yacc.c:1646  */
3228276da39aSCy Schubert     break;
3229276da39aSCy Schubert 
3230*f391d6bcSXin LI   case 290:
3231*f391d6bcSXin LI #line 1485 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
323268ba7e87SXin LI     {
3233e27abb66SXin LI 			(yyval.Address_fifo) = NULL;
3234e27abb66SXin LI 			APPEND_G_FIFO((yyval.Address_fifo), (yyvsp[0].Address_node));
323568ba7e87SXin LI 		}
3236*f391d6bcSXin LI #line 3237 "ntp_parser.c" /* yacc.c:1646  */
323768ba7e87SXin LI     break;
323868ba7e87SXin LI 
3239*f391d6bcSXin LI   case 291:
3240*f391d6bcSXin LI #line 1493 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3241e27abb66SXin LI     {
3242e27abb66SXin LI 			if ((yyvsp[0].Integer) != 0 && (yyvsp[0].Integer) != 1) {
3243e27abb66SXin LI 				yyerror("Integer value is not boolean (0 or 1). Assuming 1");
3244e27abb66SXin LI 				(yyval.Integer) = 1;
3245e27abb66SXin LI 			} else {
3246e27abb66SXin LI 				(yyval.Integer) = (yyvsp[0].Integer);
3247e27abb66SXin LI 			}
3248e27abb66SXin LI 		}
3249*f391d6bcSXin LI #line 3250 "ntp_parser.c" /* yacc.c:1646  */
325068ba7e87SXin LI     break;
325168ba7e87SXin LI 
325268ba7e87SXin LI   case 292:
3253*f391d6bcSXin LI #line 1501 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3254*f391d6bcSXin LI     { (yyval.Integer) = 1; }
3255*f391d6bcSXin LI #line 3256 "ntp_parser.c" /* yacc.c:1646  */
325668ba7e87SXin LI     break;
325768ba7e87SXin LI 
3258e27abb66SXin LI   case 293:
3259*f391d6bcSXin LI #line 1502 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3260*f391d6bcSXin LI     { (yyval.Integer) = 0; }
3261*f391d6bcSXin LI #line 3262 "ntp_parser.c" /* yacc.c:1646  */
3262e27abb66SXin LI     break;
3263e27abb66SXin LI 
3264*f391d6bcSXin LI   case 294:
3265*f391d6bcSXin LI #line 1506 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3266*f391d6bcSXin LI     { (yyval.Double) = (double)(yyvsp[0].Integer); }
3267*f391d6bcSXin LI #line 3268 "ntp_parser.c" /* yacc.c:1646  */
3268*f391d6bcSXin LI     break;
3269*f391d6bcSXin LI 
3270*f391d6bcSXin LI   case 296:
3271*f391d6bcSXin LI #line 1517 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
32722b15cb3dSCy Schubert     {
32732b15cb3dSCy Schubert 			sim_node *sn;
32742b15cb3dSCy Schubert 
3275e27abb66SXin LI 			sn =  create_sim_node((yyvsp[-2].Attr_val_fifo), (yyvsp[-1].Sim_server_fifo));
32762b15cb3dSCy Schubert 			APPEND_G_FIFO(cfgt.sim_details, sn);
32772b15cb3dSCy Schubert 
32782b15cb3dSCy Schubert 			/* Revert from ; to \n for end-of-command */
32792b15cb3dSCy Schubert 			old_config_style = 1;
32802b15cb3dSCy Schubert 		}
3281*f391d6bcSXin LI #line 3282 "ntp_parser.c" /* yacc.c:1646  */
328268ba7e87SXin LI     break;
328368ba7e87SXin LI 
328468ba7e87SXin LI   case 297:
3285*f391d6bcSXin LI #line 1534 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3286*f391d6bcSXin LI     { old_config_style = 0; }
3287*f391d6bcSXin LI #line 3288 "ntp_parser.c" /* yacc.c:1646  */
3288*f391d6bcSXin LI     break;
3289*f391d6bcSXin LI 
3290*f391d6bcSXin LI   case 298:
3291*f391d6bcSXin LI #line 1539 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
329268ba7e87SXin LI     {
3293e27abb66SXin LI 			(yyval.Attr_val_fifo) = (yyvsp[-2].Attr_val_fifo);
3294e27abb66SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val));
329568ba7e87SXin LI 		}
3296*f391d6bcSXin LI #line 3297 "ntp_parser.c" /* yacc.c:1646  */
32972b15cb3dSCy Schubert     break;
32982b15cb3dSCy Schubert 
3299*f391d6bcSXin LI   case 299:
3300*f391d6bcSXin LI #line 1544 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3301e27abb66SXin LI     {
3302e27abb66SXin LI 			(yyval.Attr_val_fifo) = NULL;
3303e27abb66SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val));
3304e27abb66SXin LI 		}
3305*f391d6bcSXin LI #line 3306 "ntp_parser.c" /* yacc.c:1646  */
33062b15cb3dSCy Schubert     break;
33072b15cb3dSCy Schubert 
3308*f391d6bcSXin LI   case 300:
3309*f391d6bcSXin LI #line 1552 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3310e27abb66SXin LI     { (yyval.Attr_val) = create_attr_dval((yyvsp[-2].Integer), (yyvsp[0].Double)); }
3311*f391d6bcSXin LI #line 3312 "ntp_parser.c" /* yacc.c:1646  */
33122b15cb3dSCy Schubert     break;
33132b15cb3dSCy Schubert 
3314*f391d6bcSXin LI   case 303:
3315*f391d6bcSXin LI #line 1562 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
331668ba7e87SXin LI     {
3317e27abb66SXin LI 			(yyval.Sim_server_fifo) = (yyvsp[-1].Sim_server_fifo);
3318e27abb66SXin LI 			APPEND_G_FIFO((yyval.Sim_server_fifo), (yyvsp[0].Sim_server));
331968ba7e87SXin LI 		}
3320*f391d6bcSXin LI #line 3321 "ntp_parser.c" /* yacc.c:1646  */
3321a25439b6SCy Schubert     break;
3322a25439b6SCy Schubert 
3323*f391d6bcSXin LI   case 304:
3324*f391d6bcSXin LI #line 1567 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3325e27abb66SXin LI     {
3326e27abb66SXin LI 			(yyval.Sim_server_fifo) = NULL;
3327e27abb66SXin LI 			APPEND_G_FIFO((yyval.Sim_server_fifo), (yyvsp[0].Sim_server));
3328e27abb66SXin LI 		}
3329*f391d6bcSXin LI #line 3330 "ntp_parser.c" /* yacc.c:1646  */
33302b15cb3dSCy Schubert     break;
33312b15cb3dSCy Schubert 
3332a25439b6SCy Schubert   case 305:
3333*f391d6bcSXin LI #line 1575 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3334*f391d6bcSXin LI     { (yyval.Sim_server) = ONLY_SIM(create_sim_server((yyvsp[-4].Address_node), (yyvsp[-2].Double), (yyvsp[-1].Sim_script_fifo))); }
3335*f391d6bcSXin LI #line 3336 "ntp_parser.c" /* yacc.c:1646  */
3336276da39aSCy Schubert     break;
3337276da39aSCy Schubert 
3338276da39aSCy Schubert   case 306:
3339*f391d6bcSXin LI #line 1580 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3340*f391d6bcSXin LI     { (yyval.Double) = (yyvsp[-1].Double); }
3341*f391d6bcSXin LI #line 3342 "ntp_parser.c" /* yacc.c:1646  */
3342276da39aSCy Schubert     break;
3343276da39aSCy Schubert 
3344276da39aSCy Schubert   case 307:
3345*f391d6bcSXin LI #line 1585 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3346*f391d6bcSXin LI     { (yyval.Address_node) = (yyvsp[0].Address_node); }
3347*f391d6bcSXin LI #line 3348 "ntp_parser.c" /* yacc.c:1646  */
3348*f391d6bcSXin LI     break;
3349*f391d6bcSXin LI 
3350*f391d6bcSXin LI   case 308:
3351*f391d6bcSXin LI #line 1590 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3352276da39aSCy Schubert     {
3353e27abb66SXin LI 			(yyval.Sim_script_fifo) = (yyvsp[-1].Sim_script_fifo);
3354e27abb66SXin LI 			APPEND_G_FIFO((yyval.Sim_script_fifo), (yyvsp[0].Sim_script));
3355276da39aSCy Schubert 		}
3356*f391d6bcSXin LI #line 3357 "ntp_parser.c" /* yacc.c:1646  */
3357276da39aSCy Schubert     break;
3358276da39aSCy Schubert 
3359*f391d6bcSXin LI   case 309:
3360*f391d6bcSXin LI #line 1595 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3361e27abb66SXin LI     {
3362e27abb66SXin LI 			(yyval.Sim_script_fifo) = NULL;
3363e27abb66SXin LI 			APPEND_G_FIFO((yyval.Sim_script_fifo), (yyvsp[0].Sim_script));
3364e27abb66SXin LI 		}
3365*f391d6bcSXin LI #line 3366 "ntp_parser.c" /* yacc.c:1646  */
336668ba7e87SXin LI     break;
336768ba7e87SXin LI 
336868ba7e87SXin LI   case 310:
3369*f391d6bcSXin LI #line 1603 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3370*f391d6bcSXin LI     { (yyval.Sim_script) = ONLY_SIM(create_sim_script_info((yyvsp[-3].Double), (yyvsp[-1].Attr_val_fifo))); }
3371*f391d6bcSXin LI #line 3372 "ntp_parser.c" /* yacc.c:1646  */
3372*f391d6bcSXin LI     break;
3373*f391d6bcSXin LI 
3374*f391d6bcSXin LI   case 311:
3375*f391d6bcSXin LI #line 1608 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
337668ba7e87SXin LI     {
3377e27abb66SXin LI 			(yyval.Attr_val_fifo) = (yyvsp[-2].Attr_val_fifo);
3378e27abb66SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val));
337968ba7e87SXin LI 		}
3380*f391d6bcSXin LI #line 3381 "ntp_parser.c" /* yacc.c:1646  */
338168ba7e87SXin LI     break;
338268ba7e87SXin LI 
3383*f391d6bcSXin LI   case 312:
3384*f391d6bcSXin LI #line 1613 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3385e27abb66SXin LI     {
3386e27abb66SXin LI 			(yyval.Attr_val_fifo) = NULL;
3387e27abb66SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val));
3388e27abb66SXin LI 		}
3389*f391d6bcSXin LI #line 3390 "ntp_parser.c" /* yacc.c:1646  */
3390e27abb66SXin LI     break;
3391e27abb66SXin LI 
3392*f391d6bcSXin LI   case 313:
3393*f391d6bcSXin LI #line 1621 "../../ntpd/ntp_parser.y" /* yacc.c:1646  */
3394e27abb66SXin LI     { (yyval.Attr_val) = create_attr_dval((yyvsp[-2].Integer), (yyvsp[0].Double)); }
3395*f391d6bcSXin LI #line 3396 "ntp_parser.c" /* yacc.c:1646  */
3396a25439b6SCy Schubert     break;
33972b15cb3dSCy Schubert 
3398a25439b6SCy Schubert 
3399*f391d6bcSXin LI #line 3400 "ntp_parser.c" /* yacc.c:1646  */
34002b15cb3dSCy Schubert       default: break;
34012b15cb3dSCy Schubert     }
34022b15cb3dSCy Schubert   /* User semantic actions sometimes alter yychar, and that requires
34032b15cb3dSCy Schubert      that yytoken be updated with the new translation.  We take the
34042b15cb3dSCy Schubert      approach of translating immediately before every use of yytoken.
34052b15cb3dSCy Schubert      One alternative is translating here after every semantic action,
34062b15cb3dSCy Schubert      but that translation would be missed if the semantic action invokes
34072b15cb3dSCy Schubert      YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
34082b15cb3dSCy Schubert      if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
34092b15cb3dSCy Schubert      incorrect destructor might then be invoked immediately.  In the
34102b15cb3dSCy Schubert      case of YYERROR or YYBACKUP, subsequent parser actions might lead
34112b15cb3dSCy Schubert      to an incorrect destructor call or verbose syntax error message
34122b15cb3dSCy Schubert      before the lookahead is translated.  */
34132b15cb3dSCy Schubert   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
34142b15cb3dSCy Schubert 
34152b15cb3dSCy Schubert   YYPOPSTACK (yylen);
34162b15cb3dSCy Schubert   yylen = 0;
34172b15cb3dSCy Schubert   YY_STACK_PRINT (yyss, yyssp);
34182b15cb3dSCy Schubert 
34192b15cb3dSCy Schubert   *++yyvsp = yyval;
34202b15cb3dSCy Schubert 
3421e27abb66SXin LI   /* Now 'shift' the result of the reduction.  Determine what state
34222b15cb3dSCy Schubert      that goes to, based on the state we popped back to and the rule
34232b15cb3dSCy Schubert      number reduced by.  */
34242b15cb3dSCy Schubert 
34252b15cb3dSCy Schubert   yyn = yyr1[yyn];
34262b15cb3dSCy Schubert 
34272b15cb3dSCy Schubert   yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
34282b15cb3dSCy Schubert   if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
34292b15cb3dSCy Schubert     yystate = yytable[yystate];
34302b15cb3dSCy Schubert   else
34312b15cb3dSCy Schubert     yystate = yydefgoto[yyn - YYNTOKENS];
34322b15cb3dSCy Schubert 
34332b15cb3dSCy Schubert   goto yynewstate;
34342b15cb3dSCy Schubert 
34352b15cb3dSCy Schubert 
3436e27abb66SXin LI /*--------------------------------------.
3437e27abb66SXin LI | yyerrlab -- here on detecting error.  |
3438e27abb66SXin LI `--------------------------------------*/
34392b15cb3dSCy Schubert yyerrlab:
34402b15cb3dSCy Schubert   /* Make sure we have latest lookahead translation.  See comments at
34412b15cb3dSCy Schubert      user semantic actions for why this is necessary.  */
34422b15cb3dSCy Schubert   yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
34432b15cb3dSCy Schubert 
34442b15cb3dSCy Schubert   /* If not already recovering from an error, report this error.  */
34452b15cb3dSCy Schubert   if (!yyerrstatus)
34462b15cb3dSCy Schubert     {
34472b15cb3dSCy Schubert       ++yynerrs;
34482b15cb3dSCy Schubert #if ! YYERROR_VERBOSE
3449276da39aSCy Schubert       yyerror (YY_("syntax error"));
34502b15cb3dSCy Schubert #else
34512b15cb3dSCy Schubert # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
34522b15cb3dSCy Schubert                                         yyssp, yytoken)
34532b15cb3dSCy Schubert       {
34542b15cb3dSCy Schubert         char const *yymsgp = YY_("syntax error");
34552b15cb3dSCy Schubert         int yysyntax_error_status;
34562b15cb3dSCy Schubert         yysyntax_error_status = YYSYNTAX_ERROR;
34572b15cb3dSCy Schubert         if (yysyntax_error_status == 0)
34582b15cb3dSCy Schubert           yymsgp = yymsg;
34592b15cb3dSCy Schubert         else if (yysyntax_error_status == 1)
34602b15cb3dSCy Schubert           {
34612b15cb3dSCy Schubert             if (yymsg != yymsgbuf)
34622b15cb3dSCy Schubert               YYSTACK_FREE (yymsg);
34632b15cb3dSCy Schubert             yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
34642b15cb3dSCy Schubert             if (!yymsg)
34652b15cb3dSCy Schubert               {
34662b15cb3dSCy Schubert                 yymsg = yymsgbuf;
34672b15cb3dSCy Schubert                 yymsg_alloc = sizeof yymsgbuf;
34682b15cb3dSCy Schubert                 yysyntax_error_status = 2;
34692b15cb3dSCy Schubert               }
34702b15cb3dSCy Schubert             else
34712b15cb3dSCy Schubert               {
34722b15cb3dSCy Schubert                 yysyntax_error_status = YYSYNTAX_ERROR;
34732b15cb3dSCy Schubert                 yymsgp = yymsg;
34742b15cb3dSCy Schubert               }
34752b15cb3dSCy Schubert           }
3476276da39aSCy Schubert         yyerror (yymsgp);
34772b15cb3dSCy Schubert         if (yysyntax_error_status == 2)
34782b15cb3dSCy Schubert           goto yyexhaustedlab;
34792b15cb3dSCy Schubert       }
34802b15cb3dSCy Schubert # undef YYSYNTAX_ERROR
34812b15cb3dSCy Schubert #endif
34822b15cb3dSCy Schubert     }
34832b15cb3dSCy Schubert 
34842b15cb3dSCy Schubert 
34852b15cb3dSCy Schubert 
34862b15cb3dSCy Schubert   if (yyerrstatus == 3)
34872b15cb3dSCy Schubert     {
34882b15cb3dSCy Schubert       /* If just tried and failed to reuse lookahead token after an
34892b15cb3dSCy Schubert          error, discard it.  */
34902b15cb3dSCy Schubert 
34912b15cb3dSCy Schubert       if (yychar <= YYEOF)
34922b15cb3dSCy Schubert         {
34932b15cb3dSCy Schubert           /* Return failure if at end of input.  */
34942b15cb3dSCy Schubert           if (yychar == YYEOF)
34952b15cb3dSCy Schubert             YYABORT;
34962b15cb3dSCy Schubert         }
34972b15cb3dSCy Schubert       else
34982b15cb3dSCy Schubert         {
34992b15cb3dSCy Schubert           yydestruct ("Error: discarding",
3500276da39aSCy Schubert                       yytoken, &yylval);
35012b15cb3dSCy Schubert           yychar = YYEMPTY;
35022b15cb3dSCy Schubert         }
35032b15cb3dSCy Schubert     }
35042b15cb3dSCy Schubert 
35052b15cb3dSCy Schubert   /* Else will try to reuse lookahead token after shifting the error
35062b15cb3dSCy Schubert      token.  */
35072b15cb3dSCy Schubert   goto yyerrlab1;
35082b15cb3dSCy Schubert 
35092b15cb3dSCy Schubert 
35102b15cb3dSCy Schubert /*---------------------------------------------------.
35112b15cb3dSCy Schubert | yyerrorlab -- error raised explicitly by YYERROR.  |
35122b15cb3dSCy Schubert `---------------------------------------------------*/
35132b15cb3dSCy Schubert yyerrorlab:
35142b15cb3dSCy Schubert 
35152b15cb3dSCy Schubert   /* Pacify compilers like GCC when the user code never invokes
35162b15cb3dSCy Schubert      YYERROR and the label yyerrorlab therefore never appears in user
35172b15cb3dSCy Schubert      code.  */
35182b15cb3dSCy Schubert   if (/*CONSTCOND*/ 0)
35192b15cb3dSCy Schubert      goto yyerrorlab;
35202b15cb3dSCy Schubert 
3521e27abb66SXin LI   /* Do not reclaim the symbols of the rule whose action triggered
35222b15cb3dSCy Schubert      this YYERROR.  */
35232b15cb3dSCy Schubert   YYPOPSTACK (yylen);
35242b15cb3dSCy Schubert   yylen = 0;
35252b15cb3dSCy Schubert   YY_STACK_PRINT (yyss, yyssp);
35262b15cb3dSCy Schubert   yystate = *yyssp;
35272b15cb3dSCy Schubert   goto yyerrlab1;
35282b15cb3dSCy Schubert 
35292b15cb3dSCy Schubert 
35302b15cb3dSCy Schubert /*-------------------------------------------------------------.
35312b15cb3dSCy Schubert | yyerrlab1 -- common code for both syntax error and YYERROR.  |
35322b15cb3dSCy Schubert `-------------------------------------------------------------*/
35332b15cb3dSCy Schubert yyerrlab1:
35342b15cb3dSCy Schubert   yyerrstatus = 3;      /* Each real token shifted decrements this.  */
35352b15cb3dSCy Schubert 
35362b15cb3dSCy Schubert   for (;;)
35372b15cb3dSCy Schubert     {
35382b15cb3dSCy Schubert       yyn = yypact[yystate];
35392b15cb3dSCy Schubert       if (!yypact_value_is_default (yyn))
35402b15cb3dSCy Schubert         {
35412b15cb3dSCy Schubert           yyn += YYTERROR;
35422b15cb3dSCy Schubert           if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
35432b15cb3dSCy Schubert             {
35442b15cb3dSCy Schubert               yyn = yytable[yyn];
35452b15cb3dSCy Schubert               if (0 < yyn)
35462b15cb3dSCy Schubert                 break;
35472b15cb3dSCy Schubert             }
35482b15cb3dSCy Schubert         }
35492b15cb3dSCy Schubert 
35502b15cb3dSCy Schubert       /* Pop the current state because it cannot handle the error token.  */
35512b15cb3dSCy Schubert       if (yyssp == yyss)
35522b15cb3dSCy Schubert         YYABORT;
35532b15cb3dSCy Schubert 
35542b15cb3dSCy Schubert 
35552b15cb3dSCy Schubert       yydestruct ("Error: popping",
3556276da39aSCy Schubert                   yystos[yystate], yyvsp);
35572b15cb3dSCy Schubert       YYPOPSTACK (1);
35582b15cb3dSCy Schubert       yystate = *yyssp;
35592b15cb3dSCy Schubert       YY_STACK_PRINT (yyss, yyssp);
35602b15cb3dSCy Schubert     }
35612b15cb3dSCy Schubert 
35622b15cb3dSCy Schubert   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
35632b15cb3dSCy Schubert   *++yyvsp = yylval;
35642b15cb3dSCy Schubert   YY_IGNORE_MAYBE_UNINITIALIZED_END
35652b15cb3dSCy Schubert 
35662b15cb3dSCy Schubert 
35672b15cb3dSCy Schubert   /* Shift the error token.  */
35682b15cb3dSCy Schubert   YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
35692b15cb3dSCy Schubert 
35702b15cb3dSCy Schubert   yystate = yyn;
35712b15cb3dSCy Schubert   goto yynewstate;
35722b15cb3dSCy Schubert 
35732b15cb3dSCy Schubert 
35742b15cb3dSCy Schubert /*-------------------------------------.
35752b15cb3dSCy Schubert | yyacceptlab -- YYACCEPT comes here.  |
35762b15cb3dSCy Schubert `-------------------------------------*/
35772b15cb3dSCy Schubert yyacceptlab:
35782b15cb3dSCy Schubert   yyresult = 0;
35792b15cb3dSCy Schubert   goto yyreturn;
35802b15cb3dSCy Schubert 
35812b15cb3dSCy Schubert /*-----------------------------------.
35822b15cb3dSCy Schubert | yyabortlab -- YYABORT comes here.  |
35832b15cb3dSCy Schubert `-----------------------------------*/
35842b15cb3dSCy Schubert yyabortlab:
35852b15cb3dSCy Schubert   yyresult = 1;
35862b15cb3dSCy Schubert   goto yyreturn;
35872b15cb3dSCy Schubert 
35882b15cb3dSCy Schubert #if !defined yyoverflow || YYERROR_VERBOSE
35892b15cb3dSCy Schubert /*-------------------------------------------------.
35902b15cb3dSCy Schubert | yyexhaustedlab -- memory exhaustion comes here.  |
35912b15cb3dSCy Schubert `-------------------------------------------------*/
35922b15cb3dSCy Schubert yyexhaustedlab:
3593276da39aSCy Schubert   yyerror (YY_("memory exhausted"));
35942b15cb3dSCy Schubert   yyresult = 2;
35952b15cb3dSCy Schubert   /* Fall through.  */
35962b15cb3dSCy Schubert #endif
35972b15cb3dSCy Schubert 
35982b15cb3dSCy Schubert yyreturn:
35992b15cb3dSCy Schubert   if (yychar != YYEMPTY)
36002b15cb3dSCy Schubert     {
36012b15cb3dSCy Schubert       /* Make sure we have latest lookahead translation.  See comments at
36022b15cb3dSCy Schubert          user semantic actions for why this is necessary.  */
36032b15cb3dSCy Schubert       yytoken = YYTRANSLATE (yychar);
36042b15cb3dSCy Schubert       yydestruct ("Cleanup: discarding lookahead",
3605276da39aSCy Schubert                   yytoken, &yylval);
36062b15cb3dSCy Schubert     }
3607e27abb66SXin LI   /* Do not reclaim the symbols of the rule whose action triggered
36082b15cb3dSCy Schubert      this YYABORT or YYACCEPT.  */
36092b15cb3dSCy Schubert   YYPOPSTACK (yylen);
36102b15cb3dSCy Schubert   YY_STACK_PRINT (yyss, yyssp);
36112b15cb3dSCy Schubert   while (yyssp != yyss)
36122b15cb3dSCy Schubert     {
36132b15cb3dSCy Schubert       yydestruct ("Cleanup: popping",
3614276da39aSCy Schubert                   yystos[*yyssp], yyvsp);
36152b15cb3dSCy Schubert       YYPOPSTACK (1);
36162b15cb3dSCy Schubert     }
36172b15cb3dSCy Schubert #ifndef yyoverflow
36182b15cb3dSCy Schubert   if (yyss != yyssa)
36192b15cb3dSCy Schubert     YYSTACK_FREE (yyss);
36202b15cb3dSCy Schubert #endif
36212b15cb3dSCy Schubert #if YYERROR_VERBOSE
36222b15cb3dSCy Schubert   if (yymsg != yymsgbuf)
36232b15cb3dSCy Schubert     YYSTACK_FREE (yymsg);
36242b15cb3dSCy Schubert #endif
3625e27abb66SXin LI   return yyresult;
36262b15cb3dSCy Schubert }
3627*f391d6bcSXin LI #line 1632 "../../ntpd/ntp_parser.y" /* yacc.c:1906  */
36282b15cb3dSCy Schubert 
36292b15cb3dSCy Schubert 
36302b15cb3dSCy Schubert void
36312b15cb3dSCy Schubert yyerror(
36322b15cb3dSCy Schubert 	const char *msg
36332b15cb3dSCy Schubert 	)
36342b15cb3dSCy Schubert {
36352b15cb3dSCy Schubert 	int retval;
3636276da39aSCy Schubert 	struct FILE_INFO * ip_ctx;
36372b15cb3dSCy Schubert 
3638276da39aSCy Schubert 	ip_ctx = lex_current();
3639276da39aSCy Schubert 	ip_ctx->errpos = ip_ctx->tokpos;
36402b15cb3dSCy Schubert 
3641276da39aSCy Schubert 	msyslog(LOG_ERR, "line %d column %d %s",
3642276da39aSCy Schubert 		ip_ctx->errpos.nline, ip_ctx->errpos.ncol, msg);
3643276da39aSCy Schubert 	if (!lex_from_file()) {
36442b15cb3dSCy Schubert 		/* Save the error message in the correct buffer */
36452b15cb3dSCy Schubert 		retval = snprintf(remote_config.err_msg + remote_config.err_pos,
36462b15cb3dSCy Schubert 				  MAXLINE - remote_config.err_pos,
36472b15cb3dSCy Schubert 				  "column %d %s",
3648276da39aSCy Schubert 				  ip_ctx->errpos.ncol, msg);
36492b15cb3dSCy Schubert 
36502b15cb3dSCy Schubert 		/* Increment the value of err_pos */
36512b15cb3dSCy Schubert 		if (retval > 0)
36522b15cb3dSCy Schubert 			remote_config.err_pos += retval;
36532b15cb3dSCy Schubert 
36542b15cb3dSCy Schubert 		/* Increment the number of errors */
36552b15cb3dSCy Schubert 		++remote_config.no_errors;
36562b15cb3dSCy Schubert 	}
36572b15cb3dSCy Schubert }
36582b15cb3dSCy Schubert 
36592b15cb3dSCy Schubert 
36602b15cb3dSCy Schubert /*
36612b15cb3dSCy Schubert  * token_name - convert T_ token integers to text
36622b15cb3dSCy Schubert  *		example: token_name(T_Server) returns "T_Server"
36632b15cb3dSCy Schubert  */
36642b15cb3dSCy Schubert const char *
36652b15cb3dSCy Schubert token_name(
36662b15cb3dSCy Schubert 	int token
36672b15cb3dSCy Schubert 	)
36682b15cb3dSCy Schubert {
36692b15cb3dSCy Schubert 	return yytname[YYTRANSLATE(token)];
36702b15cb3dSCy Schubert }
36712b15cb3dSCy Schubert 
36722b15cb3dSCy Schubert 
36732b15cb3dSCy Schubert /* Initial Testing function -- ignore */
36742b15cb3dSCy Schubert #if 0
36752b15cb3dSCy Schubert int main(int argc, char *argv[])
36762b15cb3dSCy Schubert {
36772b15cb3dSCy Schubert 	ip_file = FOPEN(argv[1], "r");
36782b15cb3dSCy Schubert 	if (!ip_file)
36792b15cb3dSCy Schubert 		fprintf(stderr, "ERROR!! Could not open file: %s\n", argv[1]);
36802b15cb3dSCy Schubert 	yyparse();
36812b15cb3dSCy Schubert 	return 0;
36822b15cb3dSCy Schubert }
36832b15cb3dSCy Schubert #endif
36842b15cb3dSCy Schubert 
3685