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