xref: /freebsd/contrib/ntp/ntpd/ntp_parser.c (revision 68ba7e87e74b00b0511b346607b464f318c91083)
1*68ba7e87SXin LI /* A Bison parser, made by GNU Bison 2.7.12-4996.  */
22b15cb3dSCy Schubert 
32b15cb3dSCy Schubert /* Bison implementation for Yacc-like parsers in C
42b15cb3dSCy Schubert 
52b15cb3dSCy Schubert       Copyright (C) 1984, 1989-1990, 2000-2013 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.  */
47*68ba7e87SXin LI #define YYBISON_VERSION "2.7.12-4996"
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.  */
65*68ba7e87SXin LI /* Line 371 of yacc.c  */
66*68ba7e87SXin LI #line 11 "../../ntpd/ntp_parser.y"
672b15cb3dSCy Schubert 
682b15cb3dSCy Schubert   #ifdef HAVE_CONFIG_H
692b15cb3dSCy Schubert   # include <config.h>
702b15cb3dSCy Schubert   #endif
712b15cb3dSCy Schubert 
722b15cb3dSCy Schubert   #include "ntp.h"
732b15cb3dSCy Schubert   #include "ntpd.h"
742b15cb3dSCy Schubert   #include "ntp_machine.h"
752b15cb3dSCy Schubert   #include "ntp_stdlib.h"
762b15cb3dSCy Schubert   #include "ntp_filegen.h"
772b15cb3dSCy Schubert   #include "ntp_scanner.h"
782b15cb3dSCy Schubert   #include "ntp_config.h"
792b15cb3dSCy Schubert   #include "ntp_crypto.h"
802b15cb3dSCy Schubert 
812b15cb3dSCy Schubert   #include "ntpsim.h"		/* HMS: Do we really want this all the time? */
822b15cb3dSCy Schubert 				/* SK: It might be a good idea to always
832b15cb3dSCy Schubert 				   include the simulator code. That way
842b15cb3dSCy Schubert 				   someone can use the same configuration file
852b15cb3dSCy Schubert 				   for both the simulator and the daemon
862b15cb3dSCy Schubert 				*/
872b15cb3dSCy Schubert 
882b15cb3dSCy Schubert   #define YYMALLOC	emalloc
892b15cb3dSCy Schubert   #define YYFREE	free
902b15cb3dSCy Schubert   #define YYERROR_VERBOSE
912b15cb3dSCy Schubert   #define YYMAXDEPTH	1000	/* stop the madness sooner */
92276da39aSCy Schubert   void yyerror(const char *msg);
932b15cb3dSCy Schubert 
942b15cb3dSCy Schubert   #ifdef SIM
952b15cb3dSCy Schubert   #  define ONLY_SIM(a)	(a)
962b15cb3dSCy Schubert   #else
972b15cb3dSCy Schubert   #  define ONLY_SIM(a)	NULL
982b15cb3dSCy Schubert   #endif
992b15cb3dSCy Schubert 
100*68ba7e87SXin LI /* Line 371 of yacc.c  */
101*68ba7e87SXin LI #line 102 "ntp_parser.c"
1022b15cb3dSCy Schubert 
103*68ba7e87SXin LI # ifndef YY_NULL
1042b15cb3dSCy Schubert #  if defined __cplusplus && 201103L <= __cplusplus
105*68ba7e87SXin LI #   define YY_NULL nullptr
1062b15cb3dSCy Schubert #  else
107*68ba7e87SXin LI #   define YY_NULL 0
1082b15cb3dSCy Schubert #  endif
1092b15cb3dSCy Schubert # endif
1102b15cb3dSCy Schubert 
1112b15cb3dSCy Schubert /* Enabling verbose error messages.  */
1122b15cb3dSCy Schubert #ifdef YYERROR_VERBOSE
1132b15cb3dSCy Schubert # undef YYERROR_VERBOSE
1142b15cb3dSCy Schubert # define YYERROR_VERBOSE 1
1152b15cb3dSCy Schubert #else
1162b15cb3dSCy Schubert # define YYERROR_VERBOSE 0
1172b15cb3dSCy Schubert #endif
1182b15cb3dSCy Schubert 
1192b15cb3dSCy Schubert /* In a future release of Bison, this section will be replaced
1202b15cb3dSCy Schubert    by #include "y.tab.h".  */
121*68ba7e87SXin LI #ifndef YY_YY_NTP_PARSER_H_INCLUDED
122*68ba7e87SXin LI # define YY_YY_NTP_PARSER_H_INCLUDED
123*68ba7e87SXin LI /* Enabling traces.  */
1242b15cb3dSCy Schubert #ifndef YYDEBUG
1252b15cb3dSCy Schubert # define YYDEBUG 1
1262b15cb3dSCy Schubert #endif
1272b15cb3dSCy Schubert #if YYDEBUG
1282b15cb3dSCy Schubert extern int yydebug;
1292b15cb3dSCy Schubert #endif
1302b15cb3dSCy Schubert 
131*68ba7e87SXin LI /* Tokens.  */
1322b15cb3dSCy Schubert #ifndef YYTOKENTYPE
1332b15cb3dSCy Schubert # define YYTOKENTYPE
134*68ba7e87SXin LI    /* Put the tokens into the symbol table, so that GDB and other debuggers
135*68ba7e87SXin LI       know about them.  */
136*68ba7e87SXin LI    enum yytokentype {
1372b15cb3dSCy Schubert      T_Abbrev = 258,
1382b15cb3dSCy Schubert      T_Age = 259,
1392b15cb3dSCy Schubert      T_All = 260,
1402b15cb3dSCy Schubert      T_Allan = 261,
1412b15cb3dSCy Schubert      T_Allpeers = 262,
1422b15cb3dSCy Schubert      T_Auth = 263,
1432b15cb3dSCy Schubert      T_Autokey = 264,
1442b15cb3dSCy Schubert      T_Automax = 265,
1452b15cb3dSCy Schubert      T_Average = 266,
1462b15cb3dSCy Schubert      T_Bclient = 267,
1472b15cb3dSCy Schubert      T_Beacon = 268,
1482b15cb3dSCy Schubert      T_Broadcast = 269,
1492b15cb3dSCy Schubert      T_Broadcastclient = 270,
1502b15cb3dSCy Schubert      T_Broadcastdelay = 271,
1512b15cb3dSCy Schubert      T_Burst = 272,
1522b15cb3dSCy Schubert      T_Calibrate = 273,
1532b15cb3dSCy Schubert      T_Ceiling = 274,
1542b15cb3dSCy Schubert      T_Clockstats = 275,
1552b15cb3dSCy Schubert      T_Cohort = 276,
1562b15cb3dSCy Schubert      T_ControlKey = 277,
1572b15cb3dSCy Schubert      T_Crypto = 278,
1582b15cb3dSCy Schubert      T_Cryptostats = 279,
1592b15cb3dSCy Schubert      T_Ctl = 280,
1602b15cb3dSCy Schubert      T_Day = 281,
1612b15cb3dSCy Schubert      T_Default = 282,
1622b15cb3dSCy Schubert      T_Digest = 283,
1632b15cb3dSCy Schubert      T_Disable = 284,
1642b15cb3dSCy Schubert      T_Discard = 285,
1652b15cb3dSCy Schubert      T_Dispersion = 286,
1662b15cb3dSCy Schubert      T_Double = 287,
1672b15cb3dSCy Schubert      T_Driftfile = 288,
1682b15cb3dSCy Schubert      T_Drop = 289,
169276da39aSCy Schubert      T_Dscp = 290,
170276da39aSCy Schubert      T_Ellipsis = 291,
171276da39aSCy Schubert      T_Enable = 292,
172276da39aSCy Schubert      T_End = 293,
173276da39aSCy Schubert      T_False = 294,
174276da39aSCy Schubert      T_File = 295,
175276da39aSCy Schubert      T_Filegen = 296,
176276da39aSCy Schubert      T_Filenum = 297,
177276da39aSCy Schubert      T_Flag1 = 298,
178276da39aSCy Schubert      T_Flag2 = 299,
179276da39aSCy Schubert      T_Flag3 = 300,
180276da39aSCy Schubert      T_Flag4 = 301,
181276da39aSCy Schubert      T_Flake = 302,
182276da39aSCy Schubert      T_Floor = 303,
183276da39aSCy Schubert      T_Freq = 304,
184276da39aSCy Schubert      T_Fudge = 305,
185276da39aSCy Schubert      T_Host = 306,
186276da39aSCy Schubert      T_Huffpuff = 307,
187276da39aSCy Schubert      T_Iburst = 308,
188276da39aSCy Schubert      T_Ident = 309,
189276da39aSCy Schubert      T_Ignore = 310,
190276da39aSCy Schubert      T_Incalloc = 311,
191276da39aSCy Schubert      T_Incmem = 312,
192276da39aSCy Schubert      T_Initalloc = 313,
193276da39aSCy Schubert      T_Initmem = 314,
194276da39aSCy Schubert      T_Includefile = 315,
195276da39aSCy Schubert      T_Integer = 316,
196276da39aSCy Schubert      T_Interface = 317,
197276da39aSCy Schubert      T_Intrange = 318,
198276da39aSCy Schubert      T_Io = 319,
199276da39aSCy Schubert      T_Ipv4 = 320,
200276da39aSCy Schubert      T_Ipv4_flag = 321,
201276da39aSCy Schubert      T_Ipv6 = 322,
202276da39aSCy Schubert      T_Ipv6_flag = 323,
203276da39aSCy Schubert      T_Kernel = 324,
204276da39aSCy Schubert      T_Key = 325,
205276da39aSCy Schubert      T_Keys = 326,
206276da39aSCy Schubert      T_Keysdir = 327,
207276da39aSCy Schubert      T_Kod = 328,
208276da39aSCy Schubert      T_Mssntp = 329,
209276da39aSCy Schubert      T_Leapfile = 330,
210276da39aSCy Schubert      T_Leapsmearinterval = 331,
211276da39aSCy Schubert      T_Limited = 332,
212276da39aSCy Schubert      T_Link = 333,
213276da39aSCy Schubert      T_Listen = 334,
214276da39aSCy Schubert      T_Logconfig = 335,
215276da39aSCy Schubert      T_Logfile = 336,
216276da39aSCy Schubert      T_Loopstats = 337,
217276da39aSCy Schubert      T_Lowpriotrap = 338,
218276da39aSCy Schubert      T_Manycastclient = 339,
219276da39aSCy Schubert      T_Manycastserver = 340,
220276da39aSCy Schubert      T_Mask = 341,
221276da39aSCy Schubert      T_Maxage = 342,
222276da39aSCy Schubert      T_Maxclock = 343,
223276da39aSCy Schubert      T_Maxdepth = 344,
224276da39aSCy Schubert      T_Maxdist = 345,
225276da39aSCy Schubert      T_Maxmem = 346,
226276da39aSCy Schubert      T_Maxpoll = 347,
227276da39aSCy Schubert      T_Mdnstries = 348,
228276da39aSCy Schubert      T_Mem = 349,
229276da39aSCy Schubert      T_Memlock = 350,
230276da39aSCy Schubert      T_Minclock = 351,
231276da39aSCy Schubert      T_Mindepth = 352,
232276da39aSCy Schubert      T_Mindist = 353,
233276da39aSCy Schubert      T_Minimum = 354,
234276da39aSCy Schubert      T_Minpoll = 355,
235276da39aSCy Schubert      T_Minsane = 356,
236276da39aSCy Schubert      T_Mode = 357,
237276da39aSCy Schubert      T_Mode7 = 358,
238276da39aSCy Schubert      T_Monitor = 359,
239276da39aSCy Schubert      T_Month = 360,
240276da39aSCy Schubert      T_Mru = 361,
241276da39aSCy Schubert      T_Multicastclient = 362,
242276da39aSCy Schubert      T_Nic = 363,
243276da39aSCy Schubert      T_Nolink = 364,
244276da39aSCy Schubert      T_Nomodify = 365,
245276da39aSCy Schubert      T_Nomrulist = 366,
246276da39aSCy Schubert      T_None = 367,
247276da39aSCy Schubert      T_Nonvolatile = 368,
248276da39aSCy Schubert      T_Nopeer = 369,
249276da39aSCy Schubert      T_Noquery = 370,
250276da39aSCy Schubert      T_Noselect = 371,
251276da39aSCy Schubert      T_Noserve = 372,
252276da39aSCy Schubert      T_Notrap = 373,
253276da39aSCy Schubert      T_Notrust = 374,
254276da39aSCy Schubert      T_Ntp = 375,
255276da39aSCy Schubert      T_Ntpport = 376,
256276da39aSCy Schubert      T_NtpSignDsocket = 377,
257276da39aSCy Schubert      T_Orphan = 378,
258276da39aSCy Schubert      T_Orphanwait = 379,
259276da39aSCy Schubert      T_Panic = 380,
260276da39aSCy Schubert      T_Peer = 381,
261276da39aSCy Schubert      T_Peerstats = 382,
262276da39aSCy Schubert      T_Phone = 383,
263276da39aSCy Schubert      T_Pid = 384,
264276da39aSCy Schubert      T_Pidfile = 385,
265276da39aSCy Schubert      T_Pool = 386,
266276da39aSCy Schubert      T_Port = 387,
267276da39aSCy Schubert      T_Preempt = 388,
268276da39aSCy Schubert      T_Prefer = 389,
269276da39aSCy Schubert      T_Protostats = 390,
270276da39aSCy Schubert      T_Pw = 391,
271276da39aSCy Schubert      T_Randfile = 392,
272276da39aSCy Schubert      T_Rawstats = 393,
273276da39aSCy Schubert      T_Refid = 394,
274276da39aSCy Schubert      T_Requestkey = 395,
275276da39aSCy Schubert      T_Reset = 396,
276276da39aSCy Schubert      T_Restrict = 397,
277276da39aSCy Schubert      T_Revoke = 398,
278276da39aSCy Schubert      T_Rlimit = 399,
279276da39aSCy Schubert      T_Saveconfigdir = 400,
280276da39aSCy Schubert      T_Server = 401,
281276da39aSCy Schubert      T_Setvar = 402,
282276da39aSCy Schubert      T_Source = 403,
283276da39aSCy Schubert      T_Stacksize = 404,
284276da39aSCy Schubert      T_Statistics = 405,
285276da39aSCy Schubert      T_Stats = 406,
286276da39aSCy Schubert      T_Statsdir = 407,
287276da39aSCy Schubert      T_Step = 408,
288276da39aSCy Schubert      T_Stepback = 409,
289276da39aSCy Schubert      T_Stepfwd = 410,
290276da39aSCy Schubert      T_Stepout = 411,
291276da39aSCy Schubert      T_Stratum = 412,
292276da39aSCy Schubert      T_String = 413,
293276da39aSCy Schubert      T_Sys = 414,
294276da39aSCy Schubert      T_Sysstats = 415,
295276da39aSCy Schubert      T_Tick = 416,
296276da39aSCy Schubert      T_Time1 = 417,
297276da39aSCy Schubert      T_Time2 = 418,
298276da39aSCy Schubert      T_Timer = 419,
299276da39aSCy Schubert      T_Timingstats = 420,
300276da39aSCy Schubert      T_Tinker = 421,
301276da39aSCy Schubert      T_Tos = 422,
302276da39aSCy Schubert      T_Trap = 423,
303276da39aSCy Schubert      T_True = 424,
304276da39aSCy Schubert      T_Trustedkey = 425,
305276da39aSCy Schubert      T_Ttl = 426,
306276da39aSCy Schubert      T_Type = 427,
307276da39aSCy Schubert      T_U_int = 428,
308*68ba7e87SXin LI      T_UEcrypto = 429,
309*68ba7e87SXin LI      T_UEcryptonak = 430,
310*68ba7e87SXin LI      T_UEdigest = 431,
311*68ba7e87SXin LI      T_Unconfig = 432,
312*68ba7e87SXin LI      T_Unpeer = 433,
313*68ba7e87SXin LI      T_Version = 434,
314*68ba7e87SXin LI      T_WanderThreshold = 435,
315*68ba7e87SXin LI      T_Week = 436,
316*68ba7e87SXin LI      T_Wildcard = 437,
317*68ba7e87SXin LI      T_Xleave = 438,
318*68ba7e87SXin LI      T_Year = 439,
319*68ba7e87SXin LI      T_Flag = 440,
320*68ba7e87SXin LI      T_EOC = 441,
321*68ba7e87SXin LI      T_Simulate = 442,
322*68ba7e87SXin LI      T_Beep_Delay = 443,
323*68ba7e87SXin LI      T_Sim_Duration = 444,
324*68ba7e87SXin LI      T_Server_Offset = 445,
325*68ba7e87SXin LI      T_Duration = 446,
326*68ba7e87SXin LI      T_Freq_Offset = 447,
327*68ba7e87SXin LI      T_Wander = 448,
328*68ba7e87SXin LI      T_Jitter = 449,
329*68ba7e87SXin LI      T_Prop_Delay = 450,
330*68ba7e87SXin LI      T_Proc_Delay = 451
3312b15cb3dSCy Schubert    };
3322b15cb3dSCy Schubert #endif
3332b15cb3dSCy Schubert /* Tokens.  */
3342b15cb3dSCy Schubert #define T_Abbrev 258
3352b15cb3dSCy Schubert #define T_Age 259
3362b15cb3dSCy Schubert #define T_All 260
3372b15cb3dSCy Schubert #define T_Allan 261
3382b15cb3dSCy Schubert #define T_Allpeers 262
3392b15cb3dSCy Schubert #define T_Auth 263
3402b15cb3dSCy Schubert #define T_Autokey 264
3412b15cb3dSCy Schubert #define T_Automax 265
3422b15cb3dSCy Schubert #define T_Average 266
3432b15cb3dSCy Schubert #define T_Bclient 267
3442b15cb3dSCy Schubert #define T_Beacon 268
3452b15cb3dSCy Schubert #define T_Broadcast 269
3462b15cb3dSCy Schubert #define T_Broadcastclient 270
3472b15cb3dSCy Schubert #define T_Broadcastdelay 271
3482b15cb3dSCy Schubert #define T_Burst 272
3492b15cb3dSCy Schubert #define T_Calibrate 273
3502b15cb3dSCy Schubert #define T_Ceiling 274
3512b15cb3dSCy Schubert #define T_Clockstats 275
3522b15cb3dSCy Schubert #define T_Cohort 276
3532b15cb3dSCy Schubert #define T_ControlKey 277
3542b15cb3dSCy Schubert #define T_Crypto 278
3552b15cb3dSCy Schubert #define T_Cryptostats 279
3562b15cb3dSCy Schubert #define T_Ctl 280
3572b15cb3dSCy Schubert #define T_Day 281
3582b15cb3dSCy Schubert #define T_Default 282
3592b15cb3dSCy Schubert #define T_Digest 283
3602b15cb3dSCy Schubert #define T_Disable 284
3612b15cb3dSCy Schubert #define T_Discard 285
3622b15cb3dSCy Schubert #define T_Dispersion 286
3632b15cb3dSCy Schubert #define T_Double 287
3642b15cb3dSCy Schubert #define T_Driftfile 288
3652b15cb3dSCy Schubert #define T_Drop 289
366276da39aSCy Schubert #define T_Dscp 290
367276da39aSCy Schubert #define T_Ellipsis 291
368276da39aSCy Schubert #define T_Enable 292
369276da39aSCy Schubert #define T_End 293
370276da39aSCy Schubert #define T_False 294
371276da39aSCy Schubert #define T_File 295
372276da39aSCy Schubert #define T_Filegen 296
373276da39aSCy Schubert #define T_Filenum 297
374276da39aSCy Schubert #define T_Flag1 298
375276da39aSCy Schubert #define T_Flag2 299
376276da39aSCy Schubert #define T_Flag3 300
377276da39aSCy Schubert #define T_Flag4 301
378276da39aSCy Schubert #define T_Flake 302
379276da39aSCy Schubert #define T_Floor 303
380276da39aSCy Schubert #define T_Freq 304
381276da39aSCy Schubert #define T_Fudge 305
382276da39aSCy Schubert #define T_Host 306
383276da39aSCy Schubert #define T_Huffpuff 307
384276da39aSCy Schubert #define T_Iburst 308
385276da39aSCy Schubert #define T_Ident 309
386276da39aSCy Schubert #define T_Ignore 310
387276da39aSCy Schubert #define T_Incalloc 311
388276da39aSCy Schubert #define T_Incmem 312
389276da39aSCy Schubert #define T_Initalloc 313
390276da39aSCy Schubert #define T_Initmem 314
391276da39aSCy Schubert #define T_Includefile 315
392276da39aSCy Schubert #define T_Integer 316
393276da39aSCy Schubert #define T_Interface 317
394276da39aSCy Schubert #define T_Intrange 318
395276da39aSCy Schubert #define T_Io 319
396276da39aSCy Schubert #define T_Ipv4 320
397276da39aSCy Schubert #define T_Ipv4_flag 321
398276da39aSCy Schubert #define T_Ipv6 322
399276da39aSCy Schubert #define T_Ipv6_flag 323
400276da39aSCy Schubert #define T_Kernel 324
401276da39aSCy Schubert #define T_Key 325
402276da39aSCy Schubert #define T_Keys 326
403276da39aSCy Schubert #define T_Keysdir 327
404276da39aSCy Schubert #define T_Kod 328
405276da39aSCy Schubert #define T_Mssntp 329
406276da39aSCy Schubert #define T_Leapfile 330
407276da39aSCy Schubert #define T_Leapsmearinterval 331
408276da39aSCy Schubert #define T_Limited 332
409276da39aSCy Schubert #define T_Link 333
410276da39aSCy Schubert #define T_Listen 334
411276da39aSCy Schubert #define T_Logconfig 335
412276da39aSCy Schubert #define T_Logfile 336
413276da39aSCy Schubert #define T_Loopstats 337
414276da39aSCy Schubert #define T_Lowpriotrap 338
415276da39aSCy Schubert #define T_Manycastclient 339
416276da39aSCy Schubert #define T_Manycastserver 340
417276da39aSCy Schubert #define T_Mask 341
418276da39aSCy Schubert #define T_Maxage 342
419276da39aSCy Schubert #define T_Maxclock 343
420276da39aSCy Schubert #define T_Maxdepth 344
421276da39aSCy Schubert #define T_Maxdist 345
422276da39aSCy Schubert #define T_Maxmem 346
423276da39aSCy Schubert #define T_Maxpoll 347
424276da39aSCy Schubert #define T_Mdnstries 348
425276da39aSCy Schubert #define T_Mem 349
426276da39aSCy Schubert #define T_Memlock 350
427276da39aSCy Schubert #define T_Minclock 351
428276da39aSCy Schubert #define T_Mindepth 352
429276da39aSCy Schubert #define T_Mindist 353
430276da39aSCy Schubert #define T_Minimum 354
431276da39aSCy Schubert #define T_Minpoll 355
432276da39aSCy Schubert #define T_Minsane 356
433276da39aSCy Schubert #define T_Mode 357
434276da39aSCy Schubert #define T_Mode7 358
435276da39aSCy Schubert #define T_Monitor 359
436276da39aSCy Schubert #define T_Month 360
437276da39aSCy Schubert #define T_Mru 361
438276da39aSCy Schubert #define T_Multicastclient 362
439276da39aSCy Schubert #define T_Nic 363
440276da39aSCy Schubert #define T_Nolink 364
441276da39aSCy Schubert #define T_Nomodify 365
442276da39aSCy Schubert #define T_Nomrulist 366
443276da39aSCy Schubert #define T_None 367
444276da39aSCy Schubert #define T_Nonvolatile 368
445276da39aSCy Schubert #define T_Nopeer 369
446276da39aSCy Schubert #define T_Noquery 370
447276da39aSCy Schubert #define T_Noselect 371
448276da39aSCy Schubert #define T_Noserve 372
449276da39aSCy Schubert #define T_Notrap 373
450276da39aSCy Schubert #define T_Notrust 374
451276da39aSCy Schubert #define T_Ntp 375
452276da39aSCy Schubert #define T_Ntpport 376
453276da39aSCy Schubert #define T_NtpSignDsocket 377
454276da39aSCy Schubert #define T_Orphan 378
455276da39aSCy Schubert #define T_Orphanwait 379
456276da39aSCy Schubert #define T_Panic 380
457276da39aSCy Schubert #define T_Peer 381
458276da39aSCy Schubert #define T_Peerstats 382
459276da39aSCy Schubert #define T_Phone 383
460276da39aSCy Schubert #define T_Pid 384
461276da39aSCy Schubert #define T_Pidfile 385
462276da39aSCy Schubert #define T_Pool 386
463276da39aSCy Schubert #define T_Port 387
464276da39aSCy Schubert #define T_Preempt 388
465276da39aSCy Schubert #define T_Prefer 389
466276da39aSCy Schubert #define T_Protostats 390
467276da39aSCy Schubert #define T_Pw 391
468276da39aSCy Schubert #define T_Randfile 392
469276da39aSCy Schubert #define T_Rawstats 393
470276da39aSCy Schubert #define T_Refid 394
471276da39aSCy Schubert #define T_Requestkey 395
472276da39aSCy Schubert #define T_Reset 396
473276da39aSCy Schubert #define T_Restrict 397
474276da39aSCy Schubert #define T_Revoke 398
475276da39aSCy Schubert #define T_Rlimit 399
476276da39aSCy Schubert #define T_Saveconfigdir 400
477276da39aSCy Schubert #define T_Server 401
478276da39aSCy Schubert #define T_Setvar 402
479276da39aSCy Schubert #define T_Source 403
480276da39aSCy Schubert #define T_Stacksize 404
481276da39aSCy Schubert #define T_Statistics 405
482276da39aSCy Schubert #define T_Stats 406
483276da39aSCy Schubert #define T_Statsdir 407
484276da39aSCy Schubert #define T_Step 408
485276da39aSCy Schubert #define T_Stepback 409
486276da39aSCy Schubert #define T_Stepfwd 410
487276da39aSCy Schubert #define T_Stepout 411
488276da39aSCy Schubert #define T_Stratum 412
489276da39aSCy Schubert #define T_String 413
490276da39aSCy Schubert #define T_Sys 414
491276da39aSCy Schubert #define T_Sysstats 415
492276da39aSCy Schubert #define T_Tick 416
493276da39aSCy Schubert #define T_Time1 417
494276da39aSCy Schubert #define T_Time2 418
495276da39aSCy Schubert #define T_Timer 419
496276da39aSCy Schubert #define T_Timingstats 420
497276da39aSCy Schubert #define T_Tinker 421
498276da39aSCy Schubert #define T_Tos 422
499276da39aSCy Schubert #define T_Trap 423
500276da39aSCy Schubert #define T_True 424
501276da39aSCy Schubert #define T_Trustedkey 425
502276da39aSCy Schubert #define T_Ttl 426
503276da39aSCy Schubert #define T_Type 427
504276da39aSCy Schubert #define T_U_int 428
505*68ba7e87SXin LI #define T_UEcrypto 429
506*68ba7e87SXin LI #define T_UEcryptonak 430
507*68ba7e87SXin LI #define T_UEdigest 431
508*68ba7e87SXin LI #define T_Unconfig 432
509*68ba7e87SXin LI #define T_Unpeer 433
510*68ba7e87SXin LI #define T_Version 434
511*68ba7e87SXin LI #define T_WanderThreshold 435
512*68ba7e87SXin LI #define T_Week 436
513*68ba7e87SXin LI #define T_Wildcard 437
514*68ba7e87SXin LI #define T_Xleave 438
515*68ba7e87SXin LI #define T_Year 439
516*68ba7e87SXin LI #define T_Flag 440
517*68ba7e87SXin LI #define T_EOC 441
518*68ba7e87SXin LI #define T_Simulate 442
519*68ba7e87SXin LI #define T_Beep_Delay 443
520*68ba7e87SXin LI #define T_Sim_Duration 444
521*68ba7e87SXin LI #define T_Server_Offset 445
522*68ba7e87SXin LI #define T_Duration 446
523*68ba7e87SXin LI #define T_Freq_Offset 447
524*68ba7e87SXin LI #define T_Wander 448
525*68ba7e87SXin LI #define T_Jitter 449
526*68ba7e87SXin LI #define T_Prop_Delay 450
527*68ba7e87SXin LI #define T_Proc_Delay 451
5282b15cb3dSCy Schubert 
529*68ba7e87SXin LI 
530*68ba7e87SXin LI 
5312b15cb3dSCy Schubert #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
532*68ba7e87SXin LI typedef union YYSTYPE
5332b15cb3dSCy Schubert {
534*68ba7e87SXin LI /* Line 387 of yacc.c  */
535*68ba7e87SXin LI #line 51 "../../ntpd/ntp_parser.y"
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*68ba7e87SXin LI 
555*68ba7e87SXin LI /* Line 387 of yacc.c  */
556*68ba7e87SXin LI #line 557 "ntp_parser.c"
557*68ba7e87SXin LI } YYSTYPE;
5582b15cb3dSCy Schubert # define YYSTYPE_IS_TRIVIAL 1
559*68ba7e87SXin LI # define yystype YYSTYPE /* obsolescent; will be withdrawn */
5602b15cb3dSCy Schubert # define YYSTYPE_IS_DECLARED 1
5612b15cb3dSCy Schubert #endif
5622b15cb3dSCy Schubert 
5632b15cb3dSCy Schubert extern YYSTYPE yylval;
5642b15cb3dSCy Schubert 
565*68ba7e87SXin LI #ifdef YYPARSE_PARAM
566*68ba7e87SXin LI #if defined __STDC__ || defined __cplusplus
567*68ba7e87SXin LI int yyparse (void *YYPARSE_PARAM);
568*68ba7e87SXin LI #else
569*68ba7e87SXin LI int yyparse ();
570*68ba7e87SXin LI #endif
571*68ba7e87SXin LI #else /* ! YYPARSE_PARAM */
572*68ba7e87SXin LI #if defined __STDC__ || defined __cplusplus
573276da39aSCy Schubert int yyparse (void);
574*68ba7e87SXin LI #else
575*68ba7e87SXin LI int yyparse ();
576*68ba7e87SXin LI #endif
577*68ba7e87SXin LI #endif /* ! YYPARSE_PARAM */
5782b15cb3dSCy Schubert 
579*68ba7e87SXin LI #endif /* !YY_YY_NTP_PARSER_H_INCLUDED  */
5802b15cb3dSCy Schubert 
5812b15cb3dSCy Schubert /* Copy the second part of user declarations.  */
5822b15cb3dSCy Schubert 
583*68ba7e87SXin LI /* Line 390 of yacc.c  */
584*68ba7e87SXin LI #line 585 "ntp_parser.c"
5852b15cb3dSCy Schubert 
5862b15cb3dSCy Schubert #ifdef short
5872b15cb3dSCy Schubert # undef short
5882b15cb3dSCy Schubert #endif
5892b15cb3dSCy Schubert 
5902b15cb3dSCy Schubert #ifdef YYTYPE_UINT8
5912b15cb3dSCy Schubert typedef YYTYPE_UINT8 yytype_uint8;
5922b15cb3dSCy Schubert #else
5932b15cb3dSCy Schubert typedef unsigned char yytype_uint8;
5942b15cb3dSCy Schubert #endif
5952b15cb3dSCy Schubert 
5962b15cb3dSCy Schubert #ifdef YYTYPE_INT8
5972b15cb3dSCy Schubert typedef YYTYPE_INT8 yytype_int8;
598*68ba7e87SXin LI #elif (defined __STDC__ || defined __C99__FUNC__ \
599*68ba7e87SXin LI      || defined __cplusplus || defined _MSC_VER)
6009034852cSGleb Smirnoff typedef signed char yytype_int8;
601*68ba7e87SXin LI #else
602*68ba7e87SXin LI typedef short int yytype_int8;
6032b15cb3dSCy Schubert #endif
6042b15cb3dSCy Schubert 
6052b15cb3dSCy Schubert #ifdef YYTYPE_UINT16
6062b15cb3dSCy Schubert typedef YYTYPE_UINT16 yytype_uint16;
6072b15cb3dSCy Schubert #else
6082b15cb3dSCy Schubert typedef unsigned short int yytype_uint16;
6092b15cb3dSCy Schubert #endif
6102b15cb3dSCy Schubert 
6112b15cb3dSCy Schubert #ifdef YYTYPE_INT16
6122b15cb3dSCy Schubert typedef YYTYPE_INT16 yytype_int16;
6132b15cb3dSCy Schubert #else
6142b15cb3dSCy Schubert typedef short int yytype_int16;
6152b15cb3dSCy Schubert #endif
6162b15cb3dSCy Schubert 
6172b15cb3dSCy Schubert #ifndef YYSIZE_T
6182b15cb3dSCy Schubert # ifdef __SIZE_TYPE__
6192b15cb3dSCy Schubert #  define YYSIZE_T __SIZE_TYPE__
6202b15cb3dSCy Schubert # elif defined size_t
6212b15cb3dSCy Schubert #  define YYSIZE_T size_t
622*68ba7e87SXin LI # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
623*68ba7e87SXin LI      || defined __cplusplus || defined _MSC_VER)
6242b15cb3dSCy Schubert #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
6252b15cb3dSCy Schubert #  define YYSIZE_T size_t
6262b15cb3dSCy Schubert # else
6272b15cb3dSCy Schubert #  define YYSIZE_T unsigned int
6282b15cb3dSCy Schubert # endif
6292b15cb3dSCy Schubert #endif
6302b15cb3dSCy Schubert 
6312b15cb3dSCy Schubert #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
6322b15cb3dSCy Schubert 
6332b15cb3dSCy Schubert #ifndef YY_
6342b15cb3dSCy Schubert # if defined YYENABLE_NLS && YYENABLE_NLS
6352b15cb3dSCy Schubert #  if ENABLE_NLS
6362b15cb3dSCy Schubert #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
6372b15cb3dSCy Schubert #   define YY_(Msgid) dgettext ("bison-runtime", Msgid)
6382b15cb3dSCy Schubert #  endif
6392b15cb3dSCy Schubert # endif
6402b15cb3dSCy Schubert # ifndef YY_
6412b15cb3dSCy Schubert #  define YY_(Msgid) Msgid
6422b15cb3dSCy Schubert # endif
6432b15cb3dSCy Schubert #endif
6442b15cb3dSCy Schubert 
645*68ba7e87SXin LI #ifndef __attribute__
646*68ba7e87SXin LI /* This feature is available in gcc versions 2.5 and later.  */
647*68ba7e87SXin LI # if (! defined __GNUC__ || __GNUC__ < 2 \
648*68ba7e87SXin LI       || (__GNUC__ == 2 && __GNUC_MINOR__ < 5))
649*68ba7e87SXin LI #  define __attribute__(Spec) /* empty */
6502b15cb3dSCy Schubert # endif
6512b15cb3dSCy Schubert #endif
6522b15cb3dSCy Schubert 
6532b15cb3dSCy Schubert /* Suppress unused-variable warnings by "using" E.  */
6542b15cb3dSCy Schubert #if ! defined lint || defined __GNUC__
6552b15cb3dSCy Schubert # define YYUSE(E) ((void) (E))
6562b15cb3dSCy Schubert #else
6572b15cb3dSCy Schubert # define YYUSE(E) /* empty */
6582b15cb3dSCy Schubert #endif
6592b15cb3dSCy Schubert 
6602b15cb3dSCy Schubert 
661*68ba7e87SXin LI /* Identity function, used to suppress warnings about constant conditions.  */
662*68ba7e87SXin LI #ifndef lint
663*68ba7e87SXin LI # define YYID(N) (N)
664*68ba7e87SXin LI #else
665*68ba7e87SXin LI #if (defined __STDC__ || defined __C99__FUNC__ \
666*68ba7e87SXin LI      || defined __cplusplus || defined _MSC_VER)
667*68ba7e87SXin LI static int
668*68ba7e87SXin LI YYID (int yyi)
669*68ba7e87SXin LI #else
670*68ba7e87SXin LI static int
671*68ba7e87SXin LI YYID (yyi)
672*68ba7e87SXin LI     int yyi;
673*68ba7e87SXin LI #endif
674*68ba7e87SXin LI {
675*68ba7e87SXin LI   return yyi;
676*68ba7e87SXin LI }
677*68ba7e87SXin LI #endif
6782b15cb3dSCy Schubert 
6792b15cb3dSCy Schubert #if ! defined yyoverflow || YYERROR_VERBOSE
6802b15cb3dSCy Schubert 
6812b15cb3dSCy Schubert /* The parser invokes alloca or malloc; define the necessary symbols.  */
6822b15cb3dSCy Schubert 
6832b15cb3dSCy Schubert # ifdef YYSTACK_USE_ALLOCA
6842b15cb3dSCy Schubert #  if YYSTACK_USE_ALLOCA
6852b15cb3dSCy Schubert #   ifdef __GNUC__
6862b15cb3dSCy Schubert #    define YYSTACK_ALLOC __builtin_alloca
6872b15cb3dSCy Schubert #   elif defined __BUILTIN_VA_ARG_INCR
6882b15cb3dSCy Schubert #    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
6892b15cb3dSCy Schubert #   elif defined _AIX
6902b15cb3dSCy Schubert #    define YYSTACK_ALLOC __alloca
6912b15cb3dSCy Schubert #   elif defined _MSC_VER
6922b15cb3dSCy Schubert #    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
6932b15cb3dSCy Schubert #    define alloca _alloca
6942b15cb3dSCy Schubert #   else
6952b15cb3dSCy Schubert #    define YYSTACK_ALLOC alloca
696*68ba7e87SXin LI #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
697*68ba7e87SXin LI      || defined __cplusplus || defined _MSC_VER)
6982b15cb3dSCy Schubert #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
6992b15cb3dSCy Schubert       /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
7002b15cb3dSCy Schubert #     ifndef EXIT_SUCCESS
7012b15cb3dSCy Schubert #      define EXIT_SUCCESS 0
7022b15cb3dSCy Schubert #     endif
7032b15cb3dSCy Schubert #    endif
7042b15cb3dSCy Schubert #   endif
7052b15cb3dSCy Schubert #  endif
7062b15cb3dSCy Schubert # endif
7072b15cb3dSCy Schubert 
7082b15cb3dSCy Schubert # ifdef YYSTACK_ALLOC
709*68ba7e87SXin LI    /* Pacify GCC's `empty if-body' warning.  */
710*68ba7e87SXin LI #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
7112b15cb3dSCy Schubert #  ifndef YYSTACK_ALLOC_MAXIMUM
7122b15cb3dSCy Schubert     /* The OS might guarantee only one guard page at the bottom of the stack,
7132b15cb3dSCy Schubert        and a page size can be as small as 4096 bytes.  So we cannot safely
7142b15cb3dSCy Schubert        invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
7152b15cb3dSCy Schubert        to allow for a few compiler-allocated temporary stack slots.  */
7162b15cb3dSCy Schubert #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
7172b15cb3dSCy Schubert #  endif
7182b15cb3dSCy Schubert # else
7192b15cb3dSCy Schubert #  define YYSTACK_ALLOC YYMALLOC
7202b15cb3dSCy Schubert #  define YYSTACK_FREE YYFREE
7212b15cb3dSCy Schubert #  ifndef YYSTACK_ALLOC_MAXIMUM
7222b15cb3dSCy Schubert #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
7232b15cb3dSCy Schubert #  endif
7242b15cb3dSCy Schubert #  if (defined __cplusplus && ! defined EXIT_SUCCESS \
7252b15cb3dSCy Schubert        && ! ((defined YYMALLOC || defined malloc) \
7262b15cb3dSCy Schubert 	     && (defined YYFREE || defined free)))
7272b15cb3dSCy Schubert #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
7282b15cb3dSCy Schubert #   ifndef EXIT_SUCCESS
7292b15cb3dSCy Schubert #    define EXIT_SUCCESS 0
7302b15cb3dSCy Schubert #   endif
7312b15cb3dSCy Schubert #  endif
7322b15cb3dSCy Schubert #  ifndef YYMALLOC
7332b15cb3dSCy Schubert #   define YYMALLOC malloc
734*68ba7e87SXin LI #   if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
735*68ba7e87SXin LI      || defined __cplusplus || defined _MSC_VER)
7362b15cb3dSCy Schubert void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
7372b15cb3dSCy Schubert #   endif
7382b15cb3dSCy Schubert #  endif
7392b15cb3dSCy Schubert #  ifndef YYFREE
7402b15cb3dSCy Schubert #   define YYFREE free
741*68ba7e87SXin LI #   if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
742*68ba7e87SXin LI      || defined __cplusplus || defined _MSC_VER)
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       }									\
786*68ba7e87SXin LI     while (YYID (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         }                                       \
805*68ba7e87SXin LI       while (YYID (0))
8062b15cb3dSCy Schubert #  endif
8072b15cb3dSCy Schubert # endif
8082b15cb3dSCy Schubert #endif /* !YYCOPY_NEEDED */
8092b15cb3dSCy Schubert 
8102b15cb3dSCy Schubert /* YYFINAL -- State number of the termination state.  */
811*68ba7e87SXin LI #define YYFINAL  213
8122b15cb3dSCy Schubert /* YYLAST -- Last index in YYTABLE.  */
813*68ba7e87SXin LI #define YYLAST   624
8142b15cb3dSCy Schubert 
8152b15cb3dSCy Schubert /* YYNTOKENS -- Number of terminals.  */
816*68ba7e87SXin LI #define YYNTOKENS  202
8172b15cb3dSCy Schubert /* YYNNTS -- Number of nonterminals.  */
818276da39aSCy Schubert #define YYNNTS  105
8192b15cb3dSCy Schubert /* YYNRULES -- Number of rules.  */
820*68ba7e87SXin LI #define YYNRULES  316
821*68ba7e87SXin LI /* YYNRULES -- Number of states.  */
822*68ba7e87SXin LI #define YYNSTATES  422
8232b15cb3dSCy Schubert 
824*68ba7e87SXin LI /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
8252b15cb3dSCy Schubert #define YYUNDEFTOK  2
826*68ba7e87SXin LI #define YYMAXUTOK   451
8272b15cb3dSCy Schubert 
8282b15cb3dSCy Schubert #define YYTRANSLATE(YYX)						\
8292b15cb3dSCy Schubert   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
8302b15cb3dSCy Schubert 
831*68ba7e87SXin LI /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
8322b15cb3dSCy Schubert static const yytype_uint8 yytranslate[] =
8332b15cb3dSCy Schubert {
8342b15cb3dSCy Schubert        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
8352b15cb3dSCy Schubert        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
8362b15cb3dSCy Schubert        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
8372b15cb3dSCy Schubert        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
838*68ba7e87SXin LI      198,   199,     2,     2,     2,     2,     2,     2,     2,     2,
8392b15cb3dSCy Schubert        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
840*68ba7e87SXin LI        2,   197,     2,     2,     2,     2,     2,     2,     2,     2,
8412b15cb3dSCy Schubert        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
8422b15cb3dSCy Schubert        2,     2,     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,
846*68ba7e87SXin LI        2,     2,     2,   200,     2,   201,     2,     2,     2,     2,
8472b15cb3dSCy Schubert        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
8482b15cb3dSCy Schubert        2,     2,     2,     2,     2,     2,     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,     1,     2,     3,     4,
8602b15cb3dSCy Schubert        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
8612b15cb3dSCy Schubert       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
8622b15cb3dSCy Schubert       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
8632b15cb3dSCy Schubert       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
8642b15cb3dSCy Schubert       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
8652b15cb3dSCy Schubert       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
8662b15cb3dSCy Schubert       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
8672b15cb3dSCy Schubert       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
8682b15cb3dSCy Schubert       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
8692b15cb3dSCy Schubert       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
8702b15cb3dSCy Schubert      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
8712b15cb3dSCy Schubert      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
8722b15cb3dSCy Schubert      125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
8732b15cb3dSCy Schubert      135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
8742b15cb3dSCy Schubert      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
8752b15cb3dSCy Schubert      155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
8762b15cb3dSCy Schubert      165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
8772b15cb3dSCy Schubert      175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
878*68ba7e87SXin LI      185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
879*68ba7e87SXin LI      195,   196
8802b15cb3dSCy Schubert };
8812b15cb3dSCy Schubert 
8822b15cb3dSCy Schubert #if YYDEBUG
883*68ba7e87SXin LI /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
884*68ba7e87SXin LI    YYRHS.  */
885*68ba7e87SXin LI static const yytype_uint16 yyprhs[] =
886*68ba7e87SXin LI {
887*68ba7e87SXin LI        0,     0,     3,     5,     9,    12,    15,    16,    18,    20,
888*68ba7e87SXin LI       22,    24,    26,    28,    30,    32,    34,    36,    38,    40,
889*68ba7e87SXin LI       42,    46,    48,    50,    52,    54,    56,    58,    61,    63,
890*68ba7e87SXin LI       65,    67,    68,    71,    73,    75,    77,    79,    81,    83,
891*68ba7e87SXin LI       85,    87,    89,    91,    93,    95,    98,   101,   103,   105,
892*68ba7e87SXin LI      107,   109,   111,   113,   116,   118,   121,   123,   125,   127,
893*68ba7e87SXin LI      130,   133,   136,   139,   142,   145,   148,   151,   154,   157,
894*68ba7e87SXin LI      160,   163,   164,   167,   170,   173,   175,   177,   179,   181,
895*68ba7e87SXin LI      183,   186,   189,   191,   194,   197,   200,   202,   204,   206,
896*68ba7e87SXin LI      208,   210,   212,   214,   216,   218,   220,   223,   226,   230,
897*68ba7e87SXin LI      233,   235,   237,   239,   241,   243,   245,   247,   249,   251,
898*68ba7e87SXin LI      252,   255,   258,   261,   263,   265,   267,   269,   271,   273,
899*68ba7e87SXin LI      275,   277,   279,   281,   283,   285,   287,   290,   293,   297,
900*68ba7e87SXin LI      303,   307,   312,   317,   321,   322,   325,   327,   329,   331,
901*68ba7e87SXin LI      333,   335,   337,   339,   341,   343,   345,   347,   349,   351,
902*68ba7e87SXin LI      353,   355,   358,   360,   363,   365,   367,   369,   372,   374,
903*68ba7e87SXin LI      377,   379,   381,   383,   385,   387,   389,   391,   393,   397,
904*68ba7e87SXin LI      400,   402,   405,   408,   411,   414,   417,   419,   421,   423,
905*68ba7e87SXin LI      425,   427,   429,   432,   435,   437,   440,   442,   444,   446,
906*68ba7e87SXin LI      449,   452,   455,   457,   459,   461,   463,   465,   467,   469,
907*68ba7e87SXin LI      471,   473,   475,   477,   479,   481,   483,   486,   489,   491,
908*68ba7e87SXin LI      494,   496,   498,   500,   502,   504,   506,   508,   510,   512,
909*68ba7e87SXin LI      514,   516,   518,   521,   524,   527,   530,   534,   536,   539,
910*68ba7e87SXin LI      542,   545,   548,   552,   555,   557,   559,   561,   563,   565,
911*68ba7e87SXin LI      567,   569,   571,   573,   575,   577,   580,   581,   586,   588,
912*68ba7e87SXin LI      589,   590,   593,   596,   599,   602,   604,   606,   610,   614,
913*68ba7e87SXin LI      616,   618,   620,   622,   624,   626,   628,   630,   632,   635,
914*68ba7e87SXin LI      638,   640,   642,   644,   646,   648,   650,   652,   654,   657,
915*68ba7e87SXin LI      659,   662,   664,   666,   668,   674,   677,   679,   682,   684,
916*68ba7e87SXin LI      686,   688,   690,   692,   694,   700,   702,   706,   709,   713,
917*68ba7e87SXin LI      715,   717,   720,   722,   728,   733,   737,   740,   742,   749,
918*68ba7e87SXin LI      753,   756,   760,   762,   764,   766,   768
919*68ba7e87SXin LI };
920*68ba7e87SXin LI 
921*68ba7e87SXin LI /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
922*68ba7e87SXin LI static const yytype_int16 yyrhs[] =
923*68ba7e87SXin LI {
924*68ba7e87SXin LI      203,     0,    -1,   204,    -1,   204,   205,   186,    -1,   205,
925*68ba7e87SXin LI      186,    -1,     1,   186,    -1,    -1,   206,    -1,   219,    -1,
926*68ba7e87SXin LI      221,    -1,   222,    -1,   231,    -1,   239,    -1,   226,    -1,
927*68ba7e87SXin LI      248,    -1,   253,    -1,   257,    -1,   262,    -1,   266,    -1,
928*68ba7e87SXin LI      293,    -1,   207,   208,   211,    -1,   146,    -1,   131,    -1,
929*68ba7e87SXin LI      126,    -1,    14,    -1,    84,    -1,   209,    -1,   210,   158,
930*68ba7e87SXin LI       -1,   158,    -1,    66,    -1,    68,    -1,    -1,   211,   212,
931*68ba7e87SXin LI       -1,   213,    -1,   215,    -1,   217,    -1,   214,    -1,     9,
932*68ba7e87SXin LI       -1,    17,    -1,    53,    -1,   116,    -1,   133,    -1,   134,
933*68ba7e87SXin LI       -1,   169,    -1,   183,    -1,   216,    61,    -1,   216,   173,
934*68ba7e87SXin LI       -1,    70,    -1,   100,    -1,    92,    -1,   171,    -1,   102,
935*68ba7e87SXin LI       -1,   179,    -1,   218,   158,    -1,    54,    -1,   220,   208,
936*68ba7e87SXin LI       -1,   177,    -1,   178,    -1,    15,    -1,    85,   290,    -1,
937*68ba7e87SXin LI      107,   290,    -1,    93,    61,    -1,    10,    61,    -1,    22,
938*68ba7e87SXin LI       61,    -1,    23,   223,    -1,    71,   158,    -1,    72,   158,
939*68ba7e87SXin LI       -1,   140,    61,    -1,   143,    61,    -1,   170,   286,    -1,
940*68ba7e87SXin LI      122,   158,    -1,    -1,   223,   224,    -1,   225,   158,    -1,
941*68ba7e87SXin LI      143,    61,    -1,    51,    -1,    54,    -1,   136,    -1,   137,
942*68ba7e87SXin LI       -1,    28,    -1,   167,   227,    -1,   227,   228,    -1,   228,
943*68ba7e87SXin LI       -1,   229,    61,    -1,   230,   292,    -1,    21,   291,    -1,
944*68ba7e87SXin LI       19,    -1,    48,    -1,   123,    -1,   124,    -1,   101,    -1,
945*68ba7e87SXin LI       13,    -1,    98,    -1,    90,    -1,    96,    -1,    88,    -1,
946*68ba7e87SXin LI      150,   232,    -1,   152,   158,    -1,    41,   233,   234,    -1,
947*68ba7e87SXin LI      232,   233,    -1,   233,    -1,    20,    -1,    24,    -1,    82,
948*68ba7e87SXin LI       -1,   127,    -1,   138,    -1,   160,    -1,   165,    -1,   135,
949*68ba7e87SXin LI       -1,    -1,   234,   235,    -1,    40,   158,    -1,   172,   238,
950*68ba7e87SXin LI       -1,   236,    -1,   237,    -1,    78,    -1,   109,    -1,    37,
951*68ba7e87SXin LI       -1,    29,    -1,   112,    -1,   129,    -1,    26,    -1,   181,
952*68ba7e87SXin LI       -1,   105,    -1,   184,    -1,     4,    -1,    30,   242,    -1,
953*68ba7e87SXin LI      106,   245,    -1,   142,   208,   240,    -1,   142,   209,    86,
954*68ba7e87SXin LI      209,   240,    -1,   142,    27,   240,    -1,   142,    66,    27,
955*68ba7e87SXin LI      240,    -1,   142,    68,    27,   240,    -1,   142,   148,   240,
956*68ba7e87SXin LI       -1,    -1,   240,   241,    -1,    47,    -1,    55,    -1,    73,
957*68ba7e87SXin LI       -1,    74,    -1,    77,    -1,    83,    -1,   110,    -1,   111,
958*68ba7e87SXin LI       -1,   114,    -1,   115,    -1,   117,    -1,   118,    -1,   119,
959*68ba7e87SXin LI       -1,   121,    -1,   179,    -1,   242,   243,    -1,   243,    -1,
960*68ba7e87SXin LI      244,    61,    -1,    11,    -1,    99,    -1,   104,    -1,   245,
961*68ba7e87SXin LI      246,    -1,   246,    -1,   247,    61,    -1,    56,    -1,    57,
962*68ba7e87SXin LI       -1,    58,    -1,    59,    -1,    87,    -1,    89,    -1,    91,
963*68ba7e87SXin LI       -1,    97,    -1,    50,   208,   249,    -1,   249,   250,    -1,
964*68ba7e87SXin LI      250,    -1,   251,   292,    -1,   252,   291,    -1,   157,    61,
965*68ba7e87SXin LI       -1,     3,   158,    -1,   139,   158,    -1,   162,    -1,   163,
966*68ba7e87SXin LI       -1,    43,    -1,    44,    -1,    45,    -1,    46,    -1,   144,
967*68ba7e87SXin LI      254,    -1,   254,   255,    -1,   255,    -1,   256,    61,    -1,
968*68ba7e87SXin LI       95,    -1,   149,    -1,    42,    -1,    37,   258,    -1,    29,
969*68ba7e87SXin LI      258,    -1,   258,   259,    -1,   259,    -1,   260,    -1,   261,
970*68ba7e87SXin LI       -1,     8,    -1,    12,    -1,    18,    -1,    69,    -1,   104,
971*68ba7e87SXin LI       -1,   120,    -1,   103,    -1,   151,    -1,   174,    -1,   175,
972*68ba7e87SXin LI       -1,   176,    -1,   166,   263,    -1,   263,   264,    -1,   264,
973*68ba7e87SXin LI       -1,   265,   292,    -1,     6,    -1,    31,    -1,    49,    -1,
974*68ba7e87SXin LI       52,    -1,   125,    -1,   153,    -1,   154,    -1,   155,    -1,
975*68ba7e87SXin LI      156,    -1,   161,    -1,   278,    -1,   282,    -1,   267,   292,
976*68ba7e87SXin LI       -1,   268,    61,    -1,   269,   158,    -1,   270,   158,    -1,
977*68ba7e87SXin LI       60,   158,   205,    -1,    38,    -1,    33,   271,    -1,    80,
978*68ba7e87SXin LI      276,    -1,   128,   289,    -1,   147,   272,    -1,   168,   209,
979*68ba7e87SXin LI      274,    -1,   171,   285,    -1,    16,    -1,   113,    -1,   161,
980*68ba7e87SXin LI       -1,    35,    -1,    76,    -1,    54,    -1,    75,    -1,    81,
981*68ba7e87SXin LI       -1,   130,    -1,   145,    -1,   158,    -1,   158,    32,    -1,
982*68ba7e87SXin LI       -1,   158,   197,   158,   273,    -1,    27,    -1,    -1,    -1,
983*68ba7e87SXin LI      274,   275,    -1,   132,    61,    -1,    62,   209,    -1,   276,
984*68ba7e87SXin LI      277,    -1,   277,    -1,   158,    -1,   279,   281,   280,    -1,
985*68ba7e87SXin LI      279,   281,   158,    -1,    62,    -1,   108,    -1,     5,    -1,
986*68ba7e87SXin LI       65,    -1,    67,    -1,   182,    -1,    79,    -1,    55,    -1,
987*68ba7e87SXin LI       34,    -1,   141,   283,    -1,   283,   284,    -1,   284,    -1,
988*68ba7e87SXin LI        7,    -1,     8,    -1,    25,    -1,    64,    -1,    94,    -1,
989*68ba7e87SXin LI      159,    -1,   164,    -1,   285,    61,    -1,    61,    -1,   286,
990*68ba7e87SXin LI      287,    -1,   287,    -1,    61,    -1,   288,    -1,   198,    61,
991*68ba7e87SXin LI       36,    61,   199,    -1,   289,   158,    -1,   158,    -1,   290,
992*68ba7e87SXin LI      208,    -1,   208,    -1,    61,    -1,   169,    -1,    39,    -1,
993*68ba7e87SXin LI       61,    -1,    32,    -1,   294,   200,   295,   298,   201,    -1,
994*68ba7e87SXin LI      187,    -1,   295,   296,   186,    -1,   296,   186,    -1,   297,
995*68ba7e87SXin LI      197,   292,    -1,   188,    -1,   189,    -1,   298,   299,    -1,
996*68ba7e87SXin LI      299,    -1,   301,   200,   300,   302,   201,    -1,   190,   197,
997*68ba7e87SXin LI      292,   186,    -1,   146,   197,   208,    -1,   302,   303,    -1,
998*68ba7e87SXin LI      303,    -1,   191,   197,   292,   200,   304,   201,    -1,   304,
999*68ba7e87SXin LI      305,   186,    -1,   305,   186,    -1,   306,   197,   292,    -1,
1000*68ba7e87SXin LI      192,    -1,   193,    -1,   194,    -1,   195,    -1,   196,    -1
1001*68ba7e87SXin LI };
1002*68ba7e87SXin LI 
1003*68ba7e87SXin LI /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
10042b15cb3dSCy Schubert static const yytype_uint16 yyrline[] =
10052b15cb3dSCy Schubert {
1006*68ba7e87SXin LI        0,   369,   369,   373,   374,   375,   390,   391,   392,   393,
1007*68ba7e87SXin LI      394,   395,   396,   397,   398,   399,   400,   401,   402,   403,
1008*68ba7e87SXin LI      411,   421,   422,   423,   424,   425,   429,   430,   435,   440,
1009*68ba7e87SXin LI      442,   448,   449,   457,   458,   459,   463,   468,   469,   470,
1010*68ba7e87SXin LI      471,   472,   473,   474,   475,   479,   481,   486,   487,   488,
1011*68ba7e87SXin LI      489,   490,   491,   495,   500,   509,   519,   520,   530,   532,
1012*68ba7e87SXin LI      534,   536,   547,   554,   556,   561,   563,   565,   567,   569,
1013*68ba7e87SXin LI      578,   584,   585,   593,   595,   607,   608,   609,   610,   611,
1014*68ba7e87SXin LI      620,   625,   630,   638,   640,   642,   647,   648,   649,   650,
1015*68ba7e87SXin LI      651,   652,   656,   657,   658,   659,   668,   670,   679,   689,
1016*68ba7e87SXin LI      694,   702,   703,   704,   705,   706,   707,   708,   709,   714,
1017*68ba7e87SXin LI      715,   723,   733,   742,   757,   762,   763,   767,   768,   772,
1018*68ba7e87SXin LI      773,   774,   775,   776,   777,   778,   787,   791,   795,   803,
1019*68ba7e87SXin LI      811,   819,   834,   849,   862,   863,   871,   872,   873,   874,
1020*68ba7e87SXin LI      875,   876,   877,   878,   879,   880,   881,   882,   883,   884,
1021*68ba7e87SXin LI      885,   889,   894,   902,   907,   908,   909,   913,   918,   926,
1022*68ba7e87SXin LI      931,   932,   933,   934,   935,   936,   937,   938,   946,   956,
1023*68ba7e87SXin LI      961,   969,   971,   973,   982,   984,   989,   990,   994,   995,
1024*68ba7e87SXin LI      996,   997,  1005,  1010,  1015,  1023,  1028,  1029,  1030,  1039,
1025*68ba7e87SXin LI     1041,  1046,  1051,  1059,  1061,  1078,  1079,  1080,  1081,  1082,
1026*68ba7e87SXin LI     1083,  1087,  1088,  1089,  1090,  1091,  1099,  1104,  1109,  1117,
1027*68ba7e87SXin LI     1122,  1123,  1124,  1125,  1126,  1127,  1128,  1129,  1130,  1131,
1028*68ba7e87SXin LI     1140,  1141,  1142,  1149,  1156,  1163,  1179,  1198,  1200,  1202,
1029*68ba7e87SXin LI     1204,  1206,  1208,  1215,  1220,  1221,  1222,  1226,  1230,  1239,
1030*68ba7e87SXin LI     1240,  1244,  1245,  1246,  1250,  1261,  1275,  1287,  1292,  1294,
1031*68ba7e87SXin LI     1299,  1300,  1308,  1310,  1318,  1323,  1331,  1356,  1363,  1373,
1032*68ba7e87SXin LI     1374,  1378,  1379,  1380,  1381,  1385,  1386,  1387,  1391,  1396,
1033*68ba7e87SXin LI     1401,  1409,  1410,  1411,  1412,  1413,  1414,  1415,  1425,  1430,
1034*68ba7e87SXin LI     1438,  1443,  1451,  1453,  1457,  1462,  1467,  1475,  1480,  1488,
1035*68ba7e87SXin LI     1497,  1498,  1502,  1503,  1512,  1530,  1534,  1539,  1547,  1552,
1036*68ba7e87SXin LI     1553,  1557,  1562,  1570,  1575,  1580,  1585,  1590,  1598,  1603,
1037*68ba7e87SXin LI     1608,  1616,  1621,  1622,  1623,  1624,  1625
10382b15cb3dSCy Schubert };
10392b15cb3dSCy Schubert #endif
10402b15cb3dSCy Schubert 
10412b15cb3dSCy Schubert #if YYDEBUG || YYERROR_VERBOSE || 1
10422b15cb3dSCy Schubert /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
10432b15cb3dSCy Schubert    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
10442b15cb3dSCy Schubert static const char *const yytname[] =
10452b15cb3dSCy Schubert {
10462b15cb3dSCy Schubert   "$end", "error", "$undefined", "T_Abbrev", "T_Age", "T_All", "T_Allan",
10472b15cb3dSCy Schubert   "T_Allpeers", "T_Auth", "T_Autokey", "T_Automax", "T_Average",
10482b15cb3dSCy Schubert   "T_Bclient", "T_Beacon", "T_Broadcast", "T_Broadcastclient",
10492b15cb3dSCy Schubert   "T_Broadcastdelay", "T_Burst", "T_Calibrate", "T_Ceiling",
10502b15cb3dSCy Schubert   "T_Clockstats", "T_Cohort", "T_ControlKey", "T_Crypto", "T_Cryptostats",
10512b15cb3dSCy Schubert   "T_Ctl", "T_Day", "T_Default", "T_Digest", "T_Disable", "T_Discard",
1052276da39aSCy Schubert   "T_Dispersion", "T_Double", "T_Driftfile", "T_Drop", "T_Dscp",
1053276da39aSCy Schubert   "T_Ellipsis", "T_Enable", "T_End", "T_False", "T_File", "T_Filegen",
1054276da39aSCy Schubert   "T_Filenum", "T_Flag1", "T_Flag2", "T_Flag3", "T_Flag4", "T_Flake",
1055276da39aSCy Schubert   "T_Floor", "T_Freq", "T_Fudge", "T_Host", "T_Huffpuff", "T_Iburst",
1056276da39aSCy Schubert   "T_Ident", "T_Ignore", "T_Incalloc", "T_Incmem", "T_Initalloc",
1057276da39aSCy Schubert   "T_Initmem", "T_Includefile", "T_Integer", "T_Interface", "T_Intrange",
1058276da39aSCy Schubert   "T_Io", "T_Ipv4", "T_Ipv4_flag", "T_Ipv6", "T_Ipv6_flag", "T_Kernel",
1059276da39aSCy Schubert   "T_Key", "T_Keys", "T_Keysdir", "T_Kod", "T_Mssntp", "T_Leapfile",
1060276da39aSCy Schubert   "T_Leapsmearinterval", "T_Limited", "T_Link", "T_Listen", "T_Logconfig",
1061276da39aSCy Schubert   "T_Logfile", "T_Loopstats", "T_Lowpriotrap", "T_Manycastclient",
1062276da39aSCy Schubert   "T_Manycastserver", "T_Mask", "T_Maxage", "T_Maxclock", "T_Maxdepth",
1063276da39aSCy Schubert   "T_Maxdist", "T_Maxmem", "T_Maxpoll", "T_Mdnstries", "T_Mem",
1064276da39aSCy Schubert   "T_Memlock", "T_Minclock", "T_Mindepth", "T_Mindist", "T_Minimum",
1065276da39aSCy Schubert   "T_Minpoll", "T_Minsane", "T_Mode", "T_Mode7", "T_Monitor", "T_Month",
1066276da39aSCy Schubert   "T_Mru", "T_Multicastclient", "T_Nic", "T_Nolink", "T_Nomodify",
1067276da39aSCy Schubert   "T_Nomrulist", "T_None", "T_Nonvolatile", "T_Nopeer", "T_Noquery",
1068276da39aSCy Schubert   "T_Noselect", "T_Noserve", "T_Notrap", "T_Notrust", "T_Ntp", "T_Ntpport",
10692b15cb3dSCy Schubert   "T_NtpSignDsocket", "T_Orphan", "T_Orphanwait", "T_Panic", "T_Peer",
10702b15cb3dSCy Schubert   "T_Peerstats", "T_Phone", "T_Pid", "T_Pidfile", "T_Pool", "T_Port",
10712b15cb3dSCy Schubert   "T_Preempt", "T_Prefer", "T_Protostats", "T_Pw", "T_Randfile",
10722b15cb3dSCy Schubert   "T_Rawstats", "T_Refid", "T_Requestkey", "T_Reset", "T_Restrict",
10732b15cb3dSCy Schubert   "T_Revoke", "T_Rlimit", "T_Saveconfigdir", "T_Server", "T_Setvar",
10742b15cb3dSCy Schubert   "T_Source", "T_Stacksize", "T_Statistics", "T_Stats", "T_Statsdir",
1075a25439b6SCy Schubert   "T_Step", "T_Stepback", "T_Stepfwd", "T_Stepout", "T_Stratum",
1076a25439b6SCy Schubert   "T_String", "T_Sys", "T_Sysstats", "T_Tick", "T_Time1", "T_Time2",
1077a25439b6SCy Schubert   "T_Timer", "T_Timingstats", "T_Tinker", "T_Tos", "T_Trap", "T_True",
1078*68ba7e87SXin LI   "T_Trustedkey", "T_Ttl", "T_Type", "T_U_int", "T_UEcrypto",
1079*68ba7e87SXin LI   "T_UEcryptonak", "T_UEdigest", "T_Unconfig", "T_Unpeer", "T_Version",
1080*68ba7e87SXin LI   "T_WanderThreshold", "T_Week", "T_Wildcard", "T_Xleave", "T_Year",
1081*68ba7e87SXin LI   "T_Flag", "T_EOC", "T_Simulate", "T_Beep_Delay", "T_Sim_Duration",
1082*68ba7e87SXin LI   "T_Server_Offset", "T_Duration", "T_Freq_Offset", "T_Wander", "T_Jitter",
1083*68ba7e87SXin LI   "T_Prop_Delay", "T_Proc_Delay", "'='", "'('", "')'", "'{'", "'}'",
1084*68ba7e87SXin LI   "$accept", "configuration", "command_list", "command", "server_command",
1085*68ba7e87SXin LI   "client_type", "address", "ip_address", "address_fam", "option_list",
1086*68ba7e87SXin LI   "option", "option_flag", "option_flag_keyword", "option_int",
1087*68ba7e87SXin LI   "option_int_keyword", "option_str", "option_str_keyword",
1088*68ba7e87SXin LI   "unpeer_command", "unpeer_keyword", "other_mode_command",
1089*68ba7e87SXin LI   "authentication_command", "crypto_command_list", "crypto_command",
1090*68ba7e87SXin LI   "crypto_str_keyword", "orphan_mode_command", "tos_option_list",
1091*68ba7e87SXin LI   "tos_option", "tos_option_int_keyword", "tos_option_dbl_keyword",
1092*68ba7e87SXin LI   "monitoring_command", "stats_list", "stat", "filegen_option_list",
1093*68ba7e87SXin LI   "filegen_option", "link_nolink", "enable_disable", "filegen_type",
1094*68ba7e87SXin LI   "access_control_command", "ac_flag_list", "access_control_flag",
1095*68ba7e87SXin LI   "discard_option_list", "discard_option", "discard_option_keyword",
1096*68ba7e87SXin LI   "mru_option_list", "mru_option", "mru_option_keyword", "fudge_command",
1097*68ba7e87SXin LI   "fudge_factor_list", "fudge_factor", "fudge_factor_dbl_keyword",
1098*68ba7e87SXin LI   "fudge_factor_bool_keyword", "rlimit_command", "rlimit_option_list",
1099*68ba7e87SXin LI   "rlimit_option", "rlimit_option_keyword", "system_option_command",
1100*68ba7e87SXin LI   "system_option_list", "system_option", "system_option_flag_keyword",
11012b15cb3dSCy Schubert   "system_option_local_flag_keyword", "tinker_command",
11022b15cb3dSCy Schubert   "tinker_option_list", "tinker_option", "tinker_option_keyword",
1103276da39aSCy Schubert   "miscellaneous_command", "misc_cmd_dbl_keyword", "misc_cmd_int_keyword",
1104276da39aSCy Schubert   "misc_cmd_str_keyword", "misc_cmd_str_lcl_keyword", "drift_parm",
1105276da39aSCy Schubert   "variable_assign", "t_default_or_zero", "trap_option_list",
1106276da39aSCy Schubert   "trap_option", "log_config_list", "log_config_command",
1107276da39aSCy Schubert   "interface_command", "interface_nic", "nic_rule_class",
1108276da39aSCy Schubert   "nic_rule_action", "reset_command", "counter_set_list",
1109276da39aSCy Schubert   "counter_set_keyword", "integer_list", "integer_list_range",
1110276da39aSCy Schubert   "integer_list_range_elt", "integer_range", "string_list", "address_list",
1111276da39aSCy Schubert   "boolean", "number", "simulate_command", "sim_conf_start",
1112276da39aSCy Schubert   "sim_init_statement_list", "sim_init_statement", "sim_init_keyword",
1113276da39aSCy Schubert   "sim_server_list", "sim_server", "sim_server_offset", "sim_server_name",
1114276da39aSCy Schubert   "sim_act_list", "sim_act", "sim_act_stmt_list", "sim_act_stmt",
1115*68ba7e87SXin LI   "sim_act_keyword", YY_NULL
11162b15cb3dSCy Schubert };
11172b15cb3dSCy Schubert #endif
11182b15cb3dSCy Schubert 
11192b15cb3dSCy Schubert # ifdef YYPRINT
1120*68ba7e87SXin LI /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
1121*68ba7e87SXin LI    token YYLEX-NUM.  */
11222b15cb3dSCy Schubert static const yytype_uint16 yytoknum[] =
11232b15cb3dSCy Schubert {
11242b15cb3dSCy Schubert        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
11252b15cb3dSCy Schubert      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
11262b15cb3dSCy Schubert      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
11272b15cb3dSCy Schubert      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
11282b15cb3dSCy Schubert      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
11292b15cb3dSCy Schubert      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
11302b15cb3dSCy Schubert      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
11312b15cb3dSCy Schubert      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
11322b15cb3dSCy Schubert      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
11332b15cb3dSCy Schubert      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
11342b15cb3dSCy Schubert      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
11352b15cb3dSCy Schubert      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
11362b15cb3dSCy Schubert      375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
11372b15cb3dSCy Schubert      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
11382b15cb3dSCy Schubert      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
11392b15cb3dSCy Schubert      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
11402b15cb3dSCy Schubert      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
11412b15cb3dSCy Schubert      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
11422b15cb3dSCy Schubert      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
1143*68ba7e87SXin LI      445,   446,   447,   448,   449,   450,   451,    61,    40,    41,
1144*68ba7e87SXin LI      123,   125
11452b15cb3dSCy Schubert };
11462b15cb3dSCy Schubert # endif
11472b15cb3dSCy Schubert 
11489034852cSGleb Smirnoff /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
11499034852cSGleb Smirnoff static const yytype_uint16 yyr1[] =
11509034852cSGleb Smirnoff {
1151*68ba7e87SXin LI        0,   202,   203,   204,   204,   204,   205,   205,   205,   205,
1152*68ba7e87SXin LI      205,   205,   205,   205,   205,   205,   205,   205,   205,   205,
1153*68ba7e87SXin LI      206,   207,   207,   207,   207,   207,   208,   208,   209,   210,
1154*68ba7e87SXin LI      210,   211,   211,   212,   212,   212,   213,   214,   214,   214,
1155*68ba7e87SXin LI      214,   214,   214,   214,   214,   215,   215,   216,   216,   216,
1156*68ba7e87SXin LI      216,   216,   216,   217,   218,   219,   220,   220,   221,   221,
1157*68ba7e87SXin LI      221,   221,   222,   222,   222,   222,   222,   222,   222,   222,
1158*68ba7e87SXin LI      222,   223,   223,   224,   224,   225,   225,   225,   225,   225,
1159*68ba7e87SXin LI      226,   227,   227,   228,   228,   228,   229,   229,   229,   229,
1160*68ba7e87SXin LI      229,   229,   230,   230,   230,   230,   231,   231,   231,   232,
1161*68ba7e87SXin LI      232,   233,   233,   233,   233,   233,   233,   233,   233,   234,
1162*68ba7e87SXin LI      234,   235,   235,   235,   235,   236,   236,   237,   237,   238,
1163*68ba7e87SXin LI      238,   238,   238,   238,   238,   238,   239,   239,   239,   239,
1164*68ba7e87SXin LI      239,   239,   239,   239,   240,   240,   241,   241,   241,   241,
1165*68ba7e87SXin LI      241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
1166*68ba7e87SXin LI      241,   242,   242,   243,   244,   244,   244,   245,   245,   246,
1167*68ba7e87SXin LI      247,   247,   247,   247,   247,   247,   247,   247,   248,   249,
1168*68ba7e87SXin LI      249,   250,   250,   250,   250,   250,   251,   251,   252,   252,
1169*68ba7e87SXin LI      252,   252,   253,   254,   254,   255,   256,   256,   256,   257,
1170*68ba7e87SXin LI      257,   258,   258,   259,   259,   260,   260,   260,   260,   260,
1171*68ba7e87SXin LI      260,   261,   261,   261,   261,   261,   262,   263,   263,   264,
1172*68ba7e87SXin LI      265,   265,   265,   265,   265,   265,   265,   265,   265,   265,
1173*68ba7e87SXin LI      266,   266,   266,   266,   266,   266,   266,   266,   266,   266,
1174*68ba7e87SXin LI      266,   266,   266,   266,   267,   267,   267,   268,   268,   269,
1175*68ba7e87SXin LI      269,   270,   270,   270,   271,   271,   271,   272,   273,   273,
1176*68ba7e87SXin LI      274,   274,   275,   275,   276,   276,   277,   278,   278,   279,
1177*68ba7e87SXin LI      279,   280,   280,   280,   280,   281,   281,   281,   282,   283,
1178*68ba7e87SXin LI      283,   284,   284,   284,   284,   284,   284,   284,   285,   285,
1179*68ba7e87SXin LI      286,   286,   287,   287,   288,   289,   289,   290,   290,   291,
1180*68ba7e87SXin LI      291,   291,   292,   292,   293,   294,   295,   295,   296,   297,
1181*68ba7e87SXin LI      297,   298,   298,   299,   300,   301,   302,   302,   303,   304,
1182*68ba7e87SXin LI      304,   305,   306,   306,   306,   306,   306
11839034852cSGleb Smirnoff };
11849034852cSGleb Smirnoff 
1185*68ba7e87SXin LI /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
11869034852cSGleb Smirnoff static const yytype_uint8 yyr2[] =
11879034852cSGleb Smirnoff {
11889034852cSGleb Smirnoff        0,     2,     1,     3,     2,     2,     0,     1,     1,     1,
11899034852cSGleb Smirnoff        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
11909034852cSGleb Smirnoff        3,     1,     1,     1,     1,     1,     1,     2,     1,     1,
11919034852cSGleb Smirnoff        1,     0,     2,     1,     1,     1,     1,     1,     1,     1,
11929034852cSGleb Smirnoff        1,     1,     1,     1,     1,     2,     2,     1,     1,     1,
11939034852cSGleb Smirnoff        1,     1,     1,     2,     1,     2,     1,     1,     1,     2,
11949034852cSGleb Smirnoff        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
11959034852cSGleb Smirnoff        2,     0,     2,     2,     2,     1,     1,     1,     1,     1,
11969034852cSGleb Smirnoff        2,     2,     1,     2,     2,     2,     1,     1,     1,     1,
11979034852cSGleb Smirnoff        1,     1,     1,     1,     1,     1,     2,     2,     3,     2,
11989034852cSGleb Smirnoff        1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
11999034852cSGleb Smirnoff        2,     2,     2,     1,     1,     1,     1,     1,     1,     1,
12009034852cSGleb Smirnoff        1,     1,     1,     1,     1,     1,     2,     2,     3,     5,
12019034852cSGleb Smirnoff        3,     4,     4,     3,     0,     2,     1,     1,     1,     1,
12029034852cSGleb Smirnoff        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
12039034852cSGleb Smirnoff        1,     2,     1,     2,     1,     1,     1,     2,     1,     2,
12049034852cSGleb Smirnoff        1,     1,     1,     1,     1,     1,     1,     1,     3,     2,
12059034852cSGleb Smirnoff        1,     2,     2,     2,     2,     2,     1,     1,     1,     1,
12069034852cSGleb Smirnoff        1,     1,     2,     2,     1,     2,     1,     1,     1,     2,
12079034852cSGleb Smirnoff        2,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1208*68ba7e87SXin LI        1,     1,     1,     1,     1,     1,     2,     2,     1,     2,
1209*68ba7e87SXin LI        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1210*68ba7e87SXin LI        1,     1,     2,     2,     2,     2,     3,     1,     2,     2,
1211*68ba7e87SXin LI        2,     2,     3,     2,     1,     1,     1,     1,     1,     1,
1212*68ba7e87SXin LI        1,     1,     1,     1,     1,     2,     0,     4,     1,     0,
1213*68ba7e87SXin LI        0,     2,     2,     2,     2,     1,     1,     3,     3,     1,
1214*68ba7e87SXin LI        1,     1,     1,     1,     1,     1,     1,     1,     2,     2,
1215*68ba7e87SXin LI        1,     1,     1,     1,     1,     1,     1,     1,     2,     1,
1216*68ba7e87SXin LI        2,     1,     1,     1,     5,     2,     1,     2,     1,     1,
1217*68ba7e87SXin LI        1,     1,     1,     1,     5,     1,     3,     2,     3,     1,
1218*68ba7e87SXin LI        1,     2,     1,     5,     4,     3,     2,     1,     6,     3,
1219*68ba7e87SXin LI        2,     3,     1,     1,     1,     1,     1
12209034852cSGleb Smirnoff };
12219034852cSGleb Smirnoff 
1222*68ba7e87SXin LI /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
1223*68ba7e87SXin LI    Performed when YYTABLE doesn't specify something else to do.  Zero
1224*68ba7e87SXin LI    means the default is an error.  */
1225*68ba7e87SXin LI static const yytype_uint16 yydefact[] =
1226*68ba7e87SXin LI {
1227*68ba7e87SXin LI        0,     0,     0,    24,    58,   234,     0,    71,     0,     0,
1228*68ba7e87SXin LI      246,   237,     0,   227,     0,     0,   239,     0,   259,     0,
1229*68ba7e87SXin LI        0,   240,   238,     0,   241,    25,     0,     0,     0,     0,
1230*68ba7e87SXin LI      260,   235,     0,    23,     0,   242,    22,     0,     0,     0,
1231*68ba7e87SXin LI        0,     0,   243,    21,     0,     0,     0,   236,     0,     0,
1232*68ba7e87SXin LI        0,     0,     0,    56,    57,   295,     0,     2,     0,     7,
1233*68ba7e87SXin LI        0,     8,     0,     9,    10,    13,    11,    12,    14,    15,
1234*68ba7e87SXin LI       16,    17,    18,     0,     0,     0,     0,   220,     0,   221,
1235*68ba7e87SXin LI       19,     0,     5,    62,    63,    64,   195,   196,   197,   198,
1236*68ba7e87SXin LI      201,   199,   200,   202,   203,   204,   205,   190,   192,   193,
1237*68ba7e87SXin LI      194,   154,   155,   156,   126,   152,     0,   244,   228,   189,
1238*68ba7e87SXin LI      101,   102,   103,   104,   108,   105,   106,   107,   109,    29,
1239*68ba7e87SXin LI       30,    28,     0,    26,     0,     6,    65,    66,   256,   229,
1240*68ba7e87SXin LI      255,   288,    59,    61,   160,   161,   162,   163,   164,   165,
1241*68ba7e87SXin LI      166,   167,   127,   158,     0,    60,    70,   286,   230,    67,
1242*68ba7e87SXin LI      271,   272,   273,   274,   275,   276,   277,   268,   270,   134,
1243*68ba7e87SXin LI       29,    30,   134,   134,    26,    68,   188,   186,   187,   182,
1244*68ba7e87SXin LI      184,     0,     0,   231,    96,   100,    97,   210,   211,   212,
1245*68ba7e87SXin LI      213,   214,   215,   216,   217,   218,   219,   206,   208,     0,
1246*68ba7e87SXin LI       91,    86,     0,    87,    95,    93,    94,    92,    90,    88,
1247*68ba7e87SXin LI       89,    80,    82,     0,     0,   250,   282,     0,    69,   281,
1248*68ba7e87SXin LI      283,   279,   233,     1,     0,     4,    31,    55,   293,   292,
1249*68ba7e87SXin LI      222,   223,   224,   225,   267,   266,   265,     0,     0,    79,
1250*68ba7e87SXin LI       75,    76,    77,    78,     0,    72,     0,   191,   151,   153,
1251*68ba7e87SXin LI      245,    98,     0,   178,   179,   180,   181,     0,     0,   176,
1252*68ba7e87SXin LI      177,   168,   170,     0,     0,    27,   226,   254,   287,   157,
1253*68ba7e87SXin LI      159,   285,   269,   130,   134,   134,   133,   128,     0,   183,
1254*68ba7e87SXin LI      185,     0,    99,   207,   209,   291,   289,   290,    85,    81,
1255*68ba7e87SXin LI       83,    84,   232,     0,   280,   278,     3,    20,   261,   262,
1256*68ba7e87SXin LI      263,   258,   264,   257,   299,   300,     0,     0,     0,    74,
1257*68ba7e87SXin LI       73,   118,   117,     0,   115,   116,     0,   110,   113,   114,
1258*68ba7e87SXin LI      174,   175,   173,   169,   171,   172,   136,   137,   138,   139,
1259*68ba7e87SXin LI      140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
1260*68ba7e87SXin LI      150,   135,   131,   132,   134,   249,     0,     0,   251,     0,
1261*68ba7e87SXin LI       37,    38,    39,    54,    47,    49,    48,    51,    40,    41,
1262*68ba7e87SXin LI       42,    43,    50,    52,    44,    32,    33,    36,    34,     0,
1263*68ba7e87SXin LI       35,     0,     0,     0,     0,   302,     0,   297,     0,   111,
1264*68ba7e87SXin LI      125,   121,   123,   119,   120,   122,   124,   112,   129,   248,
1265*68ba7e87SXin LI      247,   253,   252,     0,    45,    46,    53,     0,   296,   294,
1266*68ba7e87SXin LI      301,     0,   298,   284,   305,     0,     0,     0,     0,     0,
1267*68ba7e87SXin LI      307,     0,     0,   303,   306,   304,     0,     0,   312,   313,
1268*68ba7e87SXin LI      314,   315,   316,     0,     0,     0,   308,     0,   310,     0,
1269*68ba7e87SXin LI      309,   311
1270*68ba7e87SXin LI };
1271*68ba7e87SXin LI 
1272*68ba7e87SXin LI /* YYDEFGOTO[NTERM-NUM].  */
1273*68ba7e87SXin LI static const yytype_int16 yydefgoto[] =
1274*68ba7e87SXin LI {
1275*68ba7e87SXin LI       -1,    56,    57,    58,    59,    60,   131,   123,   124,   287,
1276*68ba7e87SXin LI      355,   356,   357,   358,   359,   360,   361,    61,    62,    63,
1277*68ba7e87SXin LI       64,    85,   235,   236,    65,   201,   202,   203,   204,    66,
1278*68ba7e87SXin LI      174,   118,   241,   307,   308,   309,   377,    67,   263,   331,
1279*68ba7e87SXin LI      104,   105,   106,   142,   143,   144,    68,   251,   252,   253,
1280*68ba7e87SXin LI      254,    69,   169,   170,   171,    70,    97,    98,    99,   100,
1281*68ba7e87SXin LI       71,   187,   188,   189,    72,    73,    74,    75,    76,   108,
1282*68ba7e87SXin LI      173,   380,   282,   338,   129,   130,    77,    78,   293,   227,
1283*68ba7e87SXin LI       79,   157,   158,   212,   208,   209,   210,   148,   132,   278,
1284*68ba7e87SXin LI      220,    80,    81,   296,   297,   298,   364,   365,   396,   366,
1285*68ba7e87SXin LI      399,   400,   413,   414,   415
1286*68ba7e87SXin LI };
1287*68ba7e87SXin LI 
1288*68ba7e87SXin LI /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1289*68ba7e87SXin LI    STATE-NUM.  */
1290*68ba7e87SXin LI #define YYPACT_NINF -188
1291*68ba7e87SXin LI static const yytype_int16 yypact[] =
1292*68ba7e87SXin LI {
1293*68ba7e87SXin LI        5,  -160,   -28,  -188,  -188,  -188,   -24,  -188,    60,     0,
1294*68ba7e87SXin LI     -119,  -188,    60,  -188,   118,     7,  -188,  -117,  -188,  -110,
1295*68ba7e87SXin LI     -108,  -188,  -188,  -101,  -188,  -188,     7,    -1,   345,     7,
1296*68ba7e87SXin LI     -188,  -188,   -96,  -188,   -95,  -188,  -188,    21,    -3,    73,
1297*68ba7e87SXin LI       33,    11,  -188,  -188,   -94,   118,   -61,  -188,    43,   446,
1298*68ba7e87SXin LI      -57,   -58,    41,  -188,  -188,  -188,   105,   179,   -79,  -188,
1299*68ba7e87SXin LI        7,  -188,     7,  -188,  -188,  -188,  -188,  -188,  -188,  -188,
1300*68ba7e87SXin LI     -188,  -188,  -188,    -7,    48,   -48,   -39,  -188,    24,  -188,
1301*68ba7e87SXin LI     -188,   -86,  -188,  -188,  -188,    42,  -188,  -188,  -188,  -188,
1302*68ba7e87SXin LI     -188,  -188,  -188,  -188,  -188,  -188,  -188,    60,  -188,  -188,
1303*68ba7e87SXin LI     -188,  -188,  -188,  -188,     0,  -188,    59,    89,  -188,    60,
1304*68ba7e87SXin LI     -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,
1305*68ba7e87SXin LI     -188,  -188,    80,  -188,     9,   338,  -188,  -188,  -188,  -101,
1306*68ba7e87SXin LI     -188,  -188,     7,  -188,  -188,  -188,  -188,  -188,  -188,  -188,
1307*68ba7e87SXin LI     -188,  -188,   345,  -188,    67,     7,  -188,  -188,    12,  -188,
1308*68ba7e87SXin LI     -188,  -188,  -188,  -188,  -188,  -188,  -188,    -3,  -188,  -188,
1309*68ba7e87SXin LI      107,   116,  -188,  -188,    83,  -188,  -188,  -188,  -188,    11,
1310*68ba7e87SXin LI     -188,   113,   -20,  -188,   118,  -188,  -188,  -188,  -188,  -188,
1311*68ba7e87SXin LI     -188,  -188,  -188,  -188,  -188,  -188,  -188,    43,  -188,    -7,
1312*68ba7e87SXin LI     -188,  -188,   -25,  -188,  -188,  -188,  -188,  -188,  -188,  -188,
1313*68ba7e87SXin LI     -188,   446,  -188,   127,    -7,  -188,  -188,   129,   -58,  -188,
1314*68ba7e87SXin LI     -188,  -188,   142,  -188,    19,  -188,  -188,  -188,  -188,  -188,
1315*68ba7e87SXin LI     -188,  -188,  -188,  -188,  -188,  -188,  -188,     4,  -158,  -188,
1316*68ba7e87SXin LI     -188,  -188,  -188,  -188,   145,  -188,    49,  -188,  -188,  -188,
1317*68ba7e87SXin LI     -188,   233,    55,  -188,  -188,  -188,  -188,    64,   157,  -188,
1318*68ba7e87SXin LI     -188,    80,  -188,    -7,   -25,  -188,  -188,  -188,  -188,  -188,
1319*68ba7e87SXin LI     -188,  -188,  -188,   445,  -188,  -188,   445,   445,   -57,  -188,
1320*68ba7e87SXin LI     -188,    82,  -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,
1321*68ba7e87SXin LI     -188,  -188,   -44,   202,  -188,  -188,  -188,   324,  -188,  -188,
1322*68ba7e87SXin LI     -188,  -188,  -188,  -188,  -188,  -188,   -30,    58,    50,  -188,
1323*68ba7e87SXin LI     -188,  -188,  -188,    88,  -188,  -188,     3,  -188,  -188,  -188,
1324*68ba7e87SXin LI     -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,
1325*68ba7e87SXin LI     -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,
1326*68ba7e87SXin LI     -188,  -188,   445,   445,  -188,   221,   -57,   188,  -188,   191,
1327*68ba7e87SXin LI     -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,
1328*68ba7e87SXin LI     -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,   -51,
1329*68ba7e87SXin LI     -188,    99,    61,    75,  -114,  -188,    65,  -188,    -7,  -188,
1330*68ba7e87SXin LI     -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,   445,  -188,
1331*68ba7e87SXin LI     -188,  -188,  -188,    68,  -188,  -188,  -188,     7,  -188,  -188,
1332*68ba7e87SXin LI     -188,    76,  -188,  -188,  -188,    71,    78,    -7,    74,  -178,
1333*68ba7e87SXin LI     -188,    90,    -7,  -188,  -188,  -188,    77,    32,  -188,  -188,
1334*68ba7e87SXin LI     -188,  -188,  -188,   101,    93,    84,  -188,    94,  -188,    -7,
1335*68ba7e87SXin LI     -188,  -188
1336*68ba7e87SXin LI };
1337*68ba7e87SXin LI 
1338*68ba7e87SXin LI /* YYPGOTO[NTERM-NUM].  */
1339*68ba7e87SXin LI static const yytype_int16 yypgoto[] =
1340*68ba7e87SXin LI {
1341*68ba7e87SXin LI     -188,  -188,  -188,   -41,  -188,  -188,   -15,   -38,  -188,  -188,
1342*68ba7e87SXin LI     -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,
1343*68ba7e87SXin LI     -188,  -188,  -188,  -188,  -188,  -188,    81,  -188,  -188,  -188,
1344*68ba7e87SXin LI     -188,   -37,  -188,  -188,  -188,  -188,  -188,  -188,  -111,  -188,
1345*68ba7e87SXin LI     -188,   170,  -188,  -188,   133,  -188,  -188,  -188,    37,  -188,
1346*68ba7e87SXin LI     -188,  -188,  -188,   115,  -188,  -188,   277,   -53,  -188,  -188,
1347*68ba7e87SXin LI     -188,  -188,   103,  -188,  -188,  -188,  -188,  -188,  -188,  -188,
1348*68ba7e87SXin LI     -188,  -188,  -188,  -188,  -188,   162,  -188,  -188,  -188,  -188,
1349*68ba7e87SXin LI     -188,  -188,   143,  -188,  -188,    91,  -188,  -188,   274,    52,
1350*68ba7e87SXin LI     -187,  -188,  -188,  -188,     8,  -188,  -188,   -56,  -188,  -188,
1351*68ba7e87SXin LI     -188,   -87,  -188,  -100,  -188
1352*68ba7e87SXin LI };
1353*68ba7e87SXin LI 
1354*68ba7e87SXin LI /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
1355*68ba7e87SXin LI    positive, shift that token.  If negative, reduce the rule which
1356*68ba7e87SXin LI    number is the opposite.  If YYTABLE_NINF, syntax error.  */
1357*68ba7e87SXin LI #define YYTABLE_NINF -7
1358*68ba7e87SXin LI static const yytype_int16 yytable[] =
1359*68ba7e87SXin LI {
1360*68ba7e87SXin LI      122,   164,   274,   206,   150,   151,     1,   370,   175,   288,
1361*68ba7e87SXin LI      384,   101,   205,   398,   275,     2,   214,   281,   336,     3,
1362*68ba7e87SXin LI        4,     5,   152,   403,   163,   218,    82,     6,     7,   371,
1363*68ba7e87SXin LI      294,   295,   362,    83,     8,     9,   276,    84,    10,   107,
1364*68ba7e87SXin LI       11,   125,    12,    13,   237,   216,    14,   217,   126,   177,
1365*68ba7e87SXin LI      127,   266,   267,   166,   219,    15,   237,   128,   224,    16,
1366*68ba7e87SXin LI      133,   153,   146,   147,   172,    17,   314,    18,    86,   289,
1367*68ba7e87SXin LI      229,   290,    87,   119,   178,   120,    19,    20,    88,   225,
1368*68ba7e87SXin LI       21,    22,   149,   242,   256,    23,    24,   389,   337,    25,
1369*68ba7e87SXin LI       26,   154,   179,   230,   165,   180,   231,   176,    27,   102,
1370*68ba7e87SXin LI      159,   121,   211,   226,   103,   213,   167,   215,   372,   221,
1371*68ba7e87SXin LI      222,    28,    29,    30,   228,   373,   362,   258,    31,   223,
1372*68ba7e87SXin LI      239,   240,   385,   243,   244,   245,   246,    32,   260,    89,
1373*68ba7e87SXin LI      258,    33,   374,    34,   264,    35,    36,   272,   110,   160,
1374*68ba7e87SXin LI      207,   161,   111,   265,   277,    37,    38,    39,    40,    41,
1375*68ba7e87SXin LI       42,    43,    44,   332,   333,    45,   155,    46,   294,   295,
1376*68ba7e87SXin LI      168,   156,   291,    90,    91,   121,    47,   255,   181,   268,
1377*68ba7e87SXin LI      261,    48,    49,    50,   270,    51,    52,   271,   232,   233,
1378*68ba7e87SXin LI       92,   392,    53,    54,   375,   234,   292,   376,   280,     2,
1379*68ba7e87SXin LI      283,    -6,    55,     3,     4,     5,   182,   183,   184,   185,
1380*68ba7e87SXin LI      112,     6,     7,   285,   186,   286,   299,   300,     8,     9,
1381*68ba7e87SXin LI      401,    93,    10,   310,    11,   406,    12,    13,   312,   247,
1382*68ba7e87SXin LI       14,   162,   311,   378,   408,   409,   410,   411,   412,    15,
1383*68ba7e87SXin LI      334,   121,   421,    16,    94,    95,    96,   248,   339,    17,
1384*68ba7e87SXin LI      335,    18,   249,   250,   367,   113,   369,   368,   379,   382,
1385*68ba7e87SXin LI       19,    20,   383,   114,    21,    22,   115,   386,   387,    23,
1386*68ba7e87SXin LI       24,   388,   301,    25,    26,   391,   395,   393,   397,   398,
1387*68ba7e87SXin LI      302,   402,    27,   303,   238,   259,   405,   407,   116,   418,
1388*68ba7e87SXin LI      420,   419,   279,   117,   269,    28,    29,    30,   313,   109,
1389*68ba7e87SXin LI      273,   257,    31,   408,   409,   410,   411,   412,   381,   284,
1390*68ba7e87SXin LI      262,    32,   416,   145,   363,    33,   315,    34,   390,    35,
1391*68ba7e87SXin LI       36,   304,   404,   417,     0,     0,     0,     0,     0,    37,
1392*68ba7e87SXin LI       38,    39,    40,    41,    42,    43,    44,     0,     0,    45,
1393*68ba7e87SXin LI        0,    46,     0,   340,     0,     0,     0,     0,     0,     0,
1394*68ba7e87SXin LI       47,   341,   305,     0,     0,    48,    49,    50,     2,    51,
1395*68ba7e87SXin LI       52,     0,     3,     4,     5,     0,    53,    54,     0,     0,
1396*68ba7e87SXin LI        6,     7,     0,     0,     0,    -6,    55,     8,     9,     0,
1397*68ba7e87SXin LI        0,    10,   394,    11,     0,    12,    13,   342,   343,    14,
1398*68ba7e87SXin LI        0,     0,     0,     0,     0,     0,     0,     0,    15,     0,
1399*68ba7e87SXin LI        0,     0,    16,     0,   344,     0,     0,     0,    17,     0,
1400*68ba7e87SXin LI       18,   134,   135,   136,   137,   306,     0,     0,     0,    19,
1401*68ba7e87SXin LI       20,     0,     0,    21,    22,     0,   345,     0,    23,    24,
1402*68ba7e87SXin LI        0,     0,    25,    26,   346,     0,   347,     0,     0,     0,
1403*68ba7e87SXin LI        0,    27,   138,     0,   139,     0,   140,     0,     0,     0,
1404*68ba7e87SXin LI      348,     0,   141,     0,    28,    29,    30,     0,     0,     0,
1405*68ba7e87SXin LI        0,    31,     0,     0,     0,     0,     0,   349,   350,   190,
1406*68ba7e87SXin LI       32,     0,     0,     0,    33,   191,    34,   192,    35,    36,
1407*68ba7e87SXin LI        0,     0,     0,     0,     0,     0,     0,     0,    37,    38,
1408*68ba7e87SXin LI       39,    40,    41,    42,    43,    44,     0,     0,    45,     0,
1409*68ba7e87SXin LI       46,     0,   316,   351,   193,   352,     0,     0,     0,    47,
1410*68ba7e87SXin LI      317,     0,     0,   353,    48,    49,    50,   354,    51,    52,
1411*68ba7e87SXin LI        0,     0,     0,     0,     0,    53,    54,     0,   318,   319,
1412*68ba7e87SXin LI        0,     0,   320,     0,     0,    55,     0,     0,   321,     0,
1413*68ba7e87SXin LI        0,     0,     0,     0,   194,     0,   195,     0,     0,     0,
1414*68ba7e87SXin LI        0,     0,   196,     0,   197,     0,     0,   198,     0,     0,
1415*68ba7e87SXin LI        0,     0,     0,     0,     0,   322,   323,     0,     0,   324,
1416*68ba7e87SXin LI      325,     0,   326,   327,   328,     0,   329,     0,     0,   199,
1417*68ba7e87SXin LI      200,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1418*68ba7e87SXin LI        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1419*68ba7e87SXin LI        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1420*68ba7e87SXin LI        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1421*68ba7e87SXin LI        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1422*68ba7e87SXin LI        0,     0,     0,     0,   330
1423*68ba7e87SXin LI };
1424*68ba7e87SXin LI 
1425*68ba7e87SXin LI #define yypact_value_is_default(Yystate) \
1426*68ba7e87SXin LI   (!!((Yystate) == (-188)))
1427*68ba7e87SXin LI 
1428*68ba7e87SXin LI #define yytable_value_is_error(Yytable_value) \
1429*68ba7e87SXin LI   YYID (0)
1430*68ba7e87SXin LI 
1431*68ba7e87SXin LI static const yytype_int16 yycheck[] =
1432*68ba7e87SXin LI {
1433*68ba7e87SXin LI       15,    39,   189,    61,     7,     8,     1,     4,    45,     5,
1434*68ba7e87SXin LI       61,    11,    50,   191,    39,    10,    57,   204,    62,    14,
1435*68ba7e87SXin LI       15,    16,    25,   201,    39,    32,   186,    22,    23,    26,
1436*68ba7e87SXin LI      188,   189,   146,    61,    29,    30,    61,    61,    33,   158,
1437*68ba7e87SXin LI       35,   158,    37,    38,    97,    60,    41,    62,   158,     6,
1438*68ba7e87SXin LI      158,   162,   163,    42,    61,    50,   109,   158,    34,    54,
1439*68ba7e87SXin LI       61,    64,   158,   158,   158,    60,   253,    62,     8,    65,
1440*68ba7e87SXin LI       28,    67,    12,    66,    31,    68,    71,    72,    18,    55,
1441*68ba7e87SXin LI       75,    76,    61,     3,   125,    80,    81,   201,   132,    84,
1442*68ba7e87SXin LI       85,    94,    49,    51,    61,    52,    54,   158,    93,    99,
1443*68ba7e87SXin LI       27,   158,    61,    79,   104,     0,    95,   186,   105,    61,
1444*68ba7e87SXin LI      158,   106,   107,   108,   200,   112,   146,   132,   113,   158,
1445*68ba7e87SXin LI       61,    32,   173,    43,    44,    45,    46,   122,    61,    69,
1446*68ba7e87SXin LI      145,   126,   129,   128,    27,   130,   131,   174,    20,    66,
1447*68ba7e87SXin LI      198,    68,    24,    27,   169,   140,   141,   142,   143,   144,
1448*68ba7e87SXin LI      145,   146,   147,   264,   265,   150,   159,   152,   188,   189,
1449*68ba7e87SXin LI      149,   164,   158,   103,   104,   158,   161,   158,   125,    86,
1450*68ba7e87SXin LI      158,   166,   167,   168,    61,   170,   171,   197,   136,   137,
1451*68ba7e87SXin LI      120,   368,   177,   178,   181,   143,   182,   184,    61,    10,
1452*68ba7e87SXin LI       61,   186,   187,    14,    15,    16,   153,   154,   155,   156,
1453*68ba7e87SXin LI       82,    22,    23,    61,   161,   186,    61,   158,    29,    30,
1454*68ba7e87SXin LI      397,   151,    33,   158,    35,   402,    37,    38,    61,   139,
1455*68ba7e87SXin LI       41,   148,   158,   334,   192,   193,   194,   195,   196,    50,
1456*68ba7e87SXin LI      268,   158,   419,    54,   174,   175,   176,   157,    36,    60,
1457*68ba7e87SXin LI      158,    62,   162,   163,   186,   127,   158,   197,    27,    61,
1458*68ba7e87SXin LI       71,    72,    61,   135,    75,    76,   138,   158,   197,    80,
1459*68ba7e87SXin LI       81,   186,    29,    84,    85,   200,   190,   199,   197,   191,
1460*68ba7e87SXin LI       37,   197,    93,    40,   104,   142,   186,   200,   160,   186,
1461*68ba7e87SXin LI      186,   197,   201,   165,   169,   106,   107,   108,   251,    12,
1462*68ba7e87SXin LI      187,   129,   113,   192,   193,   194,   195,   196,   336,   208,
1463*68ba7e87SXin LI      157,   122,   201,    29,   296,   126,   254,   128,   364,   130,
1464*68ba7e87SXin LI      131,    78,   399,   413,    -1,    -1,    -1,    -1,    -1,   140,
1465*68ba7e87SXin LI      141,   142,   143,   144,   145,   146,   147,    -1,    -1,   150,
1466*68ba7e87SXin LI       -1,   152,    -1,     9,    -1,    -1,    -1,    -1,    -1,    -1,
1467*68ba7e87SXin LI      161,    17,   109,    -1,    -1,   166,   167,   168,    10,   170,
1468*68ba7e87SXin LI      171,    -1,    14,    15,    16,    -1,   177,   178,    -1,    -1,
1469*68ba7e87SXin LI       22,    23,    -1,    -1,    -1,   186,   187,    29,    30,    -1,
1470*68ba7e87SXin LI       -1,    33,   387,    35,    -1,    37,    38,    53,    54,    41,
1471*68ba7e87SXin LI       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    50,    -1,
1472*68ba7e87SXin LI       -1,    -1,    54,    -1,    70,    -1,    -1,    -1,    60,    -1,
1473*68ba7e87SXin LI       62,    56,    57,    58,    59,   172,    -1,    -1,    -1,    71,
1474*68ba7e87SXin LI       72,    -1,    -1,    75,    76,    -1,    92,    -1,    80,    81,
1475*68ba7e87SXin LI       -1,    -1,    84,    85,   100,    -1,   102,    -1,    -1,    -1,
1476*68ba7e87SXin LI       -1,    93,    87,    -1,    89,    -1,    91,    -1,    -1,    -1,
1477*68ba7e87SXin LI      116,    -1,    97,    -1,   106,   107,   108,    -1,    -1,    -1,
1478*68ba7e87SXin LI       -1,   113,    -1,    -1,    -1,    -1,    -1,   133,   134,    13,
1479*68ba7e87SXin LI      122,    -1,    -1,    -1,   126,    19,   128,    21,   130,   131,
1480*68ba7e87SXin LI       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   140,   141,
1481*68ba7e87SXin LI      142,   143,   144,   145,   146,   147,    -1,    -1,   150,    -1,
1482*68ba7e87SXin LI      152,    -1,    47,   169,    48,   171,    -1,    -1,    -1,   161,
1483*68ba7e87SXin LI       55,    -1,    -1,   179,   166,   167,   168,   183,   170,   171,
1484*68ba7e87SXin LI       -1,    -1,    -1,    -1,    -1,   177,   178,    -1,    73,    74,
1485*68ba7e87SXin LI       -1,    -1,    77,    -1,    -1,   187,    -1,    -1,    83,    -1,
1486*68ba7e87SXin LI       -1,    -1,    -1,    -1,    88,    -1,    90,    -1,    -1,    -1,
1487*68ba7e87SXin LI       -1,    -1,    96,    -1,    98,    -1,    -1,   101,    -1,    -1,
1488*68ba7e87SXin LI       -1,    -1,    -1,    -1,    -1,   110,   111,    -1,    -1,   114,
1489*68ba7e87SXin LI      115,    -1,   117,   118,   119,    -1,   121,    -1,    -1,   123,
1490*68ba7e87SXin LI      124,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1491*68ba7e87SXin LI       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1492*68ba7e87SXin LI       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1493*68ba7e87SXin LI       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1494*68ba7e87SXin LI       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1495*68ba7e87SXin LI       -1,    -1,    -1,    -1,   179
1496*68ba7e87SXin LI };
1497*68ba7e87SXin LI 
1498*68ba7e87SXin LI /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1499*68ba7e87SXin LI    symbol of state STATE-NUM.  */
1500*68ba7e87SXin LI static const yytype_uint16 yystos[] =
1501*68ba7e87SXin LI {
1502*68ba7e87SXin LI        0,     1,    10,    14,    15,    16,    22,    23,    29,    30,
1503*68ba7e87SXin LI       33,    35,    37,    38,    41,    50,    54,    60,    62,    71,
1504*68ba7e87SXin LI       72,    75,    76,    80,    81,    84,    85,    93,   106,   107,
1505*68ba7e87SXin LI      108,   113,   122,   126,   128,   130,   131,   140,   141,   142,
1506*68ba7e87SXin LI      143,   144,   145,   146,   147,   150,   152,   161,   166,   167,
1507*68ba7e87SXin LI      168,   170,   171,   177,   178,   187,   203,   204,   205,   206,
1508*68ba7e87SXin LI      207,   219,   220,   221,   222,   226,   231,   239,   248,   253,
1509*68ba7e87SXin LI      257,   262,   266,   267,   268,   269,   270,   278,   279,   282,
1510*68ba7e87SXin LI      293,   294,   186,    61,    61,   223,     8,    12,    18,    69,
1511*68ba7e87SXin LI      103,   104,   120,   151,   174,   175,   176,   258,   259,   260,
1512*68ba7e87SXin LI      261,    11,    99,   104,   242,   243,   244,   158,   271,   258,
1513*68ba7e87SXin LI       20,    24,    82,   127,   135,   138,   160,   165,   233,    66,
1514*68ba7e87SXin LI       68,   158,   208,   209,   210,   158,   158,   158,   158,   276,
1515*68ba7e87SXin LI      277,   208,   290,    61,    56,    57,    58,    59,    87,    89,
1516*68ba7e87SXin LI       91,    97,   245,   246,   247,   290,   158,   158,   289,    61,
1517*68ba7e87SXin LI        7,     8,    25,    64,    94,   159,   164,   283,   284,    27,
1518*68ba7e87SXin LI       66,    68,   148,   208,   209,    61,    42,    95,   149,   254,
1519*68ba7e87SXin LI      255,   256,   158,   272,   232,   233,   158,     6,    31,    49,
1520*68ba7e87SXin LI       52,   125,   153,   154,   155,   156,   161,   263,   264,   265,
1521*68ba7e87SXin LI       13,    19,    21,    48,    88,    90,    96,    98,   101,   123,
1522*68ba7e87SXin LI      124,   227,   228,   229,   230,   209,    61,   198,   286,   287,
1523*68ba7e87SXin LI      288,    61,   285,     0,   205,   186,   208,   208,    32,    61,
1524*68ba7e87SXin LI      292,    61,   158,   158,    34,    55,    79,   281,   200,    28,
1525*68ba7e87SXin LI       51,    54,   136,   137,   143,   224,   225,   259,   243,    61,
1526*68ba7e87SXin LI       32,   234,     3,    43,    44,    45,    46,   139,   157,   162,
1527*68ba7e87SXin LI      163,   249,   250,   251,   252,   158,   205,   277,   208,   246,
1528*68ba7e87SXin LI       61,   158,   284,   240,    27,    27,   240,   240,    86,   255,
1529*68ba7e87SXin LI       61,   197,   233,   264,   292,    39,    61,   169,   291,   228,
1530*68ba7e87SXin LI       61,   292,   274,    61,   287,    61,   186,   211,     5,    65,
1531*68ba7e87SXin LI       67,   158,   182,   280,   188,   189,   295,   296,   297,    61,
1532*68ba7e87SXin LI      158,    29,    37,    40,    78,   109,   172,   235,   236,   237,
1533*68ba7e87SXin LI      158,   158,    61,   250,   292,   291,    47,    55,    73,    74,
1534*68ba7e87SXin LI       77,    83,   110,   111,   114,   115,   117,   118,   119,   121,
1535*68ba7e87SXin LI      179,   241,   240,   240,   209,   158,    62,   132,   275,    36,
1536*68ba7e87SXin LI        9,    17,    53,    54,    70,    92,   100,   102,   116,   133,
1537*68ba7e87SXin LI      134,   169,   171,   179,   183,   212,   213,   214,   215,   216,
1538*68ba7e87SXin LI      217,   218,   146,   296,   298,   299,   301,   186,   197,   158,
1539*68ba7e87SXin LI        4,    26,   105,   112,   129,   181,   184,   238,   240,    27,
1540*68ba7e87SXin LI      273,   209,    61,    61,    61,   173,   158,   197,   186,   201,
1541*68ba7e87SXin LI      299,   200,   292,   199,   208,   190,   300,   197,   191,   302,
1542*68ba7e87SXin LI      303,   292,   197,   201,   303,   186,   292,   200,   192,   193,
1543*68ba7e87SXin LI      194,   195,   196,   304,   305,   306,   201,   305,   186,   197,
1544*68ba7e87SXin LI      186,   292
1545*68ba7e87SXin LI };
15469034852cSGleb Smirnoff 
15472b15cb3dSCy Schubert #define yyerrok		(yyerrstatus = 0)
15482b15cb3dSCy Schubert #define yyclearin	(yychar = YYEMPTY)
15492b15cb3dSCy Schubert #define YYEMPTY		(-2)
15502b15cb3dSCy Schubert #define YYEOF		0
15512b15cb3dSCy Schubert 
15522b15cb3dSCy Schubert #define YYACCEPT	goto yyacceptlab
15532b15cb3dSCy Schubert #define YYABORT		goto yyabortlab
15542b15cb3dSCy Schubert #define YYERROR		goto yyerrorlab
15552b15cb3dSCy Schubert 
15562b15cb3dSCy Schubert 
1557*68ba7e87SXin LI /* Like YYERROR except do call yyerror.  This remains here temporarily
1558*68ba7e87SXin LI    to ease the transition to the new meaning of YYERROR, for GCC.
1559*68ba7e87SXin LI    Once GCC version 2 has supplanted version 1, this can go.  However,
1560*68ba7e87SXin LI    YYFAIL appears to be in use.  Nevertheless, it is formally deprecated
1561*68ba7e87SXin LI    in Bison 2.4.2's NEWS entry, where a plan to phase it out is
1562*68ba7e87SXin LI    discussed.  */
1563*68ba7e87SXin LI 
1564*68ba7e87SXin LI #define YYFAIL		goto yyerrlab
1565*68ba7e87SXin LI #if defined YYFAIL
1566*68ba7e87SXin LI   /* This is here to suppress warnings from the GCC cpp's
1567*68ba7e87SXin LI      -Wunused-macros.  Normally we don't worry about that warning, but
1568*68ba7e87SXin LI      some users do, and we want to make it easy for users to remove
1569*68ba7e87SXin LI      YYFAIL uses, which will produce warnings from Bison 2.5.  */
1570*68ba7e87SXin LI #endif
1571*68ba7e87SXin LI 
15722b15cb3dSCy Schubert #define YYRECOVERING()  (!!yyerrstatus)
15732b15cb3dSCy Schubert 
15742b15cb3dSCy Schubert #define YYBACKUP(Token, Value)                                  \
15752b15cb3dSCy Schubert do                                                              \
15762b15cb3dSCy Schubert   if (yychar == YYEMPTY)                                        \
15772b15cb3dSCy Schubert     {                                                           \
15782b15cb3dSCy Schubert       yychar = (Token);                                         \
15792b15cb3dSCy Schubert       yylval = (Value);                                         \
15802b15cb3dSCy Schubert       YYPOPSTACK (yylen);                                       \
15812b15cb3dSCy Schubert       yystate = *yyssp;                                         \
15822b15cb3dSCy Schubert       goto yybackup;                                            \
15832b15cb3dSCy Schubert     }                                                           \
15842b15cb3dSCy Schubert   else                                                          \
15852b15cb3dSCy Schubert     {                                                           \
1586276da39aSCy Schubert       yyerror (YY_("syntax error: cannot back up")); \
15872b15cb3dSCy Schubert       YYERROR;							\
15882b15cb3dSCy Schubert     }								\
1589*68ba7e87SXin LI while (YYID (0))
15902b15cb3dSCy Schubert 
15912b15cb3dSCy Schubert /* Error token number */
15922b15cb3dSCy Schubert #define YYTERROR	1
15932b15cb3dSCy Schubert #define YYERRCODE	256
15942b15cb3dSCy Schubert 
15952b15cb3dSCy Schubert 
1596*68ba7e87SXin LI /* This macro is provided for backward compatibility. */
1597*68ba7e87SXin LI #ifndef YY_LOCATION_PRINT
1598*68ba7e87SXin LI # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
1599*68ba7e87SXin LI #endif
1600*68ba7e87SXin LI 
1601*68ba7e87SXin LI 
1602*68ba7e87SXin LI /* YYLEX -- calling `yylex' with the right arguments.  */
1603*68ba7e87SXin LI #ifdef YYLEX_PARAM
1604*68ba7e87SXin LI # define YYLEX yylex (YYLEX_PARAM)
1605*68ba7e87SXin LI #else
1606*68ba7e87SXin LI # define YYLEX yylex ()
1607*68ba7e87SXin LI #endif
16082b15cb3dSCy Schubert 
16092b15cb3dSCy Schubert /* Enable debugging if requested.  */
16102b15cb3dSCy Schubert #if YYDEBUG
16112b15cb3dSCy Schubert 
16122b15cb3dSCy Schubert # ifndef YYFPRINTF
16132b15cb3dSCy Schubert #  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
16142b15cb3dSCy Schubert #  define YYFPRINTF fprintf
16152b15cb3dSCy Schubert # endif
16162b15cb3dSCy Schubert 
16172b15cb3dSCy Schubert # define YYDPRINTF(Args)			\
16182b15cb3dSCy Schubert do {						\
16192b15cb3dSCy Schubert   if (yydebug)					\
16202b15cb3dSCy Schubert     YYFPRINTF Args;				\
1621*68ba7e87SXin LI } while (YYID (0))
16222b15cb3dSCy Schubert 
16232b15cb3dSCy Schubert # define YY_SYMBOL_PRINT(Title, Type, Value, Location)			  \
16242b15cb3dSCy Schubert do {									  \
16252b15cb3dSCy Schubert   if (yydebug)								  \
16262b15cb3dSCy Schubert     {									  \
16272b15cb3dSCy Schubert       YYFPRINTF (stderr, "%s ", Title);					  \
16282b15cb3dSCy Schubert       yy_symbol_print (stderr,						  \
1629276da39aSCy Schubert 		  Type, Value); \
16302b15cb3dSCy Schubert       YYFPRINTF (stderr, "\n");						  \
16312b15cb3dSCy Schubert     }									  \
1632*68ba7e87SXin LI } while (YYID (0))
16332b15cb3dSCy Schubert 
16342b15cb3dSCy Schubert 
1635*68ba7e87SXin LI /*--------------------------------.
1636*68ba7e87SXin LI | Print this symbol on YYOUTPUT.  |
1637*68ba7e87SXin LI `--------------------------------*/
16382b15cb3dSCy Schubert 
1639*68ba7e87SXin LI /*ARGSUSED*/
1640*68ba7e87SXin LI #if (defined __STDC__ || defined __C99__FUNC__ \
1641*68ba7e87SXin LI      || defined __cplusplus || defined _MSC_VER)
16422b15cb3dSCy Schubert static void
1643276da39aSCy Schubert yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
1644*68ba7e87SXin LI #else
1645*68ba7e87SXin LI static void
1646*68ba7e87SXin LI yy_symbol_value_print (yyoutput, yytype, yyvaluep)
1647*68ba7e87SXin LI     FILE *yyoutput;
1648*68ba7e87SXin LI     int yytype;
1649*68ba7e87SXin LI     YYSTYPE const * const yyvaluep;
1650*68ba7e87SXin LI #endif
16512b15cb3dSCy Schubert {
16522b15cb3dSCy Schubert   FILE *yyo = yyoutput;
16532b15cb3dSCy Schubert   YYUSE (yyo);
16542b15cb3dSCy Schubert   if (!yyvaluep)
16552b15cb3dSCy Schubert     return;
16562b15cb3dSCy Schubert # ifdef YYPRINT
16572b15cb3dSCy Schubert   if (yytype < YYNTOKENS)
16582b15cb3dSCy Schubert     YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
1659*68ba7e87SXin LI # else
1660*68ba7e87SXin LI   YYUSE (yyoutput);
16612b15cb3dSCy Schubert # endif
16622b15cb3dSCy Schubert   YYUSE (yytype);
16632b15cb3dSCy Schubert }
16642b15cb3dSCy Schubert 
16652b15cb3dSCy Schubert 
16662b15cb3dSCy Schubert /*--------------------------------.
16672b15cb3dSCy Schubert | Print this symbol on YYOUTPUT.  |
16682b15cb3dSCy Schubert `--------------------------------*/
16692b15cb3dSCy Schubert 
1670*68ba7e87SXin LI #if (defined __STDC__ || defined __C99__FUNC__ \
1671*68ba7e87SXin LI      || defined __cplusplus || defined _MSC_VER)
16722b15cb3dSCy Schubert static void
1673276da39aSCy Schubert yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
1674*68ba7e87SXin LI #else
1675*68ba7e87SXin LI static void
1676*68ba7e87SXin LI yy_symbol_print (yyoutput, yytype, yyvaluep)
1677*68ba7e87SXin LI     FILE *yyoutput;
1678*68ba7e87SXin LI     int yytype;
1679*68ba7e87SXin LI     YYSTYPE const * const yyvaluep;
1680*68ba7e87SXin LI #endif
16812b15cb3dSCy Schubert {
1682*68ba7e87SXin LI   if (yytype < YYNTOKENS)
1683*68ba7e87SXin LI     YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
1684*68ba7e87SXin LI   else
1685*68ba7e87SXin LI     YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
16862b15cb3dSCy Schubert 
1687276da39aSCy Schubert   yy_symbol_value_print (yyoutput, yytype, yyvaluep);
16882b15cb3dSCy Schubert   YYFPRINTF (yyoutput, ")");
16892b15cb3dSCy Schubert }
16902b15cb3dSCy Schubert 
16912b15cb3dSCy Schubert /*------------------------------------------------------------------.
16922b15cb3dSCy Schubert | yy_stack_print -- Print the state stack from its BOTTOM up to its |
16932b15cb3dSCy Schubert | TOP (included).                                                   |
16942b15cb3dSCy Schubert `------------------------------------------------------------------*/
16952b15cb3dSCy Schubert 
1696*68ba7e87SXin LI #if (defined __STDC__ || defined __C99__FUNC__ \
1697*68ba7e87SXin LI      || defined __cplusplus || defined _MSC_VER)
16982b15cb3dSCy Schubert static void
16992b15cb3dSCy Schubert yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
1700*68ba7e87SXin LI #else
1701*68ba7e87SXin LI static void
1702*68ba7e87SXin LI yy_stack_print (yybottom, yytop)
1703*68ba7e87SXin LI     yytype_int16 *yybottom;
1704*68ba7e87SXin LI     yytype_int16 *yytop;
1705*68ba7e87SXin LI #endif
17062b15cb3dSCy Schubert {
17072b15cb3dSCy Schubert   YYFPRINTF (stderr, "Stack now");
17082b15cb3dSCy Schubert   for (; yybottom <= yytop; yybottom++)
17092b15cb3dSCy Schubert     {
17102b15cb3dSCy Schubert       int yybot = *yybottom;
17112b15cb3dSCy Schubert       YYFPRINTF (stderr, " %d", yybot);
17122b15cb3dSCy Schubert     }
17132b15cb3dSCy Schubert   YYFPRINTF (stderr, "\n");
17142b15cb3dSCy Schubert }
17152b15cb3dSCy Schubert 
17162b15cb3dSCy Schubert # define YY_STACK_PRINT(Bottom, Top)				\
17172b15cb3dSCy Schubert do {								\
17182b15cb3dSCy Schubert   if (yydebug)							\
17192b15cb3dSCy Schubert     yy_stack_print ((Bottom), (Top));				\
1720*68ba7e87SXin LI } while (YYID (0))
17212b15cb3dSCy Schubert 
17222b15cb3dSCy Schubert 
17232b15cb3dSCy Schubert /*------------------------------------------------.
17242b15cb3dSCy Schubert | Report that the YYRULE is going to be reduced.  |
17252b15cb3dSCy Schubert `------------------------------------------------*/
17262b15cb3dSCy Schubert 
1727*68ba7e87SXin LI #if (defined __STDC__ || defined __C99__FUNC__ \
1728*68ba7e87SXin LI      || defined __cplusplus || defined _MSC_VER)
17292b15cb3dSCy Schubert static void
1730*68ba7e87SXin LI yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
1731*68ba7e87SXin LI #else
1732*68ba7e87SXin LI static void
1733*68ba7e87SXin LI yy_reduce_print (yyvsp, yyrule)
1734*68ba7e87SXin LI     YYSTYPE *yyvsp;
1735*68ba7e87SXin LI     int yyrule;
1736*68ba7e87SXin LI #endif
17372b15cb3dSCy Schubert {
17382b15cb3dSCy Schubert   int yynrhs = yyr2[yyrule];
17392b15cb3dSCy Schubert   int yyi;
1740*68ba7e87SXin LI   unsigned long int yylno = yyrline[yyrule];
17412b15cb3dSCy Schubert   YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
17422b15cb3dSCy Schubert 	     yyrule - 1, yylno);
17432b15cb3dSCy Schubert   /* The symbols being reduced.  */
17442b15cb3dSCy Schubert   for (yyi = 0; yyi < yynrhs; yyi++)
17452b15cb3dSCy Schubert     {
17462b15cb3dSCy Schubert       YYFPRINTF (stderr, "   $%d = ", yyi + 1);
1747*68ba7e87SXin LI       yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
17482b15cb3dSCy Schubert 		       &(yyvsp[(yyi + 1) - (yynrhs)])
1749276da39aSCy Schubert 		       		       );
17502b15cb3dSCy Schubert       YYFPRINTF (stderr, "\n");
17512b15cb3dSCy Schubert     }
17522b15cb3dSCy Schubert }
17532b15cb3dSCy Schubert 
17542b15cb3dSCy Schubert # define YY_REDUCE_PRINT(Rule)		\
17552b15cb3dSCy Schubert do {					\
17562b15cb3dSCy Schubert   if (yydebug)				\
1757*68ba7e87SXin LI     yy_reduce_print (yyvsp, Rule); \
1758*68ba7e87SXin LI } while (YYID (0))
17592b15cb3dSCy Schubert 
17602b15cb3dSCy Schubert /* Nonzero means print parse trace.  It is left uninitialized so that
17612b15cb3dSCy Schubert    multiple parsers can coexist.  */
17622b15cb3dSCy Schubert int yydebug;
17632b15cb3dSCy Schubert #else /* !YYDEBUG */
17642b15cb3dSCy Schubert # define YYDPRINTF(Args)
17652b15cb3dSCy Schubert # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
17662b15cb3dSCy Schubert # define YY_STACK_PRINT(Bottom, Top)
17672b15cb3dSCy Schubert # define YY_REDUCE_PRINT(Rule)
17682b15cb3dSCy Schubert #endif /* !YYDEBUG */
17692b15cb3dSCy Schubert 
17702b15cb3dSCy Schubert 
17712b15cb3dSCy Schubert /* YYINITDEPTH -- initial size of the parser's stacks.  */
17722b15cb3dSCy Schubert #ifndef	YYINITDEPTH
17732b15cb3dSCy Schubert # define YYINITDEPTH 200
17742b15cb3dSCy Schubert #endif
17752b15cb3dSCy Schubert 
17762b15cb3dSCy Schubert /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
17772b15cb3dSCy Schubert    if the built-in stack extension method is used).
17782b15cb3dSCy Schubert 
17792b15cb3dSCy Schubert    Do not make this value too large; the results are undefined if
17802b15cb3dSCy Schubert    YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
17812b15cb3dSCy Schubert    evaluated with infinite-precision integer arithmetic.  */
17822b15cb3dSCy Schubert 
17832b15cb3dSCy Schubert #ifndef YYMAXDEPTH
17842b15cb3dSCy Schubert # define YYMAXDEPTH 10000
17852b15cb3dSCy Schubert #endif
17862b15cb3dSCy Schubert 
17872b15cb3dSCy Schubert 
17882b15cb3dSCy Schubert #if YYERROR_VERBOSE
17892b15cb3dSCy Schubert 
17902b15cb3dSCy Schubert # ifndef yystrlen
17912b15cb3dSCy Schubert #  if defined __GLIBC__ && defined _STRING_H
17922b15cb3dSCy Schubert #   define yystrlen strlen
17932b15cb3dSCy Schubert #  else
17942b15cb3dSCy Schubert /* Return the length of YYSTR.  */
1795*68ba7e87SXin LI #if (defined __STDC__ || defined __C99__FUNC__ \
1796*68ba7e87SXin LI      || defined __cplusplus || defined _MSC_VER)
17972b15cb3dSCy Schubert static YYSIZE_T
17982b15cb3dSCy Schubert yystrlen (const char *yystr)
1799*68ba7e87SXin LI #else
1800*68ba7e87SXin LI static YYSIZE_T
1801*68ba7e87SXin LI yystrlen (yystr)
1802*68ba7e87SXin LI     const char *yystr;
1803*68ba7e87SXin LI #endif
18042b15cb3dSCy Schubert {
18052b15cb3dSCy Schubert   YYSIZE_T yylen;
18062b15cb3dSCy Schubert   for (yylen = 0; yystr[yylen]; yylen++)
18072b15cb3dSCy Schubert     continue;
18082b15cb3dSCy Schubert   return yylen;
18092b15cb3dSCy Schubert }
18102b15cb3dSCy Schubert #  endif
18112b15cb3dSCy Schubert # endif
18122b15cb3dSCy Schubert 
18132b15cb3dSCy Schubert # ifndef yystpcpy
18142b15cb3dSCy Schubert #  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
18152b15cb3dSCy Schubert #   define yystpcpy stpcpy
18162b15cb3dSCy Schubert #  else
18172b15cb3dSCy Schubert /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
18182b15cb3dSCy Schubert    YYDEST.  */
1819*68ba7e87SXin LI #if (defined __STDC__ || defined __C99__FUNC__ \
1820*68ba7e87SXin LI      || defined __cplusplus || defined _MSC_VER)
18212b15cb3dSCy Schubert static char *
18222b15cb3dSCy Schubert yystpcpy (char *yydest, const char *yysrc)
1823*68ba7e87SXin LI #else
1824*68ba7e87SXin LI static char *
1825*68ba7e87SXin LI yystpcpy (yydest, yysrc)
1826*68ba7e87SXin LI     char *yydest;
1827*68ba7e87SXin LI     const char *yysrc;
1828*68ba7e87SXin LI #endif
18292b15cb3dSCy Schubert {
18302b15cb3dSCy Schubert   char *yyd = yydest;
18312b15cb3dSCy Schubert   const char *yys = yysrc;
18322b15cb3dSCy Schubert 
18332b15cb3dSCy Schubert   while ((*yyd++ = *yys++) != '\0')
18342b15cb3dSCy Schubert     continue;
18352b15cb3dSCy Schubert 
18362b15cb3dSCy Schubert   return yyd - 1;
18372b15cb3dSCy Schubert }
18382b15cb3dSCy Schubert #  endif
18392b15cb3dSCy Schubert # endif
18402b15cb3dSCy Schubert 
18412b15cb3dSCy Schubert # ifndef yytnamerr
18422b15cb3dSCy Schubert /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
18432b15cb3dSCy Schubert    quotes and backslashes, so that it's suitable for yyerror.  The
18442b15cb3dSCy Schubert    heuristic is that double-quoting is unnecessary unless the string
18452b15cb3dSCy Schubert    contains an apostrophe, a comma, or backslash (other than
18462b15cb3dSCy Schubert    backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
18472b15cb3dSCy Schubert    null, do not copy; instead, return the length of what the result
18482b15cb3dSCy Schubert    would have been.  */
18492b15cb3dSCy Schubert static YYSIZE_T
18502b15cb3dSCy Schubert yytnamerr (char *yyres, const char *yystr)
18512b15cb3dSCy Schubert {
18522b15cb3dSCy Schubert   if (*yystr == '"')
18532b15cb3dSCy Schubert     {
18542b15cb3dSCy Schubert       YYSIZE_T yyn = 0;
18552b15cb3dSCy Schubert       char const *yyp = yystr;
18562b15cb3dSCy Schubert 
18572b15cb3dSCy Schubert       for (;;)
18582b15cb3dSCy Schubert 	switch (*++yyp)
18592b15cb3dSCy Schubert 	  {
18602b15cb3dSCy Schubert 	  case '\'':
18612b15cb3dSCy Schubert 	  case ',':
18622b15cb3dSCy Schubert 	    goto do_not_strip_quotes;
18632b15cb3dSCy Schubert 
18642b15cb3dSCy Schubert 	  case '\\':
18652b15cb3dSCy Schubert 	    if (*++yyp != '\\')
18662b15cb3dSCy Schubert 	      goto do_not_strip_quotes;
18672b15cb3dSCy Schubert 	    /* Fall through.  */
18682b15cb3dSCy Schubert 	  default:
18692b15cb3dSCy Schubert 	    if (yyres)
18702b15cb3dSCy Schubert 	      yyres[yyn] = *yyp;
18712b15cb3dSCy Schubert 	    yyn++;
18722b15cb3dSCy Schubert 	    break;
18732b15cb3dSCy Schubert 
18742b15cb3dSCy Schubert 	  case '"':
18752b15cb3dSCy Schubert 	    if (yyres)
18762b15cb3dSCy Schubert 	      yyres[yyn] = '\0';
18772b15cb3dSCy Schubert 	    return yyn;
18782b15cb3dSCy Schubert 	  }
18792b15cb3dSCy Schubert     do_not_strip_quotes: ;
18802b15cb3dSCy Schubert     }
18812b15cb3dSCy Schubert 
18822b15cb3dSCy Schubert   if (! yyres)
18832b15cb3dSCy Schubert     return yystrlen (yystr);
18842b15cb3dSCy Schubert 
18852b15cb3dSCy Schubert   return yystpcpy (yyres, yystr) - yyres;
18862b15cb3dSCy Schubert }
18872b15cb3dSCy Schubert # endif
18882b15cb3dSCy Schubert 
18892b15cb3dSCy Schubert /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
18902b15cb3dSCy Schubert    about the unexpected token YYTOKEN for the state stack whose top is
18912b15cb3dSCy Schubert    YYSSP.
18922b15cb3dSCy Schubert 
18932b15cb3dSCy Schubert    Return 0 if *YYMSG was successfully written.  Return 1 if *YYMSG is
18942b15cb3dSCy Schubert    not large enough to hold the message.  In that case, also set
18952b15cb3dSCy Schubert    *YYMSG_ALLOC to the required number of bytes.  Return 2 if the
18962b15cb3dSCy Schubert    required number of bytes is too large to store.  */
18972b15cb3dSCy Schubert static int
18982b15cb3dSCy Schubert yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
18992b15cb3dSCy Schubert                 yytype_int16 *yyssp, int yytoken)
19002b15cb3dSCy Schubert {
1901*68ba7e87SXin LI   YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
19022b15cb3dSCy Schubert   YYSIZE_T yysize = yysize0;
19032b15cb3dSCy Schubert   enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
19042b15cb3dSCy Schubert   /* Internationalized format string. */
1905*68ba7e87SXin LI   const char *yyformat = YY_NULL;
19062b15cb3dSCy Schubert   /* Arguments of yyformat. */
19072b15cb3dSCy Schubert   char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
19082b15cb3dSCy Schubert   /* Number of reported tokens (one for the "unexpected", one per
19092b15cb3dSCy Schubert      "expected"). */
19102b15cb3dSCy Schubert   int yycount = 0;
19112b15cb3dSCy Schubert 
19122b15cb3dSCy Schubert   /* There are many possibilities here to consider:
1913*68ba7e87SXin LI      - Assume YYFAIL is not used.  It's too flawed to consider.  See
1914*68ba7e87SXin LI        <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
1915*68ba7e87SXin LI        for details.  YYERROR is fine as it does not invoke this
1916*68ba7e87SXin LI        function.
19172b15cb3dSCy Schubert      - If this state is a consistent state with a default action, then
19182b15cb3dSCy Schubert        the only way this function was invoked is if the default action
19192b15cb3dSCy Schubert        is an error action.  In that case, don't check for expected
19202b15cb3dSCy Schubert        tokens because there are none.
19212b15cb3dSCy Schubert      - The only way there can be no lookahead present (in yychar) is if
19222b15cb3dSCy Schubert        this state is a consistent state with a default action.  Thus,
19232b15cb3dSCy Schubert        detecting the absence of a lookahead is sufficient to determine
19242b15cb3dSCy Schubert        that there is no unexpected or expected token to report.  In that
19252b15cb3dSCy Schubert        case, just report a simple "syntax error".
19262b15cb3dSCy Schubert      - Don't assume there isn't a lookahead just because this state is a
19272b15cb3dSCy Schubert        consistent state with a default action.  There might have been a
19282b15cb3dSCy Schubert        previous inconsistent state, consistent state with a non-default
19292b15cb3dSCy Schubert        action, or user semantic action that manipulated yychar.
19302b15cb3dSCy Schubert      - Of course, the expected token list depends on states to have
19312b15cb3dSCy Schubert        correct lookahead information, and it depends on the parser not
19322b15cb3dSCy Schubert        to perform extra reductions after fetching a lookahead from the
19332b15cb3dSCy Schubert        scanner and before detecting a syntax error.  Thus, state merging
19342b15cb3dSCy Schubert        (from LALR or IELR) and default reductions corrupt the expected
19352b15cb3dSCy Schubert        token list.  However, the list is correct for canonical LR with
19362b15cb3dSCy Schubert        one exception: it will still contain any token that will not be
19372b15cb3dSCy Schubert        accepted due to an error action in a later state.
19382b15cb3dSCy Schubert   */
19392b15cb3dSCy Schubert   if (yytoken != YYEMPTY)
19402b15cb3dSCy Schubert     {
19412b15cb3dSCy Schubert       int yyn = yypact[*yyssp];
19422b15cb3dSCy Schubert       yyarg[yycount++] = yytname[yytoken];
19432b15cb3dSCy Schubert       if (!yypact_value_is_default (yyn))
19442b15cb3dSCy Schubert         {
19452b15cb3dSCy Schubert           /* Start YYX at -YYN if negative to avoid negative indexes in
19462b15cb3dSCy Schubert              YYCHECK.  In other words, skip the first -YYN actions for
19472b15cb3dSCy Schubert              this state because they are default actions.  */
19482b15cb3dSCy Schubert           int yyxbegin = yyn < 0 ? -yyn : 0;
19492b15cb3dSCy Schubert           /* Stay within bounds of both yycheck and yytname.  */
19502b15cb3dSCy Schubert           int yychecklim = YYLAST - yyn + 1;
19512b15cb3dSCy Schubert           int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
19522b15cb3dSCy Schubert           int yyx;
19532b15cb3dSCy Schubert 
19542b15cb3dSCy Schubert           for (yyx = yyxbegin; yyx < yyxend; ++yyx)
19552b15cb3dSCy Schubert             if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
19562b15cb3dSCy Schubert                 && !yytable_value_is_error (yytable[yyx + yyn]))
19572b15cb3dSCy Schubert               {
19582b15cb3dSCy Schubert                 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
19592b15cb3dSCy Schubert                   {
19602b15cb3dSCy Schubert                     yycount = 1;
19612b15cb3dSCy Schubert                     yysize = yysize0;
19622b15cb3dSCy Schubert                     break;
19632b15cb3dSCy Schubert                   }
19642b15cb3dSCy Schubert                 yyarg[yycount++] = yytname[yyx];
19652b15cb3dSCy Schubert                 {
1966*68ba7e87SXin LI                   YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
19672b15cb3dSCy Schubert                   if (! (yysize <= yysize1
19682b15cb3dSCy Schubert                          && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
19692b15cb3dSCy Schubert                     return 2;
19702b15cb3dSCy Schubert                   yysize = yysize1;
19712b15cb3dSCy Schubert                 }
19722b15cb3dSCy Schubert               }
19732b15cb3dSCy Schubert         }
19742b15cb3dSCy Schubert     }
19752b15cb3dSCy Schubert 
19762b15cb3dSCy Schubert   switch (yycount)
19772b15cb3dSCy Schubert     {
19782b15cb3dSCy Schubert # define YYCASE_(N, S)                      \
19792b15cb3dSCy Schubert       case N:                               \
19802b15cb3dSCy Schubert         yyformat = S;                       \
19812b15cb3dSCy Schubert       break
19822b15cb3dSCy Schubert       YYCASE_(0, YY_("syntax error"));
19832b15cb3dSCy Schubert       YYCASE_(1, YY_("syntax error, unexpected %s"));
19842b15cb3dSCy Schubert       YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
19852b15cb3dSCy Schubert       YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
19862b15cb3dSCy Schubert       YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
19872b15cb3dSCy Schubert       YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
19882b15cb3dSCy Schubert # undef YYCASE_
19892b15cb3dSCy Schubert     }
19902b15cb3dSCy Schubert 
19912b15cb3dSCy Schubert   {
19922b15cb3dSCy Schubert     YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
19932b15cb3dSCy Schubert     if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
19942b15cb3dSCy Schubert       return 2;
19952b15cb3dSCy Schubert     yysize = yysize1;
19962b15cb3dSCy Schubert   }
19972b15cb3dSCy Schubert 
19982b15cb3dSCy Schubert   if (*yymsg_alloc < yysize)
19992b15cb3dSCy Schubert     {
20002b15cb3dSCy Schubert       *yymsg_alloc = 2 * yysize;
20012b15cb3dSCy Schubert       if (! (yysize <= *yymsg_alloc
20022b15cb3dSCy Schubert              && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
20032b15cb3dSCy Schubert         *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
20042b15cb3dSCy Schubert       return 1;
20052b15cb3dSCy Schubert     }
20062b15cb3dSCy Schubert 
20072b15cb3dSCy Schubert   /* Avoid sprintf, as that infringes on the user's name space.
20082b15cb3dSCy Schubert      Don't have undefined behavior even if the translation
20092b15cb3dSCy Schubert      produced a string with the wrong number of "%s"s.  */
20102b15cb3dSCy Schubert   {
20112b15cb3dSCy Schubert     char *yyp = *yymsg;
20122b15cb3dSCy Schubert     int yyi = 0;
20132b15cb3dSCy Schubert     while ((*yyp = *yyformat) != '\0')
20142b15cb3dSCy Schubert       if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
20152b15cb3dSCy Schubert         {
20162b15cb3dSCy Schubert           yyp += yytnamerr (yyp, yyarg[yyi++]);
20172b15cb3dSCy Schubert           yyformat += 2;
20182b15cb3dSCy Schubert         }
20192b15cb3dSCy Schubert       else
20202b15cb3dSCy Schubert         {
20212b15cb3dSCy Schubert           yyp++;
20222b15cb3dSCy Schubert           yyformat++;
20232b15cb3dSCy Schubert         }
20242b15cb3dSCy Schubert   }
20252b15cb3dSCy Schubert   return 0;
20262b15cb3dSCy Schubert }
20272b15cb3dSCy Schubert #endif /* YYERROR_VERBOSE */
20282b15cb3dSCy Schubert 
20292b15cb3dSCy Schubert /*-----------------------------------------------.
20302b15cb3dSCy Schubert | Release the memory associated to this symbol.  |
20312b15cb3dSCy Schubert `-----------------------------------------------*/
20322b15cb3dSCy Schubert 
2033*68ba7e87SXin LI /*ARGSUSED*/
2034*68ba7e87SXin LI #if (defined __STDC__ || defined __C99__FUNC__ \
2035*68ba7e87SXin LI      || defined __cplusplus || defined _MSC_VER)
20362b15cb3dSCy Schubert static void
2037276da39aSCy Schubert yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
2038*68ba7e87SXin LI #else
2039*68ba7e87SXin LI static void
2040*68ba7e87SXin LI yydestruct (yymsg, yytype, yyvaluep)
2041*68ba7e87SXin LI     const char *yymsg;
2042*68ba7e87SXin LI     int yytype;
2043*68ba7e87SXin LI     YYSTYPE *yyvaluep;
2044*68ba7e87SXin LI #endif
20452b15cb3dSCy Schubert {
20462b15cb3dSCy Schubert   YYUSE (yyvaluep);
2047*68ba7e87SXin LI 
20482b15cb3dSCy Schubert   if (!yymsg)
20492b15cb3dSCy Schubert     yymsg = "Deleting";
20502b15cb3dSCy Schubert   YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
20512b15cb3dSCy Schubert 
20522b15cb3dSCy Schubert   YYUSE (yytype);
20532b15cb3dSCy Schubert }
20542b15cb3dSCy Schubert 
20552b15cb3dSCy Schubert 
20562b15cb3dSCy Schubert 
20572b15cb3dSCy Schubert 
20582b15cb3dSCy Schubert /* The lookahead symbol.  */
20592b15cb3dSCy Schubert int yychar;
20602b15cb3dSCy Schubert 
2061*68ba7e87SXin LI 
2062*68ba7e87SXin LI #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2063*68ba7e87SXin LI # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2064*68ba7e87SXin LI # define YY_IGNORE_MAYBE_UNINITIALIZED_END
2065*68ba7e87SXin LI #endif
2066*68ba7e87SXin LI #ifndef YY_INITIAL_VALUE
2067*68ba7e87SXin LI # define YY_INITIAL_VALUE(Value) /* Nothing. */
2068*68ba7e87SXin LI #endif
2069*68ba7e87SXin LI 
20702b15cb3dSCy Schubert /* The semantic value of the lookahead symbol.  */
2071*68ba7e87SXin LI YYSTYPE yylval YY_INITIAL_VALUE(yyval_default);
2072*68ba7e87SXin LI 
20732b15cb3dSCy Schubert /* Number of syntax errors so far.  */
20742b15cb3dSCy Schubert int yynerrs;
20752b15cb3dSCy Schubert 
20762b15cb3dSCy Schubert 
20772b15cb3dSCy Schubert /*----------.
20782b15cb3dSCy Schubert | yyparse.  |
20792b15cb3dSCy Schubert `----------*/
20802b15cb3dSCy Schubert 
2081*68ba7e87SXin LI #ifdef YYPARSE_PARAM
2082*68ba7e87SXin LI #if (defined __STDC__ || defined __C99__FUNC__ \
2083*68ba7e87SXin LI      || defined __cplusplus || defined _MSC_VER)
2084*68ba7e87SXin LI int
2085*68ba7e87SXin LI yyparse (void *YYPARSE_PARAM)
2086*68ba7e87SXin LI #else
2087*68ba7e87SXin LI int
2088*68ba7e87SXin LI yyparse (YYPARSE_PARAM)
2089*68ba7e87SXin LI     void *YYPARSE_PARAM;
2090*68ba7e87SXin LI #endif
2091*68ba7e87SXin LI #else /* ! YYPARSE_PARAM */
2092*68ba7e87SXin LI #if (defined __STDC__ || defined __C99__FUNC__ \
2093*68ba7e87SXin LI      || defined __cplusplus || defined _MSC_VER)
2094276da39aSCy Schubert int
2095276da39aSCy Schubert yyparse (void)
2096*68ba7e87SXin LI #else
2097*68ba7e87SXin LI int
2098*68ba7e87SXin LI yyparse ()
2099*68ba7e87SXin LI 
2100*68ba7e87SXin LI #endif
2101*68ba7e87SXin LI #endif
21022b15cb3dSCy Schubert {
21032b15cb3dSCy Schubert     int yystate;
21042b15cb3dSCy Schubert     /* Number of tokens to shift before error messages enabled.  */
21052b15cb3dSCy Schubert     int yyerrstatus;
21062b15cb3dSCy Schubert 
21072b15cb3dSCy Schubert     /* The stacks and their tools:
2108*68ba7e87SXin LI        `yyss': related to states.
2109*68ba7e87SXin LI        `yyvs': related to semantic values.
21102b15cb3dSCy Schubert 
21112b15cb3dSCy Schubert        Refer to the stacks through separate pointers, to allow yyoverflow
21122b15cb3dSCy Schubert        to reallocate them elsewhere.  */
21132b15cb3dSCy Schubert 
21142b15cb3dSCy Schubert     /* The state stack.  */
21152b15cb3dSCy Schubert     yytype_int16 yyssa[YYINITDEPTH];
21162b15cb3dSCy Schubert     yytype_int16 *yyss;
21172b15cb3dSCy Schubert     yytype_int16 *yyssp;
21182b15cb3dSCy Schubert 
21192b15cb3dSCy Schubert     /* The semantic value stack.  */
21202b15cb3dSCy Schubert     YYSTYPE yyvsa[YYINITDEPTH];
21212b15cb3dSCy Schubert     YYSTYPE *yyvs;
21222b15cb3dSCy Schubert     YYSTYPE *yyvsp;
21232b15cb3dSCy Schubert 
21242b15cb3dSCy Schubert     YYSIZE_T yystacksize;
21252b15cb3dSCy Schubert 
21262b15cb3dSCy Schubert   int yyn;
21272b15cb3dSCy Schubert   int yyresult;
21282b15cb3dSCy Schubert   /* Lookahead token as an internal (translated) token number.  */
21292b15cb3dSCy Schubert   int yytoken = 0;
21302b15cb3dSCy Schubert   /* The variables used to return semantic value and location from the
21312b15cb3dSCy Schubert      action routines.  */
21322b15cb3dSCy Schubert   YYSTYPE yyval;
21332b15cb3dSCy Schubert 
21342b15cb3dSCy Schubert #if YYERROR_VERBOSE
21352b15cb3dSCy Schubert   /* Buffer for error messages, and its allocated size.  */
21362b15cb3dSCy Schubert   char yymsgbuf[128];
21372b15cb3dSCy Schubert   char *yymsg = yymsgbuf;
21382b15cb3dSCy Schubert   YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
21392b15cb3dSCy Schubert #endif
21402b15cb3dSCy Schubert 
21412b15cb3dSCy Schubert #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
21422b15cb3dSCy Schubert 
21432b15cb3dSCy Schubert   /* The number of symbols on the RHS of the reduced rule.
21442b15cb3dSCy Schubert      Keep to zero when no symbol should be popped.  */
21452b15cb3dSCy Schubert   int yylen = 0;
21462b15cb3dSCy Schubert 
21472b15cb3dSCy Schubert   yyssp = yyss = yyssa;
21482b15cb3dSCy Schubert   yyvsp = yyvs = yyvsa;
21492b15cb3dSCy Schubert   yystacksize = YYINITDEPTH;
21502b15cb3dSCy Schubert 
21512b15cb3dSCy Schubert   YYDPRINTF ((stderr, "Starting parse\n"));
21522b15cb3dSCy Schubert 
21532b15cb3dSCy Schubert   yystate = 0;
21542b15cb3dSCy Schubert   yyerrstatus = 0;
21552b15cb3dSCy Schubert   yynerrs = 0;
21562b15cb3dSCy Schubert   yychar = YYEMPTY; /* Cause a token to be read.  */
21572b15cb3dSCy Schubert   goto yysetstate;
21582b15cb3dSCy Schubert 
21592b15cb3dSCy Schubert /*------------------------------------------------------------.
21602b15cb3dSCy Schubert | yynewstate -- Push a new state, which is found in yystate.  |
21612b15cb3dSCy Schubert `------------------------------------------------------------*/
21622b15cb3dSCy Schubert  yynewstate:
21632b15cb3dSCy Schubert   /* In all cases, when you get here, the value and location stacks
21642b15cb3dSCy Schubert      have just been pushed.  So pushing a state here evens the stacks.  */
21652b15cb3dSCy Schubert   yyssp++;
21662b15cb3dSCy Schubert 
21672b15cb3dSCy Schubert  yysetstate:
21682b15cb3dSCy Schubert   *yyssp = yystate;
21692b15cb3dSCy Schubert 
21702b15cb3dSCy Schubert   if (yyss + yystacksize - 1 <= yyssp)
21712b15cb3dSCy Schubert     {
21722b15cb3dSCy Schubert       /* Get the current used size of the three stacks, in elements.  */
21732b15cb3dSCy Schubert       YYSIZE_T yysize = yyssp - yyss + 1;
21742b15cb3dSCy Schubert 
21752b15cb3dSCy Schubert #ifdef yyoverflow
21762b15cb3dSCy Schubert       {
21772b15cb3dSCy Schubert 	/* Give user a chance to reallocate the stack.  Use copies of
21782b15cb3dSCy Schubert 	   these so that the &'s don't force the real ones into
21792b15cb3dSCy Schubert 	   memory.  */
21802b15cb3dSCy Schubert 	YYSTYPE *yyvs1 = yyvs;
21812b15cb3dSCy Schubert 	yytype_int16 *yyss1 = yyss;
21822b15cb3dSCy Schubert 
21832b15cb3dSCy Schubert 	/* Each stack pointer address is followed by the size of the
21842b15cb3dSCy Schubert 	   data in use in that stack, in bytes.  This used to be a
21852b15cb3dSCy Schubert 	   conditional around just the two extra args, but that might
21862b15cb3dSCy Schubert 	   be undefined if yyoverflow is a macro.  */
21872b15cb3dSCy Schubert 	yyoverflow (YY_("memory exhausted"),
21882b15cb3dSCy Schubert 		    &yyss1, yysize * sizeof (*yyssp),
21892b15cb3dSCy Schubert 		    &yyvs1, yysize * sizeof (*yyvsp),
21902b15cb3dSCy Schubert 		    &yystacksize);
21912b15cb3dSCy Schubert 
21922b15cb3dSCy Schubert 	yyss = yyss1;
21932b15cb3dSCy Schubert 	yyvs = yyvs1;
21942b15cb3dSCy Schubert       }
21952b15cb3dSCy Schubert #else /* no yyoverflow */
21962b15cb3dSCy Schubert # ifndef YYSTACK_RELOCATE
21972b15cb3dSCy Schubert       goto yyexhaustedlab;
21982b15cb3dSCy Schubert # else
21992b15cb3dSCy Schubert       /* Extend the stack our own way.  */
22002b15cb3dSCy Schubert       if (YYMAXDEPTH <= yystacksize)
22012b15cb3dSCy Schubert 	goto yyexhaustedlab;
22022b15cb3dSCy Schubert       yystacksize *= 2;
22032b15cb3dSCy Schubert       if (YYMAXDEPTH < yystacksize)
22042b15cb3dSCy Schubert 	yystacksize = YYMAXDEPTH;
22052b15cb3dSCy Schubert 
22062b15cb3dSCy Schubert       {
22072b15cb3dSCy Schubert 	yytype_int16 *yyss1 = yyss;
22082b15cb3dSCy Schubert 	union yyalloc *yyptr =
22092b15cb3dSCy Schubert 	  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
22102b15cb3dSCy Schubert 	if (! yyptr)
22112b15cb3dSCy Schubert 	  goto yyexhaustedlab;
22122b15cb3dSCy Schubert 	YYSTACK_RELOCATE (yyss_alloc, yyss);
22132b15cb3dSCy Schubert 	YYSTACK_RELOCATE (yyvs_alloc, yyvs);
22142b15cb3dSCy Schubert #  undef YYSTACK_RELOCATE
22152b15cb3dSCy Schubert 	if (yyss1 != yyssa)
22162b15cb3dSCy Schubert 	  YYSTACK_FREE (yyss1);
22172b15cb3dSCy Schubert       }
22182b15cb3dSCy Schubert # endif
22192b15cb3dSCy Schubert #endif /* no yyoverflow */
22202b15cb3dSCy Schubert 
22212b15cb3dSCy Schubert       yyssp = yyss + yysize - 1;
22222b15cb3dSCy Schubert       yyvsp = yyvs + yysize - 1;
22232b15cb3dSCy Schubert 
22242b15cb3dSCy Schubert       YYDPRINTF ((stderr, "Stack size increased to %lu\n",
22252b15cb3dSCy Schubert 		  (unsigned long int) yystacksize));
22262b15cb3dSCy Schubert 
22272b15cb3dSCy Schubert       if (yyss + yystacksize - 1 <= yyssp)
22282b15cb3dSCy Schubert 	YYABORT;
22292b15cb3dSCy Schubert     }
22302b15cb3dSCy Schubert 
22312b15cb3dSCy Schubert   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
22322b15cb3dSCy Schubert 
22332b15cb3dSCy Schubert   if (yystate == YYFINAL)
22342b15cb3dSCy Schubert     YYACCEPT;
22352b15cb3dSCy Schubert 
22362b15cb3dSCy Schubert   goto yybackup;
22372b15cb3dSCy Schubert 
22382b15cb3dSCy Schubert /*-----------.
22392b15cb3dSCy Schubert | yybackup.  |
22402b15cb3dSCy Schubert `-----------*/
22412b15cb3dSCy Schubert yybackup:
22422b15cb3dSCy Schubert 
22432b15cb3dSCy Schubert   /* Do appropriate processing given the current state.  Read a
22442b15cb3dSCy Schubert      lookahead token if we need one and don't already have one.  */
22452b15cb3dSCy Schubert 
22462b15cb3dSCy Schubert   /* First try to decide what to do without reference to lookahead token.  */
22472b15cb3dSCy Schubert   yyn = yypact[yystate];
22482b15cb3dSCy Schubert   if (yypact_value_is_default (yyn))
22492b15cb3dSCy Schubert     goto yydefault;
22502b15cb3dSCy Schubert 
22512b15cb3dSCy Schubert   /* Not known => get a lookahead token if don't already have one.  */
22522b15cb3dSCy Schubert 
22532b15cb3dSCy Schubert   /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
22542b15cb3dSCy Schubert   if (yychar == YYEMPTY)
22552b15cb3dSCy Schubert     {
22562b15cb3dSCy Schubert       YYDPRINTF ((stderr, "Reading a token: "));
2257*68ba7e87SXin LI       yychar = YYLEX;
22582b15cb3dSCy Schubert     }
22592b15cb3dSCy Schubert 
22602b15cb3dSCy Schubert   if (yychar <= YYEOF)
22612b15cb3dSCy Schubert     {
22622b15cb3dSCy Schubert       yychar = yytoken = YYEOF;
22632b15cb3dSCy Schubert       YYDPRINTF ((stderr, "Now at end of input.\n"));
22642b15cb3dSCy Schubert     }
22652b15cb3dSCy Schubert   else
22662b15cb3dSCy Schubert     {
22672b15cb3dSCy Schubert       yytoken = YYTRANSLATE (yychar);
22682b15cb3dSCy Schubert       YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
22692b15cb3dSCy Schubert     }
22702b15cb3dSCy Schubert 
22712b15cb3dSCy Schubert   /* If the proper action on seeing token YYTOKEN is to reduce or to
22722b15cb3dSCy Schubert      detect an error, take that action.  */
22732b15cb3dSCy Schubert   yyn += yytoken;
22742b15cb3dSCy Schubert   if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
22752b15cb3dSCy Schubert     goto yydefault;
22762b15cb3dSCy Schubert   yyn = yytable[yyn];
22772b15cb3dSCy Schubert   if (yyn <= 0)
22782b15cb3dSCy Schubert     {
22792b15cb3dSCy Schubert       if (yytable_value_is_error (yyn))
22802b15cb3dSCy Schubert         goto yyerrlab;
22812b15cb3dSCy Schubert       yyn = -yyn;
22822b15cb3dSCy Schubert       goto yyreduce;
22832b15cb3dSCy Schubert     }
22842b15cb3dSCy Schubert 
22852b15cb3dSCy Schubert   /* Count tokens shifted since error; after three, turn off error
22862b15cb3dSCy Schubert      status.  */
22872b15cb3dSCy Schubert   if (yyerrstatus)
22882b15cb3dSCy Schubert     yyerrstatus--;
22892b15cb3dSCy Schubert 
22902b15cb3dSCy Schubert   /* Shift the lookahead token.  */
22912b15cb3dSCy Schubert   YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
22922b15cb3dSCy Schubert 
22932b15cb3dSCy Schubert   /* Discard the shifted token.  */
22942b15cb3dSCy Schubert   yychar = YYEMPTY;
22952b15cb3dSCy Schubert 
22962b15cb3dSCy Schubert   yystate = yyn;
22972b15cb3dSCy Schubert   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
22982b15cb3dSCy Schubert   *++yyvsp = yylval;
22992b15cb3dSCy Schubert   YY_IGNORE_MAYBE_UNINITIALIZED_END
23002b15cb3dSCy Schubert 
23012b15cb3dSCy Schubert   goto yynewstate;
23022b15cb3dSCy Schubert 
23032b15cb3dSCy Schubert 
23042b15cb3dSCy Schubert /*-----------------------------------------------------------.
23052b15cb3dSCy Schubert | yydefault -- do the default action for the current state.  |
23062b15cb3dSCy Schubert `-----------------------------------------------------------*/
23072b15cb3dSCy Schubert yydefault:
23082b15cb3dSCy Schubert   yyn = yydefact[yystate];
23092b15cb3dSCy Schubert   if (yyn == 0)
23102b15cb3dSCy Schubert     goto yyerrlab;
23112b15cb3dSCy Schubert   goto yyreduce;
23122b15cb3dSCy Schubert 
23132b15cb3dSCy Schubert 
23142b15cb3dSCy Schubert /*-----------------------------.
23152b15cb3dSCy Schubert | yyreduce -- Do a reduction.  |
23162b15cb3dSCy Schubert `-----------------------------*/
23172b15cb3dSCy Schubert yyreduce:
23182b15cb3dSCy Schubert   /* yyn is the number of a rule to reduce with.  */
23192b15cb3dSCy Schubert   yylen = yyr2[yyn];
23202b15cb3dSCy Schubert 
23212b15cb3dSCy Schubert   /* If YYLEN is nonzero, implement the default value of the action:
2322*68ba7e87SXin LI      `$$ = $1'.
23232b15cb3dSCy Schubert 
23242b15cb3dSCy Schubert      Otherwise, the following line sets YYVAL to garbage.
23252b15cb3dSCy Schubert      This behavior is undocumented and Bison
23262b15cb3dSCy Schubert      users should not rely upon it.  Assigning to YYVAL
23272b15cb3dSCy Schubert      unconditionally makes the parser a bit smaller, and it avoids a
23282b15cb3dSCy Schubert      GCC warning that YYVAL may be used uninitialized.  */
23292b15cb3dSCy Schubert   yyval = yyvsp[1-yylen];
23302b15cb3dSCy Schubert 
23312b15cb3dSCy Schubert 
23322b15cb3dSCy Schubert   YY_REDUCE_PRINT (yyn);
23332b15cb3dSCy Schubert   switch (yyn)
23342b15cb3dSCy Schubert     {
23352b15cb3dSCy Schubert         case 5:
2336*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2337*68ba7e87SXin LI #line 376 "../../ntpd/ntp_parser.y"
23382b15cb3dSCy Schubert     {
23392b15cb3dSCy Schubert 			/* I will need to incorporate much more fine grained
23402b15cb3dSCy Schubert 			 * error messages. The following should suffice for
23412b15cb3dSCy Schubert 			 * the time being.
23422b15cb3dSCy Schubert 			 */
2343276da39aSCy Schubert 			struct FILE_INFO * ip_ctx = lex_current();
23442b15cb3dSCy Schubert 			msyslog(LOG_ERR,
23452b15cb3dSCy Schubert 				"syntax error in %s line %d, column %d",
2346276da39aSCy Schubert 				ip_ctx->fname,
2347276da39aSCy Schubert 				ip_ctx->errpos.nline,
2348276da39aSCy Schubert 				ip_ctx->errpos.ncol);
23492b15cb3dSCy Schubert 		}
23502b15cb3dSCy Schubert     break;
23512b15cb3dSCy Schubert 
23522b15cb3dSCy Schubert   case 20:
2353*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2354*68ba7e87SXin LI #line 412 "../../ntpd/ntp_parser.y"
23552b15cb3dSCy Schubert     {
23562b15cb3dSCy Schubert 			peer_node *my_node;
23572b15cb3dSCy Schubert 
2358*68ba7e87SXin LI 			my_node = create_peer_node((yyvsp[(1) - (3)].Integer), (yyvsp[(2) - (3)].Address_node), (yyvsp[(3) - (3)].Attr_val_fifo));
23592b15cb3dSCy Schubert 			APPEND_G_FIFO(cfgt.peers, my_node);
23602b15cb3dSCy Schubert 		}
23612b15cb3dSCy Schubert     break;
23622b15cb3dSCy Schubert 
2363a25439b6SCy Schubert   case 27:
2364*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2365*68ba7e87SXin LI #line 431 "../../ntpd/ntp_parser.y"
2366*68ba7e87SXin LI     { (yyval.Address_node) = create_address_node((yyvsp[(2) - (2)].String), (yyvsp[(1) - (2)].Integer)); }
23672b15cb3dSCy Schubert     break;
23682b15cb3dSCy Schubert 
2369a25439b6SCy Schubert   case 28:
2370*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2371*68ba7e87SXin LI #line 436 "../../ntpd/ntp_parser.y"
2372*68ba7e87SXin LI     { (yyval.Address_node) = create_address_node((yyvsp[(1) - (1)].String), AF_UNSPEC); }
23732b15cb3dSCy Schubert     break;
23742b15cb3dSCy Schubert 
2375a25439b6SCy Schubert   case 29:
2376*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2377*68ba7e87SXin LI #line 441 "../../ntpd/ntp_parser.y"
2378a25439b6SCy Schubert     { (yyval.Integer) = AF_INET; }
23792b15cb3dSCy Schubert     break;
23802b15cb3dSCy Schubert 
2381a25439b6SCy Schubert   case 30:
2382*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2383*68ba7e87SXin LI #line 443 "../../ntpd/ntp_parser.y"
2384a25439b6SCy Schubert     { (yyval.Integer) = AF_INET6; }
23852b15cb3dSCy Schubert     break;
23862b15cb3dSCy Schubert 
2387a25439b6SCy Schubert   case 31:
2388*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2389*68ba7e87SXin LI #line 448 "../../ntpd/ntp_parser.y"
2390a25439b6SCy Schubert     { (yyval.Attr_val_fifo) = NULL; }
2391a25439b6SCy Schubert     break;
2392a25439b6SCy Schubert 
2393a25439b6SCy Schubert   case 32:
2394*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2395*68ba7e87SXin LI #line 450 "../../ntpd/ntp_parser.y"
23962b15cb3dSCy Schubert     {
2397*68ba7e87SXin LI 			(yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo);
2398*68ba7e87SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val));
23992b15cb3dSCy Schubert 		}
24002b15cb3dSCy Schubert     break;
24012b15cb3dSCy Schubert 
2402a25439b6SCy Schubert   case 36:
2403*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2404*68ba7e87SXin LI #line 464 "../../ntpd/ntp_parser.y"
2405*68ba7e87SXin LI     { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[(1) - (1)].Integer)); }
24062b15cb3dSCy Schubert     break;
24072b15cb3dSCy Schubert 
2408a25439b6SCy Schubert   case 45:
2409*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2410*68ba7e87SXin LI #line 480 "../../ntpd/ntp_parser.y"
2411*68ba7e87SXin LI     { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); }
24122b15cb3dSCy Schubert     break;
24132b15cb3dSCy Schubert 
2414a25439b6SCy Schubert   case 46:
2415*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2416*68ba7e87SXin LI #line 482 "../../ntpd/ntp_parser.y"
2417*68ba7e87SXin LI     { (yyval.Attr_val) = create_attr_uval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); }
24182b15cb3dSCy Schubert     break;
24192b15cb3dSCy Schubert 
2420a25439b6SCy Schubert   case 53:
2421*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2422*68ba7e87SXin LI #line 496 "../../ntpd/ntp_parser.y"
2423*68ba7e87SXin LI     { (yyval.Attr_val) = create_attr_sval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].String)); }
2424a25439b6SCy Schubert     break;
2425a25439b6SCy Schubert 
24262b15cb3dSCy Schubert   case 55:
2427*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2428*68ba7e87SXin LI #line 510 "../../ntpd/ntp_parser.y"
24292b15cb3dSCy Schubert     {
24302b15cb3dSCy Schubert 			unpeer_node *my_node;
24312b15cb3dSCy Schubert 
2432*68ba7e87SXin LI 			my_node = create_unpeer_node((yyvsp[(2) - (2)].Address_node));
24332b15cb3dSCy Schubert 			if (my_node)
24342b15cb3dSCy Schubert 				APPEND_G_FIFO(cfgt.unpeers, my_node);
24352b15cb3dSCy Schubert 		}
24362b15cb3dSCy Schubert     break;
24372b15cb3dSCy Schubert 
2438a25439b6SCy Schubert   case 58:
2439*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2440*68ba7e87SXin LI #line 531 "../../ntpd/ntp_parser.y"
2441a25439b6SCy Schubert     { cfgt.broadcastclient = 1; }
24422b15cb3dSCy Schubert     break;
24432b15cb3dSCy Schubert 
2444a25439b6SCy Schubert   case 59:
2445*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2446*68ba7e87SXin LI #line 533 "../../ntpd/ntp_parser.y"
2447*68ba7e87SXin LI     { CONCAT_G_FIFOS(cfgt.manycastserver, (yyvsp[(2) - (2)].Address_fifo)); }
24482b15cb3dSCy Schubert     break;
24492b15cb3dSCy Schubert 
2450a25439b6SCy Schubert   case 60:
2451*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2452*68ba7e87SXin LI #line 535 "../../ntpd/ntp_parser.y"
2453*68ba7e87SXin LI     { CONCAT_G_FIFOS(cfgt.multicastclient, (yyvsp[(2) - (2)].Address_fifo)); }
24542b15cb3dSCy Schubert     break;
24552b15cb3dSCy Schubert 
2456a25439b6SCy Schubert   case 61:
2457*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2458*68ba7e87SXin LI #line 537 "../../ntpd/ntp_parser.y"
2459*68ba7e87SXin LI     { cfgt.mdnstries = (yyvsp[(2) - (2)].Integer); }
2460a25439b6SCy Schubert     break;
2461a25439b6SCy Schubert 
24622b15cb3dSCy Schubert   case 62:
2463*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2464*68ba7e87SXin LI #line 548 "../../ntpd/ntp_parser.y"
24652b15cb3dSCy Schubert     {
24662b15cb3dSCy Schubert 			attr_val *atrv;
24672b15cb3dSCy Schubert 
2468*68ba7e87SXin LI 			atrv = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer));
24692b15cb3dSCy Schubert 			APPEND_G_FIFO(cfgt.vars, atrv);
24702b15cb3dSCy Schubert 		}
24712b15cb3dSCy Schubert     break;
24722b15cb3dSCy Schubert 
2473a25439b6SCy Schubert   case 63:
2474*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2475*68ba7e87SXin LI #line 555 "../../ntpd/ntp_parser.y"
2476*68ba7e87SXin LI     { cfgt.auth.control_key = (yyvsp[(2) - (2)].Integer); }
2477a25439b6SCy Schubert     break;
2478a25439b6SCy Schubert 
2479a25439b6SCy Schubert   case 64:
2480*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2481*68ba7e87SXin LI #line 557 "../../ntpd/ntp_parser.y"
24822b15cb3dSCy Schubert     {
24832b15cb3dSCy Schubert 			cfgt.auth.cryptosw++;
2484*68ba7e87SXin LI 			CONCAT_G_FIFOS(cfgt.auth.crypto_cmd_list, (yyvsp[(2) - (2)].Attr_val_fifo));
24852b15cb3dSCy Schubert 		}
24862b15cb3dSCy Schubert     break;
24872b15cb3dSCy Schubert 
2488a25439b6SCy Schubert   case 65:
2489*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2490*68ba7e87SXin LI #line 562 "../../ntpd/ntp_parser.y"
2491*68ba7e87SXin LI     { cfgt.auth.keys = (yyvsp[(2) - (2)].String); }
24922b15cb3dSCy Schubert     break;
24932b15cb3dSCy Schubert 
2494a25439b6SCy Schubert   case 66:
2495*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2496*68ba7e87SXin LI #line 564 "../../ntpd/ntp_parser.y"
2497*68ba7e87SXin LI     { cfgt.auth.keysdir = (yyvsp[(2) - (2)].String); }
24982b15cb3dSCy Schubert     break;
24992b15cb3dSCy Schubert 
2500a25439b6SCy Schubert   case 67:
2501*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2502*68ba7e87SXin LI #line 566 "../../ntpd/ntp_parser.y"
2503*68ba7e87SXin LI     { cfgt.auth.request_key = (yyvsp[(2) - (2)].Integer); }
25042b15cb3dSCy Schubert     break;
25052b15cb3dSCy Schubert 
2506a25439b6SCy Schubert   case 68:
2507*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2508*68ba7e87SXin LI #line 568 "../../ntpd/ntp_parser.y"
2509*68ba7e87SXin LI     { cfgt.auth.revoke = (yyvsp[(2) - (2)].Integer); }
2510a25439b6SCy Schubert     break;
2511a25439b6SCy Schubert 
2512a25439b6SCy Schubert   case 69:
2513*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2514*68ba7e87SXin LI #line 570 "../../ntpd/ntp_parser.y"
25152b15cb3dSCy Schubert     {
2516*68ba7e87SXin LI 			cfgt.auth.trusted_key_list = (yyvsp[(2) - (2)].Attr_val_fifo);
25172b15cb3dSCy Schubert 
25182b15cb3dSCy Schubert 			// if (!cfgt.auth.trusted_key_list)
25192b15cb3dSCy Schubert 			// 	cfgt.auth.trusted_key_list = $2;
25202b15cb3dSCy Schubert 			// else
25212b15cb3dSCy Schubert 			// 	LINK_SLIST(cfgt.auth.trusted_key_list, $2, link);
25222b15cb3dSCy Schubert 		}
25232b15cb3dSCy Schubert     break;
25242b15cb3dSCy Schubert 
2525a25439b6SCy Schubert   case 70:
2526*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2527*68ba7e87SXin LI #line 579 "../../ntpd/ntp_parser.y"
2528*68ba7e87SXin LI     { cfgt.auth.ntp_signd_socket = (yyvsp[(2) - (2)].String); }
25292b15cb3dSCy Schubert     break;
25302b15cb3dSCy Schubert 
2531a25439b6SCy Schubert   case 71:
2532*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2533*68ba7e87SXin LI #line 584 "../../ntpd/ntp_parser.y"
2534a25439b6SCy Schubert     { (yyval.Attr_val_fifo) = NULL; }
2535a25439b6SCy Schubert     break;
2536a25439b6SCy Schubert 
2537a25439b6SCy Schubert   case 72:
2538*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2539*68ba7e87SXin LI #line 586 "../../ntpd/ntp_parser.y"
25402b15cb3dSCy Schubert     {
2541*68ba7e87SXin LI 			(yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo);
2542*68ba7e87SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val));
25432b15cb3dSCy Schubert 		}
25442b15cb3dSCy Schubert     break;
25452b15cb3dSCy Schubert 
2546a25439b6SCy Schubert   case 73:
2547*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2548*68ba7e87SXin LI #line 594 "../../ntpd/ntp_parser.y"
2549*68ba7e87SXin LI     { (yyval.Attr_val) = create_attr_sval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].String)); }
2550a25439b6SCy Schubert     break;
2551a25439b6SCy Schubert 
2552a25439b6SCy Schubert   case 74:
2553*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2554*68ba7e87SXin LI #line 596 "../../ntpd/ntp_parser.y"
25552b15cb3dSCy Schubert     {
25562b15cb3dSCy Schubert 			(yyval.Attr_val) = NULL;
2557*68ba7e87SXin LI 			cfgt.auth.revoke = (yyvsp[(2) - (2)].Integer);
25582b15cb3dSCy Schubert 			msyslog(LOG_WARNING,
25592b15cb3dSCy Schubert 				"'crypto revoke %d' is deprecated, "
25602b15cb3dSCy Schubert 				"please use 'revoke %d' instead.",
25612b15cb3dSCy Schubert 				cfgt.auth.revoke, cfgt.auth.revoke);
25622b15cb3dSCy Schubert 		}
25632b15cb3dSCy Schubert     break;
25642b15cb3dSCy Schubert 
2565a25439b6SCy Schubert   case 80:
2566*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2567*68ba7e87SXin LI #line 621 "../../ntpd/ntp_parser.y"
2568*68ba7e87SXin LI     { CONCAT_G_FIFOS(cfgt.orphan_cmds, (yyvsp[(2) - (2)].Attr_val_fifo)); }
2569a25439b6SCy Schubert     break;
2570a25439b6SCy Schubert 
25712b15cb3dSCy Schubert   case 81:
2572*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2573*68ba7e87SXin LI #line 626 "../../ntpd/ntp_parser.y"
25742b15cb3dSCy Schubert     {
2575*68ba7e87SXin LI 			(yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo);
2576*68ba7e87SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val));
25772b15cb3dSCy Schubert 		}
25782b15cb3dSCy Schubert     break;
25792b15cb3dSCy Schubert 
25802b15cb3dSCy Schubert   case 82:
2581*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2582*68ba7e87SXin LI #line 631 "../../ntpd/ntp_parser.y"
25832b15cb3dSCy Schubert     {
25842b15cb3dSCy Schubert 			(yyval.Attr_val_fifo) = NULL;
2585*68ba7e87SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val));
25862b15cb3dSCy Schubert 		}
25872b15cb3dSCy Schubert     break;
25882b15cb3dSCy Schubert 
2589a25439b6SCy Schubert   case 83:
2590*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2591*68ba7e87SXin LI #line 639 "../../ntpd/ntp_parser.y"
2592*68ba7e87SXin LI     { (yyval.Attr_val) = create_attr_dval((yyvsp[(1) - (2)].Integer), (double)(yyvsp[(2) - (2)].Integer)); }
25932b15cb3dSCy Schubert     break;
25942b15cb3dSCy Schubert 
2595a25439b6SCy Schubert   case 84:
2596*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2597*68ba7e87SXin LI #line 641 "../../ntpd/ntp_parser.y"
2598*68ba7e87SXin LI     { (yyval.Attr_val) = create_attr_dval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Double)); }
25992b15cb3dSCy Schubert     break;
26002b15cb3dSCy Schubert 
2601a25439b6SCy Schubert   case 85:
2602*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2603*68ba7e87SXin LI #line 643 "../../ntpd/ntp_parser.y"
2604*68ba7e87SXin LI     { (yyval.Attr_val) = create_attr_dval((yyvsp[(1) - (2)].Integer), (double)(yyvsp[(2) - (2)].Integer)); }
26052b15cb3dSCy Schubert     break;
26062b15cb3dSCy Schubert 
2607a25439b6SCy Schubert   case 96:
2608*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2609*68ba7e87SXin LI #line 669 "../../ntpd/ntp_parser.y"
2610*68ba7e87SXin LI     { CONCAT_G_FIFOS(cfgt.stats_list, (yyvsp[(2) - (2)].Int_fifo)); }
2611a25439b6SCy Schubert     break;
2612a25439b6SCy Schubert 
2613a25439b6SCy Schubert   case 97:
2614*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2615*68ba7e87SXin LI #line 671 "../../ntpd/ntp_parser.y"
26162b15cb3dSCy Schubert     {
2617276da39aSCy Schubert 			if (lex_from_file()) {
2618*68ba7e87SXin LI 				cfgt.stats_dir = (yyvsp[(2) - (2)].String);
26192b15cb3dSCy Schubert 			} else {
2620*68ba7e87SXin LI 				YYFREE((yyvsp[(2) - (2)].String));
2621276da39aSCy Schubert 				yyerror("statsdir remote configuration ignored");
26222b15cb3dSCy Schubert 			}
26232b15cb3dSCy Schubert 		}
26242b15cb3dSCy Schubert     break;
26252b15cb3dSCy Schubert 
26262b15cb3dSCy Schubert   case 98:
2627*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2628*68ba7e87SXin LI #line 680 "../../ntpd/ntp_parser.y"
26292b15cb3dSCy Schubert     {
26302b15cb3dSCy Schubert 			filegen_node *fgn;
26312b15cb3dSCy Schubert 
2632*68ba7e87SXin LI 			fgn = create_filegen_node((yyvsp[(2) - (3)].Integer), (yyvsp[(3) - (3)].Attr_val_fifo));
26332b15cb3dSCy Schubert 			APPEND_G_FIFO(cfgt.filegen_opts, fgn);
26342b15cb3dSCy Schubert 		}
26352b15cb3dSCy Schubert     break;
26362b15cb3dSCy Schubert 
26372b15cb3dSCy Schubert   case 99:
2638*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2639*68ba7e87SXin LI #line 690 "../../ntpd/ntp_parser.y"
26402b15cb3dSCy Schubert     {
2641*68ba7e87SXin LI 			(yyval.Int_fifo) = (yyvsp[(1) - (2)].Int_fifo);
2642*68ba7e87SXin LI 			APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[(2) - (2)].Integer)));
26432b15cb3dSCy Schubert 		}
26442b15cb3dSCy Schubert     break;
26452b15cb3dSCy Schubert 
26462b15cb3dSCy Schubert   case 100:
2647*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2648*68ba7e87SXin LI #line 695 "../../ntpd/ntp_parser.y"
26492b15cb3dSCy Schubert     {
26502b15cb3dSCy Schubert 			(yyval.Int_fifo) = NULL;
2651*68ba7e87SXin LI 			APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[(1) - (1)].Integer)));
26522b15cb3dSCy Schubert 		}
26532b15cb3dSCy Schubert     break;
26542b15cb3dSCy Schubert 
2655a25439b6SCy Schubert   case 109:
2656*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2657*68ba7e87SXin LI #line 714 "../../ntpd/ntp_parser.y"
2658a25439b6SCy Schubert     { (yyval.Attr_val_fifo) = NULL; }
2659a25439b6SCy Schubert     break;
2660a25439b6SCy Schubert 
2661a25439b6SCy Schubert   case 110:
2662*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2663*68ba7e87SXin LI #line 716 "../../ntpd/ntp_parser.y"
26642b15cb3dSCy Schubert     {
2665*68ba7e87SXin LI 			(yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo);
2666*68ba7e87SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val));
26672b15cb3dSCy Schubert 		}
26682b15cb3dSCy Schubert     break;
26692b15cb3dSCy Schubert 
26702b15cb3dSCy Schubert   case 111:
2671*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2672*68ba7e87SXin LI #line 724 "../../ntpd/ntp_parser.y"
26732b15cb3dSCy Schubert     {
2674276da39aSCy Schubert 			if (lex_from_file()) {
2675*68ba7e87SXin LI 				(yyval.Attr_val) = create_attr_sval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].String));
26762b15cb3dSCy Schubert 			} else {
26772b15cb3dSCy Schubert 				(yyval.Attr_val) = NULL;
2678*68ba7e87SXin LI 				YYFREE((yyvsp[(2) - (2)].String));
2679276da39aSCy Schubert 				yyerror("filegen file remote config ignored");
26802b15cb3dSCy Schubert 			}
26812b15cb3dSCy Schubert 		}
26822b15cb3dSCy Schubert     break;
26832b15cb3dSCy Schubert 
26842b15cb3dSCy Schubert   case 112:
2685*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2686*68ba7e87SXin LI #line 734 "../../ntpd/ntp_parser.y"
26872b15cb3dSCy Schubert     {
2688276da39aSCy Schubert 			if (lex_from_file()) {
2689*68ba7e87SXin LI 				(yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer));
26902b15cb3dSCy Schubert 			} else {
26912b15cb3dSCy Schubert 				(yyval.Attr_val) = NULL;
2692276da39aSCy Schubert 				yyerror("filegen type remote config ignored");
26932b15cb3dSCy Schubert 			}
26942b15cb3dSCy Schubert 		}
26952b15cb3dSCy Schubert     break;
26962b15cb3dSCy Schubert 
26972b15cb3dSCy Schubert   case 113:
2698*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2699*68ba7e87SXin LI #line 743 "../../ntpd/ntp_parser.y"
27002b15cb3dSCy Schubert     {
27012b15cb3dSCy Schubert 			const char *err;
27022b15cb3dSCy Schubert 
2703276da39aSCy Schubert 			if (lex_from_file()) {
2704*68ba7e87SXin LI 				(yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[(1) - (1)].Integer));
27052b15cb3dSCy Schubert 			} else {
27062b15cb3dSCy Schubert 				(yyval.Attr_val) = NULL;
2707*68ba7e87SXin LI 				if (T_Link == (yyvsp[(1) - (1)].Integer))
27082b15cb3dSCy Schubert 					err = "filegen link remote config ignored";
27092b15cb3dSCy Schubert 				else
27102b15cb3dSCy Schubert 					err = "filegen nolink remote config ignored";
2711276da39aSCy Schubert 				yyerror(err);
27122b15cb3dSCy Schubert 			}
27132b15cb3dSCy Schubert 		}
27142b15cb3dSCy Schubert     break;
27152b15cb3dSCy Schubert 
2716a25439b6SCy Schubert   case 114:
2717*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2718*68ba7e87SXin LI #line 758 "../../ntpd/ntp_parser.y"
2719*68ba7e87SXin LI     { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[(1) - (1)].Integer)); }
2720a25439b6SCy Schubert     break;
2721a25439b6SCy Schubert 
27222b15cb3dSCy Schubert   case 126:
2723*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2724*68ba7e87SXin LI #line 788 "../../ntpd/ntp_parser.y"
27252b15cb3dSCy Schubert     {
2726*68ba7e87SXin LI 			CONCAT_G_FIFOS(cfgt.discard_opts, (yyvsp[(2) - (2)].Attr_val_fifo));
27272b15cb3dSCy Schubert 		}
27282b15cb3dSCy Schubert     break;
27292b15cb3dSCy Schubert 
27302b15cb3dSCy Schubert   case 127:
2731*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2732*68ba7e87SXin LI #line 792 "../../ntpd/ntp_parser.y"
27332b15cb3dSCy Schubert     {
2734*68ba7e87SXin LI 			CONCAT_G_FIFOS(cfgt.mru_opts, (yyvsp[(2) - (2)].Attr_val_fifo));
27352b15cb3dSCy Schubert 		}
27362b15cb3dSCy Schubert     break;
27372b15cb3dSCy Schubert 
27382b15cb3dSCy Schubert   case 128:
2739*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2740*68ba7e87SXin LI #line 796 "../../ntpd/ntp_parser.y"
27412b15cb3dSCy Schubert     {
27422b15cb3dSCy Schubert 			restrict_node *rn;
27432b15cb3dSCy Schubert 
2744*68ba7e87SXin LI 			rn = create_restrict_node((yyvsp[(2) - (3)].Address_node), NULL, (yyvsp[(3) - (3)].Int_fifo),
2745276da39aSCy Schubert 						  lex_current()->curpos.nline);
27462b15cb3dSCy Schubert 			APPEND_G_FIFO(cfgt.restrict_opts, rn);
27472b15cb3dSCy Schubert 		}
27482b15cb3dSCy Schubert     break;
27492b15cb3dSCy Schubert 
27502b15cb3dSCy Schubert   case 129:
2751*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2752*68ba7e87SXin LI #line 804 "../../ntpd/ntp_parser.y"
27532b15cb3dSCy Schubert     {
27542b15cb3dSCy Schubert 			restrict_node *rn;
27552b15cb3dSCy Schubert 
2756*68ba7e87SXin LI 			rn = create_restrict_node((yyvsp[(2) - (5)].Address_node), (yyvsp[(4) - (5)].Address_node), (yyvsp[(5) - (5)].Int_fifo),
2757276da39aSCy Schubert 						  lex_current()->curpos.nline);
27582b15cb3dSCy Schubert 			APPEND_G_FIFO(cfgt.restrict_opts, rn);
27592b15cb3dSCy Schubert 		}
27602b15cb3dSCy Schubert     break;
27612b15cb3dSCy Schubert 
27622b15cb3dSCy Schubert   case 130:
2763*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2764*68ba7e87SXin LI #line 812 "../../ntpd/ntp_parser.y"
27652b15cb3dSCy Schubert     {
27662b15cb3dSCy Schubert 			restrict_node *rn;
27672b15cb3dSCy Schubert 
2768*68ba7e87SXin LI 			rn = create_restrict_node(NULL, NULL, (yyvsp[(3) - (3)].Int_fifo),
2769276da39aSCy Schubert 						  lex_current()->curpos.nline);
27702b15cb3dSCy Schubert 			APPEND_G_FIFO(cfgt.restrict_opts, rn);
27712b15cb3dSCy Schubert 		}
27722b15cb3dSCy Schubert     break;
27732b15cb3dSCy Schubert 
27742b15cb3dSCy Schubert   case 131:
2775*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2776*68ba7e87SXin LI #line 820 "../../ntpd/ntp_parser.y"
27772b15cb3dSCy Schubert     {
27782b15cb3dSCy Schubert 			restrict_node *rn;
27792b15cb3dSCy Schubert 
27802b15cb3dSCy Schubert 			rn = create_restrict_node(
27812b15cb3dSCy Schubert 				create_address_node(
27822b15cb3dSCy Schubert 					estrdup("0.0.0.0"),
27832b15cb3dSCy Schubert 					AF_INET),
27842b15cb3dSCy Schubert 				create_address_node(
27852b15cb3dSCy Schubert 					estrdup("0.0.0.0"),
27862b15cb3dSCy Schubert 					AF_INET),
2787*68ba7e87SXin LI 				(yyvsp[(4) - (4)].Int_fifo),
2788276da39aSCy Schubert 				lex_current()->curpos.nline);
27892b15cb3dSCy Schubert 			APPEND_G_FIFO(cfgt.restrict_opts, rn);
27902b15cb3dSCy Schubert 		}
27912b15cb3dSCy Schubert     break;
27922b15cb3dSCy Schubert 
27932b15cb3dSCy Schubert   case 132:
2794*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2795*68ba7e87SXin LI #line 835 "../../ntpd/ntp_parser.y"
27962b15cb3dSCy Schubert     {
27972b15cb3dSCy Schubert 			restrict_node *rn;
27982b15cb3dSCy Schubert 
27992b15cb3dSCy Schubert 			rn = create_restrict_node(
28002b15cb3dSCy Schubert 				create_address_node(
28012b15cb3dSCy Schubert 					estrdup("::"),
28022b15cb3dSCy Schubert 					AF_INET6),
28032b15cb3dSCy Schubert 				create_address_node(
28042b15cb3dSCy Schubert 					estrdup("::"),
28052b15cb3dSCy Schubert 					AF_INET6),
2806*68ba7e87SXin LI 				(yyvsp[(4) - (4)].Int_fifo),
2807276da39aSCy Schubert 				lex_current()->curpos.nline);
28082b15cb3dSCy Schubert 			APPEND_G_FIFO(cfgt.restrict_opts, rn);
28092b15cb3dSCy Schubert 		}
28102b15cb3dSCy Schubert     break;
28112b15cb3dSCy Schubert 
28122b15cb3dSCy Schubert   case 133:
2813*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2814*68ba7e87SXin LI #line 850 "../../ntpd/ntp_parser.y"
28152b15cb3dSCy Schubert     {
28162b15cb3dSCy Schubert 			restrict_node *	rn;
28172b15cb3dSCy Schubert 
2818*68ba7e87SXin LI 			APPEND_G_FIFO((yyvsp[(3) - (3)].Int_fifo), create_int_node((yyvsp[(2) - (3)].Integer)));
28192b15cb3dSCy Schubert 			rn = create_restrict_node(
2820*68ba7e87SXin LI 				NULL, NULL, (yyvsp[(3) - (3)].Int_fifo), lex_current()->curpos.nline);
28212b15cb3dSCy Schubert 			APPEND_G_FIFO(cfgt.restrict_opts, rn);
28222b15cb3dSCy Schubert 		}
28232b15cb3dSCy Schubert     break;
28242b15cb3dSCy Schubert 
2825a25439b6SCy Schubert   case 134:
2826*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2827*68ba7e87SXin LI #line 862 "../../ntpd/ntp_parser.y"
2828a25439b6SCy Schubert     { (yyval.Int_fifo) = NULL; }
2829a25439b6SCy Schubert     break;
2830a25439b6SCy Schubert 
2831a25439b6SCy Schubert   case 135:
2832*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2833*68ba7e87SXin LI #line 864 "../../ntpd/ntp_parser.y"
28342b15cb3dSCy Schubert     {
2835*68ba7e87SXin LI 			(yyval.Int_fifo) = (yyvsp[(1) - (2)].Int_fifo);
2836*68ba7e87SXin LI 			APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[(2) - (2)].Integer)));
28372b15cb3dSCy Schubert 		}
28382b15cb3dSCy Schubert     break;
28392b15cb3dSCy Schubert 
28402b15cb3dSCy Schubert   case 151:
2841*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2842*68ba7e87SXin LI #line 890 "../../ntpd/ntp_parser.y"
28432b15cb3dSCy Schubert     {
2844*68ba7e87SXin LI 			(yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo);
2845*68ba7e87SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val));
28462b15cb3dSCy Schubert 		}
28472b15cb3dSCy Schubert     break;
28482b15cb3dSCy Schubert 
28492b15cb3dSCy Schubert   case 152:
2850*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2851*68ba7e87SXin LI #line 895 "../../ntpd/ntp_parser.y"
28522b15cb3dSCy Schubert     {
28532b15cb3dSCy Schubert 			(yyval.Attr_val_fifo) = NULL;
2854*68ba7e87SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val));
28552b15cb3dSCy Schubert 		}
28562b15cb3dSCy Schubert     break;
28572b15cb3dSCy Schubert 
2858a25439b6SCy Schubert   case 153:
2859*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2860*68ba7e87SXin LI #line 903 "../../ntpd/ntp_parser.y"
2861*68ba7e87SXin LI     { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); }
2862a25439b6SCy Schubert     break;
2863a25439b6SCy Schubert 
28642b15cb3dSCy Schubert   case 157:
2865*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2866*68ba7e87SXin LI #line 914 "../../ntpd/ntp_parser.y"
28672b15cb3dSCy Schubert     {
2868*68ba7e87SXin LI 			(yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo);
2869*68ba7e87SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val));
28702b15cb3dSCy Schubert 		}
28712b15cb3dSCy Schubert     break;
28722b15cb3dSCy Schubert 
28732b15cb3dSCy Schubert   case 158:
2874*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2875*68ba7e87SXin LI #line 919 "../../ntpd/ntp_parser.y"
28762b15cb3dSCy Schubert     {
28772b15cb3dSCy Schubert 			(yyval.Attr_val_fifo) = NULL;
2878*68ba7e87SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val));
28792b15cb3dSCy Schubert 		}
28802b15cb3dSCy Schubert     break;
28812b15cb3dSCy Schubert 
2882a25439b6SCy Schubert   case 159:
2883*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2884*68ba7e87SXin LI #line 927 "../../ntpd/ntp_parser.y"
2885*68ba7e87SXin LI     { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); }
2886a25439b6SCy Schubert     break;
2887a25439b6SCy Schubert 
28882b15cb3dSCy Schubert   case 168:
2889*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2890*68ba7e87SXin LI #line 947 "../../ntpd/ntp_parser.y"
28912b15cb3dSCy Schubert     {
28922b15cb3dSCy Schubert 			addr_opts_node *aon;
28932b15cb3dSCy Schubert 
2894*68ba7e87SXin LI 			aon = create_addr_opts_node((yyvsp[(2) - (3)].Address_node), (yyvsp[(3) - (3)].Attr_val_fifo));
28952b15cb3dSCy Schubert 			APPEND_G_FIFO(cfgt.fudge, aon);
28962b15cb3dSCy Schubert 		}
28972b15cb3dSCy Schubert     break;
28982b15cb3dSCy Schubert 
28992b15cb3dSCy Schubert   case 169:
2900*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2901*68ba7e87SXin LI #line 957 "../../ntpd/ntp_parser.y"
29022b15cb3dSCy Schubert     {
2903*68ba7e87SXin LI 			(yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo);
2904*68ba7e87SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val));
29052b15cb3dSCy Schubert 		}
29062b15cb3dSCy Schubert     break;
29072b15cb3dSCy Schubert 
29082b15cb3dSCy Schubert   case 170:
2909*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2910*68ba7e87SXin LI #line 962 "../../ntpd/ntp_parser.y"
29112b15cb3dSCy Schubert     {
29122b15cb3dSCy Schubert 			(yyval.Attr_val_fifo) = NULL;
2913*68ba7e87SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val));
29142b15cb3dSCy Schubert 		}
29152b15cb3dSCy Schubert     break;
29162b15cb3dSCy Schubert 
2917a25439b6SCy Schubert   case 171:
2918*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2919*68ba7e87SXin LI #line 970 "../../ntpd/ntp_parser.y"
2920*68ba7e87SXin LI     { (yyval.Attr_val) = create_attr_dval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Double)); }
29212b15cb3dSCy Schubert     break;
29222b15cb3dSCy Schubert 
2923a25439b6SCy Schubert   case 172:
2924*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2925*68ba7e87SXin LI #line 972 "../../ntpd/ntp_parser.y"
2926*68ba7e87SXin LI     { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); }
29272b15cb3dSCy Schubert     break;
29282b15cb3dSCy Schubert 
2929a25439b6SCy Schubert   case 173:
2930*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2931*68ba7e87SXin LI #line 974 "../../ntpd/ntp_parser.y"
29323311ff84SXin LI     {
2933*68ba7e87SXin LI 			if ((yyvsp[(2) - (2)].Integer) >= 0 && (yyvsp[(2) - (2)].Integer) <= 16) {
2934*68ba7e87SXin LI 				(yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer));
29353311ff84SXin LI 			} else {
29363311ff84SXin LI 				(yyval.Attr_val) = NULL;
29373311ff84SXin LI 				yyerror("fudge factor: stratum value not in [0..16], ignored");
29383311ff84SXin LI 			}
29393311ff84SXin LI 		}
29402b15cb3dSCy Schubert     break;
29412b15cb3dSCy Schubert 
2942a25439b6SCy Schubert   case 174:
2943*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2944*68ba7e87SXin LI #line 983 "../../ntpd/ntp_parser.y"
2945*68ba7e87SXin LI     { (yyval.Attr_val) = create_attr_sval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].String)); }
29462b15cb3dSCy Schubert     break;
29472b15cb3dSCy Schubert 
2948a25439b6SCy Schubert   case 175:
2949*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2950*68ba7e87SXin LI #line 985 "../../ntpd/ntp_parser.y"
2951*68ba7e87SXin LI     { (yyval.Attr_val) = create_attr_sval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].String)); }
29522b15cb3dSCy Schubert     break;
29532b15cb3dSCy Schubert 
2954a25439b6SCy Schubert   case 182:
2955*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2956*68ba7e87SXin LI #line 1006 "../../ntpd/ntp_parser.y"
2957*68ba7e87SXin LI     { CONCAT_G_FIFOS(cfgt.rlimit, (yyvsp[(2) - (2)].Attr_val_fifo)); }
2958a25439b6SCy Schubert     break;
2959a25439b6SCy Schubert 
29602b15cb3dSCy Schubert   case 183:
2961*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2962*68ba7e87SXin LI #line 1011 "../../ntpd/ntp_parser.y"
29632b15cb3dSCy Schubert     {
2964*68ba7e87SXin LI 			(yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo);
2965*68ba7e87SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val));
29662b15cb3dSCy Schubert 		}
29672b15cb3dSCy Schubert     break;
29682b15cb3dSCy Schubert 
29692b15cb3dSCy Schubert   case 184:
2970*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2971*68ba7e87SXin LI #line 1016 "../../ntpd/ntp_parser.y"
29722b15cb3dSCy Schubert     {
29732b15cb3dSCy Schubert 			(yyval.Attr_val_fifo) = NULL;
2974*68ba7e87SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val));
29752b15cb3dSCy Schubert 		}
29762b15cb3dSCy Schubert     break;
29772b15cb3dSCy Schubert 
2978a25439b6SCy Schubert   case 185:
2979*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2980*68ba7e87SXin LI #line 1024 "../../ntpd/ntp_parser.y"
2981*68ba7e87SXin LI     { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); }
29822b15cb3dSCy Schubert     break;
29832b15cb3dSCy Schubert 
2984a25439b6SCy Schubert   case 189:
2985*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2986*68ba7e87SXin LI #line 1040 "../../ntpd/ntp_parser.y"
2987*68ba7e87SXin LI     { CONCAT_G_FIFOS(cfgt.enable_opts, (yyvsp[(2) - (2)].Attr_val_fifo)); }
29882b15cb3dSCy Schubert     break;
29892b15cb3dSCy Schubert 
2990a25439b6SCy Schubert   case 190:
2991*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2992*68ba7e87SXin LI #line 1042 "../../ntpd/ntp_parser.y"
2993*68ba7e87SXin LI     { CONCAT_G_FIFOS(cfgt.disable_opts, (yyvsp[(2) - (2)].Attr_val_fifo)); }
2994a25439b6SCy Schubert     break;
2995a25439b6SCy Schubert 
29962b15cb3dSCy Schubert   case 191:
2997*68ba7e87SXin LI /* Line 1787 of yacc.c  */
2998*68ba7e87SXin LI #line 1047 "../../ntpd/ntp_parser.y"
29992b15cb3dSCy Schubert     {
3000*68ba7e87SXin LI 			(yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo);
3001*68ba7e87SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val));
30022b15cb3dSCy Schubert 		}
30032b15cb3dSCy Schubert     break;
30042b15cb3dSCy Schubert 
30052b15cb3dSCy Schubert   case 192:
3006*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3007*68ba7e87SXin LI #line 1052 "../../ntpd/ntp_parser.y"
30082b15cb3dSCy Schubert     {
30092b15cb3dSCy Schubert 			(yyval.Attr_val_fifo) = NULL;
3010*68ba7e87SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val));
30112b15cb3dSCy Schubert 		}
30122b15cb3dSCy Schubert     break;
30132b15cb3dSCy Schubert 
3014a25439b6SCy Schubert   case 193:
3015*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3016*68ba7e87SXin LI #line 1060 "../../ntpd/ntp_parser.y"
3017*68ba7e87SXin LI     { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[(1) - (1)].Integer)); }
3018a25439b6SCy Schubert     break;
3019a25439b6SCy Schubert 
3020a25439b6SCy Schubert   case 194:
3021*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3022*68ba7e87SXin LI #line 1062 "../../ntpd/ntp_parser.y"
30232b15cb3dSCy Schubert     {
3024276da39aSCy Schubert 			if (lex_from_file()) {
3025*68ba7e87SXin LI 				(yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[(1) - (1)].Integer));
30262b15cb3dSCy Schubert 			} else {
30272b15cb3dSCy Schubert 				char err_str[128];
30282b15cb3dSCy Schubert 
30292b15cb3dSCy Schubert 				(yyval.Attr_val) = NULL;
30302b15cb3dSCy Schubert 				snprintf(err_str, sizeof(err_str),
30312b15cb3dSCy Schubert 					 "enable/disable %s remote configuration ignored",
3032*68ba7e87SXin LI 					 keyword((yyvsp[(1) - (1)].Integer)));
3033276da39aSCy Schubert 				yyerror(err_str);
30342b15cb3dSCy Schubert 			}
30352b15cb3dSCy Schubert 		}
30362b15cb3dSCy Schubert     break;
30372b15cb3dSCy Schubert 
3038a25439b6SCy Schubert   case 206:
3039*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3040*68ba7e87SXin LI #line 1100 "../../ntpd/ntp_parser.y"
3041*68ba7e87SXin LI     { CONCAT_G_FIFOS(cfgt.tinker, (yyvsp[(2) - (2)].Attr_val_fifo)); }
3042a25439b6SCy Schubert     break;
3043a25439b6SCy Schubert 
3044*68ba7e87SXin LI   case 207:
3045*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3046*68ba7e87SXin LI #line 1105 "../../ntpd/ntp_parser.y"
30472b15cb3dSCy Schubert     {
3048*68ba7e87SXin LI 			(yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo);
3049*68ba7e87SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val));
30502b15cb3dSCy Schubert 		}
30512b15cb3dSCy Schubert     break;
30522b15cb3dSCy Schubert 
3053*68ba7e87SXin LI   case 208:
3054*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3055*68ba7e87SXin LI #line 1110 "../../ntpd/ntp_parser.y"
30562b15cb3dSCy Schubert     {
3057*68ba7e87SXin LI 			(yyval.Attr_val_fifo) = NULL;
3058*68ba7e87SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val));
30592b15cb3dSCy Schubert 		}
30602b15cb3dSCy Schubert     break;
30612b15cb3dSCy Schubert 
3062*68ba7e87SXin LI   case 209:
3063*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3064*68ba7e87SXin LI #line 1118 "../../ntpd/ntp_parser.y"
3065*68ba7e87SXin LI     { (yyval.Attr_val) = create_attr_dval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Double)); }
3066276da39aSCy Schubert     break;
3067276da39aSCy Schubert 
3068276da39aSCy Schubert   case 222:
3069*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3070*68ba7e87SXin LI #line 1143 "../../ntpd/ntp_parser.y"
3071*68ba7e87SXin LI     {
3072*68ba7e87SXin LI 			attr_val *av;
3073*68ba7e87SXin LI 
3074*68ba7e87SXin LI 			av = create_attr_dval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Double));
3075*68ba7e87SXin LI 			APPEND_G_FIFO(cfgt.vars, av);
3076*68ba7e87SXin LI 		}
3077*68ba7e87SXin LI     break;
3078*68ba7e87SXin LI 
3079*68ba7e87SXin LI   case 223:
3080*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3081*68ba7e87SXin LI #line 1150 "../../ntpd/ntp_parser.y"
3082*68ba7e87SXin LI     {
3083*68ba7e87SXin LI 			attr_val *av;
3084*68ba7e87SXin LI 
3085*68ba7e87SXin LI 			av = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer));
3086*68ba7e87SXin LI 			APPEND_G_FIFO(cfgt.vars, av);
3087*68ba7e87SXin LI 		}
3088*68ba7e87SXin LI     break;
3089*68ba7e87SXin LI 
3090*68ba7e87SXin LI   case 224:
3091*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3092*68ba7e87SXin LI #line 1157 "../../ntpd/ntp_parser.y"
3093*68ba7e87SXin LI     {
3094*68ba7e87SXin LI 			attr_val *av;
3095*68ba7e87SXin LI 
3096*68ba7e87SXin LI 			av = create_attr_sval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].String));
3097*68ba7e87SXin LI 			APPEND_G_FIFO(cfgt.vars, av);
3098*68ba7e87SXin LI 		}
3099*68ba7e87SXin LI     break;
3100*68ba7e87SXin LI 
3101*68ba7e87SXin LI   case 225:
3102*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3103*68ba7e87SXin LI #line 1164 "../../ntpd/ntp_parser.y"
31042b15cb3dSCy Schubert     {
31052b15cb3dSCy Schubert 			char error_text[64];
31062b15cb3dSCy Schubert 			attr_val *av;
31072b15cb3dSCy Schubert 
3108276da39aSCy Schubert 			if (lex_from_file()) {
3109*68ba7e87SXin LI 				av = create_attr_sval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].String));
31102b15cb3dSCy Schubert 				APPEND_G_FIFO(cfgt.vars, av);
31112b15cb3dSCy Schubert 			} else {
3112*68ba7e87SXin LI 				YYFREE((yyvsp[(2) - (2)].String));
31132b15cb3dSCy Schubert 				snprintf(error_text, sizeof(error_text),
31142b15cb3dSCy Schubert 					 "%s remote config ignored",
3115*68ba7e87SXin LI 					 keyword((yyvsp[(1) - (2)].Integer)));
3116276da39aSCy Schubert 				yyerror(error_text);
31172b15cb3dSCy Schubert 			}
31182b15cb3dSCy Schubert 		}
31192b15cb3dSCy Schubert     break;
31202b15cb3dSCy Schubert 
3121*68ba7e87SXin LI   case 226:
3122*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3123*68ba7e87SXin LI #line 1180 "../../ntpd/ntp_parser.y"
31242b15cb3dSCy Schubert     {
3125276da39aSCy Schubert 			if (!lex_from_file()) {
3126*68ba7e87SXin LI 				YYFREE((yyvsp[(2) - (3)].String)); /* avoid leak */
3127276da39aSCy Schubert 				yyerror("remote includefile ignored");
3128276da39aSCy Schubert 				break;
31292b15cb3dSCy Schubert 			}
3130276da39aSCy Schubert 			if (lex_level() > MAXINCLUDELEVEL) {
3131276da39aSCy Schubert 				fprintf(stderr, "getconfig: Maximum include file level exceeded.\n");
3132276da39aSCy Schubert 				msyslog(LOG_ERR, "getconfig: Maximum include file level exceeded.");
3133276da39aSCy Schubert 			} else {
3134*68ba7e87SXin LI 				const char * path = FindConfig((yyvsp[(2) - (3)].String)); /* might return $2! */
3135276da39aSCy Schubert 				if (!lex_push_file(path, "r")) {
3136276da39aSCy Schubert 					fprintf(stderr, "getconfig: Couldn't open <%s>\n", path);
3137276da39aSCy Schubert 					msyslog(LOG_ERR, "getconfig: Couldn't open <%s>", path);
3138276da39aSCy Schubert 				}
3139276da39aSCy Schubert 			}
3140*68ba7e87SXin LI 			YYFREE((yyvsp[(2) - (3)].String)); /* avoid leak */
3141276da39aSCy Schubert 		}
3142a25439b6SCy Schubert     break;
3143a25439b6SCy Schubert 
3144a25439b6SCy Schubert   case 227:
3145*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3146*68ba7e87SXin LI #line 1199 "../../ntpd/ntp_parser.y"
3147*68ba7e87SXin LI     { lex_flush_stack(); }
3148a25439b6SCy Schubert     break;
3149a25439b6SCy Schubert 
3150a25439b6SCy Schubert   case 228:
3151*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3152*68ba7e87SXin LI #line 1201 "../../ntpd/ntp_parser.y"
3153*68ba7e87SXin LI     { /* see drift_parm below for actions */ }
31542b15cb3dSCy Schubert     break;
31552b15cb3dSCy Schubert 
3156a25439b6SCy Schubert   case 229:
3157*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3158*68ba7e87SXin LI #line 1203 "../../ntpd/ntp_parser.y"
3159*68ba7e87SXin LI     { CONCAT_G_FIFOS(cfgt.logconfig, (yyvsp[(2) - (2)].Attr_val_fifo)); }
3160a25439b6SCy Schubert     break;
3161a25439b6SCy Schubert 
3162276da39aSCy Schubert   case 230:
3163*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3164*68ba7e87SXin LI #line 1205 "../../ntpd/ntp_parser.y"
3165*68ba7e87SXin LI     { CONCAT_G_FIFOS(cfgt.phone, (yyvsp[(2) - (2)].String_fifo)); }
3166276da39aSCy Schubert     break;
3167276da39aSCy Schubert 
3168*68ba7e87SXin LI   case 231:
3169*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3170*68ba7e87SXin LI #line 1207 "../../ntpd/ntp_parser.y"
3171*68ba7e87SXin LI     { APPEND_G_FIFO(cfgt.setvar, (yyvsp[(2) - (2)].Set_var)); }
3172*68ba7e87SXin LI     break;
3173*68ba7e87SXin LI 
3174*68ba7e87SXin LI   case 232:
3175*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3176*68ba7e87SXin LI #line 1209 "../../ntpd/ntp_parser.y"
3177*68ba7e87SXin LI     {
3178*68ba7e87SXin LI 			addr_opts_node *aon;
3179*68ba7e87SXin LI 
3180*68ba7e87SXin LI 			aon = create_addr_opts_node((yyvsp[(2) - (3)].Address_node), (yyvsp[(3) - (3)].Attr_val_fifo));
3181*68ba7e87SXin LI 			APPEND_G_FIFO(cfgt.trap, aon);
3182*68ba7e87SXin LI 		}
3183*68ba7e87SXin LI     break;
3184*68ba7e87SXin LI 
3185*68ba7e87SXin LI   case 233:
3186*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3187*68ba7e87SXin LI #line 1216 "../../ntpd/ntp_parser.y"
3188*68ba7e87SXin LI     { CONCAT_G_FIFOS(cfgt.ttl, (yyvsp[(2) - (2)].Attr_val_fifo)); }
3189*68ba7e87SXin LI     break;
3190*68ba7e87SXin LI 
3191*68ba7e87SXin LI   case 238:
3192*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3193*68ba7e87SXin LI #line 1231 "../../ntpd/ntp_parser.y"
3194276da39aSCy Schubert     {
3195276da39aSCy Schubert #ifndef LEAP_SMEAR
3196276da39aSCy Schubert 			yyerror("Built without LEAP_SMEAR support.");
3197276da39aSCy Schubert #endif
3198276da39aSCy Schubert 		}
3199276da39aSCy Schubert     break;
3200276da39aSCy Schubert 
3201*68ba7e87SXin LI   case 244:
3202*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3203*68ba7e87SXin LI #line 1251 "../../ntpd/ntp_parser.y"
32042b15cb3dSCy Schubert     {
32059034852cSGleb Smirnoff 			if (lex_from_file()) {
32062b15cb3dSCy Schubert 				attr_val *av;
3207*68ba7e87SXin LI 				av = create_attr_sval(T_Driftfile, (yyvsp[(1) - (1)].String));
32082b15cb3dSCy Schubert 				APPEND_G_FIFO(cfgt.vars, av);
32099034852cSGleb Smirnoff 			} else {
3210*68ba7e87SXin LI 				YYFREE((yyvsp[(1) - (1)].String));
32119034852cSGleb Smirnoff 				yyerror("driftfile remote configuration ignored");
32122b15cb3dSCy Schubert 			}
32139034852cSGleb Smirnoff 		}
32142b15cb3dSCy Schubert     break;
32152b15cb3dSCy Schubert 
3216*68ba7e87SXin LI   case 245:
3217*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3218*68ba7e87SXin LI #line 1262 "../../ntpd/ntp_parser.y"
32192b15cb3dSCy Schubert     {
32209034852cSGleb Smirnoff 			if (lex_from_file()) {
32212b15cb3dSCy Schubert 				attr_val *av;
3222*68ba7e87SXin LI 				av = create_attr_sval(T_Driftfile, (yyvsp[(1) - (2)].String));
32232b15cb3dSCy Schubert 				APPEND_G_FIFO(cfgt.vars, av);
3224*68ba7e87SXin LI 				av = create_attr_dval(T_WanderThreshold, (yyvsp[(2) - (2)].Double));
32252b15cb3dSCy Schubert 				APPEND_G_FIFO(cfgt.vars, av);
32269034852cSGleb Smirnoff 			} else {
3227*68ba7e87SXin LI 				YYFREE((yyvsp[(1) - (2)].String));
32289034852cSGleb Smirnoff 				yyerror("driftfile remote configuration ignored");
32292b15cb3dSCy Schubert 			}
32309034852cSGleb Smirnoff 		}
32312b15cb3dSCy Schubert     break;
32322b15cb3dSCy Schubert 
3233*68ba7e87SXin LI   case 246:
3234*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3235*68ba7e87SXin LI #line 1275 "../../ntpd/ntp_parser.y"
32362b15cb3dSCy Schubert     {
32379034852cSGleb Smirnoff 			if (lex_from_file()) {
32382b15cb3dSCy Schubert 				attr_val *av;
32399034852cSGleb Smirnoff 				av = create_attr_sval(T_Driftfile, estrdup(""));
32402b15cb3dSCy Schubert 				APPEND_G_FIFO(cfgt.vars, av);
32419034852cSGleb Smirnoff 			} else {
32429034852cSGleb Smirnoff 				yyerror("driftfile remote configuration ignored");
32432b15cb3dSCy Schubert 			}
32449034852cSGleb Smirnoff 		}
3245a25439b6SCy Schubert     break;
3246a25439b6SCy Schubert 
3247a25439b6SCy Schubert   case 247:
3248*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3249*68ba7e87SXin LI #line 1288 "../../ntpd/ntp_parser.y"
3250*68ba7e87SXin LI     { (yyval.Set_var) = create_setvar_node((yyvsp[(1) - (4)].String), (yyvsp[(3) - (4)].String), (yyvsp[(4) - (4)].Integer)); }
32512b15cb3dSCy Schubert     break;
32522b15cb3dSCy Schubert 
3253a25439b6SCy Schubert   case 249:
3254*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3255*68ba7e87SXin LI #line 1294 "../../ntpd/ntp_parser.y"
3256*68ba7e87SXin LI     { (yyval.Integer) = 0; }
32572b15cb3dSCy Schubert     break;
32582b15cb3dSCy Schubert 
3259a25439b6SCy Schubert   case 250:
3260*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3261*68ba7e87SXin LI #line 1299 "../../ntpd/ntp_parser.y"
3262*68ba7e87SXin LI     { (yyval.Attr_val_fifo) = NULL; }
3263276da39aSCy Schubert     break;
3264276da39aSCy Schubert 
3265276da39aSCy Schubert   case 251:
3266*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3267*68ba7e87SXin LI #line 1301 "../../ntpd/ntp_parser.y"
3268276da39aSCy Schubert     {
3269*68ba7e87SXin LI 			(yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo);
3270*68ba7e87SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val));
3271276da39aSCy Schubert 		}
3272276da39aSCy Schubert     break;
3273276da39aSCy Schubert 
3274276da39aSCy Schubert   case 252:
3275*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3276*68ba7e87SXin LI #line 1309 "../../ntpd/ntp_parser.y"
3277*68ba7e87SXin LI     { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); }
3278276da39aSCy Schubert     break;
3279276da39aSCy Schubert 
3280276da39aSCy Schubert   case 253:
3281*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3282*68ba7e87SXin LI #line 1311 "../../ntpd/ntp_parser.y"
3283*68ba7e87SXin LI     {
3284*68ba7e87SXin LI 			(yyval.Attr_val) = create_attr_sval((yyvsp[(1) - (2)].Integer), estrdup((yyvsp[(2) - (2)].Address_node)->address));
3285*68ba7e87SXin LI 			destroy_address_node((yyvsp[(2) - (2)].Address_node));
3286*68ba7e87SXin LI 		}
3287*68ba7e87SXin LI     break;
3288*68ba7e87SXin LI 
3289*68ba7e87SXin LI   case 254:
3290*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3291*68ba7e87SXin LI #line 1319 "../../ntpd/ntp_parser.y"
3292*68ba7e87SXin LI     {
3293*68ba7e87SXin LI 			(yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo);
3294*68ba7e87SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val));
3295*68ba7e87SXin LI 		}
3296*68ba7e87SXin LI     break;
3297*68ba7e87SXin LI 
3298*68ba7e87SXin LI   case 255:
3299*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3300*68ba7e87SXin LI #line 1324 "../../ntpd/ntp_parser.y"
3301*68ba7e87SXin LI     {
3302*68ba7e87SXin LI 			(yyval.Attr_val_fifo) = NULL;
3303*68ba7e87SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val));
3304*68ba7e87SXin LI 		}
3305*68ba7e87SXin LI     break;
3306*68ba7e87SXin LI 
3307*68ba7e87SXin LI   case 256:
3308*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3309*68ba7e87SXin LI #line 1332 "../../ntpd/ntp_parser.y"
33102b15cb3dSCy Schubert     {
33112b15cb3dSCy Schubert 			char	prefix;
33122b15cb3dSCy Schubert 			char *	type;
33132b15cb3dSCy Schubert 
3314*68ba7e87SXin LI 			switch ((yyvsp[(1) - (1)].String)[0]) {
33152b15cb3dSCy Schubert 
33162b15cb3dSCy Schubert 			case '+':
33172b15cb3dSCy Schubert 			case '-':
33182b15cb3dSCy Schubert 			case '=':
3319*68ba7e87SXin LI 				prefix = (yyvsp[(1) - (1)].String)[0];
3320*68ba7e87SXin LI 				type = (yyvsp[(1) - (1)].String) + 1;
33212b15cb3dSCy Schubert 				break;
33222b15cb3dSCy Schubert 
33232b15cb3dSCy Schubert 			default:
33242b15cb3dSCy Schubert 				prefix = '=';
3325*68ba7e87SXin LI 				type = (yyvsp[(1) - (1)].String);
33262b15cb3dSCy Schubert 			}
33272b15cb3dSCy Schubert 
33282b15cb3dSCy Schubert 			(yyval.Attr_val) = create_attr_sval(prefix, estrdup(type));
3329*68ba7e87SXin LI 			YYFREE((yyvsp[(1) - (1)].String));
33302b15cb3dSCy Schubert 		}
33312b15cb3dSCy Schubert     break;
33322b15cb3dSCy Schubert 
3333*68ba7e87SXin LI   case 257:
3334*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3335*68ba7e87SXin LI #line 1357 "../../ntpd/ntp_parser.y"
33362b15cb3dSCy Schubert     {
33372b15cb3dSCy Schubert 			nic_rule_node *nrn;
33382b15cb3dSCy Schubert 
3339*68ba7e87SXin LI 			nrn = create_nic_rule_node((yyvsp[(3) - (3)].Integer), NULL, (yyvsp[(2) - (3)].Integer));
33402b15cb3dSCy Schubert 			APPEND_G_FIFO(cfgt.nic_rules, nrn);
33412b15cb3dSCy Schubert 		}
33422b15cb3dSCy Schubert     break;
33432b15cb3dSCy Schubert 
3344*68ba7e87SXin LI   case 258:
3345*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3346*68ba7e87SXin LI #line 1364 "../../ntpd/ntp_parser.y"
33472b15cb3dSCy Schubert     {
33482b15cb3dSCy Schubert 			nic_rule_node *nrn;
33492b15cb3dSCy Schubert 
3350*68ba7e87SXin LI 			nrn = create_nic_rule_node(0, (yyvsp[(3) - (3)].String), (yyvsp[(2) - (3)].Integer));
33512b15cb3dSCy Schubert 			APPEND_G_FIFO(cfgt.nic_rules, nrn);
33522b15cb3dSCy Schubert 		}
33532b15cb3dSCy Schubert     break;
33542b15cb3dSCy Schubert 
3355*68ba7e87SXin LI   case 268:
3356*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3357*68ba7e87SXin LI #line 1392 "../../ntpd/ntp_parser.y"
3358*68ba7e87SXin LI     { CONCAT_G_FIFOS(cfgt.reset_counters, (yyvsp[(2) - (2)].Int_fifo)); }
3359a25439b6SCy Schubert     break;
3360a25439b6SCy Schubert 
3361*68ba7e87SXin LI   case 269:
3362*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3363*68ba7e87SXin LI #line 1397 "../../ntpd/ntp_parser.y"
33642b15cb3dSCy Schubert     {
3365*68ba7e87SXin LI 			(yyval.Int_fifo) = (yyvsp[(1) - (2)].Int_fifo);
3366*68ba7e87SXin LI 			APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[(2) - (2)].Integer)));
33672b15cb3dSCy Schubert 		}
33682b15cb3dSCy Schubert     break;
33692b15cb3dSCy Schubert 
3370*68ba7e87SXin LI   case 270:
3371*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3372*68ba7e87SXin LI #line 1402 "../../ntpd/ntp_parser.y"
33732b15cb3dSCy Schubert     {
33742b15cb3dSCy Schubert 			(yyval.Int_fifo) = NULL;
3375*68ba7e87SXin LI 			APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[(1) - (1)].Integer)));
33762b15cb3dSCy Schubert 		}
33772b15cb3dSCy Schubert     break;
33782b15cb3dSCy Schubert 
3379a25439b6SCy Schubert   case 278:
3380*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3381*68ba7e87SXin LI #line 1426 "../../ntpd/ntp_parser.y"
3382276da39aSCy Schubert     {
3383*68ba7e87SXin LI 			(yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo);
3384*68ba7e87SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), create_int_node((yyvsp[(2) - (2)].Integer)));
3385276da39aSCy Schubert 		}
3386a25439b6SCy Schubert     break;
3387a25439b6SCy Schubert 
3388a25439b6SCy Schubert   case 279:
3389*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3390*68ba7e87SXin LI #line 1431 "../../ntpd/ntp_parser.y"
3391*68ba7e87SXin LI     {
3392*68ba7e87SXin LI 			(yyval.Attr_val_fifo) = NULL;
3393*68ba7e87SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), create_int_node((yyvsp[(1) - (1)].Integer)));
3394*68ba7e87SXin LI 		}
3395*68ba7e87SXin LI     break;
3396*68ba7e87SXin LI 
3397*68ba7e87SXin LI   case 280:
3398*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3399*68ba7e87SXin LI #line 1439 "../../ntpd/ntp_parser.y"
3400*68ba7e87SXin LI     {
3401*68ba7e87SXin LI 			(yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo);
3402*68ba7e87SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val));
3403*68ba7e87SXin LI 		}
34042b15cb3dSCy Schubert     break;
34052b15cb3dSCy Schubert 
3406a25439b6SCy Schubert   case 281:
3407*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3408*68ba7e87SXin LI #line 1444 "../../ntpd/ntp_parser.y"
3409*68ba7e87SXin LI     {
3410*68ba7e87SXin LI 			(yyval.Attr_val_fifo) = NULL;
3411*68ba7e87SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val));
3412*68ba7e87SXin LI 		}
34132b15cb3dSCy Schubert     break;
34142b15cb3dSCy Schubert 
3415a25439b6SCy Schubert   case 282:
3416*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3417*68ba7e87SXin LI #line 1452 "../../ntpd/ntp_parser.y"
3418*68ba7e87SXin LI     { (yyval.Attr_val) = create_attr_ival('i', (yyvsp[(1) - (1)].Integer)); }
34192b15cb3dSCy Schubert     break;
34202b15cb3dSCy Schubert 
3421a25439b6SCy Schubert   case 284:
3422*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3423*68ba7e87SXin LI #line 1458 "../../ntpd/ntp_parser.y"
3424*68ba7e87SXin LI     { (yyval.Attr_val) = create_attr_rangeval('-', (yyvsp[(2) - (5)].Integer), (yyvsp[(4) - (5)].Integer)); }
34252b15cb3dSCy Schubert     break;
34262b15cb3dSCy Schubert 
3427a25439b6SCy Schubert   case 285:
3428*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3429*68ba7e87SXin LI #line 1463 "../../ntpd/ntp_parser.y"
3430276da39aSCy Schubert     {
3431*68ba7e87SXin LI 			(yyval.String_fifo) = (yyvsp[(1) - (2)].String_fifo);
3432*68ba7e87SXin LI 			APPEND_G_FIFO((yyval.String_fifo), create_string_node((yyvsp[(2) - (2)].String)));
3433276da39aSCy Schubert 		}
34342b15cb3dSCy Schubert     break;
34352b15cb3dSCy Schubert 
34362b15cb3dSCy Schubert   case 286:
3437*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3438*68ba7e87SXin LI #line 1468 "../../ntpd/ntp_parser.y"
3439276da39aSCy Schubert     {
3440*68ba7e87SXin LI 			(yyval.String_fifo) = NULL;
3441*68ba7e87SXin LI 			APPEND_G_FIFO((yyval.String_fifo), create_string_node((yyvsp[(1) - (1)].String)));
3442276da39aSCy Schubert 		}
3443276da39aSCy Schubert     break;
3444276da39aSCy Schubert 
3445276da39aSCy Schubert   case 287:
3446*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3447*68ba7e87SXin LI #line 1476 "../../ntpd/ntp_parser.y"
3448*68ba7e87SXin LI     {
3449*68ba7e87SXin LI 			(yyval.Address_fifo) = (yyvsp[(1) - (2)].Address_fifo);
3450*68ba7e87SXin LI 			APPEND_G_FIFO((yyval.Address_fifo), (yyvsp[(2) - (2)].Address_node));
3451*68ba7e87SXin LI 		}
3452a25439b6SCy Schubert     break;
3453a25439b6SCy Schubert 
3454a25439b6SCy Schubert   case 288:
3455*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3456*68ba7e87SXin LI #line 1481 "../../ntpd/ntp_parser.y"
3457*68ba7e87SXin LI     {
3458*68ba7e87SXin LI 			(yyval.Address_fifo) = NULL;
3459*68ba7e87SXin LI 			APPEND_G_FIFO((yyval.Address_fifo), (yyvsp[(1) - (1)].Address_node));
3460*68ba7e87SXin LI 		}
3461276da39aSCy Schubert     break;
3462276da39aSCy Schubert 
3463276da39aSCy Schubert   case 289:
3464*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3465*68ba7e87SXin LI #line 1489 "../../ntpd/ntp_parser.y"
3466*68ba7e87SXin LI     {
3467*68ba7e87SXin LI 			if ((yyvsp[(1) - (1)].Integer) != 0 && (yyvsp[(1) - (1)].Integer) != 1) {
3468*68ba7e87SXin LI 				yyerror("Integer value is not boolean (0 or 1). Assuming 1");
3469*68ba7e87SXin LI 				(yyval.Integer) = 1;
3470*68ba7e87SXin LI 			} else {
3471*68ba7e87SXin LI 				(yyval.Integer) = (yyvsp[(1) - (1)].Integer);
3472*68ba7e87SXin LI 			}
3473*68ba7e87SXin LI 		}
3474*68ba7e87SXin LI     break;
3475*68ba7e87SXin LI 
3476*68ba7e87SXin LI   case 290:
3477*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3478*68ba7e87SXin LI #line 1497 "../../ntpd/ntp_parser.y"
3479*68ba7e87SXin LI     { (yyval.Integer) = 1; }
3480276da39aSCy Schubert     break;
3481276da39aSCy Schubert 
3482276da39aSCy Schubert   case 291:
3483*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3484*68ba7e87SXin LI #line 1498 "../../ntpd/ntp_parser.y"
3485*68ba7e87SXin LI     { (yyval.Integer) = 0; }
3486*68ba7e87SXin LI     break;
3487*68ba7e87SXin LI 
3488*68ba7e87SXin LI   case 292:
3489*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3490*68ba7e87SXin LI #line 1502 "../../ntpd/ntp_parser.y"
3491*68ba7e87SXin LI     { (yyval.Double) = (double)(yyvsp[(1) - (1)].Integer); }
3492*68ba7e87SXin LI     break;
3493*68ba7e87SXin LI 
3494*68ba7e87SXin LI   case 294:
3495*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3496*68ba7e87SXin LI #line 1513 "../../ntpd/ntp_parser.y"
34972b15cb3dSCy Schubert     {
34982b15cb3dSCy Schubert 			sim_node *sn;
34992b15cb3dSCy Schubert 
3500*68ba7e87SXin LI 			sn =  create_sim_node((yyvsp[(3) - (5)].Attr_val_fifo), (yyvsp[(4) - (5)].Sim_server_fifo));
35012b15cb3dSCy Schubert 			APPEND_G_FIFO(cfgt.sim_details, sn);
35022b15cb3dSCy Schubert 
35032b15cb3dSCy Schubert 			/* Revert from ; to \n for end-of-command */
35042b15cb3dSCy Schubert 			old_config_style = 1;
35052b15cb3dSCy Schubert 		}
3506a25439b6SCy Schubert     break;
3507a25439b6SCy Schubert 
3508a25439b6SCy Schubert   case 295:
3509*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3510*68ba7e87SXin LI #line 1530 "../../ntpd/ntp_parser.y"
3511*68ba7e87SXin LI     { old_config_style = 0; }
3512*68ba7e87SXin LI     break;
3513*68ba7e87SXin LI 
3514*68ba7e87SXin LI   case 296:
3515*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3516*68ba7e87SXin LI #line 1535 "../../ntpd/ntp_parser.y"
3517*68ba7e87SXin LI     {
3518*68ba7e87SXin LI 			(yyval.Attr_val_fifo) = (yyvsp[(1) - (3)].Attr_val_fifo);
3519*68ba7e87SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (3)].Attr_val));
3520*68ba7e87SXin LI 		}
3521*68ba7e87SXin LI     break;
3522*68ba7e87SXin LI 
3523*68ba7e87SXin LI   case 297:
3524*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3525*68ba7e87SXin LI #line 1540 "../../ntpd/ntp_parser.y"
3526*68ba7e87SXin LI     {
3527*68ba7e87SXin LI 			(yyval.Attr_val_fifo) = NULL;
3528*68ba7e87SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (2)].Attr_val));
3529*68ba7e87SXin LI 		}
35302b15cb3dSCy Schubert     break;
35312b15cb3dSCy Schubert 
3532a25439b6SCy Schubert   case 298:
3533*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3534*68ba7e87SXin LI #line 1548 "../../ntpd/ntp_parser.y"
3535*68ba7e87SXin LI     { (yyval.Attr_val) = create_attr_dval((yyvsp[(1) - (3)].Integer), (yyvsp[(3) - (3)].Double)); }
35362b15cb3dSCy Schubert     break;
35372b15cb3dSCy Schubert 
3538a25439b6SCy Schubert   case 301:
3539*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3540*68ba7e87SXin LI #line 1558 "../../ntpd/ntp_parser.y"
3541*68ba7e87SXin LI     {
3542*68ba7e87SXin LI 			(yyval.Sim_server_fifo) = (yyvsp[(1) - (2)].Sim_server_fifo);
3543*68ba7e87SXin LI 			APPEND_G_FIFO((yyval.Sim_server_fifo), (yyvsp[(2) - (2)].Sim_server));
3544*68ba7e87SXin LI 		}
35452b15cb3dSCy Schubert     break;
35462b15cb3dSCy Schubert 
3547a25439b6SCy Schubert   case 302:
3548*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3549*68ba7e87SXin LI #line 1563 "../../ntpd/ntp_parser.y"
3550*68ba7e87SXin LI     {
3551*68ba7e87SXin LI 			(yyval.Sim_server_fifo) = NULL;
3552*68ba7e87SXin LI 			APPEND_G_FIFO((yyval.Sim_server_fifo), (yyvsp[(1) - (1)].Sim_server));
3553*68ba7e87SXin LI 		}
3554a25439b6SCy Schubert     break;
3555a25439b6SCy Schubert 
3556a25439b6SCy Schubert   case 303:
3557*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3558*68ba7e87SXin LI #line 1571 "../../ntpd/ntp_parser.y"
3559*68ba7e87SXin LI     { (yyval.Sim_server) = ONLY_SIM(create_sim_server((yyvsp[(1) - (5)].Address_node), (yyvsp[(3) - (5)].Double), (yyvsp[(4) - (5)].Sim_script_fifo))); }
35602b15cb3dSCy Schubert     break;
35612b15cb3dSCy Schubert 
3562a25439b6SCy Schubert   case 304:
3563*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3564*68ba7e87SXin LI #line 1576 "../../ntpd/ntp_parser.y"
3565*68ba7e87SXin LI     { (yyval.Double) = (yyvsp[(3) - (4)].Double); }
35662b15cb3dSCy Schubert     break;
35672b15cb3dSCy Schubert 
3568a25439b6SCy Schubert   case 305:
3569*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3570*68ba7e87SXin LI #line 1581 "../../ntpd/ntp_parser.y"
3571*68ba7e87SXin LI     { (yyval.Address_node) = (yyvsp[(3) - (3)].Address_node); }
3572276da39aSCy Schubert     break;
3573276da39aSCy Schubert 
3574276da39aSCy Schubert   case 306:
3575*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3576*68ba7e87SXin LI #line 1586 "../../ntpd/ntp_parser.y"
3577276da39aSCy Schubert     {
3578*68ba7e87SXin LI 			(yyval.Sim_script_fifo) = (yyvsp[(1) - (2)].Sim_script_fifo);
3579*68ba7e87SXin LI 			APPEND_G_FIFO((yyval.Sim_script_fifo), (yyvsp[(2) - (2)].Sim_script));
3580276da39aSCy Schubert 		}
3581276da39aSCy Schubert     break;
3582276da39aSCy Schubert 
3583276da39aSCy Schubert   case 307:
3584*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3585*68ba7e87SXin LI #line 1591 "../../ntpd/ntp_parser.y"
3586276da39aSCy Schubert     {
3587*68ba7e87SXin LI 			(yyval.Sim_script_fifo) = NULL;
3588*68ba7e87SXin LI 			APPEND_G_FIFO((yyval.Sim_script_fifo), (yyvsp[(1) - (1)].Sim_script));
3589276da39aSCy Schubert 		}
3590276da39aSCy Schubert     break;
3591276da39aSCy Schubert 
3592276da39aSCy Schubert   case 308:
3593*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3594*68ba7e87SXin LI #line 1599 "../../ntpd/ntp_parser.y"
3595*68ba7e87SXin LI     { (yyval.Sim_script) = ONLY_SIM(create_sim_script_info((yyvsp[(3) - (6)].Double), (yyvsp[(5) - (6)].Attr_val_fifo))); }
3596*68ba7e87SXin LI     break;
3597*68ba7e87SXin LI 
3598*68ba7e87SXin LI   case 309:
3599*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3600*68ba7e87SXin LI #line 1604 "../../ntpd/ntp_parser.y"
3601*68ba7e87SXin LI     {
3602*68ba7e87SXin LI 			(yyval.Attr_val_fifo) = (yyvsp[(1) - (3)].Attr_val_fifo);
3603*68ba7e87SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (3)].Attr_val));
3604*68ba7e87SXin LI 		}
3605*68ba7e87SXin LI     break;
3606*68ba7e87SXin LI 
3607*68ba7e87SXin LI   case 310:
3608*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3609*68ba7e87SXin LI #line 1609 "../../ntpd/ntp_parser.y"
3610*68ba7e87SXin LI     {
3611*68ba7e87SXin LI 			(yyval.Attr_val_fifo) = NULL;
3612*68ba7e87SXin LI 			APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (2)].Attr_val));
3613*68ba7e87SXin LI 		}
3614*68ba7e87SXin LI     break;
3615*68ba7e87SXin LI 
3616*68ba7e87SXin LI   case 311:
3617*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3618*68ba7e87SXin LI #line 1617 "../../ntpd/ntp_parser.y"
3619*68ba7e87SXin LI     { (yyval.Attr_val) = create_attr_dval((yyvsp[(1) - (3)].Integer), (yyvsp[(3) - (3)].Double)); }
3620a25439b6SCy Schubert     break;
36212b15cb3dSCy Schubert 
3622a25439b6SCy Schubert 
3623*68ba7e87SXin LI /* Line 1787 of yacc.c  */
3624*68ba7e87SXin LI #line 3625 "ntp_parser.c"
36252b15cb3dSCy Schubert       default: break;
36262b15cb3dSCy Schubert     }
36272b15cb3dSCy Schubert   /* User semantic actions sometimes alter yychar, and that requires
36282b15cb3dSCy Schubert      that yytoken be updated with the new translation.  We take the
36292b15cb3dSCy Schubert      approach of translating immediately before every use of yytoken.
36302b15cb3dSCy Schubert      One alternative is translating here after every semantic action,
36312b15cb3dSCy Schubert      but that translation would be missed if the semantic action invokes
36322b15cb3dSCy Schubert      YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
36332b15cb3dSCy Schubert      if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
36342b15cb3dSCy Schubert      incorrect destructor might then be invoked immediately.  In the
36352b15cb3dSCy Schubert      case of YYERROR or YYBACKUP, subsequent parser actions might lead
36362b15cb3dSCy Schubert      to an incorrect destructor call or verbose syntax error message
36372b15cb3dSCy Schubert      before the lookahead is translated.  */
36382b15cb3dSCy Schubert   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
36392b15cb3dSCy Schubert 
36402b15cb3dSCy Schubert   YYPOPSTACK (yylen);
36412b15cb3dSCy Schubert   yylen = 0;
36422b15cb3dSCy Schubert   YY_STACK_PRINT (yyss, yyssp);
36432b15cb3dSCy Schubert 
36442b15cb3dSCy Schubert   *++yyvsp = yyval;
36452b15cb3dSCy Schubert 
3646*68ba7e87SXin LI   /* Now `shift' the result of the reduction.  Determine what state
36472b15cb3dSCy Schubert      that goes to, based on the state we popped back to and the rule
36482b15cb3dSCy Schubert      number reduced by.  */
36492b15cb3dSCy Schubert 
36502b15cb3dSCy Schubert   yyn = yyr1[yyn];
36512b15cb3dSCy Schubert 
36522b15cb3dSCy Schubert   yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
36532b15cb3dSCy Schubert   if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
36542b15cb3dSCy Schubert     yystate = yytable[yystate];
36552b15cb3dSCy Schubert   else
36562b15cb3dSCy Schubert     yystate = yydefgoto[yyn - YYNTOKENS];
36572b15cb3dSCy Schubert 
36582b15cb3dSCy Schubert   goto yynewstate;
36592b15cb3dSCy Schubert 
36602b15cb3dSCy Schubert 
3661*68ba7e87SXin LI /*------------------------------------.
3662*68ba7e87SXin LI | yyerrlab -- here on detecting error |
3663*68ba7e87SXin LI `------------------------------------*/
36642b15cb3dSCy Schubert yyerrlab:
36652b15cb3dSCy Schubert   /* Make sure we have latest lookahead translation.  See comments at
36662b15cb3dSCy Schubert      user semantic actions for why this is necessary.  */
36672b15cb3dSCy Schubert   yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
36682b15cb3dSCy Schubert 
36692b15cb3dSCy Schubert   /* If not already recovering from an error, report this error.  */
36702b15cb3dSCy Schubert   if (!yyerrstatus)
36712b15cb3dSCy Schubert     {
36722b15cb3dSCy Schubert       ++yynerrs;
36732b15cb3dSCy Schubert #if ! YYERROR_VERBOSE
3674276da39aSCy Schubert       yyerror (YY_("syntax error"));
36752b15cb3dSCy Schubert #else
36762b15cb3dSCy Schubert # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
36772b15cb3dSCy Schubert                                         yyssp, yytoken)
36782b15cb3dSCy Schubert       {
36792b15cb3dSCy Schubert         char const *yymsgp = YY_("syntax error");
36802b15cb3dSCy Schubert         int yysyntax_error_status;
36812b15cb3dSCy Schubert         yysyntax_error_status = YYSYNTAX_ERROR;
36822b15cb3dSCy Schubert         if (yysyntax_error_status == 0)
36832b15cb3dSCy Schubert           yymsgp = yymsg;
36842b15cb3dSCy Schubert         else if (yysyntax_error_status == 1)
36852b15cb3dSCy Schubert           {
36862b15cb3dSCy Schubert             if (yymsg != yymsgbuf)
36872b15cb3dSCy Schubert               YYSTACK_FREE (yymsg);
36882b15cb3dSCy Schubert             yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
36892b15cb3dSCy Schubert             if (!yymsg)
36902b15cb3dSCy Schubert               {
36912b15cb3dSCy Schubert                 yymsg = yymsgbuf;
36922b15cb3dSCy Schubert                 yymsg_alloc = sizeof yymsgbuf;
36932b15cb3dSCy Schubert                 yysyntax_error_status = 2;
36942b15cb3dSCy Schubert               }
36952b15cb3dSCy Schubert             else
36962b15cb3dSCy Schubert               {
36972b15cb3dSCy Schubert                 yysyntax_error_status = YYSYNTAX_ERROR;
36982b15cb3dSCy Schubert                 yymsgp = yymsg;
36992b15cb3dSCy Schubert               }
37002b15cb3dSCy Schubert           }
3701276da39aSCy Schubert         yyerror (yymsgp);
37022b15cb3dSCy Schubert         if (yysyntax_error_status == 2)
37032b15cb3dSCy Schubert           goto yyexhaustedlab;
37042b15cb3dSCy Schubert       }
37052b15cb3dSCy Schubert # undef YYSYNTAX_ERROR
37062b15cb3dSCy Schubert #endif
37072b15cb3dSCy Schubert     }
37082b15cb3dSCy Schubert 
37092b15cb3dSCy Schubert 
37102b15cb3dSCy Schubert 
37112b15cb3dSCy Schubert   if (yyerrstatus == 3)
37122b15cb3dSCy Schubert     {
37132b15cb3dSCy Schubert       /* If just tried and failed to reuse lookahead token after an
37142b15cb3dSCy Schubert 	 error, discard it.  */
37152b15cb3dSCy Schubert 
37162b15cb3dSCy Schubert       if (yychar <= YYEOF)
37172b15cb3dSCy Schubert 	{
37182b15cb3dSCy Schubert 	  /* Return failure if at end of input.  */
37192b15cb3dSCy Schubert 	  if (yychar == YYEOF)
37202b15cb3dSCy Schubert 	    YYABORT;
37212b15cb3dSCy Schubert 	}
37222b15cb3dSCy Schubert       else
37232b15cb3dSCy Schubert 	{
37242b15cb3dSCy Schubert 	  yydestruct ("Error: discarding",
3725276da39aSCy Schubert 		      yytoken, &yylval);
37262b15cb3dSCy Schubert 	  yychar = YYEMPTY;
37272b15cb3dSCy Schubert 	}
37282b15cb3dSCy Schubert     }
37292b15cb3dSCy Schubert 
37302b15cb3dSCy Schubert   /* Else will try to reuse lookahead token after shifting the error
37312b15cb3dSCy Schubert      token.  */
37322b15cb3dSCy Schubert   goto yyerrlab1;
37332b15cb3dSCy Schubert 
37342b15cb3dSCy Schubert 
37352b15cb3dSCy Schubert /*---------------------------------------------------.
37362b15cb3dSCy Schubert | yyerrorlab -- error raised explicitly by YYERROR.  |
37372b15cb3dSCy Schubert `---------------------------------------------------*/
37382b15cb3dSCy Schubert yyerrorlab:
37392b15cb3dSCy Schubert 
37402b15cb3dSCy Schubert   /* Pacify compilers like GCC when the user code never invokes
37412b15cb3dSCy Schubert      YYERROR and the label yyerrorlab therefore never appears in user
37422b15cb3dSCy Schubert      code.  */
37432b15cb3dSCy Schubert   if (/*CONSTCOND*/ 0)
37442b15cb3dSCy Schubert      goto yyerrorlab;
37452b15cb3dSCy Schubert 
3746*68ba7e87SXin LI   /* Do not reclaim the symbols of the rule which action triggered
37472b15cb3dSCy Schubert      this YYERROR.  */
37482b15cb3dSCy Schubert   YYPOPSTACK (yylen);
37492b15cb3dSCy Schubert   yylen = 0;
37502b15cb3dSCy Schubert   YY_STACK_PRINT (yyss, yyssp);
37512b15cb3dSCy Schubert   yystate = *yyssp;
37522b15cb3dSCy Schubert   goto yyerrlab1;
37532b15cb3dSCy Schubert 
37542b15cb3dSCy Schubert 
37552b15cb3dSCy Schubert /*-------------------------------------------------------------.
37562b15cb3dSCy Schubert | yyerrlab1 -- common code for both syntax error and YYERROR.  |
37572b15cb3dSCy Schubert `-------------------------------------------------------------*/
37582b15cb3dSCy Schubert yyerrlab1:
37592b15cb3dSCy Schubert   yyerrstatus = 3;	/* Each real token shifted decrements this.  */
37602b15cb3dSCy Schubert 
37612b15cb3dSCy Schubert   for (;;)
37622b15cb3dSCy Schubert     {
37632b15cb3dSCy Schubert       yyn = yypact[yystate];
37642b15cb3dSCy Schubert       if (!yypact_value_is_default (yyn))
37652b15cb3dSCy Schubert 	{
37662b15cb3dSCy Schubert 	  yyn += YYTERROR;
37672b15cb3dSCy Schubert 	  if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
37682b15cb3dSCy Schubert 	    {
37692b15cb3dSCy Schubert 	      yyn = yytable[yyn];
37702b15cb3dSCy Schubert 	      if (0 < yyn)
37712b15cb3dSCy Schubert 		break;
37722b15cb3dSCy Schubert 	    }
37732b15cb3dSCy Schubert 	}
37742b15cb3dSCy Schubert 
37752b15cb3dSCy Schubert       /* Pop the current state because it cannot handle the error token.  */
37762b15cb3dSCy Schubert       if (yyssp == yyss)
37772b15cb3dSCy Schubert 	YYABORT;
37782b15cb3dSCy Schubert 
37792b15cb3dSCy Schubert 
37802b15cb3dSCy Schubert       yydestruct ("Error: popping",
3781276da39aSCy Schubert 		  yystos[yystate], yyvsp);
37822b15cb3dSCy Schubert       YYPOPSTACK (1);
37832b15cb3dSCy Schubert       yystate = *yyssp;
37842b15cb3dSCy Schubert       YY_STACK_PRINT (yyss, yyssp);
37852b15cb3dSCy Schubert     }
37862b15cb3dSCy Schubert 
37872b15cb3dSCy Schubert   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
37882b15cb3dSCy Schubert   *++yyvsp = yylval;
37892b15cb3dSCy Schubert   YY_IGNORE_MAYBE_UNINITIALIZED_END
37902b15cb3dSCy Schubert 
37912b15cb3dSCy Schubert 
37922b15cb3dSCy Schubert   /* Shift the error token.  */
37932b15cb3dSCy Schubert   YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
37942b15cb3dSCy Schubert 
37952b15cb3dSCy Schubert   yystate = yyn;
37962b15cb3dSCy Schubert   goto yynewstate;
37972b15cb3dSCy Schubert 
37982b15cb3dSCy Schubert 
37992b15cb3dSCy Schubert /*-------------------------------------.
38002b15cb3dSCy Schubert | yyacceptlab -- YYACCEPT comes here.  |
38012b15cb3dSCy Schubert `-------------------------------------*/
38022b15cb3dSCy Schubert yyacceptlab:
38032b15cb3dSCy Schubert   yyresult = 0;
38042b15cb3dSCy Schubert   goto yyreturn;
38052b15cb3dSCy Schubert 
38062b15cb3dSCy Schubert /*-----------------------------------.
38072b15cb3dSCy Schubert | yyabortlab -- YYABORT comes here.  |
38082b15cb3dSCy Schubert `-----------------------------------*/
38092b15cb3dSCy Schubert yyabortlab:
38102b15cb3dSCy Schubert   yyresult = 1;
38112b15cb3dSCy Schubert   goto yyreturn;
38122b15cb3dSCy Schubert 
38132b15cb3dSCy Schubert #if !defined yyoverflow || YYERROR_VERBOSE
38142b15cb3dSCy Schubert /*-------------------------------------------------.
38152b15cb3dSCy Schubert | yyexhaustedlab -- memory exhaustion comes here.  |
38162b15cb3dSCy Schubert `-------------------------------------------------*/
38172b15cb3dSCy Schubert yyexhaustedlab:
3818276da39aSCy Schubert   yyerror (YY_("memory exhausted"));
38192b15cb3dSCy Schubert   yyresult = 2;
38202b15cb3dSCy Schubert   /* Fall through.  */
38212b15cb3dSCy Schubert #endif
38222b15cb3dSCy Schubert 
38232b15cb3dSCy Schubert yyreturn:
38242b15cb3dSCy Schubert   if (yychar != YYEMPTY)
38252b15cb3dSCy Schubert     {
38262b15cb3dSCy Schubert       /* Make sure we have latest lookahead translation.  See comments at
38272b15cb3dSCy Schubert          user semantic actions for why this is necessary.  */
38282b15cb3dSCy Schubert       yytoken = YYTRANSLATE (yychar);
38292b15cb3dSCy Schubert       yydestruct ("Cleanup: discarding lookahead",
3830276da39aSCy Schubert                   yytoken, &yylval);
38312b15cb3dSCy Schubert     }
3832*68ba7e87SXin LI   /* Do not reclaim the symbols of the rule which action triggered
38332b15cb3dSCy Schubert      this YYABORT or YYACCEPT.  */
38342b15cb3dSCy Schubert   YYPOPSTACK (yylen);
38352b15cb3dSCy Schubert   YY_STACK_PRINT (yyss, yyssp);
38362b15cb3dSCy Schubert   while (yyssp != yyss)
38372b15cb3dSCy Schubert     {
38382b15cb3dSCy Schubert       yydestruct ("Cleanup: popping",
3839276da39aSCy Schubert 		  yystos[*yyssp], yyvsp);
38402b15cb3dSCy Schubert       YYPOPSTACK (1);
38412b15cb3dSCy Schubert     }
38422b15cb3dSCy Schubert #ifndef yyoverflow
38432b15cb3dSCy Schubert   if (yyss != yyssa)
38442b15cb3dSCy Schubert     YYSTACK_FREE (yyss);
38452b15cb3dSCy Schubert #endif
38462b15cb3dSCy Schubert #if YYERROR_VERBOSE
38472b15cb3dSCy Schubert   if (yymsg != yymsgbuf)
38482b15cb3dSCy Schubert     YYSTACK_FREE (yymsg);
38492b15cb3dSCy Schubert #endif
3850*68ba7e87SXin LI   /* Make sure YYID is used.  */
3851*68ba7e87SXin LI   return YYID (yyresult);
38522b15cb3dSCy Schubert }
3853*68ba7e87SXin LI 
3854*68ba7e87SXin LI 
3855*68ba7e87SXin LI /* Line 2050 of yacc.c  */
3856*68ba7e87SXin LI #line 1628 "../../ntpd/ntp_parser.y"
38572b15cb3dSCy Schubert 
38582b15cb3dSCy Schubert 
38592b15cb3dSCy Schubert void
38602b15cb3dSCy Schubert yyerror(
38612b15cb3dSCy Schubert 	const char *msg
38622b15cb3dSCy Schubert 	)
38632b15cb3dSCy Schubert {
38642b15cb3dSCy Schubert 	int retval;
3865276da39aSCy Schubert 	struct FILE_INFO * ip_ctx;
38662b15cb3dSCy Schubert 
3867276da39aSCy Schubert 	ip_ctx = lex_current();
3868276da39aSCy Schubert 	ip_ctx->errpos = ip_ctx->tokpos;
38692b15cb3dSCy Schubert 
3870276da39aSCy Schubert 	msyslog(LOG_ERR, "line %d column %d %s",
3871276da39aSCy Schubert 		ip_ctx->errpos.nline, ip_ctx->errpos.ncol, msg);
3872276da39aSCy Schubert 	if (!lex_from_file()) {
38732b15cb3dSCy Schubert 		/* Save the error message in the correct buffer */
38742b15cb3dSCy Schubert 		retval = snprintf(remote_config.err_msg + remote_config.err_pos,
38752b15cb3dSCy Schubert 				  MAXLINE - remote_config.err_pos,
38762b15cb3dSCy Schubert 				  "column %d %s",
3877276da39aSCy Schubert 				  ip_ctx->errpos.ncol, msg);
38782b15cb3dSCy Schubert 
38792b15cb3dSCy Schubert 		/* Increment the value of err_pos */
38802b15cb3dSCy Schubert 		if (retval > 0)
38812b15cb3dSCy Schubert 			remote_config.err_pos += retval;
38822b15cb3dSCy Schubert 
38832b15cb3dSCy Schubert 		/* Increment the number of errors */
38842b15cb3dSCy Schubert 		++remote_config.no_errors;
38852b15cb3dSCy Schubert 	}
38862b15cb3dSCy Schubert }
38872b15cb3dSCy Schubert 
38882b15cb3dSCy Schubert 
38892b15cb3dSCy Schubert /*
38902b15cb3dSCy Schubert  * token_name - convert T_ token integers to text
38912b15cb3dSCy Schubert  *		example: token_name(T_Server) returns "T_Server"
38922b15cb3dSCy Schubert  */
38932b15cb3dSCy Schubert const char *
38942b15cb3dSCy Schubert token_name(
38952b15cb3dSCy Schubert 	int token
38962b15cb3dSCy Schubert 	)
38972b15cb3dSCy Schubert {
38982b15cb3dSCy Schubert 	return yytname[YYTRANSLATE(token)];
38992b15cb3dSCy Schubert }
39002b15cb3dSCy Schubert 
39012b15cb3dSCy Schubert 
39022b15cb3dSCy Schubert /* Initial Testing function -- ignore */
39032b15cb3dSCy Schubert #if 0
39042b15cb3dSCy Schubert int main(int argc, char *argv[])
39052b15cb3dSCy Schubert {
39062b15cb3dSCy Schubert 	ip_file = FOPEN(argv[1], "r");
39072b15cb3dSCy Schubert 	if (!ip_file)
39082b15cb3dSCy Schubert 		fprintf(stderr, "ERROR!! Could not open file: %s\n", argv[1]);
39092b15cb3dSCy Schubert 	yyparse();
39102b15cb3dSCy Schubert 	return 0;
39112b15cb3dSCy Schubert }
39122b15cb3dSCy Schubert #endif
39132b15cb3dSCy Schubert 
3914