1*e27abb66SXin 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 5*e27abb66SXin 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. */ 47*e27abb66SXin 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. */ 65*e27abb66SXin 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*e27abb66SXin LI #line 100 "../../ntpd/ntp_parser.c" /* yacc.c:339 */ 1002b15cb3dSCy Schubert 101*e27abb66SXin LI # ifndef YY_NULLPTR 1022b15cb3dSCy Schubert # if defined __cplusplus && 201103L <= __cplusplus 103*e27abb66SXin LI # define YY_NULLPTR nullptr 1042b15cb3dSCy Schubert # else 105*e27abb66SXin 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". */ 119*e27abb66SXin LI #ifndef YY_YY_Y_TAB_H_INCLUDED 120*e27abb66SXin LI # define YY_YY_Y_TAB_H_INCLUDED 121*e27abb66SXin 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 129*e27abb66SXin LI /* Token type. */ 1302b15cb3dSCy Schubert #ifndef YYTOKENTYPE 1312b15cb3dSCy Schubert # define YYTOKENTYPE 132*e27abb66SXin LI enum yytokentype 133*e27abb66SXin 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, 1442b15cb3dSCy Schubert T_Beacon = 268, 1452b15cb3dSCy Schubert T_Broadcast = 269, 1462b15cb3dSCy Schubert T_Broadcastclient = 270, 1472b15cb3dSCy Schubert T_Broadcastdelay = 271, 1482b15cb3dSCy Schubert T_Burst = 272, 1492b15cb3dSCy Schubert T_Calibrate = 273, 1502b15cb3dSCy Schubert T_Ceiling = 274, 1512b15cb3dSCy Schubert T_Clockstats = 275, 1522b15cb3dSCy Schubert T_Cohort = 276, 1532b15cb3dSCy Schubert T_ControlKey = 277, 1542b15cb3dSCy Schubert T_Crypto = 278, 1552b15cb3dSCy Schubert T_Cryptostats = 279, 1562b15cb3dSCy Schubert T_Ctl = 280, 1572b15cb3dSCy Schubert T_Day = 281, 1582b15cb3dSCy Schubert T_Default = 282, 1592b15cb3dSCy Schubert T_Digest = 283, 1602b15cb3dSCy Schubert T_Disable = 284, 1612b15cb3dSCy Schubert T_Discard = 285, 1622b15cb3dSCy Schubert T_Dispersion = 286, 1632b15cb3dSCy Schubert T_Double = 287, 1642b15cb3dSCy Schubert T_Driftfile = 288, 1652b15cb3dSCy Schubert T_Drop = 289, 166276da39aSCy Schubert T_Dscp = 290, 167276da39aSCy Schubert T_Ellipsis = 291, 168276da39aSCy Schubert T_Enable = 292, 169276da39aSCy Schubert T_End = 293, 170276da39aSCy Schubert T_False = 294, 171276da39aSCy Schubert T_File = 295, 172276da39aSCy Schubert T_Filegen = 296, 173276da39aSCy Schubert T_Filenum = 297, 174276da39aSCy Schubert T_Flag1 = 298, 175276da39aSCy Schubert T_Flag2 = 299, 176276da39aSCy Schubert T_Flag3 = 300, 177276da39aSCy Schubert T_Flag4 = 301, 178276da39aSCy Schubert T_Flake = 302, 179276da39aSCy Schubert T_Floor = 303, 180276da39aSCy Schubert T_Freq = 304, 181276da39aSCy Schubert T_Fudge = 305, 182276da39aSCy Schubert T_Host = 306, 183276da39aSCy Schubert T_Huffpuff = 307, 184276da39aSCy Schubert T_Iburst = 308, 185276da39aSCy Schubert T_Ident = 309, 186276da39aSCy Schubert T_Ignore = 310, 187276da39aSCy Schubert T_Incalloc = 311, 188276da39aSCy Schubert T_Incmem = 312, 189276da39aSCy Schubert T_Initalloc = 313, 190276da39aSCy Schubert T_Initmem = 314, 191276da39aSCy Schubert T_Includefile = 315, 192276da39aSCy Schubert T_Integer = 316, 193276da39aSCy Schubert T_Interface = 317, 194276da39aSCy Schubert T_Intrange = 318, 195276da39aSCy Schubert T_Io = 319, 196276da39aSCy Schubert T_Ipv4 = 320, 197276da39aSCy Schubert T_Ipv4_flag = 321, 198276da39aSCy Schubert T_Ipv6 = 322, 199276da39aSCy Schubert T_Ipv6_flag = 323, 200276da39aSCy Schubert T_Kernel = 324, 201276da39aSCy Schubert T_Key = 325, 202276da39aSCy Schubert T_Keys = 326, 203276da39aSCy Schubert T_Keysdir = 327, 204276da39aSCy Schubert T_Kod = 328, 205276da39aSCy Schubert T_Mssntp = 329, 206276da39aSCy Schubert T_Leapfile = 330, 207276da39aSCy Schubert T_Leapsmearinterval = 331, 208276da39aSCy Schubert T_Limited = 332, 209276da39aSCy Schubert T_Link = 333, 210276da39aSCy Schubert T_Listen = 334, 211276da39aSCy Schubert T_Logconfig = 335, 212276da39aSCy Schubert T_Logfile = 336, 213276da39aSCy Schubert T_Loopstats = 337, 214276da39aSCy Schubert T_Lowpriotrap = 338, 215276da39aSCy Schubert T_Manycastclient = 339, 216276da39aSCy Schubert T_Manycastserver = 340, 217276da39aSCy Schubert T_Mask = 341, 218276da39aSCy Schubert T_Maxage = 342, 219276da39aSCy Schubert T_Maxclock = 343, 220276da39aSCy Schubert T_Maxdepth = 344, 221276da39aSCy Schubert T_Maxdist = 345, 222276da39aSCy Schubert T_Maxmem = 346, 223276da39aSCy Schubert T_Maxpoll = 347, 224276da39aSCy Schubert T_Mdnstries = 348, 225276da39aSCy Schubert T_Mem = 349, 226276da39aSCy Schubert T_Memlock = 350, 227276da39aSCy Schubert T_Minclock = 351, 228276da39aSCy Schubert T_Mindepth = 352, 229276da39aSCy Schubert T_Mindist = 353, 230276da39aSCy Schubert T_Minimum = 354, 231276da39aSCy Schubert T_Minpoll = 355, 232276da39aSCy Schubert T_Minsane = 356, 233276da39aSCy Schubert T_Mode = 357, 234276da39aSCy Schubert T_Mode7 = 358, 235276da39aSCy Schubert T_Monitor = 359, 236276da39aSCy Schubert T_Month = 360, 237276da39aSCy Schubert T_Mru = 361, 238276da39aSCy Schubert T_Multicastclient = 362, 239276da39aSCy Schubert T_Nic = 363, 240276da39aSCy Schubert T_Nolink = 364, 241276da39aSCy Schubert T_Nomodify = 365, 242276da39aSCy Schubert T_Nomrulist = 366, 243276da39aSCy Schubert T_None = 367, 244276da39aSCy Schubert T_Nonvolatile = 368, 245276da39aSCy Schubert T_Nopeer = 369, 246276da39aSCy Schubert T_Noquery = 370, 247276da39aSCy Schubert T_Noselect = 371, 248276da39aSCy Schubert T_Noserve = 372, 249276da39aSCy Schubert T_Notrap = 373, 250276da39aSCy Schubert T_Notrust = 374, 251276da39aSCy Schubert T_Ntp = 375, 252276da39aSCy Schubert T_Ntpport = 376, 253276da39aSCy Schubert T_NtpSignDsocket = 377, 254276da39aSCy Schubert T_Orphan = 378, 255276da39aSCy Schubert T_Orphanwait = 379, 256*e27abb66SXin LI T_PCEdigest = 380, 257*e27abb66SXin LI T_Panic = 381, 258*e27abb66SXin LI T_Peer = 382, 259*e27abb66SXin LI T_Peerstats = 383, 260*e27abb66SXin LI T_Phone = 384, 261*e27abb66SXin LI T_Pid = 385, 262*e27abb66SXin LI T_Pidfile = 386, 263*e27abb66SXin LI T_Pool = 387, 264*e27abb66SXin LI T_Port = 388, 265*e27abb66SXin LI T_Preempt = 389, 266*e27abb66SXin LI T_Prefer = 390, 267*e27abb66SXin LI T_Protostats = 391, 268*e27abb66SXin LI T_Pw = 392, 269*e27abb66SXin LI T_Randfile = 393, 270*e27abb66SXin LI T_Rawstats = 394, 271*e27abb66SXin LI T_Refid = 395, 272*e27abb66SXin LI T_Requestkey = 396, 273*e27abb66SXin LI T_Reset = 397, 274*e27abb66SXin LI T_Restrict = 398, 275*e27abb66SXin LI T_Revoke = 399, 276*e27abb66SXin LI T_Rlimit = 400, 277*e27abb66SXin LI T_Saveconfigdir = 401, 278*e27abb66SXin LI T_Server = 402, 279*e27abb66SXin LI T_Setvar = 403, 280*e27abb66SXin LI T_Source = 404, 281*e27abb66SXin LI T_Stacksize = 405, 282*e27abb66SXin LI T_Statistics = 406, 283*e27abb66SXin LI T_Stats = 407, 284*e27abb66SXin LI T_Statsdir = 408, 285*e27abb66SXin LI T_Step = 409, 286*e27abb66SXin LI T_Stepback = 410, 287*e27abb66SXin LI T_Stepfwd = 411, 288*e27abb66SXin LI T_Stepout = 412, 289*e27abb66SXin LI T_Stratum = 413, 290*e27abb66SXin LI T_String = 414, 291*e27abb66SXin LI T_Sys = 415, 292*e27abb66SXin LI T_Sysstats = 416, 293*e27abb66SXin LI T_Tick = 417, 294*e27abb66SXin LI T_Time1 = 418, 295*e27abb66SXin LI T_Time2 = 419, 296*e27abb66SXin LI T_Timer = 420, 297*e27abb66SXin LI T_Timingstats = 421, 298*e27abb66SXin LI T_Tinker = 422, 299*e27abb66SXin LI T_Tos = 423, 300*e27abb66SXin LI T_Trap = 424, 301*e27abb66SXin LI T_True = 425, 302*e27abb66SXin LI T_Trustedkey = 426, 303*e27abb66SXin LI T_Ttl = 427, 304*e27abb66SXin LI T_Type = 428, 305*e27abb66SXin LI T_U_int = 429, 306*e27abb66SXin LI T_UEcrypto = 430, 307*e27abb66SXin LI T_UEcryptonak = 431, 308*e27abb66SXin LI T_UEdigest = 432, 309*e27abb66SXin LI T_Unconfig = 433, 310*e27abb66SXin LI T_Unpeer = 434, 311*e27abb66SXin LI T_Version = 435, 312*e27abb66SXin LI T_WanderThreshold = 436, 313*e27abb66SXin LI T_Week = 437, 314*e27abb66SXin LI T_Wildcard = 438, 315*e27abb66SXin LI T_Xleave = 439, 316*e27abb66SXin LI T_Year = 440, 317*e27abb66SXin LI T_Flag = 441, 318*e27abb66SXin LI T_EOC = 442, 319*e27abb66SXin LI T_Simulate = 443, 320*e27abb66SXin LI T_Beep_Delay = 444, 321*e27abb66SXin LI T_Sim_Duration = 445, 322*e27abb66SXin LI T_Server_Offset = 446, 323*e27abb66SXin LI T_Duration = 447, 324*e27abb66SXin LI T_Freq_Offset = 448, 325*e27abb66SXin LI T_Wander = 449, 326*e27abb66SXin LI T_Jitter = 450, 327*e27abb66SXin LI T_Prop_Delay = 451, 328*e27abb66SXin LI T_Proc_Delay = 452 3292b15cb3dSCy Schubert }; 3302b15cb3dSCy Schubert #endif 3312b15cb3dSCy Schubert /* Tokens. */ 3322b15cb3dSCy Schubert #define T_Abbrev 258 3332b15cb3dSCy Schubert #define T_Age 259 3342b15cb3dSCy Schubert #define T_All 260 3352b15cb3dSCy Schubert #define T_Allan 261 3362b15cb3dSCy Schubert #define T_Allpeers 262 3372b15cb3dSCy Schubert #define T_Auth 263 3382b15cb3dSCy Schubert #define T_Autokey 264 3392b15cb3dSCy Schubert #define T_Automax 265 3402b15cb3dSCy Schubert #define T_Average 266 3412b15cb3dSCy Schubert #define T_Bclient 267 3422b15cb3dSCy Schubert #define T_Beacon 268 3432b15cb3dSCy Schubert #define T_Broadcast 269 3442b15cb3dSCy Schubert #define T_Broadcastclient 270 3452b15cb3dSCy Schubert #define T_Broadcastdelay 271 3462b15cb3dSCy Schubert #define T_Burst 272 3472b15cb3dSCy Schubert #define T_Calibrate 273 3482b15cb3dSCy Schubert #define T_Ceiling 274 3492b15cb3dSCy Schubert #define T_Clockstats 275 3502b15cb3dSCy Schubert #define T_Cohort 276 3512b15cb3dSCy Schubert #define T_ControlKey 277 3522b15cb3dSCy Schubert #define T_Crypto 278 3532b15cb3dSCy Schubert #define T_Cryptostats 279 3542b15cb3dSCy Schubert #define T_Ctl 280 3552b15cb3dSCy Schubert #define T_Day 281 3562b15cb3dSCy Schubert #define T_Default 282 3572b15cb3dSCy Schubert #define T_Digest 283 3582b15cb3dSCy Schubert #define T_Disable 284 3592b15cb3dSCy Schubert #define T_Discard 285 3602b15cb3dSCy Schubert #define T_Dispersion 286 3612b15cb3dSCy Schubert #define T_Double 287 3622b15cb3dSCy Schubert #define T_Driftfile 288 3632b15cb3dSCy Schubert #define T_Drop 289 364276da39aSCy Schubert #define T_Dscp 290 365276da39aSCy Schubert #define T_Ellipsis 291 366276da39aSCy Schubert #define T_Enable 292 367276da39aSCy Schubert #define T_End 293 368276da39aSCy Schubert #define T_False 294 369276da39aSCy Schubert #define T_File 295 370276da39aSCy Schubert #define T_Filegen 296 371276da39aSCy Schubert #define T_Filenum 297 372276da39aSCy Schubert #define T_Flag1 298 373276da39aSCy Schubert #define T_Flag2 299 374276da39aSCy Schubert #define T_Flag3 300 375276da39aSCy Schubert #define T_Flag4 301 376276da39aSCy Schubert #define T_Flake 302 377276da39aSCy Schubert #define T_Floor 303 378276da39aSCy Schubert #define T_Freq 304 379276da39aSCy Schubert #define T_Fudge 305 380276da39aSCy Schubert #define T_Host 306 381276da39aSCy Schubert #define T_Huffpuff 307 382276da39aSCy Schubert #define T_Iburst 308 383276da39aSCy Schubert #define T_Ident 309 384276da39aSCy Schubert #define T_Ignore 310 385276da39aSCy Schubert #define T_Incalloc 311 386276da39aSCy Schubert #define T_Incmem 312 387276da39aSCy Schubert #define T_Initalloc 313 388276da39aSCy Schubert #define T_Initmem 314 389276da39aSCy Schubert #define T_Includefile 315 390276da39aSCy Schubert #define T_Integer 316 391276da39aSCy Schubert #define T_Interface 317 392276da39aSCy Schubert #define T_Intrange 318 393276da39aSCy Schubert #define T_Io 319 394276da39aSCy Schubert #define T_Ipv4 320 395276da39aSCy Schubert #define T_Ipv4_flag 321 396276da39aSCy Schubert #define T_Ipv6 322 397276da39aSCy Schubert #define T_Ipv6_flag 323 398276da39aSCy Schubert #define T_Kernel 324 399276da39aSCy Schubert #define T_Key 325 400276da39aSCy Schubert #define T_Keys 326 401276da39aSCy Schubert #define T_Keysdir 327 402276da39aSCy Schubert #define T_Kod 328 403276da39aSCy Schubert #define T_Mssntp 329 404276da39aSCy Schubert #define T_Leapfile 330 405276da39aSCy Schubert #define T_Leapsmearinterval 331 406276da39aSCy Schubert #define T_Limited 332 407276da39aSCy Schubert #define T_Link 333 408276da39aSCy Schubert #define T_Listen 334 409276da39aSCy Schubert #define T_Logconfig 335 410276da39aSCy Schubert #define T_Logfile 336 411276da39aSCy Schubert #define T_Loopstats 337 412276da39aSCy Schubert #define T_Lowpriotrap 338 413276da39aSCy Schubert #define T_Manycastclient 339 414276da39aSCy Schubert #define T_Manycastserver 340 415276da39aSCy Schubert #define T_Mask 341 416276da39aSCy Schubert #define T_Maxage 342 417276da39aSCy Schubert #define T_Maxclock 343 418276da39aSCy Schubert #define T_Maxdepth 344 419276da39aSCy Schubert #define T_Maxdist 345 420276da39aSCy Schubert #define T_Maxmem 346 421276da39aSCy Schubert #define T_Maxpoll 347 422276da39aSCy Schubert #define T_Mdnstries 348 423276da39aSCy Schubert #define T_Mem 349 424276da39aSCy Schubert #define T_Memlock 350 425276da39aSCy Schubert #define T_Minclock 351 426276da39aSCy Schubert #define T_Mindepth 352 427276da39aSCy Schubert #define T_Mindist 353 428276da39aSCy Schubert #define T_Minimum 354 429276da39aSCy Schubert #define T_Minpoll 355 430276da39aSCy Schubert #define T_Minsane 356 431276da39aSCy Schubert #define T_Mode 357 432276da39aSCy Schubert #define T_Mode7 358 433276da39aSCy Schubert #define T_Monitor 359 434276da39aSCy Schubert #define T_Month 360 435276da39aSCy Schubert #define T_Mru 361 436276da39aSCy Schubert #define T_Multicastclient 362 437276da39aSCy Schubert #define T_Nic 363 438276da39aSCy Schubert #define T_Nolink 364 439276da39aSCy Schubert #define T_Nomodify 365 440276da39aSCy Schubert #define T_Nomrulist 366 441276da39aSCy Schubert #define T_None 367 442276da39aSCy Schubert #define T_Nonvolatile 368 443276da39aSCy Schubert #define T_Nopeer 369 444276da39aSCy Schubert #define T_Noquery 370 445276da39aSCy Schubert #define T_Noselect 371 446276da39aSCy Schubert #define T_Noserve 372 447276da39aSCy Schubert #define T_Notrap 373 448276da39aSCy Schubert #define T_Notrust 374 449276da39aSCy Schubert #define T_Ntp 375 450276da39aSCy Schubert #define T_Ntpport 376 451276da39aSCy Schubert #define T_NtpSignDsocket 377 452276da39aSCy Schubert #define T_Orphan 378 453276da39aSCy Schubert #define T_Orphanwait 379 454*e27abb66SXin LI #define T_PCEdigest 380 455*e27abb66SXin LI #define T_Panic 381 456*e27abb66SXin LI #define T_Peer 382 457*e27abb66SXin LI #define T_Peerstats 383 458*e27abb66SXin LI #define T_Phone 384 459*e27abb66SXin LI #define T_Pid 385 460*e27abb66SXin LI #define T_Pidfile 386 461*e27abb66SXin LI #define T_Pool 387 462*e27abb66SXin LI #define T_Port 388 463*e27abb66SXin LI #define T_Preempt 389 464*e27abb66SXin LI #define T_Prefer 390 465*e27abb66SXin LI #define T_Protostats 391 466*e27abb66SXin LI #define T_Pw 392 467*e27abb66SXin LI #define T_Randfile 393 468*e27abb66SXin LI #define T_Rawstats 394 469*e27abb66SXin LI #define T_Refid 395 470*e27abb66SXin LI #define T_Requestkey 396 471*e27abb66SXin LI #define T_Reset 397 472*e27abb66SXin LI #define T_Restrict 398 473*e27abb66SXin LI #define T_Revoke 399 474*e27abb66SXin LI #define T_Rlimit 400 475*e27abb66SXin LI #define T_Saveconfigdir 401 476*e27abb66SXin LI #define T_Server 402 477*e27abb66SXin LI #define T_Setvar 403 478*e27abb66SXin LI #define T_Source 404 479*e27abb66SXin LI #define T_Stacksize 405 480*e27abb66SXin LI #define T_Statistics 406 481*e27abb66SXin LI #define T_Stats 407 482*e27abb66SXin LI #define T_Statsdir 408 483*e27abb66SXin LI #define T_Step 409 484*e27abb66SXin LI #define T_Stepback 410 485*e27abb66SXin LI #define T_Stepfwd 411 486*e27abb66SXin LI #define T_Stepout 412 487*e27abb66SXin LI #define T_Stratum 413 488*e27abb66SXin LI #define T_String 414 489*e27abb66SXin LI #define T_Sys 415 490*e27abb66SXin LI #define T_Sysstats 416 491*e27abb66SXin LI #define T_Tick 417 492*e27abb66SXin LI #define T_Time1 418 493*e27abb66SXin LI #define T_Time2 419 494*e27abb66SXin LI #define T_Timer 420 495*e27abb66SXin LI #define T_Timingstats 421 496*e27abb66SXin LI #define T_Tinker 422 497*e27abb66SXin LI #define T_Tos 423 498*e27abb66SXin LI #define T_Trap 424 499*e27abb66SXin LI #define T_True 425 500*e27abb66SXin LI #define T_Trustedkey 426 501*e27abb66SXin LI #define T_Ttl 427 502*e27abb66SXin LI #define T_Type 428 503*e27abb66SXin LI #define T_U_int 429 504*e27abb66SXin LI #define T_UEcrypto 430 505*e27abb66SXin LI #define T_UEcryptonak 431 506*e27abb66SXin LI #define T_UEdigest 432 507*e27abb66SXin LI #define T_Unconfig 433 508*e27abb66SXin LI #define T_Unpeer 434 509*e27abb66SXin LI #define T_Version 435 510*e27abb66SXin LI #define T_WanderThreshold 436 511*e27abb66SXin LI #define T_Week 437 512*e27abb66SXin LI #define T_Wildcard 438 513*e27abb66SXin LI #define T_Xleave 439 514*e27abb66SXin LI #define T_Year 440 515*e27abb66SXin LI #define T_Flag 441 516*e27abb66SXin LI #define T_EOC 442 517*e27abb66SXin LI #define T_Simulate 443 518*e27abb66SXin LI #define T_Beep_Delay 444 519*e27abb66SXin LI #define T_Sim_Duration 445 520*e27abb66SXin LI #define T_Server_Offset 446 521*e27abb66SXin LI #define T_Duration 447 522*e27abb66SXin LI #define T_Freq_Offset 448 523*e27abb66SXin LI #define T_Wander 449 524*e27abb66SXin LI #define T_Jitter 450 525*e27abb66SXin LI #define T_Prop_Delay 451 526*e27abb66SXin LI #define T_Proc_Delay 452 5272b15cb3dSCy Schubert 528*e27abb66SXin LI /* Value type. */ 5292b15cb3dSCy Schubert #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 530*e27abb66SXin LI 531*e27abb66SXin LI union YYSTYPE 5322b15cb3dSCy Schubert { 533*e27abb66SXin LI #line 51 "../../ntpd/ntp_parser.y" /* yacc.c:355 */ 5342b15cb3dSCy Schubert 5352b15cb3dSCy Schubert char * String; 5362b15cb3dSCy Schubert double Double; 5372b15cb3dSCy Schubert int Integer; 5382b15cb3dSCy Schubert unsigned U_int; 5392b15cb3dSCy Schubert gen_fifo * Generic_fifo; 5402b15cb3dSCy Schubert attr_val * Attr_val; 5412b15cb3dSCy Schubert attr_val_fifo * Attr_val_fifo; 5422b15cb3dSCy Schubert int_fifo * Int_fifo; 5432b15cb3dSCy Schubert string_fifo * String_fifo; 5442b15cb3dSCy Schubert address_node * Address_node; 5452b15cb3dSCy Schubert address_fifo * Address_fifo; 5462b15cb3dSCy Schubert setvar_node * Set_var; 5472b15cb3dSCy Schubert server_info * Sim_server; 5482b15cb3dSCy Schubert server_info_fifo * Sim_server_fifo; 5492b15cb3dSCy Schubert script_info * Sim_script; 5502b15cb3dSCy Schubert script_info_fifo * Sim_script_fifo; 5512b15cb3dSCy Schubert 552*e27abb66SXin LI #line 553 "../../ntpd/ntp_parser.c" /* yacc.c:355 */ 553*e27abb66SXin LI }; 55468ba7e87SXin LI 555*e27abb66SXin LI typedef union YYSTYPE YYSTYPE; 5562b15cb3dSCy Schubert # define YYSTYPE_IS_TRIVIAL 1 5572b15cb3dSCy Schubert # define YYSTYPE_IS_DECLARED 1 5582b15cb3dSCy Schubert #endif 5592b15cb3dSCy Schubert 560*e27abb66SXin LI 5612b15cb3dSCy Schubert extern YYSTYPE yylval; 5622b15cb3dSCy Schubert 563276da39aSCy Schubert int yyparse (void); 5642b15cb3dSCy Schubert 565*e27abb66SXin LI #endif /* !YY_YY_Y_TAB_H_INCLUDED */ 5662b15cb3dSCy Schubert 5672b15cb3dSCy Schubert /* Copy the second part of user declarations. */ 5682b15cb3dSCy Schubert 569*e27abb66SXin LI #line 570 "../../ntpd/ntp_parser.c" /* yacc.c:358 */ 5702b15cb3dSCy Schubert 5712b15cb3dSCy Schubert #ifdef short 5722b15cb3dSCy Schubert # undef short 5732b15cb3dSCy Schubert #endif 5742b15cb3dSCy Schubert 5752b15cb3dSCy Schubert #ifdef YYTYPE_UINT8 5762b15cb3dSCy Schubert typedef YYTYPE_UINT8 yytype_uint8; 5772b15cb3dSCy Schubert #else 5782b15cb3dSCy Schubert typedef unsigned char yytype_uint8; 5792b15cb3dSCy Schubert #endif 5802b15cb3dSCy Schubert 5812b15cb3dSCy Schubert #ifdef YYTYPE_INT8 5822b15cb3dSCy Schubert typedef YYTYPE_INT8 yytype_int8; 58368ba7e87SXin LI #else 584*e27abb66SXin LI typedef signed char yytype_int8; 5852b15cb3dSCy Schubert #endif 5862b15cb3dSCy Schubert 5872b15cb3dSCy Schubert #ifdef YYTYPE_UINT16 5882b15cb3dSCy Schubert typedef YYTYPE_UINT16 yytype_uint16; 5892b15cb3dSCy Schubert #else 5902b15cb3dSCy Schubert typedef unsigned short int yytype_uint16; 5912b15cb3dSCy Schubert #endif 5922b15cb3dSCy Schubert 5932b15cb3dSCy Schubert #ifdef YYTYPE_INT16 5942b15cb3dSCy Schubert typedef YYTYPE_INT16 yytype_int16; 5952b15cb3dSCy Schubert #else 5962b15cb3dSCy Schubert typedef short int yytype_int16; 5972b15cb3dSCy Schubert #endif 5982b15cb3dSCy Schubert 5992b15cb3dSCy Schubert #ifndef YYSIZE_T 6002b15cb3dSCy Schubert # ifdef __SIZE_TYPE__ 6012b15cb3dSCy Schubert # define YYSIZE_T __SIZE_TYPE__ 6022b15cb3dSCy Schubert # elif defined size_t 6032b15cb3dSCy Schubert # define YYSIZE_T size_t 604*e27abb66SXin LI # elif ! defined YYSIZE_T 6052b15cb3dSCy Schubert # include <stddef.h> /* INFRINGES ON USER NAME SPACE */ 6062b15cb3dSCy Schubert # define YYSIZE_T size_t 6072b15cb3dSCy Schubert # else 6082b15cb3dSCy Schubert # define YYSIZE_T unsigned int 6092b15cb3dSCy Schubert # endif 6102b15cb3dSCy Schubert #endif 6112b15cb3dSCy Schubert 6122b15cb3dSCy Schubert #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) 6132b15cb3dSCy Schubert 6142b15cb3dSCy Schubert #ifndef YY_ 6152b15cb3dSCy Schubert # if defined YYENABLE_NLS && YYENABLE_NLS 6162b15cb3dSCy Schubert # if ENABLE_NLS 6172b15cb3dSCy Schubert # include <libintl.h> /* INFRINGES ON USER NAME SPACE */ 6182b15cb3dSCy Schubert # define YY_(Msgid) dgettext ("bison-runtime", Msgid) 6192b15cb3dSCy Schubert # endif 6202b15cb3dSCy Schubert # endif 6212b15cb3dSCy Schubert # ifndef YY_ 6222b15cb3dSCy Schubert # define YY_(Msgid) Msgid 6232b15cb3dSCy Schubert # endif 6242b15cb3dSCy Schubert #endif 6252b15cb3dSCy Schubert 626*e27abb66SXin LI #ifndef YY_ATTRIBUTE 627*e27abb66SXin LI # if (defined __GNUC__ \ 628*e27abb66SXin LI && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \ 629*e27abb66SXin LI || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C 630*e27abb66SXin LI # define YY_ATTRIBUTE(Spec) __attribute__(Spec) 631*e27abb66SXin LI # else 632*e27abb66SXin LI # define YY_ATTRIBUTE(Spec) /* empty */ 633*e27abb66SXin LI # endif 634*e27abb66SXin LI #endif 635*e27abb66SXin LI 636*e27abb66SXin LI #ifndef YY_ATTRIBUTE_PURE 637*e27abb66SXin LI # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__)) 638*e27abb66SXin LI #endif 639*e27abb66SXin LI 640*e27abb66SXin LI #ifndef YY_ATTRIBUTE_UNUSED 641*e27abb66SXin LI # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__)) 642*e27abb66SXin LI #endif 643*e27abb66SXin LI 644*e27abb66SXin LI #if !defined _Noreturn \ 645*e27abb66SXin LI && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112) 646*e27abb66SXin LI # if defined _MSC_VER && 1200 <= _MSC_VER 647*e27abb66SXin LI # define _Noreturn __declspec (noreturn) 648*e27abb66SXin LI # else 649*e27abb66SXin LI # define _Noreturn YY_ATTRIBUTE ((__noreturn__)) 6502b15cb3dSCy Schubert # endif 6512b15cb3dSCy Schubert #endif 6522b15cb3dSCy Schubert 6532b15cb3dSCy Schubert /* Suppress unused-variable warnings by "using" E. */ 6542b15cb3dSCy Schubert #if ! defined lint || defined __GNUC__ 6552b15cb3dSCy Schubert # define YYUSE(E) ((void) (E)) 6562b15cb3dSCy Schubert #else 6572b15cb3dSCy Schubert # define YYUSE(E) /* empty */ 6582b15cb3dSCy Schubert #endif 6592b15cb3dSCy Schubert 660*e27abb66SXin LI #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ 661*e27abb66SXin LI /* Suppress an incorrect diagnostic about yylval being uninitialized. */ 662*e27abb66SXin LI # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ 663*e27abb66SXin LI _Pragma ("GCC diagnostic push") \ 664*e27abb66SXin LI _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ 665*e27abb66SXin LI _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") 666*e27abb66SXin LI # define YY_IGNORE_MAYBE_UNINITIALIZED_END \ 667*e27abb66SXin LI _Pragma ("GCC diagnostic pop") 668*e27abb66SXin LI #else 669*e27abb66SXin LI # define YY_INITIAL_VALUE(Value) Value 670*e27abb66SXin LI #endif 671*e27abb66SXin LI #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 672*e27abb66SXin LI # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 673*e27abb66SXin LI # define YY_IGNORE_MAYBE_UNINITIALIZED_END 674*e27abb66SXin LI #endif 675*e27abb66SXin LI #ifndef YY_INITIAL_VALUE 676*e27abb66SXin LI # define YY_INITIAL_VALUE(Value) /* Nothing. */ 677*e27abb66SXin LI #endif 6782b15cb3dSCy Schubert 6792b15cb3dSCy Schubert 6802b15cb3dSCy Schubert #if ! defined yyoverflow || YYERROR_VERBOSE 6812b15cb3dSCy Schubert 6822b15cb3dSCy Schubert /* The parser invokes alloca or malloc; define the necessary symbols. */ 6832b15cb3dSCy Schubert 6842b15cb3dSCy Schubert # ifdef YYSTACK_USE_ALLOCA 6852b15cb3dSCy Schubert # if YYSTACK_USE_ALLOCA 6862b15cb3dSCy Schubert # ifdef __GNUC__ 6872b15cb3dSCy Schubert # define YYSTACK_ALLOC __builtin_alloca 6882b15cb3dSCy Schubert # elif defined __BUILTIN_VA_ARG_INCR 6892b15cb3dSCy Schubert # include <alloca.h> /* INFRINGES ON USER NAME SPACE */ 6902b15cb3dSCy Schubert # elif defined _AIX 6912b15cb3dSCy Schubert # define YYSTACK_ALLOC __alloca 6922b15cb3dSCy Schubert # elif defined _MSC_VER 6932b15cb3dSCy Schubert # include <malloc.h> /* INFRINGES ON USER NAME SPACE */ 6942b15cb3dSCy Schubert # define alloca _alloca 6952b15cb3dSCy Schubert # else 6962b15cb3dSCy Schubert # define YYSTACK_ALLOC alloca 697*e27abb66SXin LI # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS 6982b15cb3dSCy Schubert # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 6992b15cb3dSCy Schubert /* Use EXIT_SUCCESS as a witness for stdlib.h. */ 7002b15cb3dSCy Schubert # ifndef EXIT_SUCCESS 7012b15cb3dSCy Schubert # define EXIT_SUCCESS 0 7022b15cb3dSCy Schubert # endif 7032b15cb3dSCy Schubert # endif 7042b15cb3dSCy Schubert # endif 7052b15cb3dSCy Schubert # endif 7062b15cb3dSCy Schubert # endif 7072b15cb3dSCy Schubert 7082b15cb3dSCy Schubert # ifdef YYSTACK_ALLOC 709*e27abb66SXin LI /* Pacify GCC's 'empty if-body' warning. */ 710*e27abb66SXin LI # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) 7112b15cb3dSCy Schubert # ifndef YYSTACK_ALLOC_MAXIMUM 7122b15cb3dSCy Schubert /* The OS might guarantee only one guard page at the bottom of the stack, 7132b15cb3dSCy Schubert and a page size can be as small as 4096 bytes. So we cannot safely 7142b15cb3dSCy Schubert invoke alloca (N) if N exceeds 4096. Use a slightly smaller number 7152b15cb3dSCy Schubert to allow for a few compiler-allocated temporary stack slots. */ 7162b15cb3dSCy Schubert # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ 7172b15cb3dSCy Schubert # endif 7182b15cb3dSCy Schubert # else 7192b15cb3dSCy Schubert # define YYSTACK_ALLOC YYMALLOC 7202b15cb3dSCy Schubert # define YYSTACK_FREE YYFREE 7212b15cb3dSCy Schubert # ifndef YYSTACK_ALLOC_MAXIMUM 7222b15cb3dSCy Schubert # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM 7232b15cb3dSCy Schubert # endif 7242b15cb3dSCy Schubert # if (defined __cplusplus && ! defined EXIT_SUCCESS \ 7252b15cb3dSCy Schubert && ! ((defined YYMALLOC || defined malloc) \ 7262b15cb3dSCy Schubert && (defined YYFREE || defined free))) 7272b15cb3dSCy Schubert # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 7282b15cb3dSCy Schubert # ifndef EXIT_SUCCESS 7292b15cb3dSCy Schubert # define EXIT_SUCCESS 0 7302b15cb3dSCy Schubert # endif 7312b15cb3dSCy Schubert # endif 7322b15cb3dSCy Schubert # ifndef YYMALLOC 7332b15cb3dSCy Schubert # define YYMALLOC malloc 734*e27abb66SXin LI # if ! defined malloc && ! defined EXIT_SUCCESS 7352b15cb3dSCy Schubert void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ 7362b15cb3dSCy Schubert # endif 7372b15cb3dSCy Schubert # endif 7382b15cb3dSCy Schubert # ifndef YYFREE 7392b15cb3dSCy Schubert # define YYFREE free 740*e27abb66SXin LI # if ! defined free && ! defined EXIT_SUCCESS 7412b15cb3dSCy Schubert void free (void *); /* INFRINGES ON USER NAME SPACE */ 7422b15cb3dSCy Schubert # endif 7432b15cb3dSCy Schubert # endif 7442b15cb3dSCy Schubert # endif 7452b15cb3dSCy Schubert #endif /* ! defined yyoverflow || YYERROR_VERBOSE */ 7462b15cb3dSCy Schubert 7472b15cb3dSCy Schubert 7482b15cb3dSCy Schubert #if (! defined yyoverflow \ 7492b15cb3dSCy Schubert && (! defined __cplusplus \ 7502b15cb3dSCy Schubert || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) 7512b15cb3dSCy Schubert 7522b15cb3dSCy Schubert /* A type that is properly aligned for any stack member. */ 7532b15cb3dSCy Schubert union yyalloc 7542b15cb3dSCy Schubert { 7552b15cb3dSCy Schubert yytype_int16 yyss_alloc; 7562b15cb3dSCy Schubert YYSTYPE yyvs_alloc; 7572b15cb3dSCy Schubert }; 7582b15cb3dSCy Schubert 7592b15cb3dSCy Schubert /* The size of the maximum gap between one aligned stack and the next. */ 7602b15cb3dSCy Schubert # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) 7612b15cb3dSCy Schubert 7622b15cb3dSCy Schubert /* The size of an array large to enough to hold all stacks, each with 7632b15cb3dSCy Schubert N elements. */ 7642b15cb3dSCy Schubert # define YYSTACK_BYTES(N) \ 7652b15cb3dSCy Schubert ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ 7662b15cb3dSCy Schubert + YYSTACK_GAP_MAXIMUM) 7672b15cb3dSCy Schubert 7682b15cb3dSCy Schubert # define YYCOPY_NEEDED 1 7692b15cb3dSCy Schubert 7702b15cb3dSCy Schubert /* Relocate STACK from its old location to the new one. The 7712b15cb3dSCy Schubert local variables YYSIZE and YYSTACKSIZE give the old and new number of 7722b15cb3dSCy Schubert elements in the stack, and YYPTR gives the new location of the 7732b15cb3dSCy Schubert stack. Advance YYPTR to a properly aligned location for the next 7742b15cb3dSCy Schubert stack. */ 7752b15cb3dSCy Schubert # define YYSTACK_RELOCATE(Stack_alloc, Stack) \ 7762b15cb3dSCy Schubert do \ 7772b15cb3dSCy Schubert { \ 7782b15cb3dSCy Schubert YYSIZE_T yynewbytes; \ 7792b15cb3dSCy Schubert YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ 7802b15cb3dSCy Schubert Stack = &yyptr->Stack_alloc; \ 7812b15cb3dSCy Schubert yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ 7822b15cb3dSCy Schubert yyptr += yynewbytes / sizeof (*yyptr); \ 7832b15cb3dSCy Schubert } \ 784*e27abb66SXin LI while (0) 7852b15cb3dSCy Schubert 7862b15cb3dSCy Schubert #endif 7872b15cb3dSCy Schubert 7882b15cb3dSCy Schubert #if defined YYCOPY_NEEDED && YYCOPY_NEEDED 7892b15cb3dSCy Schubert /* Copy COUNT objects from SRC to DST. The source and destination do 7902b15cb3dSCy Schubert not overlap. */ 7912b15cb3dSCy Schubert # ifndef YYCOPY 7922b15cb3dSCy Schubert # if defined __GNUC__ && 1 < __GNUC__ 7932b15cb3dSCy Schubert # define YYCOPY(Dst, Src, Count) \ 7942b15cb3dSCy Schubert __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src))) 7952b15cb3dSCy Schubert # else 7962b15cb3dSCy Schubert # define YYCOPY(Dst, Src, Count) \ 7972b15cb3dSCy Schubert do \ 7982b15cb3dSCy Schubert { \ 7992b15cb3dSCy Schubert YYSIZE_T yyi; \ 8002b15cb3dSCy Schubert for (yyi = 0; yyi < (Count); yyi++) \ 8012b15cb3dSCy Schubert (Dst)[yyi] = (Src)[yyi]; \ 8022b15cb3dSCy Schubert } \ 803*e27abb66SXin LI while (0) 8042b15cb3dSCy Schubert # endif 8052b15cb3dSCy Schubert # endif 8062b15cb3dSCy Schubert #endif /* !YYCOPY_NEEDED */ 8072b15cb3dSCy Schubert 8082b15cb3dSCy Schubert /* YYFINAL -- State number of the termination state. */ 809*e27abb66SXin LI #define YYFINAL 214 8102b15cb3dSCy Schubert /* YYLAST -- Last index in YYTABLE. */ 811*e27abb66SXin LI #define YYLAST 655 8122b15cb3dSCy Schubert 8132b15cb3dSCy Schubert /* YYNTOKENS -- Number of terminals. */ 814*e27abb66SXin LI #define YYNTOKENS 203 8152b15cb3dSCy Schubert /* YYNNTS -- Number of nonterminals. */ 816276da39aSCy Schubert #define YYNNTS 105 8172b15cb3dSCy Schubert /* YYNRULES -- Number of rules. */ 818*e27abb66SXin LI #define YYNRULES 317 819*e27abb66SXin LI /* YYNSTATES -- Number of states. */ 820*e27abb66SXin LI #define YYNSTATES 423 8212b15cb3dSCy Schubert 822*e27abb66SXin LI /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned 823*e27abb66SXin LI by yylex, with out-of-bounds checking. */ 8242b15cb3dSCy Schubert #define YYUNDEFTOK 2 825*e27abb66SXin LI #define YYMAXUTOK 452 8262b15cb3dSCy Schubert 8272b15cb3dSCy Schubert #define YYTRANSLATE(YYX) \ 8282b15cb3dSCy Schubert ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) 8292b15cb3dSCy Schubert 830*e27abb66SXin LI /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM 831*e27abb66SXin LI as returned by yylex, without out-of-bounds checking. */ 8322b15cb3dSCy Schubert static const yytype_uint8 yytranslate[] = 8332b15cb3dSCy Schubert { 8342b15cb3dSCy Schubert 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 8352b15cb3dSCy Schubert 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 8362b15cb3dSCy Schubert 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 8372b15cb3dSCy Schubert 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 838*e27abb66SXin LI 199, 200, 2, 2, 2, 2, 2, 2, 2, 2, 8392b15cb3dSCy Schubert 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 840*e27abb66SXin LI 2, 198, 2, 2, 2, 2, 2, 2, 2, 2, 8412b15cb3dSCy Schubert 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 8422b15cb3dSCy Schubert 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 8432b15cb3dSCy Schubert 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 8442b15cb3dSCy Schubert 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 8452b15cb3dSCy Schubert 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 846*e27abb66SXin LI 2, 2, 2, 201, 2, 202, 2, 2, 2, 2, 8472b15cb3dSCy Schubert 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 8482b15cb3dSCy Schubert 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 8492b15cb3dSCy Schubert 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 8502b15cb3dSCy Schubert 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 8512b15cb3dSCy Schubert 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 8522b15cb3dSCy Schubert 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 8532b15cb3dSCy Schubert 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 8542b15cb3dSCy Schubert 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 8552b15cb3dSCy Schubert 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 8562b15cb3dSCy Schubert 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 8572b15cb3dSCy Schubert 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 8582b15cb3dSCy Schubert 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 8592b15cb3dSCy Schubert 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, 8602b15cb3dSCy Schubert 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 8612b15cb3dSCy Schubert 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 8622b15cb3dSCy Schubert 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 8632b15cb3dSCy Schubert 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 8642b15cb3dSCy Schubert 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 8652b15cb3dSCy Schubert 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 8662b15cb3dSCy Schubert 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 8672b15cb3dSCy Schubert 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 8682b15cb3dSCy Schubert 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 8692b15cb3dSCy Schubert 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 8702b15cb3dSCy Schubert 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 8712b15cb3dSCy Schubert 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 8722b15cb3dSCy Schubert 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 8732b15cb3dSCy Schubert 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 8742b15cb3dSCy Schubert 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 8752b15cb3dSCy Schubert 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 8762b15cb3dSCy Schubert 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 8772b15cb3dSCy Schubert 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 87868ba7e87SXin LI 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 879*e27abb66SXin LI 195, 196, 197 8802b15cb3dSCy Schubert }; 8812b15cb3dSCy Schubert 8822b15cb3dSCy Schubert #if YYDEBUG 883*e27abb66SXin LI /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ 8842b15cb3dSCy Schubert static const yytype_uint16 yyrline[] = 8852b15cb3dSCy Schubert { 886*e27abb66SXin LI 0, 370, 370, 374, 375, 376, 391, 392, 393, 394, 887*e27abb66SXin LI 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 888*e27abb66SXin LI 412, 422, 423, 424, 425, 426, 430, 431, 436, 441, 889*e27abb66SXin LI 443, 449, 450, 458, 459, 460, 464, 469, 470, 471, 890*e27abb66SXin LI 472, 473, 474, 475, 476, 480, 482, 487, 488, 489, 891*e27abb66SXin LI 490, 491, 492, 496, 501, 510, 520, 521, 531, 533, 892*e27abb66SXin LI 535, 537, 548, 555, 557, 562, 564, 566, 568, 570, 893*e27abb66SXin LI 579, 585, 586, 594, 596, 608, 609, 610, 611, 612, 894*e27abb66SXin LI 621, 626, 631, 639, 641, 643, 648, 649, 650, 651, 895*e27abb66SXin LI 652, 653, 657, 658, 659, 660, 669, 671, 680, 690, 896*e27abb66SXin LI 695, 703, 704, 705, 706, 707, 708, 709, 710, 715, 897*e27abb66SXin LI 716, 724, 734, 743, 758, 763, 764, 768, 769, 773, 898*e27abb66SXin LI 774, 775, 776, 777, 778, 779, 788, 792, 796, 804, 899*e27abb66SXin LI 812, 820, 835, 850, 863, 864, 872, 873, 874, 875, 900*e27abb66SXin LI 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 901*e27abb66SXin LI 886, 890, 895, 903, 908, 909, 910, 914, 919, 927, 902*e27abb66SXin LI 932, 933, 934, 935, 936, 937, 938, 939, 947, 957, 903*e27abb66SXin LI 962, 970, 972, 974, 983, 985, 990, 991, 995, 996, 904*e27abb66SXin LI 997, 998, 1006, 1011, 1016, 1024, 1029, 1030, 1031, 1040, 905*e27abb66SXin LI 1042, 1047, 1052, 1060, 1062, 1079, 1080, 1081, 1082, 1083, 906*e27abb66SXin LI 1084, 1088, 1089, 1090, 1091, 1092, 1093, 1101, 1106, 1111, 907*e27abb66SXin LI 1119, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 908*e27abb66SXin LI 1133, 1142, 1143, 1144, 1151, 1158, 1165, 1181, 1200, 1202, 909*e27abb66SXin LI 1204, 1206, 1208, 1210, 1217, 1222, 1223, 1224, 1228, 1232, 910*e27abb66SXin LI 1241, 1242, 1246, 1247, 1248, 1252, 1263, 1277, 1289, 1294, 911*e27abb66SXin LI 1296, 1301, 1302, 1310, 1312, 1320, 1325, 1333, 1358, 1365, 912*e27abb66SXin LI 1375, 1376, 1380, 1381, 1382, 1383, 1387, 1388, 1389, 1393, 913*e27abb66SXin LI 1398, 1403, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1427, 914*e27abb66SXin LI 1432, 1440, 1445, 1453, 1455, 1459, 1464, 1469, 1477, 1482, 915*e27abb66SXin LI 1490, 1499, 1500, 1504, 1505, 1514, 1532, 1536, 1541, 1549, 916*e27abb66SXin LI 1554, 1555, 1559, 1564, 1572, 1577, 1582, 1587, 1592, 1600, 917*e27abb66SXin LI 1605, 1610, 1618, 1623, 1624, 1625, 1626, 1627 9182b15cb3dSCy Schubert }; 9192b15cb3dSCy Schubert #endif 9202b15cb3dSCy Schubert 9212b15cb3dSCy Schubert #if YYDEBUG || YYERROR_VERBOSE || 1 9222b15cb3dSCy Schubert /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. 9232b15cb3dSCy Schubert First, the terminals, then, starting at YYNTOKENS, nonterminals. */ 9242b15cb3dSCy Schubert static const char *const yytname[] = 9252b15cb3dSCy Schubert { 9262b15cb3dSCy Schubert "$end", "error", "$undefined", "T_Abbrev", "T_Age", "T_All", "T_Allan", 9272b15cb3dSCy Schubert "T_Allpeers", "T_Auth", "T_Autokey", "T_Automax", "T_Average", 9282b15cb3dSCy Schubert "T_Bclient", "T_Beacon", "T_Broadcast", "T_Broadcastclient", 9292b15cb3dSCy Schubert "T_Broadcastdelay", "T_Burst", "T_Calibrate", "T_Ceiling", 9302b15cb3dSCy Schubert "T_Clockstats", "T_Cohort", "T_ControlKey", "T_Crypto", "T_Cryptostats", 9312b15cb3dSCy Schubert "T_Ctl", "T_Day", "T_Default", "T_Digest", "T_Disable", "T_Discard", 932276da39aSCy Schubert "T_Dispersion", "T_Double", "T_Driftfile", "T_Drop", "T_Dscp", 933276da39aSCy Schubert "T_Ellipsis", "T_Enable", "T_End", "T_False", "T_File", "T_Filegen", 934276da39aSCy Schubert "T_Filenum", "T_Flag1", "T_Flag2", "T_Flag3", "T_Flag4", "T_Flake", 935276da39aSCy Schubert "T_Floor", "T_Freq", "T_Fudge", "T_Host", "T_Huffpuff", "T_Iburst", 936276da39aSCy Schubert "T_Ident", "T_Ignore", "T_Incalloc", "T_Incmem", "T_Initalloc", 937276da39aSCy Schubert "T_Initmem", "T_Includefile", "T_Integer", "T_Interface", "T_Intrange", 938276da39aSCy Schubert "T_Io", "T_Ipv4", "T_Ipv4_flag", "T_Ipv6", "T_Ipv6_flag", "T_Kernel", 939276da39aSCy Schubert "T_Key", "T_Keys", "T_Keysdir", "T_Kod", "T_Mssntp", "T_Leapfile", 940276da39aSCy Schubert "T_Leapsmearinterval", "T_Limited", "T_Link", "T_Listen", "T_Logconfig", 941276da39aSCy Schubert "T_Logfile", "T_Loopstats", "T_Lowpriotrap", "T_Manycastclient", 942276da39aSCy Schubert "T_Manycastserver", "T_Mask", "T_Maxage", "T_Maxclock", "T_Maxdepth", 943276da39aSCy Schubert "T_Maxdist", "T_Maxmem", "T_Maxpoll", "T_Mdnstries", "T_Mem", 944276da39aSCy Schubert "T_Memlock", "T_Minclock", "T_Mindepth", "T_Mindist", "T_Minimum", 945276da39aSCy Schubert "T_Minpoll", "T_Minsane", "T_Mode", "T_Mode7", "T_Monitor", "T_Month", 946276da39aSCy Schubert "T_Mru", "T_Multicastclient", "T_Nic", "T_Nolink", "T_Nomodify", 947276da39aSCy Schubert "T_Nomrulist", "T_None", "T_Nonvolatile", "T_Nopeer", "T_Noquery", 948276da39aSCy Schubert "T_Noselect", "T_Noserve", "T_Notrap", "T_Notrust", "T_Ntp", "T_Ntpport", 949*e27abb66SXin LI "T_NtpSignDsocket", "T_Orphan", "T_Orphanwait", "T_PCEdigest", "T_Panic", 950*e27abb66SXin LI "T_Peer", "T_Peerstats", "T_Phone", "T_Pid", "T_Pidfile", "T_Pool", 951*e27abb66SXin LI "T_Port", "T_Preempt", "T_Prefer", "T_Protostats", "T_Pw", "T_Randfile", 9522b15cb3dSCy Schubert "T_Rawstats", "T_Refid", "T_Requestkey", "T_Reset", "T_Restrict", 9532b15cb3dSCy Schubert "T_Revoke", "T_Rlimit", "T_Saveconfigdir", "T_Server", "T_Setvar", 9542b15cb3dSCy Schubert "T_Source", "T_Stacksize", "T_Statistics", "T_Stats", "T_Statsdir", 955a25439b6SCy Schubert "T_Step", "T_Stepback", "T_Stepfwd", "T_Stepout", "T_Stratum", 956a25439b6SCy Schubert "T_String", "T_Sys", "T_Sysstats", "T_Tick", "T_Time1", "T_Time2", 957a25439b6SCy Schubert "T_Timer", "T_Timingstats", "T_Tinker", "T_Tos", "T_Trap", "T_True", 95868ba7e87SXin LI "T_Trustedkey", "T_Ttl", "T_Type", "T_U_int", "T_UEcrypto", 95968ba7e87SXin LI "T_UEcryptonak", "T_UEdigest", "T_Unconfig", "T_Unpeer", "T_Version", 96068ba7e87SXin LI "T_WanderThreshold", "T_Week", "T_Wildcard", "T_Xleave", "T_Year", 96168ba7e87SXin LI "T_Flag", "T_EOC", "T_Simulate", "T_Beep_Delay", "T_Sim_Duration", 96268ba7e87SXin LI "T_Server_Offset", "T_Duration", "T_Freq_Offset", "T_Wander", "T_Jitter", 96368ba7e87SXin LI "T_Prop_Delay", "T_Proc_Delay", "'='", "'('", "')'", "'{'", "'}'", 96468ba7e87SXin LI "$accept", "configuration", "command_list", "command", "server_command", 96568ba7e87SXin LI "client_type", "address", "ip_address", "address_fam", "option_list", 96668ba7e87SXin LI "option", "option_flag", "option_flag_keyword", "option_int", 96768ba7e87SXin LI "option_int_keyword", "option_str", "option_str_keyword", 96868ba7e87SXin LI "unpeer_command", "unpeer_keyword", "other_mode_command", 96968ba7e87SXin LI "authentication_command", "crypto_command_list", "crypto_command", 97068ba7e87SXin LI "crypto_str_keyword", "orphan_mode_command", "tos_option_list", 97168ba7e87SXin LI "tos_option", "tos_option_int_keyword", "tos_option_dbl_keyword", 97268ba7e87SXin LI "monitoring_command", "stats_list", "stat", "filegen_option_list", 97368ba7e87SXin LI "filegen_option", "link_nolink", "enable_disable", "filegen_type", 97468ba7e87SXin LI "access_control_command", "ac_flag_list", "access_control_flag", 97568ba7e87SXin LI "discard_option_list", "discard_option", "discard_option_keyword", 97668ba7e87SXin LI "mru_option_list", "mru_option", "mru_option_keyword", "fudge_command", 97768ba7e87SXin LI "fudge_factor_list", "fudge_factor", "fudge_factor_dbl_keyword", 97868ba7e87SXin LI "fudge_factor_bool_keyword", "rlimit_command", "rlimit_option_list", 97968ba7e87SXin LI "rlimit_option", "rlimit_option_keyword", "system_option_command", 98068ba7e87SXin LI "system_option_list", "system_option", "system_option_flag_keyword", 9812b15cb3dSCy Schubert "system_option_local_flag_keyword", "tinker_command", 9822b15cb3dSCy Schubert "tinker_option_list", "tinker_option", "tinker_option_keyword", 983276da39aSCy Schubert "miscellaneous_command", "misc_cmd_dbl_keyword", "misc_cmd_int_keyword", 984276da39aSCy Schubert "misc_cmd_str_keyword", "misc_cmd_str_lcl_keyword", "drift_parm", 985276da39aSCy Schubert "variable_assign", "t_default_or_zero", "trap_option_list", 986276da39aSCy Schubert "trap_option", "log_config_list", "log_config_command", 987276da39aSCy Schubert "interface_command", "interface_nic", "nic_rule_class", 988276da39aSCy Schubert "nic_rule_action", "reset_command", "counter_set_list", 989276da39aSCy Schubert "counter_set_keyword", "integer_list", "integer_list_range", 990276da39aSCy Schubert "integer_list_range_elt", "integer_range", "string_list", "address_list", 991276da39aSCy Schubert "boolean", "number", "simulate_command", "sim_conf_start", 992276da39aSCy Schubert "sim_init_statement_list", "sim_init_statement", "sim_init_keyword", 993276da39aSCy Schubert "sim_server_list", "sim_server", "sim_server_offset", "sim_server_name", 994276da39aSCy Schubert "sim_act_list", "sim_act", "sim_act_stmt_list", "sim_act_stmt", 995*e27abb66SXin LI "sim_act_keyword", YY_NULLPTR 9962b15cb3dSCy Schubert }; 9972b15cb3dSCy Schubert #endif 9982b15cb3dSCy Schubert 9992b15cb3dSCy Schubert # ifdef YYPRINT 1000*e27abb66SXin LI /* YYTOKNUM[NUM] -- (External) token number corresponding to the 1001*e27abb66SXin LI (internal) symbol number NUM (which must be that of a token). */ 10022b15cb3dSCy Schubert static const yytype_uint16 yytoknum[] = 10032b15cb3dSCy Schubert { 10042b15cb3dSCy Schubert 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 10052b15cb3dSCy Schubert 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 10062b15cb3dSCy Schubert 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 10072b15cb3dSCy Schubert 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 10082b15cb3dSCy Schubert 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 10092b15cb3dSCy Schubert 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 10102b15cb3dSCy Schubert 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 10112b15cb3dSCy Schubert 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 10122b15cb3dSCy Schubert 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 10132b15cb3dSCy Schubert 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 10142b15cb3dSCy Schubert 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 10152b15cb3dSCy Schubert 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 10162b15cb3dSCy Schubert 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 10172b15cb3dSCy Schubert 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 10182b15cb3dSCy Schubert 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 10192b15cb3dSCy Schubert 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 10202b15cb3dSCy Schubert 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 10212b15cb3dSCy Schubert 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 10222b15cb3dSCy Schubert 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 1023*e27abb66SXin LI 445, 446, 447, 448, 449, 450, 451, 452, 61, 40, 1024*e27abb66SXin LI 41, 123, 125 10252b15cb3dSCy Schubert }; 10262b15cb3dSCy Schubert # endif 10272b15cb3dSCy Schubert 1028*e27abb66SXin LI #define YYPACT_NINF -189 1029*e27abb66SXin LI 1030*e27abb66SXin LI #define yypact_value_is_default(Yystate) \ 1031*e27abb66SXin LI (!!((Yystate) == (-189))) 1032*e27abb66SXin LI 1033*e27abb66SXin LI #define YYTABLE_NINF -7 1034*e27abb66SXin LI 1035*e27abb66SXin LI #define yytable_value_is_error(Yytable_value) \ 1036*e27abb66SXin LI 0 1037*e27abb66SXin LI 1038*e27abb66SXin LI /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 1039*e27abb66SXin LI STATE-NUM. */ 1040*e27abb66SXin LI static const yytype_int16 yypact[] = 1041*e27abb66SXin LI { 1042*e27abb66SXin LI 20, -174, -32, -189, -189, -189, -29, -189, 315, 3, 1043*e27abb66SXin LI -133, -189, 315, -189, 119, -48, -189, -126, -189, -118, 1044*e27abb66SXin LI -115, -189, -189, -113, -189, -189, -48, -5, 374, -48, 1045*e27abb66SXin LI -189, -189, -105, -189, -100, -189, -189, 1, 81, 46, 1046*e27abb66SXin LI 2, -31, -189, -189, -90, 119, -88, -189, 148, 380, 1047*e27abb66SXin LI -81, -53, 23, -189, -189, -189, 87, 207, -106, -189, 1048*e27abb66SXin LI -48, -189, -48, -189, -189, -189, -189, -189, -189, -189, 1049*e27abb66SXin LI -189, -189, -189, -9, 29, -62, -61, -189, -7, -189, 1050*e27abb66SXin LI -189, -102, -189, -189, -189, 32, -189, -189, -189, -189, 1051*e27abb66SXin LI -189, -189, -189, -189, -189, -189, -189, -189, 315, -189, 1052*e27abb66SXin LI -189, -189, -189, -189, -189, 3, -189, 42, 78, -189, 1053*e27abb66SXin LI 315, -189, -189, -189, -189, -189, -189, -189, -189, -189, 1054*e27abb66SXin LI -189, -189, -189, 112, -189, -39, 367, -189, -189, -189, 1055*e27abb66SXin LI -113, -189, -189, -48, -189, -189, -189, -189, -189, -189, 1056*e27abb66SXin LI -189, -189, -189, 374, -189, 60, -48, -189, -189, -34, 1057*e27abb66SXin LI -189, -189, -189, -189, -189, -189, -189, -189, 81, -189, 1058*e27abb66SXin LI -189, 97, 102, -189, -189, 44, -189, -189, -189, -189, 1059*e27abb66SXin LI -31, -189, 71, -63, -189, 119, -189, -189, -189, -189, 1060*e27abb66SXin LI -189, -189, -189, -189, -189, -189, -189, -189, 148, -189, 1061*e27abb66SXin LI -9, -189, -189, -36, -189, -189, -189, -189, -189, -189, 1062*e27abb66SXin LI -189, -189, 380, -189, 75, -9, -189, -189, 76, -53, 1063*e27abb66SXin LI -189, -189, -189, 77, -189, -43, -189, -189, -189, -189, 1064*e27abb66SXin LI -189, -189, -189, -189, -189, -189, -189, -189, 0, -150, 1065*e27abb66SXin LI -189, -189, -189, -189, -189, 89, -189, -6, -189, -189, 1066*e27abb66SXin LI -189, -189, 39, 13, -189, -189, -189, -189, 15, 99, 1067*e27abb66SXin LI -189, -189, 112, -189, -9, -36, -189, -189, -189, -189, 1068*e27abb66SXin LI -189, -189, -189, -189, 475, -189, -189, 475, 475, -81, 1069*e27abb66SXin LI -189, -189, 18, -189, -189, -189, -189, -189, -189, -189, 1070*e27abb66SXin LI -189, -189, -189, -58, 144, -189, -189, -189, 353, -189, 1071*e27abb66SXin LI -189, -189, -189, -189, -189, -189, -189, -96, -3, -13, 1072*e27abb66SXin LI -189, -189, -189, -189, 27, -189, -189, 11, -189, -189, 1073*e27abb66SXin LI -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, 1074*e27abb66SXin LI -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, 1075*e27abb66SXin LI -189, -189, -189, 475, 475, -189, 163, -81, 133, -189, 1076*e27abb66SXin LI 141, -189, -189, -189, -189, -189, -189, -189, -189, -189, 1077*e27abb66SXin LI -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, 1078*e27abb66SXin LI -52, -189, 45, 5, 19, -125, -189, 8, -189, -9, 1079*e27abb66SXin LI -189, -189, -189, -189, -189, -189, -189, -189, -189, 475, 1080*e27abb66SXin LI -189, -189, -189, -189, 14, -189, -189, -189, -48, -189, 1081*e27abb66SXin LI -189, -189, 22, -189, -189, -189, 21, 24, -9, 36, 1082*e27abb66SXin LI -164, -189, 33, -9, -189, -189, -189, 10, 69, -189, 1083*e27abb66SXin LI -189, -189, -189, -189, 31, 48, 40, -189, 52, -189, 1084*e27abb66SXin LI -9, -189, -189 1085*e27abb66SXin LI }; 1086*e27abb66SXin LI 1087*e27abb66SXin LI /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. 1088*e27abb66SXin LI Performed when YYTABLE does not specify something else to do. Zero 1089*e27abb66SXin LI means the default is an error. */ 1090*e27abb66SXin LI static const yytype_uint16 yydefact[] = 1091*e27abb66SXin LI { 1092*e27abb66SXin LI 0, 0, 0, 24, 58, 235, 0, 71, 0, 0, 1093*e27abb66SXin LI 247, 238, 0, 228, 0, 0, 240, 0, 260, 0, 1094*e27abb66SXin LI 0, 241, 239, 0, 242, 25, 0, 0, 0, 0, 1095*e27abb66SXin LI 261, 236, 0, 23, 0, 243, 22, 0, 0, 0, 1096*e27abb66SXin LI 0, 0, 244, 21, 0, 0, 0, 237, 0, 0, 1097*e27abb66SXin LI 0, 0, 0, 56, 57, 296, 0, 2, 0, 7, 1098*e27abb66SXin LI 0, 8, 0, 9, 10, 13, 11, 12, 14, 15, 1099*e27abb66SXin LI 16, 17, 18, 0, 0, 0, 0, 221, 0, 222, 1100*e27abb66SXin LI 19, 0, 5, 62, 63, 64, 195, 196, 197, 198, 1101*e27abb66SXin LI 201, 199, 200, 202, 203, 204, 205, 206, 190, 192, 1102*e27abb66SXin LI 193, 194, 154, 155, 156, 126, 152, 0, 245, 229, 1103*e27abb66SXin LI 189, 101, 102, 103, 104, 108, 105, 106, 107, 109, 1104*e27abb66SXin LI 29, 30, 28, 0, 26, 0, 6, 65, 66, 257, 1105*e27abb66SXin LI 230, 256, 289, 59, 61, 160, 161, 162, 163, 164, 1106*e27abb66SXin LI 165, 166, 167, 127, 158, 0, 60, 70, 287, 231, 1107*e27abb66SXin LI 67, 272, 273, 274, 275, 276, 277, 278, 269, 271, 1108*e27abb66SXin LI 134, 29, 30, 134, 134, 26, 68, 188, 186, 187, 1109*e27abb66SXin LI 182, 184, 0, 0, 232, 96, 100, 97, 211, 212, 1110*e27abb66SXin LI 213, 214, 215, 216, 217, 218, 219, 220, 207, 209, 1111*e27abb66SXin LI 0, 91, 86, 0, 87, 95, 93, 94, 92, 90, 1112*e27abb66SXin LI 88, 89, 80, 82, 0, 0, 251, 283, 0, 69, 1113*e27abb66SXin LI 282, 284, 280, 234, 1, 0, 4, 31, 55, 294, 1114*e27abb66SXin LI 293, 223, 224, 225, 226, 268, 267, 266, 0, 0, 1115*e27abb66SXin LI 79, 75, 76, 77, 78, 0, 72, 0, 191, 151, 1116*e27abb66SXin LI 153, 246, 98, 0, 178, 179, 180, 181, 0, 0, 1117*e27abb66SXin LI 176, 177, 168, 170, 0, 0, 27, 227, 255, 288, 1118*e27abb66SXin LI 157, 159, 286, 270, 130, 134, 134, 133, 128, 0, 1119*e27abb66SXin LI 183, 185, 0, 99, 208, 210, 292, 290, 291, 85, 1120*e27abb66SXin LI 81, 83, 84, 233, 0, 281, 279, 3, 20, 262, 1121*e27abb66SXin LI 263, 264, 259, 265, 258, 300, 301, 0, 0, 0, 1122*e27abb66SXin LI 74, 73, 118, 117, 0, 115, 116, 0, 110, 113, 1123*e27abb66SXin LI 114, 174, 175, 173, 169, 171, 172, 136, 137, 138, 1124*e27abb66SXin LI 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 1125*e27abb66SXin LI 149, 150, 135, 131, 132, 134, 250, 0, 0, 252, 1126*e27abb66SXin LI 0, 37, 38, 39, 54, 47, 49, 48, 51, 40, 1127*e27abb66SXin LI 41, 42, 43, 50, 52, 44, 32, 33, 36, 34, 1128*e27abb66SXin LI 0, 35, 0, 0, 0, 0, 303, 0, 298, 0, 1129*e27abb66SXin LI 111, 125, 121, 123, 119, 120, 122, 124, 112, 129, 1130*e27abb66SXin LI 249, 248, 254, 253, 0, 45, 46, 53, 0, 297, 1131*e27abb66SXin LI 295, 302, 0, 299, 285, 306, 0, 0, 0, 0, 1132*e27abb66SXin LI 0, 308, 0, 0, 304, 307, 305, 0, 0, 313, 1133*e27abb66SXin LI 314, 315, 316, 317, 0, 0, 0, 309, 0, 311, 1134*e27abb66SXin LI 0, 310, 312 1135*e27abb66SXin LI }; 1136*e27abb66SXin LI 1137*e27abb66SXin LI /* YYPGOTO[NTERM-NUM]. */ 1138*e27abb66SXin LI static const yytype_int16 yypgoto[] = 1139*e27abb66SXin LI { 1140*e27abb66SXin LI -189, -189, -189, -41, -189, -189, -15, -38, -189, -189, 1141*e27abb66SXin LI -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, 1142*e27abb66SXin LI -189, -189, -189, -189, -189, -189, 16, -189, -189, -189, 1143*e27abb66SXin LI -189, -35, -189, -189, -189, -189, -189, -189, -157, -189, 1144*e27abb66SXin LI -189, 138, -189, -189, 106, -189, -189, -189, -2, -189, 1145*e27abb66SXin LI -189, -189, -189, 83, -189, -189, 239, -79, -189, -189, 1146*e27abb66SXin LI -189, -189, 66, -189, -189, -189, -189, -189, -189, -189, 1147*e27abb66SXin LI -189, -189, -189, -189, -189, 126, -189, -189, -189, -189, 1148*e27abb66SXin LI -189, -189, 101, -189, -189, 51, -189, -189, 242, 17, 1149*e27abb66SXin LI -188, -189, -189, -189, -24, -189, -189, -97, -189, -189, 1150*e27abb66SXin LI -189, -123, -189, -130, -189 1151*e27abb66SXin LI }; 1152*e27abb66SXin LI 1153*e27abb66SXin LI /* YYDEFGOTO[NTERM-NUM]. */ 1154*e27abb66SXin LI static const yytype_int16 yydefgoto[] = 1155*e27abb66SXin LI { 1156*e27abb66SXin LI -1, 56, 57, 58, 59, 60, 132, 124, 125, 288, 1157*e27abb66SXin LI 356, 357, 358, 359, 360, 361, 362, 61, 62, 63, 1158*e27abb66SXin LI 64, 85, 236, 237, 65, 202, 203, 204, 205, 66, 1159*e27abb66SXin LI 175, 119, 242, 308, 309, 310, 378, 67, 264, 332, 1160*e27abb66SXin LI 105, 106, 107, 143, 144, 145, 68, 252, 253, 254, 1161*e27abb66SXin LI 255, 69, 170, 171, 172, 70, 98, 99, 100, 101, 1162*e27abb66SXin LI 71, 188, 189, 190, 72, 73, 74, 75, 76, 109, 1163*e27abb66SXin LI 174, 381, 283, 339, 130, 131, 77, 78, 294, 228, 1164*e27abb66SXin LI 79, 158, 159, 213, 209, 210, 211, 149, 133, 279, 1165*e27abb66SXin LI 221, 80, 81, 297, 298, 299, 365, 366, 397, 367, 1166*e27abb66SXin LI 400, 401, 414, 415, 416 1167*e27abb66SXin LI }; 1168*e27abb66SXin LI 1169*e27abb66SXin LI /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If 1170*e27abb66SXin LI positive, shift that token. If negative, reduce the rule whose 1171*e27abb66SXin LI number is the opposite. If YYTABLE_NINF, syntax error. */ 1172*e27abb66SXin LI static const yytype_int16 yytable[] = 1173*e27abb66SXin LI { 1174*e27abb66SXin LI 123, 165, 275, 276, 337, 289, 267, 268, 207, 385, 1175*e27abb66SXin LI 176, 167, 206, 82, 102, 371, 215, 282, 120, 238, 1176*e27abb66SXin LI 121, 1, 363, 219, 164, 277, 108, 225, 399, 83, 1177*e27abb66SXin LI 2, 238, 84, 126, 3, 4, 5, 372, 404, 295, 1178*e27abb66SXin LI 296, 127, 6, 7, 128, 217, 129, 218, 226, 8, 1179*e27abb66SXin LI 9, 363, 220, 10, 147, 11, 134, 12, 13, 148, 1180*e27abb66SXin LI 230, 14, 150, 166, 168, 290, 315, 291, 302, 173, 1181*e27abb66SXin LI 15, 177, 227, 160, 16, 338, 303, 390, 122, 304, 1182*e27abb66SXin LI 17, 216, 18, 231, 212, 257, 232, 214, 151, 152, 1183*e27abb66SXin LI 222, 19, 20, 295, 296, 21, 22, 223, 224, 229, 1184*e27abb66SXin LI 23, 24, 103, 240, 25, 26, 153, 104, 333, 334, 1185*e27abb66SXin LI 241, 122, 161, 27, 162, 243, 373, 305, 259, 169, 1186*e27abb66SXin LI 256, 261, 386, 374, 265, 262, 28, 29, 30, 266, 1187*e27abb66SXin LI 269, 259, 271, 31, 278, 272, 281, 284, 286, 111, 1188*e27abb66SXin LI 273, 375, 32, 112, 287, 154, 208, 33, 306, 34, 1189*e27abb66SXin LI 300, 35, 36, 301, 178, 244, 245, 246, 247, 292, 1190*e27abb66SXin LI 313, 37, 38, 39, 40, 41, 42, 43, 44, 233, 1191*e27abb66SXin LI 234, 45, 311, 46, 312, 155, 235, 336, 379, 179, 1192*e27abb66SXin LI 340, 393, 47, 293, 368, 369, 370, 48, 49, 50, 1193*e27abb66SXin LI 380, 51, 52, 376, 383, 163, 377, 180, 53, 54, 1194*e27abb66SXin LI 181, 113, 384, 388, 387, 122, 389, -6, 55, 392, 1195*e27abb66SXin LI 402, 408, 307, 396, 394, 407, 399, 2, 280, 398, 1196*e27abb66SXin LI 406, 3, 4, 5, 409, 410, 411, 412, 413, 6, 1197*e27abb66SXin LI 7, 335, 422, 417, 403, 419, 8, 9, 420, 421, 1198*e27abb66SXin LI 10, 156, 11, 239, 12, 13, 157, 114, 14, 260, 1199*e27abb66SXin LI 314, 110, 248, 270, 274, 115, 258, 15, 116, 263, 1200*e27abb66SXin LI 285, 16, 409, 410, 411, 412, 413, 17, 391, 18, 1201*e27abb66SXin LI 249, 146, 316, 364, 182, 250, 251, 405, 19, 20, 1202*e27abb66SXin LI 117, 0, 21, 22, 418, 118, 0, 23, 24, 0, 1203*e27abb66SXin LI 0, 25, 26, 0, 0, 0, 0, 0, 0, 382, 1204*e27abb66SXin LI 27, 0, 183, 184, 185, 186, 0, 0, 0, 0, 1205*e27abb66SXin LI 187, 0, 0, 28, 29, 30, 0, 0, 0, 0, 1206*e27abb66SXin LI 31, 0, 0, 86, 0, 0, 0, 87, 0, 32, 1207*e27abb66SXin LI 0, 0, 0, 88, 33, 0, 34, 0, 35, 36, 1208*e27abb66SXin LI 0, 0, 0, 0, 0, 0, 0, 0, 37, 38, 1209*e27abb66SXin LI 39, 40, 41, 42, 43, 44, 0, 0, 45, 0, 1210*e27abb66SXin LI 46, 0, 341, 0, 0, 0, 0, 0, 0, 47, 1211*e27abb66SXin LI 342, 0, 0, 395, 48, 49, 50, 2, 51, 52, 1212*e27abb66SXin LI 0, 3, 4, 5, 89, 53, 54, 0, 0, 6, 1213*e27abb66SXin LI 7, 0, 0, 191, -6, 55, 8, 9, 0, 192, 1214*e27abb66SXin LI 10, 193, 11, 0, 12, 13, 343, 344, 14, 0, 1215*e27abb66SXin LI 0, 0, 0, 0, 0, 0, 0, 15, 90, 91, 1216*e27abb66SXin LI 0, 16, 0, 345, 0, 0, 0, 17, 194, 18, 1217*e27abb66SXin LI 135, 136, 137, 138, 0, 92, 0, 0, 19, 20, 1218*e27abb66SXin LI 93, 0, 21, 22, 0, 346, 0, 23, 24, 0, 1219*e27abb66SXin LI 0, 25, 26, 347, 0, 348, 0, 0, 0, 0, 1220*e27abb66SXin LI 27, 139, 0, 140, 0, 141, 0, 94, 195, 349, 1221*e27abb66SXin LI 196, 142, 0, 28, 29, 30, 197, 0, 198, 0, 1222*e27abb66SXin LI 31, 199, 0, 0, 0, 0, 0, 350, 351, 32, 1223*e27abb66SXin LI 95, 96, 97, 0, 33, 0, 34, 0, 35, 36, 1224*e27abb66SXin LI 0, 0, 0, 200, 201, 0, 0, 0, 37, 38, 1225*e27abb66SXin LI 39, 40, 41, 42, 43, 44, 0, 0, 45, 0, 1226*e27abb66SXin LI 46, 0, 317, 352, 0, 353, 0, 0, 0, 47, 1227*e27abb66SXin LI 318, 0, 0, 354, 48, 49, 50, 355, 51, 52, 1228*e27abb66SXin LI 0, 0, 0, 0, 0, 53, 54, 0, 319, 320, 1229*e27abb66SXin LI 0, 0, 321, 0, 0, 55, 0, 0, 322, 0, 1230*e27abb66SXin LI 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1231*e27abb66SXin LI 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1232*e27abb66SXin LI 0, 0, 0, 0, 0, 323, 324, 0, 0, 325, 1233*e27abb66SXin LI 326, 0, 327, 328, 329, 0, 330, 0, 0, 0, 1234*e27abb66SXin LI 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1235*e27abb66SXin LI 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1236*e27abb66SXin LI 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1237*e27abb66SXin LI 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1238*e27abb66SXin LI 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1239*e27abb66SXin LI 0, 0, 0, 0, 0, 331 1240*e27abb66SXin LI }; 1241*e27abb66SXin LI 1242*e27abb66SXin LI static const yytype_int16 yycheck[] = 1243*e27abb66SXin LI { 1244*e27abb66SXin LI 15, 39, 190, 39, 62, 5, 163, 164, 61, 61, 1245*e27abb66SXin LI 45, 42, 50, 187, 11, 4, 57, 205, 66, 98, 1246*e27abb66SXin LI 68, 1, 147, 32, 39, 61, 159, 34, 192, 61, 1247*e27abb66SXin LI 10, 110, 61, 159, 14, 15, 16, 26, 202, 189, 1248*e27abb66SXin LI 190, 159, 22, 23, 159, 60, 159, 62, 55, 29, 1249*e27abb66SXin LI 30, 147, 61, 33, 159, 35, 61, 37, 38, 159, 1250*e27abb66SXin LI 28, 41, 61, 61, 95, 65, 254, 67, 29, 159, 1251*e27abb66SXin LI 50, 159, 79, 27, 54, 133, 37, 202, 159, 40, 1252*e27abb66SXin LI 60, 187, 62, 51, 61, 126, 54, 0, 7, 8, 1253*e27abb66SXin LI 61, 71, 72, 189, 190, 75, 76, 159, 159, 201, 1254*e27abb66SXin LI 80, 81, 99, 61, 84, 85, 25, 104, 265, 266, 1255*e27abb66SXin LI 32, 159, 66, 93, 68, 3, 105, 78, 133, 150, 1256*e27abb66SXin LI 159, 61, 174, 112, 27, 159, 106, 107, 108, 27, 1257*e27abb66SXin LI 86, 146, 61, 113, 170, 198, 61, 61, 61, 20, 1258*e27abb66SXin LI 175, 130, 122, 24, 187, 64, 199, 127, 109, 129, 1259*e27abb66SXin LI 61, 131, 132, 159, 6, 43, 44, 45, 46, 159, 1260*e27abb66SXin LI 61, 141, 142, 143, 144, 145, 146, 147, 148, 137, 1261*e27abb66SXin LI 138, 151, 159, 153, 159, 94, 144, 159, 335, 31, 1262*e27abb66SXin LI 36, 369, 162, 183, 187, 198, 159, 167, 168, 169, 1263*e27abb66SXin LI 27, 171, 172, 182, 61, 149, 185, 49, 178, 179, 1264*e27abb66SXin LI 52, 82, 61, 198, 159, 159, 187, 187, 188, 201, 1265*e27abb66SXin LI 398, 201, 173, 191, 200, 403, 192, 10, 202, 198, 1266*e27abb66SXin LI 187, 14, 15, 16, 193, 194, 195, 196, 197, 22, 1267*e27abb66SXin LI 23, 269, 420, 202, 198, 187, 29, 30, 198, 187, 1268*e27abb66SXin LI 33, 160, 35, 105, 37, 38, 165, 128, 41, 143, 1269*e27abb66SXin LI 252, 12, 140, 170, 188, 136, 130, 50, 139, 158, 1270*e27abb66SXin LI 209, 54, 193, 194, 195, 196, 197, 60, 365, 62, 1271*e27abb66SXin LI 158, 29, 255, 297, 126, 163, 164, 400, 71, 72, 1272*e27abb66SXin LI 161, -1, 75, 76, 414, 166, -1, 80, 81, -1, 1273*e27abb66SXin LI -1, 84, 85, -1, -1, -1, -1, -1, -1, 337, 1274*e27abb66SXin LI 93, -1, 154, 155, 156, 157, -1, -1, -1, -1, 1275*e27abb66SXin LI 162, -1, -1, 106, 107, 108, -1, -1, -1, -1, 1276*e27abb66SXin LI 113, -1, -1, 8, -1, -1, -1, 12, -1, 122, 1277*e27abb66SXin LI -1, -1, -1, 18, 127, -1, 129, -1, 131, 132, 1278*e27abb66SXin LI -1, -1, -1, -1, -1, -1, -1, -1, 141, 142, 1279*e27abb66SXin LI 143, 144, 145, 146, 147, 148, -1, -1, 151, -1, 1280*e27abb66SXin LI 153, -1, 9, -1, -1, -1, -1, -1, -1, 162, 1281*e27abb66SXin LI 17, -1, -1, 388, 167, 168, 169, 10, 171, 172, 1282*e27abb66SXin LI -1, 14, 15, 16, 69, 178, 179, -1, -1, 22, 1283*e27abb66SXin LI 23, -1, -1, 13, 187, 188, 29, 30, -1, 19, 1284*e27abb66SXin LI 33, 21, 35, -1, 37, 38, 53, 54, 41, -1, 1285*e27abb66SXin LI -1, -1, -1, -1, -1, -1, -1, 50, 103, 104, 1286*e27abb66SXin LI -1, 54, -1, 70, -1, -1, -1, 60, 48, 62, 1287*e27abb66SXin LI 56, 57, 58, 59, -1, 120, -1, -1, 71, 72, 1288*e27abb66SXin LI 125, -1, 75, 76, -1, 92, -1, 80, 81, -1, 1289*e27abb66SXin LI -1, 84, 85, 100, -1, 102, -1, -1, -1, -1, 1290*e27abb66SXin LI 93, 87, -1, 89, -1, 91, -1, 152, 88, 116, 1291*e27abb66SXin LI 90, 97, -1, 106, 107, 108, 96, -1, 98, -1, 1292*e27abb66SXin LI 113, 101, -1, -1, -1, -1, -1, 134, 135, 122, 1293*e27abb66SXin LI 175, 176, 177, -1, 127, -1, 129, -1, 131, 132, 1294*e27abb66SXin LI -1, -1, -1, 123, 124, -1, -1, -1, 141, 142, 1295*e27abb66SXin LI 143, 144, 145, 146, 147, 148, -1, -1, 151, -1, 1296*e27abb66SXin LI 153, -1, 47, 170, -1, 172, -1, -1, -1, 162, 1297*e27abb66SXin LI 55, -1, -1, 180, 167, 168, 169, 184, 171, 172, 1298*e27abb66SXin LI -1, -1, -1, -1, -1, 178, 179, -1, 73, 74, 1299*e27abb66SXin LI -1, -1, 77, -1, -1, 188, -1, -1, 83, -1, 1300*e27abb66SXin LI -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1301*e27abb66SXin LI -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1302*e27abb66SXin LI -1, -1, -1, -1, -1, 110, 111, -1, -1, 114, 1303*e27abb66SXin LI 115, -1, 117, 118, 119, -1, 121, -1, -1, -1, 1304*e27abb66SXin LI -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1305*e27abb66SXin LI -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1306*e27abb66SXin LI -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1307*e27abb66SXin LI -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1308*e27abb66SXin LI -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1309*e27abb66SXin LI -1, -1, -1, -1, -1, 180 1310*e27abb66SXin LI }; 1311*e27abb66SXin LI 1312*e27abb66SXin LI /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing 1313*e27abb66SXin LI symbol of state STATE-NUM. */ 1314*e27abb66SXin LI static const yytype_uint16 yystos[] = 1315*e27abb66SXin LI { 1316*e27abb66SXin LI 0, 1, 10, 14, 15, 16, 22, 23, 29, 30, 1317*e27abb66SXin LI 33, 35, 37, 38, 41, 50, 54, 60, 62, 71, 1318*e27abb66SXin LI 72, 75, 76, 80, 81, 84, 85, 93, 106, 107, 1319*e27abb66SXin LI 108, 113, 122, 127, 129, 131, 132, 141, 142, 143, 1320*e27abb66SXin LI 144, 145, 146, 147, 148, 151, 153, 162, 167, 168, 1321*e27abb66SXin LI 169, 171, 172, 178, 179, 188, 204, 205, 206, 207, 1322*e27abb66SXin LI 208, 220, 221, 222, 223, 227, 232, 240, 249, 254, 1323*e27abb66SXin LI 258, 263, 267, 268, 269, 270, 271, 279, 280, 283, 1324*e27abb66SXin LI 294, 295, 187, 61, 61, 224, 8, 12, 18, 69, 1325*e27abb66SXin LI 103, 104, 120, 125, 152, 175, 176, 177, 259, 260, 1326*e27abb66SXin LI 261, 262, 11, 99, 104, 243, 244, 245, 159, 272, 1327*e27abb66SXin LI 259, 20, 24, 82, 128, 136, 139, 161, 166, 234, 1328*e27abb66SXin LI 66, 68, 159, 209, 210, 211, 159, 159, 159, 159, 1329*e27abb66SXin LI 277, 278, 209, 291, 61, 56, 57, 58, 59, 87, 1330*e27abb66SXin LI 89, 91, 97, 246, 247, 248, 291, 159, 159, 290, 1331*e27abb66SXin LI 61, 7, 8, 25, 64, 94, 160, 165, 284, 285, 1332*e27abb66SXin LI 27, 66, 68, 149, 209, 210, 61, 42, 95, 150, 1333*e27abb66SXin LI 255, 256, 257, 159, 273, 233, 234, 159, 6, 31, 1334*e27abb66SXin LI 49, 52, 126, 154, 155, 156, 157, 162, 264, 265, 1335*e27abb66SXin LI 266, 13, 19, 21, 48, 88, 90, 96, 98, 101, 1336*e27abb66SXin LI 123, 124, 228, 229, 230, 231, 210, 61, 199, 287, 1337*e27abb66SXin LI 288, 289, 61, 286, 0, 206, 187, 209, 209, 32, 1338*e27abb66SXin LI 61, 293, 61, 159, 159, 34, 55, 79, 282, 201, 1339*e27abb66SXin LI 28, 51, 54, 137, 138, 144, 225, 226, 260, 244, 1340*e27abb66SXin LI 61, 32, 235, 3, 43, 44, 45, 46, 140, 158, 1341*e27abb66SXin LI 163, 164, 250, 251, 252, 253, 159, 206, 278, 209, 1342*e27abb66SXin LI 247, 61, 159, 285, 241, 27, 27, 241, 241, 86, 1343*e27abb66SXin LI 256, 61, 198, 234, 265, 293, 39, 61, 170, 292, 1344*e27abb66SXin LI 229, 61, 293, 275, 61, 288, 61, 187, 212, 5, 1345*e27abb66SXin LI 65, 67, 159, 183, 281, 189, 190, 296, 297, 298, 1346*e27abb66SXin LI 61, 159, 29, 37, 40, 78, 109, 173, 236, 237, 1347*e27abb66SXin LI 238, 159, 159, 61, 251, 293, 292, 47, 55, 73, 1348*e27abb66SXin LI 74, 77, 83, 110, 111, 114, 115, 117, 118, 119, 1349*e27abb66SXin LI 121, 180, 242, 241, 241, 210, 159, 62, 133, 276, 1350*e27abb66SXin LI 36, 9, 17, 53, 54, 70, 92, 100, 102, 116, 1351*e27abb66SXin LI 134, 135, 170, 172, 180, 184, 213, 214, 215, 216, 1352*e27abb66SXin LI 217, 218, 219, 147, 297, 299, 300, 302, 187, 198, 1353*e27abb66SXin LI 159, 4, 26, 105, 112, 130, 182, 185, 239, 241, 1354*e27abb66SXin LI 27, 274, 210, 61, 61, 61, 174, 159, 198, 187, 1355*e27abb66SXin LI 202, 300, 201, 293, 200, 209, 191, 301, 198, 192, 1356*e27abb66SXin LI 303, 304, 293, 198, 202, 304, 187, 293, 201, 193, 1357*e27abb66SXin LI 194, 195, 196, 197, 305, 306, 307, 202, 306, 187, 1358*e27abb66SXin LI 198, 187, 293 1359*e27abb66SXin LI }; 1360*e27abb66SXin LI 13619034852cSGleb Smirnoff /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ 13629034852cSGleb Smirnoff static const yytype_uint16 yyr1[] = 13639034852cSGleb Smirnoff { 1364*e27abb66SXin LI 0, 203, 204, 205, 205, 205, 206, 206, 206, 206, 1365*e27abb66SXin LI 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 1366*e27abb66SXin LI 207, 208, 208, 208, 208, 208, 209, 209, 210, 211, 1367*e27abb66SXin LI 211, 212, 212, 213, 213, 213, 214, 215, 215, 215, 1368*e27abb66SXin LI 215, 215, 215, 215, 215, 216, 216, 217, 217, 217, 1369*e27abb66SXin LI 217, 217, 217, 218, 219, 220, 221, 221, 222, 222, 1370*e27abb66SXin LI 222, 222, 223, 223, 223, 223, 223, 223, 223, 223, 1371*e27abb66SXin LI 223, 224, 224, 225, 225, 226, 226, 226, 226, 226, 1372*e27abb66SXin LI 227, 228, 228, 229, 229, 229, 230, 230, 230, 230, 1373*e27abb66SXin LI 230, 230, 231, 231, 231, 231, 232, 232, 232, 233, 1374*e27abb66SXin LI 233, 234, 234, 234, 234, 234, 234, 234, 234, 235, 1375*e27abb66SXin LI 235, 236, 236, 236, 236, 237, 237, 238, 238, 239, 1376*e27abb66SXin LI 239, 239, 239, 239, 239, 239, 240, 240, 240, 240, 1377*e27abb66SXin LI 240, 240, 240, 240, 241, 241, 242, 242, 242, 242, 1378*e27abb66SXin LI 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 1379*e27abb66SXin LI 242, 243, 243, 244, 245, 245, 245, 246, 246, 247, 1380*e27abb66SXin LI 248, 248, 248, 248, 248, 248, 248, 248, 249, 250, 1381*e27abb66SXin LI 250, 251, 251, 251, 251, 251, 252, 252, 253, 253, 1382*e27abb66SXin LI 253, 253, 254, 255, 255, 256, 257, 257, 257, 258, 1383*e27abb66SXin LI 258, 259, 259, 260, 260, 261, 261, 261, 261, 261, 1384*e27abb66SXin LI 261, 262, 262, 262, 262, 262, 262, 263, 264, 264, 1385*e27abb66SXin LI 265, 266, 266, 266, 266, 266, 266, 266, 266, 266, 1386*e27abb66SXin LI 266, 267, 267, 267, 267, 267, 267, 267, 267, 267, 1387*e27abb66SXin LI 267, 267, 267, 267, 267, 268, 268, 268, 269, 269, 1388*e27abb66SXin LI 270, 270, 271, 271, 271, 272, 272, 272, 273, 274, 1389*e27abb66SXin LI 274, 275, 275, 276, 276, 277, 277, 278, 279, 279, 1390*e27abb66SXin LI 280, 280, 281, 281, 281, 281, 282, 282, 282, 283, 1391*e27abb66SXin LI 284, 284, 285, 285, 285, 285, 285, 285, 285, 286, 1392*e27abb66SXin LI 286, 287, 287, 288, 288, 289, 290, 290, 291, 291, 1393*e27abb66SXin LI 292, 292, 292, 293, 293, 294, 295, 296, 296, 297, 1394*e27abb66SXin LI 298, 298, 299, 299, 300, 301, 302, 303, 303, 304, 1395*e27abb66SXin LI 305, 305, 306, 307, 307, 307, 307, 307 13969034852cSGleb Smirnoff }; 13979034852cSGleb Smirnoff 1398*e27abb66SXin LI /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ 13999034852cSGleb Smirnoff static const yytype_uint8 yyr2[] = 14009034852cSGleb Smirnoff { 14019034852cSGleb Smirnoff 0, 2, 1, 3, 2, 2, 0, 1, 1, 1, 14029034852cSGleb Smirnoff 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 14039034852cSGleb Smirnoff 3, 1, 1, 1, 1, 1, 1, 2, 1, 1, 14049034852cSGleb Smirnoff 1, 0, 2, 1, 1, 1, 1, 1, 1, 1, 14059034852cSGleb Smirnoff 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 14069034852cSGleb Smirnoff 1, 1, 1, 2, 1, 2, 1, 1, 1, 2, 14079034852cSGleb Smirnoff 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 14089034852cSGleb Smirnoff 2, 0, 2, 2, 2, 1, 1, 1, 1, 1, 14099034852cSGleb Smirnoff 2, 2, 1, 2, 2, 2, 1, 1, 1, 1, 14109034852cSGleb Smirnoff 1, 1, 1, 1, 1, 1, 2, 2, 3, 2, 14119034852cSGleb Smirnoff 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 14129034852cSGleb Smirnoff 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 14139034852cSGleb Smirnoff 1, 1, 1, 1, 1, 1, 2, 2, 3, 5, 14149034852cSGleb Smirnoff 3, 4, 4, 3, 0, 2, 1, 1, 1, 1, 14159034852cSGleb Smirnoff 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 14169034852cSGleb Smirnoff 1, 2, 1, 2, 1, 1, 1, 2, 1, 2, 14179034852cSGleb Smirnoff 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, 14189034852cSGleb Smirnoff 1, 2, 2, 2, 2, 2, 1, 1, 1, 1, 14199034852cSGleb Smirnoff 1, 1, 2, 2, 1, 2, 1, 1, 1, 2, 14209034852cSGleb Smirnoff 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1421*e27abb66SXin LI 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1422*e27abb66SXin LI 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1423*e27abb66SXin LI 1, 1, 1, 2, 2, 2, 2, 3, 1, 2, 1424*e27abb66SXin LI 2, 2, 2, 3, 2, 1, 1, 1, 1, 1, 1425*e27abb66SXin LI 1, 1, 1, 1, 1, 1, 2, 0, 4, 1, 1426*e27abb66SXin LI 0, 0, 2, 2, 2, 2, 1, 1, 3, 3, 1427*e27abb66SXin LI 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1428*e27abb66SXin LI 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1429*e27abb66SXin LI 1, 2, 1, 1, 1, 5, 2, 1, 2, 1, 1430*e27abb66SXin LI 1, 1, 1, 1, 1, 5, 1, 3, 2, 3, 1431*e27abb66SXin LI 1, 1, 2, 1, 5, 4, 3, 2, 1, 6, 1432*e27abb66SXin LI 3, 2, 3, 1, 1, 1, 1, 1 14339034852cSGleb Smirnoff }; 14349034852cSGleb Smirnoff 14359034852cSGleb Smirnoff 14362b15cb3dSCy Schubert #define yyerrok (yyerrstatus = 0) 14372b15cb3dSCy Schubert #define yyclearin (yychar = YYEMPTY) 14382b15cb3dSCy Schubert #define YYEMPTY (-2) 14392b15cb3dSCy Schubert #define YYEOF 0 14402b15cb3dSCy Schubert 14412b15cb3dSCy Schubert #define YYACCEPT goto yyacceptlab 14422b15cb3dSCy Schubert #define YYABORT goto yyabortlab 14432b15cb3dSCy Schubert #define YYERROR goto yyerrorlab 14442b15cb3dSCy Schubert 14452b15cb3dSCy Schubert 14462b15cb3dSCy Schubert #define YYRECOVERING() (!!yyerrstatus) 14472b15cb3dSCy Schubert 14482b15cb3dSCy Schubert #define YYBACKUP(Token, Value) \ 14492b15cb3dSCy Schubert do \ 14502b15cb3dSCy Schubert if (yychar == YYEMPTY) \ 14512b15cb3dSCy Schubert { \ 14522b15cb3dSCy Schubert yychar = (Token); \ 14532b15cb3dSCy Schubert yylval = (Value); \ 14542b15cb3dSCy Schubert YYPOPSTACK (yylen); \ 14552b15cb3dSCy Schubert yystate = *yyssp; \ 14562b15cb3dSCy Schubert goto yybackup; \ 14572b15cb3dSCy Schubert } \ 14582b15cb3dSCy Schubert else \ 14592b15cb3dSCy Schubert { \ 1460276da39aSCy Schubert yyerror (YY_("syntax error: cannot back up")); \ 14612b15cb3dSCy Schubert YYERROR; \ 14622b15cb3dSCy Schubert } \ 1463*e27abb66SXin LI while (0) 14642b15cb3dSCy Schubert 14652b15cb3dSCy Schubert /* Error token number */ 14662b15cb3dSCy Schubert #define YYTERROR 1 14672b15cb3dSCy Schubert #define YYERRCODE 256 14682b15cb3dSCy Schubert 14692b15cb3dSCy Schubert 14702b15cb3dSCy Schubert 14712b15cb3dSCy Schubert /* Enable debugging if requested. */ 14722b15cb3dSCy Schubert #if YYDEBUG 14732b15cb3dSCy Schubert 14742b15cb3dSCy Schubert # ifndef YYFPRINTF 14752b15cb3dSCy Schubert # include <stdio.h> /* INFRINGES ON USER NAME SPACE */ 14762b15cb3dSCy Schubert # define YYFPRINTF fprintf 14772b15cb3dSCy Schubert # endif 14782b15cb3dSCy Schubert 14792b15cb3dSCy Schubert # define YYDPRINTF(Args) \ 14802b15cb3dSCy Schubert do { \ 14812b15cb3dSCy Schubert if (yydebug) \ 14822b15cb3dSCy Schubert YYFPRINTF Args; \ 1483*e27abb66SXin LI } while (0) 1484*e27abb66SXin LI 1485*e27abb66SXin LI /* This macro is provided for backward compatibility. */ 1486*e27abb66SXin LI #ifndef YY_LOCATION_PRINT 1487*e27abb66SXin LI # define YY_LOCATION_PRINT(File, Loc) ((void) 0) 1488*e27abb66SXin LI #endif 1489*e27abb66SXin LI 14902b15cb3dSCy Schubert 14912b15cb3dSCy Schubert # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ 14922b15cb3dSCy Schubert do { \ 14932b15cb3dSCy Schubert if (yydebug) \ 14942b15cb3dSCy Schubert { \ 14952b15cb3dSCy Schubert YYFPRINTF (stderr, "%s ", Title); \ 14962b15cb3dSCy Schubert yy_symbol_print (stderr, \ 1497276da39aSCy Schubert Type, Value); \ 14982b15cb3dSCy Schubert YYFPRINTF (stderr, "\n"); \ 14992b15cb3dSCy Schubert } \ 1500*e27abb66SXin LI } while (0) 15012b15cb3dSCy Schubert 15022b15cb3dSCy Schubert 1503*e27abb66SXin LI /*----------------------------------------. 1504*e27abb66SXin LI | Print this symbol's value on YYOUTPUT. | 1505*e27abb66SXin LI `----------------------------------------*/ 15062b15cb3dSCy Schubert 15072b15cb3dSCy Schubert static void 1508276da39aSCy Schubert yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) 15092b15cb3dSCy Schubert { 15102b15cb3dSCy Schubert FILE *yyo = yyoutput; 15112b15cb3dSCy Schubert YYUSE (yyo); 15122b15cb3dSCy Schubert if (!yyvaluep) 15132b15cb3dSCy Schubert return; 15142b15cb3dSCy Schubert # ifdef YYPRINT 15152b15cb3dSCy Schubert if (yytype < YYNTOKENS) 15162b15cb3dSCy Schubert YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); 15172b15cb3dSCy Schubert # endif 15182b15cb3dSCy Schubert YYUSE (yytype); 15192b15cb3dSCy Schubert } 15202b15cb3dSCy Schubert 15212b15cb3dSCy Schubert 15222b15cb3dSCy Schubert /*--------------------------------. 15232b15cb3dSCy Schubert | Print this symbol on YYOUTPUT. | 15242b15cb3dSCy Schubert `--------------------------------*/ 15252b15cb3dSCy Schubert 15262b15cb3dSCy Schubert static void 1527276da39aSCy Schubert yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) 15282b15cb3dSCy Schubert { 1529*e27abb66SXin LI YYFPRINTF (yyoutput, "%s %s (", 1530*e27abb66SXin LI yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]); 15312b15cb3dSCy Schubert 1532276da39aSCy Schubert yy_symbol_value_print (yyoutput, yytype, yyvaluep); 15332b15cb3dSCy Schubert YYFPRINTF (yyoutput, ")"); 15342b15cb3dSCy Schubert } 15352b15cb3dSCy Schubert 15362b15cb3dSCy Schubert /*------------------------------------------------------------------. 15372b15cb3dSCy Schubert | yy_stack_print -- Print the state stack from its BOTTOM up to its | 15382b15cb3dSCy Schubert | TOP (included). | 15392b15cb3dSCy Schubert `------------------------------------------------------------------*/ 15402b15cb3dSCy Schubert 15412b15cb3dSCy Schubert static void 15422b15cb3dSCy Schubert yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) 15432b15cb3dSCy Schubert { 15442b15cb3dSCy Schubert YYFPRINTF (stderr, "Stack now"); 15452b15cb3dSCy Schubert for (; yybottom <= yytop; yybottom++) 15462b15cb3dSCy Schubert { 15472b15cb3dSCy Schubert int yybot = *yybottom; 15482b15cb3dSCy Schubert YYFPRINTF (stderr, " %d", yybot); 15492b15cb3dSCy Schubert } 15502b15cb3dSCy Schubert YYFPRINTF (stderr, "\n"); 15512b15cb3dSCy Schubert } 15522b15cb3dSCy Schubert 15532b15cb3dSCy Schubert # define YY_STACK_PRINT(Bottom, Top) \ 15542b15cb3dSCy Schubert do { \ 15552b15cb3dSCy Schubert if (yydebug) \ 15562b15cb3dSCy Schubert yy_stack_print ((Bottom), (Top)); \ 1557*e27abb66SXin LI } while (0) 15582b15cb3dSCy Schubert 15592b15cb3dSCy Schubert 15602b15cb3dSCy Schubert /*------------------------------------------------. 15612b15cb3dSCy Schubert | Report that the YYRULE is going to be reduced. | 15622b15cb3dSCy Schubert `------------------------------------------------*/ 15632b15cb3dSCy Schubert 15642b15cb3dSCy Schubert static void 1565*e27abb66SXin LI yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule) 15662b15cb3dSCy Schubert { 1567*e27abb66SXin LI unsigned long int yylno = yyrline[yyrule]; 15682b15cb3dSCy Schubert int yynrhs = yyr2[yyrule]; 15692b15cb3dSCy Schubert int yyi; 15702b15cb3dSCy Schubert YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", 15712b15cb3dSCy Schubert yyrule - 1, yylno); 15722b15cb3dSCy Schubert /* The symbols being reduced. */ 15732b15cb3dSCy Schubert for (yyi = 0; yyi < yynrhs; yyi++) 15742b15cb3dSCy Schubert { 15752b15cb3dSCy Schubert YYFPRINTF (stderr, " $%d = ", yyi + 1); 1576*e27abb66SXin LI yy_symbol_print (stderr, 1577*e27abb66SXin LI yystos[yyssp[yyi + 1 - yynrhs]], 15782b15cb3dSCy Schubert &(yyvsp[(yyi + 1) - (yynrhs)]) 1579276da39aSCy Schubert ); 15802b15cb3dSCy Schubert YYFPRINTF (stderr, "\n"); 15812b15cb3dSCy Schubert } 15822b15cb3dSCy Schubert } 15832b15cb3dSCy Schubert 15842b15cb3dSCy Schubert # define YY_REDUCE_PRINT(Rule) \ 15852b15cb3dSCy Schubert do { \ 15862b15cb3dSCy Schubert if (yydebug) \ 1587*e27abb66SXin LI yy_reduce_print (yyssp, yyvsp, Rule); \ 1588*e27abb66SXin LI } while (0) 15892b15cb3dSCy Schubert 15902b15cb3dSCy Schubert /* Nonzero means print parse trace. It is left uninitialized so that 15912b15cb3dSCy Schubert multiple parsers can coexist. */ 15922b15cb3dSCy Schubert int yydebug; 15932b15cb3dSCy Schubert #else /* !YYDEBUG */ 15942b15cb3dSCy Schubert # define YYDPRINTF(Args) 15952b15cb3dSCy Schubert # define YY_SYMBOL_PRINT(Title, Type, Value, Location) 15962b15cb3dSCy Schubert # define YY_STACK_PRINT(Bottom, Top) 15972b15cb3dSCy Schubert # define YY_REDUCE_PRINT(Rule) 15982b15cb3dSCy Schubert #endif /* !YYDEBUG */ 15992b15cb3dSCy Schubert 16002b15cb3dSCy Schubert 16012b15cb3dSCy Schubert /* YYINITDEPTH -- initial size of the parser's stacks. */ 16022b15cb3dSCy Schubert #ifndef YYINITDEPTH 16032b15cb3dSCy Schubert # define YYINITDEPTH 200 16042b15cb3dSCy Schubert #endif 16052b15cb3dSCy Schubert 16062b15cb3dSCy Schubert /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only 16072b15cb3dSCy Schubert if the built-in stack extension method is used). 16082b15cb3dSCy Schubert 16092b15cb3dSCy Schubert Do not make this value too large; the results are undefined if 16102b15cb3dSCy Schubert YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) 16112b15cb3dSCy Schubert evaluated with infinite-precision integer arithmetic. */ 16122b15cb3dSCy Schubert 16132b15cb3dSCy Schubert #ifndef YYMAXDEPTH 16142b15cb3dSCy Schubert # define YYMAXDEPTH 10000 16152b15cb3dSCy Schubert #endif 16162b15cb3dSCy Schubert 16172b15cb3dSCy Schubert 16182b15cb3dSCy Schubert #if YYERROR_VERBOSE 16192b15cb3dSCy Schubert 16202b15cb3dSCy Schubert # ifndef yystrlen 16212b15cb3dSCy Schubert # if defined __GLIBC__ && defined _STRING_H 16222b15cb3dSCy Schubert # define yystrlen strlen 16232b15cb3dSCy Schubert # else 16242b15cb3dSCy Schubert /* Return the length of YYSTR. */ 16252b15cb3dSCy Schubert static YYSIZE_T 16262b15cb3dSCy Schubert yystrlen (const char *yystr) 16272b15cb3dSCy Schubert { 16282b15cb3dSCy Schubert YYSIZE_T yylen; 16292b15cb3dSCy Schubert for (yylen = 0; yystr[yylen]; yylen++) 16302b15cb3dSCy Schubert continue; 16312b15cb3dSCy Schubert return yylen; 16322b15cb3dSCy Schubert } 16332b15cb3dSCy Schubert # endif 16342b15cb3dSCy Schubert # endif 16352b15cb3dSCy Schubert 16362b15cb3dSCy Schubert # ifndef yystpcpy 16372b15cb3dSCy Schubert # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE 16382b15cb3dSCy Schubert # define yystpcpy stpcpy 16392b15cb3dSCy Schubert # else 16402b15cb3dSCy Schubert /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in 16412b15cb3dSCy Schubert YYDEST. */ 16422b15cb3dSCy Schubert static char * 16432b15cb3dSCy Schubert yystpcpy (char *yydest, const char *yysrc) 16442b15cb3dSCy Schubert { 16452b15cb3dSCy Schubert char *yyd = yydest; 16462b15cb3dSCy Schubert const char *yys = yysrc; 16472b15cb3dSCy Schubert 16482b15cb3dSCy Schubert while ((*yyd++ = *yys++) != '\0') 16492b15cb3dSCy Schubert continue; 16502b15cb3dSCy Schubert 16512b15cb3dSCy Schubert return yyd - 1; 16522b15cb3dSCy Schubert } 16532b15cb3dSCy Schubert # endif 16542b15cb3dSCy Schubert # endif 16552b15cb3dSCy Schubert 16562b15cb3dSCy Schubert # ifndef yytnamerr 16572b15cb3dSCy Schubert /* Copy to YYRES the contents of YYSTR after stripping away unnecessary 16582b15cb3dSCy Schubert quotes and backslashes, so that it's suitable for yyerror. The 16592b15cb3dSCy Schubert heuristic is that double-quoting is unnecessary unless the string 16602b15cb3dSCy Schubert contains an apostrophe, a comma, or backslash (other than 16612b15cb3dSCy Schubert backslash-backslash). YYSTR is taken from yytname. If YYRES is 16622b15cb3dSCy Schubert null, do not copy; instead, return the length of what the result 16632b15cb3dSCy Schubert would have been. */ 16642b15cb3dSCy Schubert static YYSIZE_T 16652b15cb3dSCy Schubert yytnamerr (char *yyres, const char *yystr) 16662b15cb3dSCy Schubert { 16672b15cb3dSCy Schubert if (*yystr == '"') 16682b15cb3dSCy Schubert { 16692b15cb3dSCy Schubert YYSIZE_T yyn = 0; 16702b15cb3dSCy Schubert char const *yyp = yystr; 16712b15cb3dSCy Schubert 16722b15cb3dSCy Schubert for (;;) 16732b15cb3dSCy Schubert switch (*++yyp) 16742b15cb3dSCy Schubert { 16752b15cb3dSCy Schubert case '\'': 16762b15cb3dSCy Schubert case ',': 16772b15cb3dSCy Schubert goto do_not_strip_quotes; 16782b15cb3dSCy Schubert 16792b15cb3dSCy Schubert case '\\': 16802b15cb3dSCy Schubert if (*++yyp != '\\') 16812b15cb3dSCy Schubert goto do_not_strip_quotes; 16822b15cb3dSCy Schubert /* Fall through. */ 16832b15cb3dSCy Schubert default: 16842b15cb3dSCy Schubert if (yyres) 16852b15cb3dSCy Schubert yyres[yyn] = *yyp; 16862b15cb3dSCy Schubert yyn++; 16872b15cb3dSCy Schubert break; 16882b15cb3dSCy Schubert 16892b15cb3dSCy Schubert case '"': 16902b15cb3dSCy Schubert if (yyres) 16912b15cb3dSCy Schubert yyres[yyn] = '\0'; 16922b15cb3dSCy Schubert return yyn; 16932b15cb3dSCy Schubert } 16942b15cb3dSCy Schubert do_not_strip_quotes: ; 16952b15cb3dSCy Schubert } 16962b15cb3dSCy Schubert 16972b15cb3dSCy Schubert if (! yyres) 16982b15cb3dSCy Schubert return yystrlen (yystr); 16992b15cb3dSCy Schubert 17002b15cb3dSCy Schubert return yystpcpy (yyres, yystr) - yyres; 17012b15cb3dSCy Schubert } 17022b15cb3dSCy Schubert # endif 17032b15cb3dSCy Schubert 17042b15cb3dSCy Schubert /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message 17052b15cb3dSCy Schubert about the unexpected token YYTOKEN for the state stack whose top is 17062b15cb3dSCy Schubert YYSSP. 17072b15cb3dSCy Schubert 17082b15cb3dSCy Schubert Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is 17092b15cb3dSCy Schubert not large enough to hold the message. In that case, also set 17102b15cb3dSCy Schubert *YYMSG_ALLOC to the required number of bytes. Return 2 if the 17112b15cb3dSCy Schubert required number of bytes is too large to store. */ 17122b15cb3dSCy Schubert static int 17132b15cb3dSCy Schubert yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, 17142b15cb3dSCy Schubert yytype_int16 *yyssp, int yytoken) 17152b15cb3dSCy Schubert { 1716*e27abb66SXin LI YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]); 17172b15cb3dSCy Schubert YYSIZE_T yysize = yysize0; 17182b15cb3dSCy Schubert enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; 17192b15cb3dSCy Schubert /* Internationalized format string. */ 1720*e27abb66SXin LI const char *yyformat = YY_NULLPTR; 17212b15cb3dSCy Schubert /* Arguments of yyformat. */ 17222b15cb3dSCy Schubert char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; 17232b15cb3dSCy Schubert /* Number of reported tokens (one for the "unexpected", one per 17242b15cb3dSCy Schubert "expected"). */ 17252b15cb3dSCy Schubert int yycount = 0; 17262b15cb3dSCy Schubert 17272b15cb3dSCy Schubert /* There are many possibilities here to consider: 17282b15cb3dSCy Schubert - If this state is a consistent state with a default action, then 17292b15cb3dSCy Schubert the only way this function was invoked is if the default action 17302b15cb3dSCy Schubert is an error action. In that case, don't check for expected 17312b15cb3dSCy Schubert tokens because there are none. 17322b15cb3dSCy Schubert - The only way there can be no lookahead present (in yychar) is if 17332b15cb3dSCy Schubert this state is a consistent state with a default action. Thus, 17342b15cb3dSCy Schubert detecting the absence of a lookahead is sufficient to determine 17352b15cb3dSCy Schubert that there is no unexpected or expected token to report. In that 17362b15cb3dSCy Schubert case, just report a simple "syntax error". 17372b15cb3dSCy Schubert - Don't assume there isn't a lookahead just because this state is a 17382b15cb3dSCy Schubert consistent state with a default action. There might have been a 17392b15cb3dSCy Schubert previous inconsistent state, consistent state with a non-default 17402b15cb3dSCy Schubert action, or user semantic action that manipulated yychar. 17412b15cb3dSCy Schubert - Of course, the expected token list depends on states to have 17422b15cb3dSCy Schubert correct lookahead information, and it depends on the parser not 17432b15cb3dSCy Schubert to perform extra reductions after fetching a lookahead from the 17442b15cb3dSCy Schubert scanner and before detecting a syntax error. Thus, state merging 17452b15cb3dSCy Schubert (from LALR or IELR) and default reductions corrupt the expected 17462b15cb3dSCy Schubert token list. However, the list is correct for canonical LR with 17472b15cb3dSCy Schubert one exception: it will still contain any token that will not be 17482b15cb3dSCy Schubert accepted due to an error action in a later state. 17492b15cb3dSCy Schubert */ 17502b15cb3dSCy Schubert if (yytoken != YYEMPTY) 17512b15cb3dSCy Schubert { 17522b15cb3dSCy Schubert int yyn = yypact[*yyssp]; 17532b15cb3dSCy Schubert yyarg[yycount++] = yytname[yytoken]; 17542b15cb3dSCy Schubert if (!yypact_value_is_default (yyn)) 17552b15cb3dSCy Schubert { 17562b15cb3dSCy Schubert /* Start YYX at -YYN if negative to avoid negative indexes in 17572b15cb3dSCy Schubert YYCHECK. In other words, skip the first -YYN actions for 17582b15cb3dSCy Schubert this state because they are default actions. */ 17592b15cb3dSCy Schubert int yyxbegin = yyn < 0 ? -yyn : 0; 17602b15cb3dSCy Schubert /* Stay within bounds of both yycheck and yytname. */ 17612b15cb3dSCy Schubert int yychecklim = YYLAST - yyn + 1; 17622b15cb3dSCy Schubert int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; 17632b15cb3dSCy Schubert int yyx; 17642b15cb3dSCy Schubert 17652b15cb3dSCy Schubert for (yyx = yyxbegin; yyx < yyxend; ++yyx) 17662b15cb3dSCy Schubert if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR 17672b15cb3dSCy Schubert && !yytable_value_is_error (yytable[yyx + yyn])) 17682b15cb3dSCy Schubert { 17692b15cb3dSCy Schubert if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) 17702b15cb3dSCy Schubert { 17712b15cb3dSCy Schubert yycount = 1; 17722b15cb3dSCy Schubert yysize = yysize0; 17732b15cb3dSCy Schubert break; 17742b15cb3dSCy Schubert } 17752b15cb3dSCy Schubert yyarg[yycount++] = yytname[yyx]; 17762b15cb3dSCy Schubert { 1777*e27abb66SXin LI YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]); 17782b15cb3dSCy Schubert if (! (yysize <= yysize1 17792b15cb3dSCy Schubert && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 17802b15cb3dSCy Schubert return 2; 17812b15cb3dSCy Schubert yysize = yysize1; 17822b15cb3dSCy Schubert } 17832b15cb3dSCy Schubert } 17842b15cb3dSCy Schubert } 17852b15cb3dSCy Schubert } 17862b15cb3dSCy Schubert 17872b15cb3dSCy Schubert switch (yycount) 17882b15cb3dSCy Schubert { 17892b15cb3dSCy Schubert # define YYCASE_(N, S) \ 17902b15cb3dSCy Schubert case N: \ 17912b15cb3dSCy Schubert yyformat = S; \ 17922b15cb3dSCy Schubert break 17932b15cb3dSCy Schubert YYCASE_(0, YY_("syntax error")); 17942b15cb3dSCy Schubert YYCASE_(1, YY_("syntax error, unexpected %s")); 17952b15cb3dSCy Schubert YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); 17962b15cb3dSCy Schubert YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s")); 17972b15cb3dSCy Schubert YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s")); 17982b15cb3dSCy Schubert YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s")); 17992b15cb3dSCy Schubert # undef YYCASE_ 18002b15cb3dSCy Schubert } 18012b15cb3dSCy Schubert 18022b15cb3dSCy Schubert { 18032b15cb3dSCy Schubert YYSIZE_T yysize1 = yysize + yystrlen (yyformat); 18042b15cb3dSCy Schubert if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 18052b15cb3dSCy Schubert return 2; 18062b15cb3dSCy Schubert yysize = yysize1; 18072b15cb3dSCy Schubert } 18082b15cb3dSCy Schubert 18092b15cb3dSCy Schubert if (*yymsg_alloc < yysize) 18102b15cb3dSCy Schubert { 18112b15cb3dSCy Schubert *yymsg_alloc = 2 * yysize; 18122b15cb3dSCy Schubert if (! (yysize <= *yymsg_alloc 18132b15cb3dSCy Schubert && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM)) 18142b15cb3dSCy Schubert *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM; 18152b15cb3dSCy Schubert return 1; 18162b15cb3dSCy Schubert } 18172b15cb3dSCy Schubert 18182b15cb3dSCy Schubert /* Avoid sprintf, as that infringes on the user's name space. 18192b15cb3dSCy Schubert Don't have undefined behavior even if the translation 18202b15cb3dSCy Schubert produced a string with the wrong number of "%s"s. */ 18212b15cb3dSCy Schubert { 18222b15cb3dSCy Schubert char *yyp = *yymsg; 18232b15cb3dSCy Schubert int yyi = 0; 18242b15cb3dSCy Schubert while ((*yyp = *yyformat) != '\0') 18252b15cb3dSCy Schubert if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount) 18262b15cb3dSCy Schubert { 18272b15cb3dSCy Schubert yyp += yytnamerr (yyp, yyarg[yyi++]); 18282b15cb3dSCy Schubert yyformat += 2; 18292b15cb3dSCy Schubert } 18302b15cb3dSCy Schubert else 18312b15cb3dSCy Schubert { 18322b15cb3dSCy Schubert yyp++; 18332b15cb3dSCy Schubert yyformat++; 18342b15cb3dSCy Schubert } 18352b15cb3dSCy Schubert } 18362b15cb3dSCy Schubert return 0; 18372b15cb3dSCy Schubert } 18382b15cb3dSCy Schubert #endif /* YYERROR_VERBOSE */ 18392b15cb3dSCy Schubert 18402b15cb3dSCy Schubert /*-----------------------------------------------. 18412b15cb3dSCy Schubert | Release the memory associated to this symbol. | 18422b15cb3dSCy Schubert `-----------------------------------------------*/ 18432b15cb3dSCy Schubert 18442b15cb3dSCy Schubert static void 1845276da39aSCy Schubert yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) 18462b15cb3dSCy Schubert { 18472b15cb3dSCy Schubert YYUSE (yyvaluep); 18482b15cb3dSCy Schubert if (!yymsg) 18492b15cb3dSCy Schubert yymsg = "Deleting"; 18502b15cb3dSCy Schubert YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); 18512b15cb3dSCy Schubert 1852*e27abb66SXin LI YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 18532b15cb3dSCy Schubert YYUSE (yytype); 1854*e27abb66SXin LI YY_IGNORE_MAYBE_UNINITIALIZED_END 18552b15cb3dSCy Schubert } 18562b15cb3dSCy Schubert 18572b15cb3dSCy Schubert 18582b15cb3dSCy Schubert 18592b15cb3dSCy Schubert 18602b15cb3dSCy Schubert /* The lookahead symbol. */ 18612b15cb3dSCy Schubert int yychar; 18622b15cb3dSCy Schubert 18632b15cb3dSCy Schubert /* The semantic value of the lookahead symbol. */ 1864*e27abb66SXin LI YYSTYPE yylval; 18652b15cb3dSCy Schubert /* Number of syntax errors so far. */ 18662b15cb3dSCy Schubert int yynerrs; 18672b15cb3dSCy Schubert 18682b15cb3dSCy Schubert 18692b15cb3dSCy Schubert /*----------. 18702b15cb3dSCy Schubert | yyparse. | 18712b15cb3dSCy Schubert `----------*/ 18722b15cb3dSCy Schubert 1873276da39aSCy Schubert int 1874276da39aSCy Schubert yyparse (void) 18752b15cb3dSCy Schubert { 18762b15cb3dSCy Schubert int yystate; 18772b15cb3dSCy Schubert /* Number of tokens to shift before error messages enabled. */ 18782b15cb3dSCy Schubert int yyerrstatus; 18792b15cb3dSCy Schubert 18802b15cb3dSCy Schubert /* The stacks and their tools: 1881*e27abb66SXin LI 'yyss': related to states. 1882*e27abb66SXin LI 'yyvs': related to semantic values. 18832b15cb3dSCy Schubert 18842b15cb3dSCy Schubert Refer to the stacks through separate pointers, to allow yyoverflow 18852b15cb3dSCy Schubert to reallocate them elsewhere. */ 18862b15cb3dSCy Schubert 18872b15cb3dSCy Schubert /* The state stack. */ 18882b15cb3dSCy Schubert yytype_int16 yyssa[YYINITDEPTH]; 18892b15cb3dSCy Schubert yytype_int16 *yyss; 18902b15cb3dSCy Schubert yytype_int16 *yyssp; 18912b15cb3dSCy Schubert 18922b15cb3dSCy Schubert /* The semantic value stack. */ 18932b15cb3dSCy Schubert YYSTYPE yyvsa[YYINITDEPTH]; 18942b15cb3dSCy Schubert YYSTYPE *yyvs; 18952b15cb3dSCy Schubert YYSTYPE *yyvsp; 18962b15cb3dSCy Schubert 18972b15cb3dSCy Schubert YYSIZE_T yystacksize; 18982b15cb3dSCy Schubert 18992b15cb3dSCy Schubert int yyn; 19002b15cb3dSCy Schubert int yyresult; 19012b15cb3dSCy Schubert /* Lookahead token as an internal (translated) token number. */ 19022b15cb3dSCy Schubert int yytoken = 0; 19032b15cb3dSCy Schubert /* The variables used to return semantic value and location from the 19042b15cb3dSCy Schubert action routines. */ 19052b15cb3dSCy Schubert YYSTYPE yyval; 19062b15cb3dSCy Schubert 19072b15cb3dSCy Schubert #if YYERROR_VERBOSE 19082b15cb3dSCy Schubert /* Buffer for error messages, and its allocated size. */ 19092b15cb3dSCy Schubert char yymsgbuf[128]; 19102b15cb3dSCy Schubert char *yymsg = yymsgbuf; 19112b15cb3dSCy Schubert YYSIZE_T yymsg_alloc = sizeof yymsgbuf; 19122b15cb3dSCy Schubert #endif 19132b15cb3dSCy Schubert 19142b15cb3dSCy Schubert #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) 19152b15cb3dSCy Schubert 19162b15cb3dSCy Schubert /* The number of symbols on the RHS of the reduced rule. 19172b15cb3dSCy Schubert Keep to zero when no symbol should be popped. */ 19182b15cb3dSCy Schubert int yylen = 0; 19192b15cb3dSCy Schubert 19202b15cb3dSCy Schubert yyssp = yyss = yyssa; 19212b15cb3dSCy Schubert yyvsp = yyvs = yyvsa; 19222b15cb3dSCy Schubert yystacksize = YYINITDEPTH; 19232b15cb3dSCy Schubert 19242b15cb3dSCy Schubert YYDPRINTF ((stderr, "Starting parse\n")); 19252b15cb3dSCy Schubert 19262b15cb3dSCy Schubert yystate = 0; 19272b15cb3dSCy Schubert yyerrstatus = 0; 19282b15cb3dSCy Schubert yynerrs = 0; 19292b15cb3dSCy Schubert yychar = YYEMPTY; /* Cause a token to be read. */ 19302b15cb3dSCy Schubert goto yysetstate; 19312b15cb3dSCy Schubert 19322b15cb3dSCy Schubert /*------------------------------------------------------------. 19332b15cb3dSCy Schubert | yynewstate -- Push a new state, which is found in yystate. | 19342b15cb3dSCy Schubert `------------------------------------------------------------*/ 19352b15cb3dSCy Schubert yynewstate: 19362b15cb3dSCy Schubert /* In all cases, when you get here, the value and location stacks 19372b15cb3dSCy Schubert have just been pushed. So pushing a state here evens the stacks. */ 19382b15cb3dSCy Schubert yyssp++; 19392b15cb3dSCy Schubert 19402b15cb3dSCy Schubert yysetstate: 19412b15cb3dSCy Schubert *yyssp = yystate; 19422b15cb3dSCy Schubert 19432b15cb3dSCy Schubert if (yyss + yystacksize - 1 <= yyssp) 19442b15cb3dSCy Schubert { 19452b15cb3dSCy Schubert /* Get the current used size of the three stacks, in elements. */ 19462b15cb3dSCy Schubert YYSIZE_T yysize = yyssp - yyss + 1; 19472b15cb3dSCy Schubert 19482b15cb3dSCy Schubert #ifdef yyoverflow 19492b15cb3dSCy Schubert { 19502b15cb3dSCy Schubert /* Give user a chance to reallocate the stack. Use copies of 19512b15cb3dSCy Schubert these so that the &'s don't force the real ones into 19522b15cb3dSCy Schubert memory. */ 19532b15cb3dSCy Schubert YYSTYPE *yyvs1 = yyvs; 19542b15cb3dSCy Schubert yytype_int16 *yyss1 = yyss; 19552b15cb3dSCy Schubert 19562b15cb3dSCy Schubert /* Each stack pointer address is followed by the size of the 19572b15cb3dSCy Schubert data in use in that stack, in bytes. This used to be a 19582b15cb3dSCy Schubert conditional around just the two extra args, but that might 19592b15cb3dSCy Schubert be undefined if yyoverflow is a macro. */ 19602b15cb3dSCy Schubert yyoverflow (YY_("memory exhausted"), 19612b15cb3dSCy Schubert &yyss1, yysize * sizeof (*yyssp), 19622b15cb3dSCy Schubert &yyvs1, yysize * sizeof (*yyvsp), 19632b15cb3dSCy Schubert &yystacksize); 19642b15cb3dSCy Schubert 19652b15cb3dSCy Schubert yyss = yyss1; 19662b15cb3dSCy Schubert yyvs = yyvs1; 19672b15cb3dSCy Schubert } 19682b15cb3dSCy Schubert #else /* no yyoverflow */ 19692b15cb3dSCy Schubert # ifndef YYSTACK_RELOCATE 19702b15cb3dSCy Schubert goto yyexhaustedlab; 19712b15cb3dSCy Schubert # else 19722b15cb3dSCy Schubert /* Extend the stack our own way. */ 19732b15cb3dSCy Schubert if (YYMAXDEPTH <= yystacksize) 19742b15cb3dSCy Schubert goto yyexhaustedlab; 19752b15cb3dSCy Schubert yystacksize *= 2; 19762b15cb3dSCy Schubert if (YYMAXDEPTH < yystacksize) 19772b15cb3dSCy Schubert yystacksize = YYMAXDEPTH; 19782b15cb3dSCy Schubert 19792b15cb3dSCy Schubert { 19802b15cb3dSCy Schubert yytype_int16 *yyss1 = yyss; 19812b15cb3dSCy Schubert union yyalloc *yyptr = 19822b15cb3dSCy Schubert (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); 19832b15cb3dSCy Schubert if (! yyptr) 19842b15cb3dSCy Schubert goto yyexhaustedlab; 19852b15cb3dSCy Schubert YYSTACK_RELOCATE (yyss_alloc, yyss); 19862b15cb3dSCy Schubert YYSTACK_RELOCATE (yyvs_alloc, yyvs); 19872b15cb3dSCy Schubert # undef YYSTACK_RELOCATE 19882b15cb3dSCy Schubert if (yyss1 != yyssa) 19892b15cb3dSCy Schubert YYSTACK_FREE (yyss1); 19902b15cb3dSCy Schubert } 19912b15cb3dSCy Schubert # endif 19922b15cb3dSCy Schubert #endif /* no yyoverflow */ 19932b15cb3dSCy Schubert 19942b15cb3dSCy Schubert yyssp = yyss + yysize - 1; 19952b15cb3dSCy Schubert yyvsp = yyvs + yysize - 1; 19962b15cb3dSCy Schubert 19972b15cb3dSCy Schubert YYDPRINTF ((stderr, "Stack size increased to %lu\n", 19982b15cb3dSCy Schubert (unsigned long int) yystacksize)); 19992b15cb3dSCy Schubert 20002b15cb3dSCy Schubert if (yyss + yystacksize - 1 <= yyssp) 20012b15cb3dSCy Schubert YYABORT; 20022b15cb3dSCy Schubert } 20032b15cb3dSCy Schubert 20042b15cb3dSCy Schubert YYDPRINTF ((stderr, "Entering state %d\n", yystate)); 20052b15cb3dSCy Schubert 20062b15cb3dSCy Schubert if (yystate == YYFINAL) 20072b15cb3dSCy Schubert YYACCEPT; 20082b15cb3dSCy Schubert 20092b15cb3dSCy Schubert goto yybackup; 20102b15cb3dSCy Schubert 20112b15cb3dSCy Schubert /*-----------. 20122b15cb3dSCy Schubert | yybackup. | 20132b15cb3dSCy Schubert `-----------*/ 20142b15cb3dSCy Schubert yybackup: 20152b15cb3dSCy Schubert 20162b15cb3dSCy Schubert /* Do appropriate processing given the current state. Read a 20172b15cb3dSCy Schubert lookahead token if we need one and don't already have one. */ 20182b15cb3dSCy Schubert 20192b15cb3dSCy Schubert /* First try to decide what to do without reference to lookahead token. */ 20202b15cb3dSCy Schubert yyn = yypact[yystate]; 20212b15cb3dSCy Schubert if (yypact_value_is_default (yyn)) 20222b15cb3dSCy Schubert goto yydefault; 20232b15cb3dSCy Schubert 20242b15cb3dSCy Schubert /* Not known => get a lookahead token if don't already have one. */ 20252b15cb3dSCy Schubert 20262b15cb3dSCy Schubert /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ 20272b15cb3dSCy Schubert if (yychar == YYEMPTY) 20282b15cb3dSCy Schubert { 20292b15cb3dSCy Schubert YYDPRINTF ((stderr, "Reading a token: ")); 2030*e27abb66SXin LI yychar = yylex (); 20312b15cb3dSCy Schubert } 20322b15cb3dSCy Schubert 20332b15cb3dSCy Schubert if (yychar <= YYEOF) 20342b15cb3dSCy Schubert { 20352b15cb3dSCy Schubert yychar = yytoken = YYEOF; 20362b15cb3dSCy Schubert YYDPRINTF ((stderr, "Now at end of input.\n")); 20372b15cb3dSCy Schubert } 20382b15cb3dSCy Schubert else 20392b15cb3dSCy Schubert { 20402b15cb3dSCy Schubert yytoken = YYTRANSLATE (yychar); 20412b15cb3dSCy Schubert YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); 20422b15cb3dSCy Schubert } 20432b15cb3dSCy Schubert 20442b15cb3dSCy Schubert /* If the proper action on seeing token YYTOKEN is to reduce or to 20452b15cb3dSCy Schubert detect an error, take that action. */ 20462b15cb3dSCy Schubert yyn += yytoken; 20472b15cb3dSCy Schubert if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) 20482b15cb3dSCy Schubert goto yydefault; 20492b15cb3dSCy Schubert yyn = yytable[yyn]; 20502b15cb3dSCy Schubert if (yyn <= 0) 20512b15cb3dSCy Schubert { 20522b15cb3dSCy Schubert if (yytable_value_is_error (yyn)) 20532b15cb3dSCy Schubert goto yyerrlab; 20542b15cb3dSCy Schubert yyn = -yyn; 20552b15cb3dSCy Schubert goto yyreduce; 20562b15cb3dSCy Schubert } 20572b15cb3dSCy Schubert 20582b15cb3dSCy Schubert /* Count tokens shifted since error; after three, turn off error 20592b15cb3dSCy Schubert status. */ 20602b15cb3dSCy Schubert if (yyerrstatus) 20612b15cb3dSCy Schubert yyerrstatus--; 20622b15cb3dSCy Schubert 20632b15cb3dSCy Schubert /* Shift the lookahead token. */ 20642b15cb3dSCy Schubert YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); 20652b15cb3dSCy Schubert 20662b15cb3dSCy Schubert /* Discard the shifted token. */ 20672b15cb3dSCy Schubert yychar = YYEMPTY; 20682b15cb3dSCy Schubert 20692b15cb3dSCy Schubert yystate = yyn; 20702b15cb3dSCy Schubert YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 20712b15cb3dSCy Schubert *++yyvsp = yylval; 20722b15cb3dSCy Schubert YY_IGNORE_MAYBE_UNINITIALIZED_END 20732b15cb3dSCy Schubert 20742b15cb3dSCy Schubert goto yynewstate; 20752b15cb3dSCy Schubert 20762b15cb3dSCy Schubert 20772b15cb3dSCy Schubert /*-----------------------------------------------------------. 20782b15cb3dSCy Schubert | yydefault -- do the default action for the current state. | 20792b15cb3dSCy Schubert `-----------------------------------------------------------*/ 20802b15cb3dSCy Schubert yydefault: 20812b15cb3dSCy Schubert yyn = yydefact[yystate]; 20822b15cb3dSCy Schubert if (yyn == 0) 20832b15cb3dSCy Schubert goto yyerrlab; 20842b15cb3dSCy Schubert goto yyreduce; 20852b15cb3dSCy Schubert 20862b15cb3dSCy Schubert 20872b15cb3dSCy Schubert /*-----------------------------. 20882b15cb3dSCy Schubert | yyreduce -- Do a reduction. | 20892b15cb3dSCy Schubert `-----------------------------*/ 20902b15cb3dSCy Schubert yyreduce: 20912b15cb3dSCy Schubert /* yyn is the number of a rule to reduce with. */ 20922b15cb3dSCy Schubert yylen = yyr2[yyn]; 20932b15cb3dSCy Schubert 20942b15cb3dSCy Schubert /* If YYLEN is nonzero, implement the default value of the action: 2095*e27abb66SXin LI '$$ = $1'. 20962b15cb3dSCy Schubert 20972b15cb3dSCy Schubert Otherwise, the following line sets YYVAL to garbage. 20982b15cb3dSCy Schubert This behavior is undocumented and Bison 20992b15cb3dSCy Schubert users should not rely upon it. Assigning to YYVAL 21002b15cb3dSCy Schubert unconditionally makes the parser a bit smaller, and it avoids a 21012b15cb3dSCy Schubert GCC warning that YYVAL may be used uninitialized. */ 21022b15cb3dSCy Schubert yyval = yyvsp[1-yylen]; 21032b15cb3dSCy Schubert 21042b15cb3dSCy Schubert 21052b15cb3dSCy Schubert YY_REDUCE_PRINT (yyn); 21062b15cb3dSCy Schubert switch (yyn) 21072b15cb3dSCy Schubert { 21082b15cb3dSCy Schubert case 5: 2109*e27abb66SXin LI #line 377 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 21102b15cb3dSCy Schubert { 21112b15cb3dSCy Schubert /* I will need to incorporate much more fine grained 21122b15cb3dSCy Schubert * error messages. The following should suffice for 21132b15cb3dSCy Schubert * the time being. 21142b15cb3dSCy Schubert */ 2115276da39aSCy Schubert struct FILE_INFO * ip_ctx = lex_current(); 21162b15cb3dSCy Schubert msyslog(LOG_ERR, 21172b15cb3dSCy Schubert "syntax error in %s line %d, column %d", 2118276da39aSCy Schubert ip_ctx->fname, 2119276da39aSCy Schubert ip_ctx->errpos.nline, 2120276da39aSCy Schubert ip_ctx->errpos.ncol); 21212b15cb3dSCy Schubert } 2122*e27abb66SXin LI #line 2123 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 21232b15cb3dSCy Schubert break; 21242b15cb3dSCy Schubert 21252b15cb3dSCy Schubert case 20: 2126*e27abb66SXin LI #line 413 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 21272b15cb3dSCy Schubert { 21282b15cb3dSCy Schubert peer_node *my_node; 21292b15cb3dSCy Schubert 2130*e27abb66SXin LI my_node = create_peer_node((yyvsp[-2].Integer), (yyvsp[-1].Address_node), (yyvsp[0].Attr_val_fifo)); 21312b15cb3dSCy Schubert APPEND_G_FIFO(cfgt.peers, my_node); 21322b15cb3dSCy Schubert } 2133*e27abb66SXin LI #line 2134 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 21342b15cb3dSCy Schubert break; 21352b15cb3dSCy Schubert 2136a25439b6SCy Schubert case 27: 2137*e27abb66SXin LI #line 432 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2138*e27abb66SXin LI { (yyval.Address_node) = create_address_node((yyvsp[0].String), (yyvsp[-1].Integer)); } 2139*e27abb66SXin LI #line 2140 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 21402b15cb3dSCy Schubert break; 21412b15cb3dSCy Schubert 2142a25439b6SCy Schubert case 28: 2143*e27abb66SXin LI #line 437 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2144*e27abb66SXin LI { (yyval.Address_node) = create_address_node((yyvsp[0].String), AF_UNSPEC); } 2145*e27abb66SXin LI #line 2146 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 21462b15cb3dSCy Schubert break; 21472b15cb3dSCy Schubert 2148a25439b6SCy Schubert case 29: 2149*e27abb66SXin LI #line 442 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2150a25439b6SCy Schubert { (yyval.Integer) = AF_INET; } 2151*e27abb66SXin LI #line 2152 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 21522b15cb3dSCy Schubert break; 21532b15cb3dSCy Schubert 2154a25439b6SCy Schubert case 30: 2155*e27abb66SXin LI #line 444 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2156a25439b6SCy Schubert { (yyval.Integer) = AF_INET6; } 2157*e27abb66SXin LI #line 2158 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 21582b15cb3dSCy Schubert break; 21592b15cb3dSCy Schubert 2160a25439b6SCy Schubert case 31: 2161*e27abb66SXin LI #line 449 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2162a25439b6SCy Schubert { (yyval.Attr_val_fifo) = NULL; } 2163*e27abb66SXin LI #line 2164 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 2164a25439b6SCy Schubert break; 2165a25439b6SCy Schubert 2166a25439b6SCy Schubert case 32: 2167*e27abb66SXin LI #line 451 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 21682b15cb3dSCy Schubert { 2169*e27abb66SXin LI (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); 2170*e27abb66SXin LI APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); 21712b15cb3dSCy Schubert } 2172*e27abb66SXin LI #line 2173 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 21732b15cb3dSCy Schubert break; 21742b15cb3dSCy Schubert 2175a25439b6SCy Schubert case 36: 2176*e27abb66SXin LI #line 465 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2177*e27abb66SXin LI { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer)); } 2178*e27abb66SXin LI #line 2179 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 21792b15cb3dSCy Schubert break; 21802b15cb3dSCy Schubert 2181a25439b6SCy Schubert case 45: 2182*e27abb66SXin LI #line 481 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2183*e27abb66SXin LI { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); } 2184*e27abb66SXin LI #line 2185 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 21852b15cb3dSCy Schubert break; 21862b15cb3dSCy Schubert 2187a25439b6SCy Schubert case 46: 2188*e27abb66SXin LI #line 483 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2189*e27abb66SXin LI { (yyval.Attr_val) = create_attr_uval((yyvsp[-1].Integer), (yyvsp[0].Integer)); } 2190*e27abb66SXin LI #line 2191 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 21912b15cb3dSCy Schubert break; 21922b15cb3dSCy Schubert 2193a25439b6SCy Schubert case 53: 2194*e27abb66SXin LI #line 497 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2195*e27abb66SXin LI { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); } 2196*e27abb66SXin LI #line 2197 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 2197a25439b6SCy Schubert break; 2198a25439b6SCy Schubert 21992b15cb3dSCy Schubert case 55: 2200*e27abb66SXin LI #line 511 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 22012b15cb3dSCy Schubert { 22022b15cb3dSCy Schubert unpeer_node *my_node; 22032b15cb3dSCy Schubert 2204*e27abb66SXin LI my_node = create_unpeer_node((yyvsp[0].Address_node)); 22052b15cb3dSCy Schubert if (my_node) 22062b15cb3dSCy Schubert APPEND_G_FIFO(cfgt.unpeers, my_node); 22072b15cb3dSCy Schubert } 2208*e27abb66SXin LI #line 2209 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 22092b15cb3dSCy Schubert break; 22102b15cb3dSCy Schubert 2211a25439b6SCy Schubert case 58: 2212*e27abb66SXin LI #line 532 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2213a25439b6SCy Schubert { cfgt.broadcastclient = 1; } 2214*e27abb66SXin LI #line 2215 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 22152b15cb3dSCy Schubert break; 22162b15cb3dSCy Schubert 2217a25439b6SCy Schubert case 59: 2218*e27abb66SXin LI #line 534 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2219*e27abb66SXin LI { CONCAT_G_FIFOS(cfgt.manycastserver, (yyvsp[0].Address_fifo)); } 2220*e27abb66SXin LI #line 2221 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 22212b15cb3dSCy Schubert break; 22222b15cb3dSCy Schubert 2223a25439b6SCy Schubert case 60: 2224*e27abb66SXin LI #line 536 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2225*e27abb66SXin LI { CONCAT_G_FIFOS(cfgt.multicastclient, (yyvsp[0].Address_fifo)); } 2226*e27abb66SXin LI #line 2227 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 22272b15cb3dSCy Schubert break; 22282b15cb3dSCy Schubert 2229a25439b6SCy Schubert case 61: 2230*e27abb66SXin LI #line 538 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2231*e27abb66SXin LI { cfgt.mdnstries = (yyvsp[0].Integer); } 2232*e27abb66SXin LI #line 2233 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 2233a25439b6SCy Schubert break; 2234a25439b6SCy Schubert 22352b15cb3dSCy Schubert case 62: 2236*e27abb66SXin LI #line 549 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 22372b15cb3dSCy Schubert { 22382b15cb3dSCy Schubert attr_val *atrv; 22392b15cb3dSCy Schubert 2240*e27abb66SXin LI atrv = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); 22412b15cb3dSCy Schubert APPEND_G_FIFO(cfgt.vars, atrv); 22422b15cb3dSCy Schubert } 2243*e27abb66SXin LI #line 2244 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 22442b15cb3dSCy Schubert break; 22452b15cb3dSCy Schubert 2246a25439b6SCy Schubert case 63: 2247*e27abb66SXin LI #line 556 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2248*e27abb66SXin LI { cfgt.auth.control_key = (yyvsp[0].Integer); } 2249*e27abb66SXin LI #line 2250 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 2250a25439b6SCy Schubert break; 2251a25439b6SCy Schubert 2252a25439b6SCy Schubert case 64: 2253*e27abb66SXin LI #line 558 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 22542b15cb3dSCy Schubert { 22552b15cb3dSCy Schubert cfgt.auth.cryptosw++; 2256*e27abb66SXin LI CONCAT_G_FIFOS(cfgt.auth.crypto_cmd_list, (yyvsp[0].Attr_val_fifo)); 22572b15cb3dSCy Schubert } 2258*e27abb66SXin LI #line 2259 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 22592b15cb3dSCy Schubert break; 22602b15cb3dSCy Schubert 2261a25439b6SCy Schubert case 65: 2262*e27abb66SXin LI #line 563 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2263*e27abb66SXin LI { cfgt.auth.keys = (yyvsp[0].String); } 2264*e27abb66SXin LI #line 2265 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 22652b15cb3dSCy Schubert break; 22662b15cb3dSCy Schubert 2267a25439b6SCy Schubert case 66: 2268*e27abb66SXin LI #line 565 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2269*e27abb66SXin LI { cfgt.auth.keysdir = (yyvsp[0].String); } 2270*e27abb66SXin LI #line 2271 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 22712b15cb3dSCy Schubert break; 22722b15cb3dSCy Schubert 2273a25439b6SCy Schubert case 67: 2274*e27abb66SXin LI #line 567 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2275*e27abb66SXin LI { cfgt.auth.request_key = (yyvsp[0].Integer); } 2276*e27abb66SXin LI #line 2277 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 22772b15cb3dSCy Schubert break; 22782b15cb3dSCy Schubert 2279a25439b6SCy Schubert case 68: 2280*e27abb66SXin LI #line 569 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2281*e27abb66SXin LI { cfgt.auth.revoke = (yyvsp[0].Integer); } 2282*e27abb66SXin LI #line 2283 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 2283a25439b6SCy Schubert break; 2284a25439b6SCy Schubert 2285a25439b6SCy Schubert case 69: 2286*e27abb66SXin LI #line 571 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 22872b15cb3dSCy Schubert { 2288*e27abb66SXin LI cfgt.auth.trusted_key_list = (yyvsp[0].Attr_val_fifo); 22892b15cb3dSCy Schubert 22902b15cb3dSCy Schubert // if (!cfgt.auth.trusted_key_list) 22912b15cb3dSCy Schubert // cfgt.auth.trusted_key_list = $2; 22922b15cb3dSCy Schubert // else 22932b15cb3dSCy Schubert // LINK_SLIST(cfgt.auth.trusted_key_list, $2, link); 22942b15cb3dSCy Schubert } 2295*e27abb66SXin LI #line 2296 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 22962b15cb3dSCy Schubert break; 22972b15cb3dSCy Schubert 2298a25439b6SCy Schubert case 70: 2299*e27abb66SXin LI #line 580 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2300*e27abb66SXin LI { cfgt.auth.ntp_signd_socket = (yyvsp[0].String); } 2301*e27abb66SXin LI #line 2302 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 23022b15cb3dSCy Schubert break; 23032b15cb3dSCy Schubert 2304a25439b6SCy Schubert case 71: 2305*e27abb66SXin LI #line 585 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2306a25439b6SCy Schubert { (yyval.Attr_val_fifo) = NULL; } 2307*e27abb66SXin LI #line 2308 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 2308a25439b6SCy Schubert break; 2309a25439b6SCy Schubert 2310a25439b6SCy Schubert case 72: 2311*e27abb66SXin LI #line 587 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 23122b15cb3dSCy Schubert { 2313*e27abb66SXin LI (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); 2314*e27abb66SXin LI APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); 23152b15cb3dSCy Schubert } 2316*e27abb66SXin LI #line 2317 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 23172b15cb3dSCy Schubert break; 23182b15cb3dSCy Schubert 2319a25439b6SCy Schubert case 73: 2320*e27abb66SXin LI #line 595 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2321*e27abb66SXin LI { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); } 2322*e27abb66SXin LI #line 2323 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 2323a25439b6SCy Schubert break; 2324a25439b6SCy Schubert 2325a25439b6SCy Schubert case 74: 2326*e27abb66SXin LI #line 597 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 23272b15cb3dSCy Schubert { 23282b15cb3dSCy Schubert (yyval.Attr_val) = NULL; 2329*e27abb66SXin LI cfgt.auth.revoke = (yyvsp[0].Integer); 23302b15cb3dSCy Schubert msyslog(LOG_WARNING, 23312b15cb3dSCy Schubert "'crypto revoke %d' is deprecated, " 23322b15cb3dSCy Schubert "please use 'revoke %d' instead.", 23332b15cb3dSCy Schubert cfgt.auth.revoke, cfgt.auth.revoke); 23342b15cb3dSCy Schubert } 2335*e27abb66SXin LI #line 2336 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 23362b15cb3dSCy Schubert break; 23372b15cb3dSCy Schubert 2338a25439b6SCy Schubert case 80: 2339*e27abb66SXin LI #line 622 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2340*e27abb66SXin LI { CONCAT_G_FIFOS(cfgt.orphan_cmds, (yyvsp[0].Attr_val_fifo)); } 2341*e27abb66SXin LI #line 2342 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 2342a25439b6SCy Schubert break; 2343a25439b6SCy Schubert 23442b15cb3dSCy Schubert case 81: 2345*e27abb66SXin LI #line 627 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 23462b15cb3dSCy Schubert { 2347*e27abb66SXin LI (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); 2348*e27abb66SXin LI APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); 23492b15cb3dSCy Schubert } 2350*e27abb66SXin LI #line 2351 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 23512b15cb3dSCy Schubert break; 23522b15cb3dSCy Schubert 23532b15cb3dSCy Schubert case 82: 2354*e27abb66SXin LI #line 632 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 23552b15cb3dSCy Schubert { 23562b15cb3dSCy Schubert (yyval.Attr_val_fifo) = NULL; 2357*e27abb66SXin LI APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); 23582b15cb3dSCy Schubert } 2359*e27abb66SXin LI #line 2360 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 23602b15cb3dSCy Schubert break; 23612b15cb3dSCy Schubert 2362a25439b6SCy Schubert case 83: 2363*e27abb66SXin LI #line 640 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2364*e27abb66SXin LI { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (double)(yyvsp[0].Integer)); } 2365*e27abb66SXin LI #line 2366 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 23662b15cb3dSCy Schubert break; 23672b15cb3dSCy Schubert 2368a25439b6SCy Schubert case 84: 2369*e27abb66SXin LI #line 642 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2370*e27abb66SXin LI { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (yyvsp[0].Double)); } 2371*e27abb66SXin LI #line 2372 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 23722b15cb3dSCy Schubert break; 23732b15cb3dSCy Schubert 2374a25439b6SCy Schubert case 85: 2375*e27abb66SXin LI #line 644 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2376*e27abb66SXin LI { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (double)(yyvsp[0].Integer)); } 2377*e27abb66SXin LI #line 2378 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 23782b15cb3dSCy Schubert break; 23792b15cb3dSCy Schubert 2380a25439b6SCy Schubert case 96: 2381*e27abb66SXin LI #line 670 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2382*e27abb66SXin LI { CONCAT_G_FIFOS(cfgt.stats_list, (yyvsp[0].Int_fifo)); } 2383*e27abb66SXin LI #line 2384 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 2384a25439b6SCy Schubert break; 2385a25439b6SCy Schubert 2386a25439b6SCy Schubert case 97: 2387*e27abb66SXin LI #line 672 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 23882b15cb3dSCy Schubert { 2389276da39aSCy Schubert if (lex_from_file()) { 2390*e27abb66SXin LI cfgt.stats_dir = (yyvsp[0].String); 23912b15cb3dSCy Schubert } else { 2392*e27abb66SXin LI YYFREE((yyvsp[0].String)); 2393276da39aSCy Schubert yyerror("statsdir remote configuration ignored"); 23942b15cb3dSCy Schubert } 23952b15cb3dSCy Schubert } 2396*e27abb66SXin LI #line 2397 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 23972b15cb3dSCy Schubert break; 23982b15cb3dSCy Schubert 23992b15cb3dSCy Schubert case 98: 2400*e27abb66SXin LI #line 681 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 24012b15cb3dSCy Schubert { 24022b15cb3dSCy Schubert filegen_node *fgn; 24032b15cb3dSCy Schubert 2404*e27abb66SXin LI fgn = create_filegen_node((yyvsp[-1].Integer), (yyvsp[0].Attr_val_fifo)); 24052b15cb3dSCy Schubert APPEND_G_FIFO(cfgt.filegen_opts, fgn); 24062b15cb3dSCy Schubert } 2407*e27abb66SXin LI #line 2408 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 24082b15cb3dSCy Schubert break; 24092b15cb3dSCy Schubert 24102b15cb3dSCy Schubert case 99: 2411*e27abb66SXin LI #line 691 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 24122b15cb3dSCy Schubert { 2413*e27abb66SXin LI (yyval.Int_fifo) = (yyvsp[-1].Int_fifo); 2414*e27abb66SXin LI APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer))); 24152b15cb3dSCy Schubert } 2416*e27abb66SXin LI #line 2417 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 24172b15cb3dSCy Schubert break; 24182b15cb3dSCy Schubert 24192b15cb3dSCy Schubert case 100: 2420*e27abb66SXin LI #line 696 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 24212b15cb3dSCy Schubert { 24222b15cb3dSCy Schubert (yyval.Int_fifo) = NULL; 2423*e27abb66SXin LI APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer))); 24242b15cb3dSCy Schubert } 2425*e27abb66SXin LI #line 2426 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 24262b15cb3dSCy Schubert break; 24272b15cb3dSCy Schubert 2428a25439b6SCy Schubert case 109: 2429*e27abb66SXin LI #line 715 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2430a25439b6SCy Schubert { (yyval.Attr_val_fifo) = NULL; } 2431*e27abb66SXin LI #line 2432 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 2432a25439b6SCy Schubert break; 2433a25439b6SCy Schubert 2434a25439b6SCy Schubert case 110: 2435*e27abb66SXin LI #line 717 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 24362b15cb3dSCy Schubert { 2437*e27abb66SXin LI (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); 2438*e27abb66SXin LI APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); 24392b15cb3dSCy Schubert } 2440*e27abb66SXin LI #line 2441 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 24412b15cb3dSCy Schubert break; 24422b15cb3dSCy Schubert 24432b15cb3dSCy Schubert case 111: 2444*e27abb66SXin LI #line 725 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 24452b15cb3dSCy Schubert { 2446276da39aSCy Schubert if (lex_from_file()) { 2447*e27abb66SXin LI (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); 24482b15cb3dSCy Schubert } else { 24492b15cb3dSCy Schubert (yyval.Attr_val) = NULL; 2450*e27abb66SXin LI YYFREE((yyvsp[0].String)); 2451276da39aSCy Schubert yyerror("filegen file remote config ignored"); 24522b15cb3dSCy Schubert } 24532b15cb3dSCy Schubert } 2454*e27abb66SXin LI #line 2455 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 24552b15cb3dSCy Schubert break; 24562b15cb3dSCy Schubert 24572b15cb3dSCy Schubert case 112: 2458*e27abb66SXin LI #line 735 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 24592b15cb3dSCy Schubert { 2460276da39aSCy Schubert if (lex_from_file()) { 2461*e27abb66SXin LI (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); 24622b15cb3dSCy Schubert } else { 24632b15cb3dSCy Schubert (yyval.Attr_val) = NULL; 2464276da39aSCy Schubert yyerror("filegen type remote config ignored"); 24652b15cb3dSCy Schubert } 24662b15cb3dSCy Schubert } 2467*e27abb66SXin LI #line 2468 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 24682b15cb3dSCy Schubert break; 24692b15cb3dSCy Schubert 24702b15cb3dSCy Schubert case 113: 2471*e27abb66SXin LI #line 744 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 24722b15cb3dSCy Schubert { 24732b15cb3dSCy Schubert const char *err; 24742b15cb3dSCy Schubert 2475276da39aSCy Schubert if (lex_from_file()) { 2476*e27abb66SXin LI (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer)); 24772b15cb3dSCy Schubert } else { 24782b15cb3dSCy Schubert (yyval.Attr_val) = NULL; 2479*e27abb66SXin LI if (T_Link == (yyvsp[0].Integer)) 24802b15cb3dSCy Schubert err = "filegen link remote config ignored"; 24812b15cb3dSCy Schubert else 24822b15cb3dSCy Schubert err = "filegen nolink remote config ignored"; 2483276da39aSCy Schubert yyerror(err); 24842b15cb3dSCy Schubert } 24852b15cb3dSCy Schubert } 2486*e27abb66SXin LI #line 2487 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 24872b15cb3dSCy Schubert break; 24882b15cb3dSCy Schubert 2489a25439b6SCy Schubert case 114: 2490*e27abb66SXin LI #line 759 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2491*e27abb66SXin LI { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer)); } 2492*e27abb66SXin LI #line 2493 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 2493a25439b6SCy Schubert break; 2494a25439b6SCy Schubert 24952b15cb3dSCy Schubert case 126: 2496*e27abb66SXin LI #line 789 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 24972b15cb3dSCy Schubert { 2498*e27abb66SXin LI CONCAT_G_FIFOS(cfgt.discard_opts, (yyvsp[0].Attr_val_fifo)); 24992b15cb3dSCy Schubert } 2500*e27abb66SXin LI #line 2501 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 25012b15cb3dSCy Schubert break; 25022b15cb3dSCy Schubert 25032b15cb3dSCy Schubert case 127: 2504*e27abb66SXin LI #line 793 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 25052b15cb3dSCy Schubert { 2506*e27abb66SXin LI CONCAT_G_FIFOS(cfgt.mru_opts, (yyvsp[0].Attr_val_fifo)); 25072b15cb3dSCy Schubert } 2508*e27abb66SXin LI #line 2509 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 25092b15cb3dSCy Schubert break; 25102b15cb3dSCy Schubert 25112b15cb3dSCy Schubert case 128: 2512*e27abb66SXin LI #line 797 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 25132b15cb3dSCy Schubert { 25142b15cb3dSCy Schubert restrict_node *rn; 25152b15cb3dSCy Schubert 2516*e27abb66SXin LI rn = create_restrict_node((yyvsp[-1].Address_node), NULL, (yyvsp[0].Int_fifo), 2517276da39aSCy Schubert lex_current()->curpos.nline); 25182b15cb3dSCy Schubert APPEND_G_FIFO(cfgt.restrict_opts, rn); 25192b15cb3dSCy Schubert } 2520*e27abb66SXin LI #line 2521 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 25212b15cb3dSCy Schubert break; 25222b15cb3dSCy Schubert 25232b15cb3dSCy Schubert case 129: 2524*e27abb66SXin LI #line 805 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 25252b15cb3dSCy Schubert { 25262b15cb3dSCy Schubert restrict_node *rn; 25272b15cb3dSCy Schubert 2528*e27abb66SXin LI rn = create_restrict_node((yyvsp[-3].Address_node), (yyvsp[-1].Address_node), (yyvsp[0].Int_fifo), 2529276da39aSCy Schubert lex_current()->curpos.nline); 25302b15cb3dSCy Schubert APPEND_G_FIFO(cfgt.restrict_opts, rn); 25312b15cb3dSCy Schubert } 2532*e27abb66SXin LI #line 2533 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 25332b15cb3dSCy Schubert break; 25342b15cb3dSCy Schubert 25352b15cb3dSCy Schubert case 130: 2536*e27abb66SXin LI #line 813 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 25372b15cb3dSCy Schubert { 25382b15cb3dSCy Schubert restrict_node *rn; 25392b15cb3dSCy Schubert 2540*e27abb66SXin LI rn = create_restrict_node(NULL, NULL, (yyvsp[0].Int_fifo), 2541276da39aSCy Schubert lex_current()->curpos.nline); 25422b15cb3dSCy Schubert APPEND_G_FIFO(cfgt.restrict_opts, rn); 25432b15cb3dSCy Schubert } 2544*e27abb66SXin LI #line 2545 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 25452b15cb3dSCy Schubert break; 25462b15cb3dSCy Schubert 25472b15cb3dSCy Schubert case 131: 2548*e27abb66SXin LI #line 821 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 25492b15cb3dSCy Schubert { 25502b15cb3dSCy Schubert restrict_node *rn; 25512b15cb3dSCy Schubert 25522b15cb3dSCy Schubert rn = create_restrict_node( 25532b15cb3dSCy Schubert create_address_node( 25542b15cb3dSCy Schubert estrdup("0.0.0.0"), 25552b15cb3dSCy Schubert AF_INET), 25562b15cb3dSCy Schubert create_address_node( 25572b15cb3dSCy Schubert estrdup("0.0.0.0"), 25582b15cb3dSCy Schubert AF_INET), 2559*e27abb66SXin LI (yyvsp[0].Int_fifo), 2560276da39aSCy Schubert lex_current()->curpos.nline); 25612b15cb3dSCy Schubert APPEND_G_FIFO(cfgt.restrict_opts, rn); 25622b15cb3dSCy Schubert } 2563*e27abb66SXin LI #line 2564 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 25642b15cb3dSCy Schubert break; 25652b15cb3dSCy Schubert 25662b15cb3dSCy Schubert case 132: 2567*e27abb66SXin LI #line 836 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 25682b15cb3dSCy Schubert { 25692b15cb3dSCy Schubert restrict_node *rn; 25702b15cb3dSCy Schubert 25712b15cb3dSCy Schubert rn = create_restrict_node( 25722b15cb3dSCy Schubert create_address_node( 25732b15cb3dSCy Schubert estrdup("::"), 25742b15cb3dSCy Schubert AF_INET6), 25752b15cb3dSCy Schubert create_address_node( 25762b15cb3dSCy Schubert estrdup("::"), 25772b15cb3dSCy Schubert AF_INET6), 2578*e27abb66SXin LI (yyvsp[0].Int_fifo), 2579276da39aSCy Schubert lex_current()->curpos.nline); 25802b15cb3dSCy Schubert APPEND_G_FIFO(cfgt.restrict_opts, rn); 25812b15cb3dSCy Schubert } 2582*e27abb66SXin LI #line 2583 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 25832b15cb3dSCy Schubert break; 25842b15cb3dSCy Schubert 25852b15cb3dSCy Schubert case 133: 2586*e27abb66SXin LI #line 851 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 25872b15cb3dSCy Schubert { 25882b15cb3dSCy Schubert restrict_node * rn; 25892b15cb3dSCy Schubert 2590*e27abb66SXin LI APPEND_G_FIFO((yyvsp[0].Int_fifo), create_int_node((yyvsp[-1].Integer))); 25912b15cb3dSCy Schubert rn = create_restrict_node( 2592*e27abb66SXin LI NULL, NULL, (yyvsp[0].Int_fifo), lex_current()->curpos.nline); 25932b15cb3dSCy Schubert APPEND_G_FIFO(cfgt.restrict_opts, rn); 25942b15cb3dSCy Schubert } 2595*e27abb66SXin LI #line 2596 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 25962b15cb3dSCy Schubert break; 25972b15cb3dSCy Schubert 2598a25439b6SCy Schubert case 134: 2599*e27abb66SXin LI #line 863 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2600a25439b6SCy Schubert { (yyval.Int_fifo) = NULL; } 2601*e27abb66SXin LI #line 2602 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 2602a25439b6SCy Schubert break; 2603a25439b6SCy Schubert 2604a25439b6SCy Schubert case 135: 2605*e27abb66SXin LI #line 865 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 26062b15cb3dSCy Schubert { 2607*e27abb66SXin LI (yyval.Int_fifo) = (yyvsp[-1].Int_fifo); 2608*e27abb66SXin LI APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer))); 26092b15cb3dSCy Schubert } 2610*e27abb66SXin LI #line 2611 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 26112b15cb3dSCy Schubert break; 26122b15cb3dSCy Schubert 26132b15cb3dSCy Schubert case 151: 2614*e27abb66SXin LI #line 891 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 26152b15cb3dSCy Schubert { 2616*e27abb66SXin LI (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); 2617*e27abb66SXin LI APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); 26182b15cb3dSCy Schubert } 2619*e27abb66SXin LI #line 2620 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 26202b15cb3dSCy Schubert break; 26212b15cb3dSCy Schubert 26222b15cb3dSCy Schubert case 152: 2623*e27abb66SXin LI #line 896 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 26242b15cb3dSCy Schubert { 26252b15cb3dSCy Schubert (yyval.Attr_val_fifo) = NULL; 2626*e27abb66SXin LI APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); 26272b15cb3dSCy Schubert } 2628*e27abb66SXin LI #line 2629 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 26292b15cb3dSCy Schubert break; 26302b15cb3dSCy Schubert 2631a25439b6SCy Schubert case 153: 2632*e27abb66SXin LI #line 904 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2633*e27abb66SXin LI { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); } 2634*e27abb66SXin LI #line 2635 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 2635a25439b6SCy Schubert break; 2636a25439b6SCy Schubert 26372b15cb3dSCy Schubert case 157: 2638*e27abb66SXin LI #line 915 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 26392b15cb3dSCy Schubert { 2640*e27abb66SXin LI (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); 2641*e27abb66SXin LI APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); 26422b15cb3dSCy Schubert } 2643*e27abb66SXin LI #line 2644 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 26442b15cb3dSCy Schubert break; 26452b15cb3dSCy Schubert 26462b15cb3dSCy Schubert case 158: 2647*e27abb66SXin LI #line 920 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 26482b15cb3dSCy Schubert { 26492b15cb3dSCy Schubert (yyval.Attr_val_fifo) = NULL; 2650*e27abb66SXin LI APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); 26512b15cb3dSCy Schubert } 2652*e27abb66SXin LI #line 2653 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 26532b15cb3dSCy Schubert break; 26542b15cb3dSCy Schubert 2655a25439b6SCy Schubert case 159: 2656*e27abb66SXin LI #line 928 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2657*e27abb66SXin LI { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); } 2658*e27abb66SXin LI #line 2659 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 2659a25439b6SCy Schubert break; 2660a25439b6SCy Schubert 26612b15cb3dSCy Schubert case 168: 2662*e27abb66SXin LI #line 948 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 26632b15cb3dSCy Schubert { 26642b15cb3dSCy Schubert addr_opts_node *aon; 26652b15cb3dSCy Schubert 2666*e27abb66SXin LI aon = create_addr_opts_node((yyvsp[-1].Address_node), (yyvsp[0].Attr_val_fifo)); 26672b15cb3dSCy Schubert APPEND_G_FIFO(cfgt.fudge, aon); 26682b15cb3dSCy Schubert } 2669*e27abb66SXin LI #line 2670 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 26702b15cb3dSCy Schubert break; 26712b15cb3dSCy Schubert 26722b15cb3dSCy Schubert case 169: 2673*e27abb66SXin LI #line 958 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 26742b15cb3dSCy Schubert { 2675*e27abb66SXin LI (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); 2676*e27abb66SXin LI APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); 26772b15cb3dSCy Schubert } 2678*e27abb66SXin LI #line 2679 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 26792b15cb3dSCy Schubert break; 26802b15cb3dSCy Schubert 26812b15cb3dSCy Schubert case 170: 2682*e27abb66SXin LI #line 963 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 26832b15cb3dSCy Schubert { 26842b15cb3dSCy Schubert (yyval.Attr_val_fifo) = NULL; 2685*e27abb66SXin LI APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); 26862b15cb3dSCy Schubert } 2687*e27abb66SXin LI #line 2688 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 26882b15cb3dSCy Schubert break; 26892b15cb3dSCy Schubert 2690a25439b6SCy Schubert case 171: 2691*e27abb66SXin LI #line 971 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2692*e27abb66SXin LI { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (yyvsp[0].Double)); } 2693*e27abb66SXin LI #line 2694 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 26942b15cb3dSCy Schubert break; 26952b15cb3dSCy Schubert 2696a25439b6SCy Schubert case 172: 2697*e27abb66SXin LI #line 973 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2698*e27abb66SXin LI { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); } 2699*e27abb66SXin LI #line 2700 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 27002b15cb3dSCy Schubert break; 27012b15cb3dSCy Schubert 2702a25439b6SCy Schubert case 173: 2703*e27abb66SXin LI #line 975 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 27043311ff84SXin LI { 2705*e27abb66SXin LI if ((yyvsp[0].Integer) >= 0 && (yyvsp[0].Integer) <= 16) { 2706*e27abb66SXin LI (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); 27073311ff84SXin LI } else { 27083311ff84SXin LI (yyval.Attr_val) = NULL; 27093311ff84SXin LI yyerror("fudge factor: stratum value not in [0..16], ignored"); 27103311ff84SXin LI } 27113311ff84SXin LI } 2712*e27abb66SXin LI #line 2713 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 27132b15cb3dSCy Schubert break; 27142b15cb3dSCy Schubert 2715a25439b6SCy Schubert case 174: 2716*e27abb66SXin LI #line 984 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2717*e27abb66SXin LI { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); } 2718*e27abb66SXin LI #line 2719 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 27192b15cb3dSCy Schubert break; 27202b15cb3dSCy Schubert 2721a25439b6SCy Schubert case 175: 2722*e27abb66SXin LI #line 986 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2723*e27abb66SXin LI { (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); } 2724*e27abb66SXin LI #line 2725 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 27252b15cb3dSCy Schubert break; 27262b15cb3dSCy Schubert 2727a25439b6SCy Schubert case 182: 2728*e27abb66SXin LI #line 1007 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2729*e27abb66SXin LI { CONCAT_G_FIFOS(cfgt.rlimit, (yyvsp[0].Attr_val_fifo)); } 2730*e27abb66SXin LI #line 2731 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 2731a25439b6SCy Schubert break; 2732a25439b6SCy Schubert 27332b15cb3dSCy Schubert case 183: 2734*e27abb66SXin LI #line 1012 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 27352b15cb3dSCy Schubert { 2736*e27abb66SXin LI (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); 2737*e27abb66SXin LI APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); 27382b15cb3dSCy Schubert } 2739*e27abb66SXin LI #line 2740 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 27402b15cb3dSCy Schubert break; 27412b15cb3dSCy Schubert 27422b15cb3dSCy Schubert case 184: 2743*e27abb66SXin LI #line 1017 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 27442b15cb3dSCy Schubert { 27452b15cb3dSCy Schubert (yyval.Attr_val_fifo) = NULL; 2746*e27abb66SXin LI APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); 27472b15cb3dSCy Schubert } 2748*e27abb66SXin LI #line 2749 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 27492b15cb3dSCy Schubert break; 27502b15cb3dSCy Schubert 2751a25439b6SCy Schubert case 185: 2752*e27abb66SXin LI #line 1025 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2753*e27abb66SXin LI { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); } 2754*e27abb66SXin LI #line 2755 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 27552b15cb3dSCy Schubert break; 27562b15cb3dSCy Schubert 2757a25439b6SCy Schubert case 189: 2758*e27abb66SXin LI #line 1041 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2759*e27abb66SXin LI { CONCAT_G_FIFOS(cfgt.enable_opts, (yyvsp[0].Attr_val_fifo)); } 2760*e27abb66SXin LI #line 2761 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 27612b15cb3dSCy Schubert break; 27622b15cb3dSCy Schubert 2763a25439b6SCy Schubert case 190: 2764*e27abb66SXin LI #line 1043 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2765*e27abb66SXin LI { CONCAT_G_FIFOS(cfgt.disable_opts, (yyvsp[0].Attr_val_fifo)); } 2766*e27abb66SXin LI #line 2767 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 2767a25439b6SCy Schubert break; 2768a25439b6SCy Schubert 27692b15cb3dSCy Schubert case 191: 2770*e27abb66SXin LI #line 1048 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 27712b15cb3dSCy Schubert { 2772*e27abb66SXin LI (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); 2773*e27abb66SXin LI APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); 27742b15cb3dSCy Schubert } 2775*e27abb66SXin LI #line 2776 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 27762b15cb3dSCy Schubert break; 27772b15cb3dSCy Schubert 27782b15cb3dSCy Schubert case 192: 2779*e27abb66SXin LI #line 1053 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 27802b15cb3dSCy Schubert { 27812b15cb3dSCy Schubert (yyval.Attr_val_fifo) = NULL; 2782*e27abb66SXin LI APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); 27832b15cb3dSCy Schubert } 2784*e27abb66SXin LI #line 2785 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 27852b15cb3dSCy Schubert break; 27862b15cb3dSCy Schubert 2787a25439b6SCy Schubert case 193: 2788*e27abb66SXin LI #line 1061 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2789*e27abb66SXin LI { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer)); } 2790*e27abb66SXin LI #line 2791 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 2791a25439b6SCy Schubert break; 2792a25439b6SCy Schubert 2793a25439b6SCy Schubert case 194: 2794*e27abb66SXin LI #line 1063 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 27952b15cb3dSCy Schubert { 2796276da39aSCy Schubert if (lex_from_file()) { 2797*e27abb66SXin LI (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[0].Integer)); 27982b15cb3dSCy Schubert } else { 27992b15cb3dSCy Schubert char err_str[128]; 28002b15cb3dSCy Schubert 28012b15cb3dSCy Schubert (yyval.Attr_val) = NULL; 28022b15cb3dSCy Schubert snprintf(err_str, sizeof(err_str), 28032b15cb3dSCy Schubert "enable/disable %s remote configuration ignored", 2804*e27abb66SXin LI keyword((yyvsp[0].Integer))); 2805276da39aSCy Schubert yyerror(err_str); 28062b15cb3dSCy Schubert } 28072b15cb3dSCy Schubert } 2808*e27abb66SXin LI #line 2809 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 2809a25439b6SCy Schubert break; 2810a25439b6SCy Schubert 281168ba7e87SXin LI case 207: 2812*e27abb66SXin LI #line 1102 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2813*e27abb66SXin LI { CONCAT_G_FIFOS(cfgt.tinker, (yyvsp[0].Attr_val_fifo)); } 2814*e27abb66SXin LI #line 2815 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 28152b15cb3dSCy Schubert break; 28162b15cb3dSCy Schubert 281768ba7e87SXin LI case 208: 2818*e27abb66SXin LI #line 1107 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 28192b15cb3dSCy Schubert { 2820*e27abb66SXin LI (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); 2821*e27abb66SXin LI APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); 28222b15cb3dSCy Schubert } 2823*e27abb66SXin LI #line 2824 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 28242b15cb3dSCy Schubert break; 28252b15cb3dSCy Schubert 282668ba7e87SXin LI case 209: 2827*e27abb66SXin LI #line 1112 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2828*e27abb66SXin LI { 2829*e27abb66SXin LI (yyval.Attr_val_fifo) = NULL; 2830*e27abb66SXin LI APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); 2831*e27abb66SXin LI } 2832*e27abb66SXin LI #line 2833 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 2833276da39aSCy Schubert break; 2834276da39aSCy Schubert 2835*e27abb66SXin LI case 210: 2836*e27abb66SXin LI #line 1120 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2837*e27abb66SXin LI { (yyval.Attr_val) = create_attr_dval((yyvsp[-1].Integer), (yyvsp[0].Double)); } 2838*e27abb66SXin LI #line 2839 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 283968ba7e87SXin LI break; 284068ba7e87SXin LI 284168ba7e87SXin LI case 223: 2842*e27abb66SXin LI #line 1145 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 284368ba7e87SXin LI { 284468ba7e87SXin LI attr_val *av; 284568ba7e87SXin LI 2846*e27abb66SXin LI av = create_attr_dval((yyvsp[-1].Integer), (yyvsp[0].Double)); 284768ba7e87SXin LI APPEND_G_FIFO(cfgt.vars, av); 284868ba7e87SXin LI } 2849*e27abb66SXin LI #line 2850 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 285068ba7e87SXin LI break; 285168ba7e87SXin LI 285268ba7e87SXin LI case 224: 2853*e27abb66SXin LI #line 1152 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 285468ba7e87SXin LI { 285568ba7e87SXin LI attr_val *av; 285668ba7e87SXin LI 2857*e27abb66SXin LI av = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); 285868ba7e87SXin LI APPEND_G_FIFO(cfgt.vars, av); 285968ba7e87SXin LI } 2860*e27abb66SXin LI #line 2861 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 286168ba7e87SXin LI break; 286268ba7e87SXin LI 286368ba7e87SXin LI case 225: 2864*e27abb66SXin LI #line 1159 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2865*e27abb66SXin LI { 2866*e27abb66SXin LI attr_val *av; 2867*e27abb66SXin LI 2868*e27abb66SXin LI av = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); 2869*e27abb66SXin LI APPEND_G_FIFO(cfgt.vars, av); 2870*e27abb66SXin LI } 2871*e27abb66SXin LI #line 2872 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 2872*e27abb66SXin LI break; 2873*e27abb66SXin LI 2874*e27abb66SXin LI case 226: 2875*e27abb66SXin LI #line 1166 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 28762b15cb3dSCy Schubert { 28772b15cb3dSCy Schubert char error_text[64]; 28782b15cb3dSCy Schubert attr_val *av; 28792b15cb3dSCy Schubert 2880276da39aSCy Schubert if (lex_from_file()) { 2881*e27abb66SXin LI av = create_attr_sval((yyvsp[-1].Integer), (yyvsp[0].String)); 28822b15cb3dSCy Schubert APPEND_G_FIFO(cfgt.vars, av); 28832b15cb3dSCy Schubert } else { 2884*e27abb66SXin LI YYFREE((yyvsp[0].String)); 28852b15cb3dSCy Schubert snprintf(error_text, sizeof(error_text), 28862b15cb3dSCy Schubert "%s remote config ignored", 2887*e27abb66SXin LI keyword((yyvsp[-1].Integer))); 2888276da39aSCy Schubert yyerror(error_text); 28892b15cb3dSCy Schubert } 28902b15cb3dSCy Schubert } 2891*e27abb66SXin LI #line 2892 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 28922b15cb3dSCy Schubert break; 28932b15cb3dSCy Schubert 2894*e27abb66SXin LI case 227: 2895*e27abb66SXin LI #line 1182 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 28962b15cb3dSCy Schubert { 2897276da39aSCy Schubert if (!lex_from_file()) { 2898*e27abb66SXin LI YYFREE((yyvsp[-1].String)); /* avoid leak */ 2899276da39aSCy Schubert yyerror("remote includefile ignored"); 2900276da39aSCy Schubert break; 29012b15cb3dSCy Schubert } 2902276da39aSCy Schubert if (lex_level() > MAXINCLUDELEVEL) { 2903276da39aSCy Schubert fprintf(stderr, "getconfig: Maximum include file level exceeded.\n"); 2904276da39aSCy Schubert msyslog(LOG_ERR, "getconfig: Maximum include file level exceeded."); 2905276da39aSCy Schubert } else { 2906*e27abb66SXin LI const char * path = FindConfig((yyvsp[-1].String)); /* might return $2! */ 2907276da39aSCy Schubert if (!lex_push_file(path, "r")) { 2908276da39aSCy Schubert fprintf(stderr, "getconfig: Couldn't open <%s>\n", path); 2909276da39aSCy Schubert msyslog(LOG_ERR, "getconfig: Couldn't open <%s>", path); 2910276da39aSCy Schubert } 2911276da39aSCy Schubert } 2912*e27abb66SXin LI YYFREE((yyvsp[-1].String)); /* avoid leak */ 2913276da39aSCy Schubert } 2914*e27abb66SXin LI #line 2915 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 2915a25439b6SCy Schubert break; 2916a25439b6SCy Schubert 2917a25439b6SCy Schubert case 228: 2918*e27abb66SXin LI #line 1201 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2919*e27abb66SXin LI { lex_flush_stack(); } 2920*e27abb66SXin LI #line 2921 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 29212b15cb3dSCy Schubert break; 29222b15cb3dSCy Schubert 2923a25439b6SCy Schubert case 229: 2924*e27abb66SXin LI #line 1203 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2925*e27abb66SXin LI { /* see drift_parm below for actions */ } 2926*e27abb66SXin LI #line 2927 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 2927a25439b6SCy Schubert break; 2928a25439b6SCy Schubert 2929276da39aSCy Schubert case 230: 2930*e27abb66SXin LI #line 1205 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2931*e27abb66SXin LI { CONCAT_G_FIFOS(cfgt.logconfig, (yyvsp[0].Attr_val_fifo)); } 2932*e27abb66SXin LI #line 2933 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 2933276da39aSCy Schubert break; 2934276da39aSCy Schubert 293568ba7e87SXin LI case 231: 2936*e27abb66SXin LI #line 1207 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2937*e27abb66SXin LI { CONCAT_G_FIFOS(cfgt.phone, (yyvsp[0].String_fifo)); } 2938*e27abb66SXin LI #line 2939 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 293968ba7e87SXin LI break; 294068ba7e87SXin LI 294168ba7e87SXin LI case 232: 2942*e27abb66SXin LI #line 1209 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2943*e27abb66SXin LI { APPEND_G_FIFO(cfgt.setvar, (yyvsp[0].Set_var)); } 2944*e27abb66SXin LI #line 2945 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 294568ba7e87SXin LI break; 294668ba7e87SXin LI 294768ba7e87SXin LI case 233: 2948*e27abb66SXin LI #line 1211 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2949*e27abb66SXin LI { 2950*e27abb66SXin LI addr_opts_node *aon; 2951*e27abb66SXin LI 2952*e27abb66SXin LI aon = create_addr_opts_node((yyvsp[-1].Address_node), (yyvsp[0].Attr_val_fifo)); 2953*e27abb66SXin LI APPEND_G_FIFO(cfgt.trap, aon); 2954*e27abb66SXin LI } 2955*e27abb66SXin LI #line 2956 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 295668ba7e87SXin LI break; 295768ba7e87SXin LI 2958*e27abb66SXin LI case 234: 2959*e27abb66SXin LI #line 1218 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2960*e27abb66SXin LI { CONCAT_G_FIFOS(cfgt.ttl, (yyvsp[0].Attr_val_fifo)); } 2961*e27abb66SXin LI #line 2962 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 2962*e27abb66SXin LI break; 2963*e27abb66SXin LI 2964*e27abb66SXin LI case 239: 2965*e27abb66SXin LI #line 1233 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2966276da39aSCy Schubert { 2967276da39aSCy Schubert #ifndef LEAP_SMEAR 2968276da39aSCy Schubert yyerror("Built without LEAP_SMEAR support."); 2969276da39aSCy Schubert #endif 2970276da39aSCy Schubert } 2971*e27abb66SXin LI #line 2972 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 29722b15cb3dSCy Schubert break; 29732b15cb3dSCy Schubert 297468ba7e87SXin LI case 245: 2975*e27abb66SXin LI #line 1253 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 29762b15cb3dSCy Schubert { 29779034852cSGleb Smirnoff if (lex_from_file()) { 29782b15cb3dSCy Schubert attr_val *av; 2979*e27abb66SXin LI av = create_attr_sval(T_Driftfile, (yyvsp[0].String)); 29802b15cb3dSCy Schubert APPEND_G_FIFO(cfgt.vars, av); 29819034852cSGleb Smirnoff } else { 2982*e27abb66SXin LI YYFREE((yyvsp[0].String)); 29839034852cSGleb Smirnoff yyerror("driftfile remote configuration ignored"); 29842b15cb3dSCy Schubert } 29859034852cSGleb Smirnoff } 2986*e27abb66SXin LI #line 2987 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 29872b15cb3dSCy Schubert break; 29882b15cb3dSCy Schubert 298968ba7e87SXin LI case 246: 2990*e27abb66SXin LI #line 1264 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 2991*e27abb66SXin LI { 2992*e27abb66SXin LI if (lex_from_file()) { 2993*e27abb66SXin LI attr_val *av; 2994*e27abb66SXin LI av = create_attr_sval(T_Driftfile, (yyvsp[-1].String)); 2995*e27abb66SXin LI APPEND_G_FIFO(cfgt.vars, av); 2996*e27abb66SXin LI av = create_attr_dval(T_WanderThreshold, (yyvsp[0].Double)); 2997*e27abb66SXin LI APPEND_G_FIFO(cfgt.vars, av); 2998*e27abb66SXin LI } else { 2999*e27abb66SXin LI YYFREE((yyvsp[-1].String)); 3000*e27abb66SXin LI yyerror("driftfile remote configuration ignored"); 3001*e27abb66SXin LI } 3002*e27abb66SXin LI } 3003*e27abb66SXin LI #line 3004 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 3004*e27abb66SXin LI break; 3005*e27abb66SXin LI 3006*e27abb66SXin LI case 247: 3007*e27abb66SXin LI #line 1277 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 30082b15cb3dSCy Schubert { 30099034852cSGleb Smirnoff if (lex_from_file()) { 30102b15cb3dSCy Schubert attr_val *av; 30119034852cSGleb Smirnoff av = create_attr_sval(T_Driftfile, estrdup("")); 30122b15cb3dSCy Schubert APPEND_G_FIFO(cfgt.vars, av); 30139034852cSGleb Smirnoff } else { 30149034852cSGleb Smirnoff yyerror("driftfile remote configuration ignored"); 30152b15cb3dSCy Schubert } 30169034852cSGleb Smirnoff } 3017*e27abb66SXin LI #line 3018 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 3018a25439b6SCy Schubert break; 3019a25439b6SCy Schubert 3020*e27abb66SXin LI case 248: 3021*e27abb66SXin LI #line 1290 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 3022*e27abb66SXin LI { (yyval.Set_var) = create_setvar_node((yyvsp[-3].String), (yyvsp[-1].String), (yyvsp[0].Integer)); } 3023*e27abb66SXin LI #line 3024 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 30242b15cb3dSCy Schubert break; 30252b15cb3dSCy Schubert 3026a25439b6SCy Schubert case 250: 3027*e27abb66SXin LI #line 1296 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 3028*e27abb66SXin LI { (yyval.Integer) = 0; } 3029*e27abb66SXin LI #line 3030 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 3030276da39aSCy Schubert break; 3031276da39aSCy Schubert 3032276da39aSCy Schubert case 251: 3033*e27abb66SXin LI #line 1301 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 3034*e27abb66SXin LI { (yyval.Attr_val_fifo) = NULL; } 3035*e27abb66SXin LI #line 3036 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 3036276da39aSCy Schubert break; 3037276da39aSCy Schubert 3038276da39aSCy Schubert case 252: 3039*e27abb66SXin LI #line 1303 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 3040*e27abb66SXin LI { 3041*e27abb66SXin LI (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); 3042*e27abb66SXin LI APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); 3043*e27abb66SXin LI } 3044*e27abb66SXin LI #line 3045 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 3045276da39aSCy Schubert break; 3046276da39aSCy Schubert 3047276da39aSCy Schubert case 253: 3048*e27abb66SXin LI #line 1311 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 3049*e27abb66SXin LI { (yyval.Attr_val) = create_attr_ival((yyvsp[-1].Integer), (yyvsp[0].Integer)); } 3050*e27abb66SXin LI #line 3051 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 305168ba7e87SXin LI break; 305268ba7e87SXin LI 305368ba7e87SXin LI case 254: 3054*e27abb66SXin LI #line 1313 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 305568ba7e87SXin LI { 3056*e27abb66SXin LI (yyval.Attr_val) = create_attr_sval((yyvsp[-1].Integer), estrdup((yyvsp[0].Address_node)->address)); 3057*e27abb66SXin LI destroy_address_node((yyvsp[0].Address_node)); 305868ba7e87SXin LI } 3059*e27abb66SXin LI #line 3060 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 306068ba7e87SXin LI break; 306168ba7e87SXin LI 306268ba7e87SXin LI case 255: 3063*e27abb66SXin LI #line 1321 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 306468ba7e87SXin LI { 3065*e27abb66SXin LI (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); 3066*e27abb66SXin LI APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); 306768ba7e87SXin LI } 3068*e27abb66SXin LI #line 3069 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 306968ba7e87SXin LI break; 307068ba7e87SXin LI 307168ba7e87SXin LI case 256: 3072*e27abb66SXin LI #line 1326 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 3073*e27abb66SXin LI { 3074*e27abb66SXin LI (yyval.Attr_val_fifo) = NULL; 3075*e27abb66SXin LI APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); 3076*e27abb66SXin LI } 3077*e27abb66SXin LI #line 3078 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 3078*e27abb66SXin LI break; 3079*e27abb66SXin LI 3080*e27abb66SXin LI case 257: 3081*e27abb66SXin LI #line 1334 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 30822b15cb3dSCy Schubert { 30832b15cb3dSCy Schubert char prefix; 30842b15cb3dSCy Schubert char * type; 30852b15cb3dSCy Schubert 3086*e27abb66SXin LI switch ((yyvsp[0].String)[0]) { 30872b15cb3dSCy Schubert 30882b15cb3dSCy Schubert case '+': 30892b15cb3dSCy Schubert case '-': 30902b15cb3dSCy Schubert case '=': 3091*e27abb66SXin LI prefix = (yyvsp[0].String)[0]; 3092*e27abb66SXin LI type = (yyvsp[0].String) + 1; 30932b15cb3dSCy Schubert break; 30942b15cb3dSCy Schubert 30952b15cb3dSCy Schubert default: 30962b15cb3dSCy Schubert prefix = '='; 3097*e27abb66SXin LI type = (yyvsp[0].String); 30982b15cb3dSCy Schubert } 30992b15cb3dSCy Schubert 31002b15cb3dSCy Schubert (yyval.Attr_val) = create_attr_sval(prefix, estrdup(type)); 3101*e27abb66SXin LI YYFREE((yyvsp[0].String)); 31022b15cb3dSCy Schubert } 3103*e27abb66SXin LI #line 3104 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 31042b15cb3dSCy Schubert break; 31052b15cb3dSCy Schubert 310668ba7e87SXin LI case 258: 3107*e27abb66SXin LI #line 1359 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 31082b15cb3dSCy Schubert { 31092b15cb3dSCy Schubert nic_rule_node *nrn; 31102b15cb3dSCy Schubert 3111*e27abb66SXin LI nrn = create_nic_rule_node((yyvsp[0].Integer), NULL, (yyvsp[-1].Integer)); 31122b15cb3dSCy Schubert APPEND_G_FIFO(cfgt.nic_rules, nrn); 31132b15cb3dSCy Schubert } 3114*e27abb66SXin LI #line 3115 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 31152b15cb3dSCy Schubert break; 31162b15cb3dSCy Schubert 3117*e27abb66SXin LI case 259: 3118*e27abb66SXin LI #line 1366 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 3119*e27abb66SXin LI { 3120*e27abb66SXin LI nic_rule_node *nrn; 3121*e27abb66SXin LI 3122*e27abb66SXin LI nrn = create_nic_rule_node(0, (yyvsp[0].String), (yyvsp[-1].Integer)); 3123*e27abb66SXin LI APPEND_G_FIFO(cfgt.nic_rules, nrn); 3124*e27abb66SXin LI } 3125*e27abb66SXin LI #line 3126 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 3126a25439b6SCy Schubert break; 3127a25439b6SCy Schubert 312868ba7e87SXin LI case 269: 3129*e27abb66SXin LI #line 1394 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 3130*e27abb66SXin LI { CONCAT_G_FIFOS(cfgt.reset_counters, (yyvsp[0].Int_fifo)); } 3131*e27abb66SXin LI #line 3132 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 31322b15cb3dSCy Schubert break; 31332b15cb3dSCy Schubert 313468ba7e87SXin LI case 270: 3135*e27abb66SXin LI #line 1399 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 31362b15cb3dSCy Schubert { 3137*e27abb66SXin LI (yyval.Int_fifo) = (yyvsp[-1].Int_fifo); 3138*e27abb66SXin LI APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer))); 31392b15cb3dSCy Schubert } 3140*e27abb66SXin LI #line 3141 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 31412b15cb3dSCy Schubert break; 31422b15cb3dSCy Schubert 3143*e27abb66SXin LI case 271: 3144*e27abb66SXin LI #line 1404 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 3145276da39aSCy Schubert { 3146*e27abb66SXin LI (yyval.Int_fifo) = NULL; 3147*e27abb66SXin LI APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[0].Integer))); 3148276da39aSCy Schubert } 3149*e27abb66SXin LI #line 3150 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 3150a25439b6SCy Schubert break; 3151a25439b6SCy Schubert 3152a25439b6SCy Schubert case 279: 3153*e27abb66SXin LI #line 1428 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 315468ba7e87SXin LI { 3155*e27abb66SXin LI (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); 3156*e27abb66SXin LI APPEND_G_FIFO((yyval.Attr_val_fifo), create_int_node((yyvsp[0].Integer))); 315768ba7e87SXin LI } 3158*e27abb66SXin LI #line 3159 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 315968ba7e87SXin LI break; 316068ba7e87SXin LI 316168ba7e87SXin LI case 280: 3162*e27abb66SXin LI #line 1433 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 316368ba7e87SXin LI { 3164*e27abb66SXin LI (yyval.Attr_val_fifo) = NULL; 3165*e27abb66SXin LI APPEND_G_FIFO((yyval.Attr_val_fifo), create_int_node((yyvsp[0].Integer))); 316668ba7e87SXin LI } 3167*e27abb66SXin LI #line 3168 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 31682b15cb3dSCy Schubert break; 31692b15cb3dSCy Schubert 3170a25439b6SCy Schubert case 281: 3171*e27abb66SXin LI #line 1441 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 317268ba7e87SXin LI { 3173*e27abb66SXin LI (yyval.Attr_val_fifo) = (yyvsp[-1].Attr_val_fifo); 3174*e27abb66SXin LI APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); 317568ba7e87SXin LI } 3176*e27abb66SXin LI #line 3177 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 31772b15cb3dSCy Schubert break; 31782b15cb3dSCy Schubert 3179a25439b6SCy Schubert case 282: 3180*e27abb66SXin LI #line 1446 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 3181*e27abb66SXin LI { 3182*e27abb66SXin LI (yyval.Attr_val_fifo) = NULL; 3183*e27abb66SXin LI APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[0].Attr_val)); 3184*e27abb66SXin LI } 3185*e27abb66SXin LI #line 3186 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 31862b15cb3dSCy Schubert break; 31872b15cb3dSCy Schubert 3188*e27abb66SXin LI case 283: 3189*e27abb66SXin LI #line 1454 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 3190*e27abb66SXin LI { (yyval.Attr_val) = create_attr_ival('i', (yyvsp[0].Integer)); } 3191*e27abb66SXin LI #line 3192 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 31922b15cb3dSCy Schubert break; 31932b15cb3dSCy Schubert 3194a25439b6SCy Schubert case 285: 3195*e27abb66SXin LI #line 1460 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 3196*e27abb66SXin LI { (yyval.Attr_val) = create_attr_rangeval('-', (yyvsp[-3].Integer), (yyvsp[-1].Integer)); } 3197*e27abb66SXin LI #line 3198 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 31982b15cb3dSCy Schubert break; 31992b15cb3dSCy Schubert 32002b15cb3dSCy Schubert case 286: 3201*e27abb66SXin LI #line 1465 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 3202276da39aSCy Schubert { 3203*e27abb66SXin LI (yyval.String_fifo) = (yyvsp[-1].String_fifo); 3204*e27abb66SXin LI APPEND_G_FIFO((yyval.String_fifo), create_string_node((yyvsp[0].String))); 3205276da39aSCy Schubert } 3206*e27abb66SXin LI #line 3207 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 3207276da39aSCy Schubert break; 3208276da39aSCy Schubert 3209276da39aSCy Schubert case 287: 3210*e27abb66SXin LI #line 1470 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 321168ba7e87SXin LI { 3212*e27abb66SXin LI (yyval.String_fifo) = NULL; 3213*e27abb66SXin LI APPEND_G_FIFO((yyval.String_fifo), create_string_node((yyvsp[0].String))); 321468ba7e87SXin LI } 3215*e27abb66SXin LI #line 3216 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 3216a25439b6SCy Schubert break; 3217a25439b6SCy Schubert 3218a25439b6SCy Schubert case 288: 3219*e27abb66SXin LI #line 1478 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 322068ba7e87SXin LI { 3221*e27abb66SXin LI (yyval.Address_fifo) = (yyvsp[-1].Address_fifo); 3222*e27abb66SXin LI APPEND_G_FIFO((yyval.Address_fifo), (yyvsp[0].Address_node)); 322368ba7e87SXin LI } 3224*e27abb66SXin LI #line 3225 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 3225276da39aSCy Schubert break; 3226276da39aSCy Schubert 3227276da39aSCy Schubert case 289: 3228*e27abb66SXin LI #line 1483 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 322968ba7e87SXin LI { 3230*e27abb66SXin LI (yyval.Address_fifo) = NULL; 3231*e27abb66SXin LI APPEND_G_FIFO((yyval.Address_fifo), (yyvsp[0].Address_node)); 323268ba7e87SXin LI } 3233*e27abb66SXin LI #line 3234 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 323468ba7e87SXin LI break; 323568ba7e87SXin LI 323668ba7e87SXin LI case 290: 3237*e27abb66SXin LI #line 1491 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 3238*e27abb66SXin LI { 3239*e27abb66SXin LI if ((yyvsp[0].Integer) != 0 && (yyvsp[0].Integer) != 1) { 3240*e27abb66SXin LI yyerror("Integer value is not boolean (0 or 1). Assuming 1"); 3241*e27abb66SXin LI (yyval.Integer) = 1; 3242*e27abb66SXin LI } else { 3243*e27abb66SXin LI (yyval.Integer) = (yyvsp[0].Integer); 3244*e27abb66SXin LI } 3245*e27abb66SXin LI } 3246*e27abb66SXin LI #line 3247 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 3247276da39aSCy Schubert break; 3248276da39aSCy Schubert 3249276da39aSCy Schubert case 291: 3250*e27abb66SXin LI #line 1499 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 3251*e27abb66SXin LI { (yyval.Integer) = 1; } 3252*e27abb66SXin LI #line 3253 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 325368ba7e87SXin LI break; 325468ba7e87SXin LI 325568ba7e87SXin LI case 292: 3256*e27abb66SXin LI #line 1500 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 3257*e27abb66SXin LI { (yyval.Integer) = 0; } 3258*e27abb66SXin LI #line 3259 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 325968ba7e87SXin LI break; 326068ba7e87SXin LI 3261*e27abb66SXin LI case 293: 3262*e27abb66SXin LI #line 1504 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 3263*e27abb66SXin LI { (yyval.Double) = (double)(yyvsp[0].Integer); } 3264*e27abb66SXin LI #line 3265 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 3265*e27abb66SXin LI break; 3266*e27abb66SXin LI 3267*e27abb66SXin LI case 295: 3268*e27abb66SXin LI #line 1515 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 32692b15cb3dSCy Schubert { 32702b15cb3dSCy Schubert sim_node *sn; 32712b15cb3dSCy Schubert 3272*e27abb66SXin LI sn = create_sim_node((yyvsp[-2].Attr_val_fifo), (yyvsp[-1].Sim_server_fifo)); 32732b15cb3dSCy Schubert APPEND_G_FIFO(cfgt.sim_details, sn); 32742b15cb3dSCy Schubert 32752b15cb3dSCy Schubert /* Revert from ; to \n for end-of-command */ 32762b15cb3dSCy Schubert old_config_style = 1; 32772b15cb3dSCy Schubert } 3278*e27abb66SXin LI #line 3279 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 327968ba7e87SXin LI break; 328068ba7e87SXin LI 328168ba7e87SXin LI case 296: 3282*e27abb66SXin LI #line 1532 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 3283*e27abb66SXin LI { old_config_style = 0; } 3284*e27abb66SXin LI #line 3285 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 328568ba7e87SXin LI break; 328668ba7e87SXin LI 328768ba7e87SXin LI case 297: 3288*e27abb66SXin LI #line 1537 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 328968ba7e87SXin LI { 3290*e27abb66SXin LI (yyval.Attr_val_fifo) = (yyvsp[-2].Attr_val_fifo); 3291*e27abb66SXin LI APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val)); 329268ba7e87SXin LI } 3293*e27abb66SXin LI #line 3294 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 32942b15cb3dSCy Schubert break; 32952b15cb3dSCy Schubert 3296a25439b6SCy Schubert case 298: 3297*e27abb66SXin LI #line 1542 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 3298*e27abb66SXin LI { 3299*e27abb66SXin LI (yyval.Attr_val_fifo) = NULL; 3300*e27abb66SXin LI APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val)); 3301*e27abb66SXin LI } 3302*e27abb66SXin LI #line 3303 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 33032b15cb3dSCy Schubert break; 33042b15cb3dSCy Schubert 3305*e27abb66SXin LI case 299: 3306*e27abb66SXin LI #line 1550 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 3307*e27abb66SXin LI { (yyval.Attr_val) = create_attr_dval((yyvsp[-2].Integer), (yyvsp[0].Double)); } 3308*e27abb66SXin LI #line 3309 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 33092b15cb3dSCy Schubert break; 33102b15cb3dSCy Schubert 3311a25439b6SCy Schubert case 302: 3312*e27abb66SXin LI #line 1560 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 331368ba7e87SXin LI { 3314*e27abb66SXin LI (yyval.Sim_server_fifo) = (yyvsp[-1].Sim_server_fifo); 3315*e27abb66SXin LI APPEND_G_FIFO((yyval.Sim_server_fifo), (yyvsp[0].Sim_server)); 331668ba7e87SXin LI } 3317*e27abb66SXin LI #line 3318 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 3318a25439b6SCy Schubert break; 3319a25439b6SCy Schubert 3320a25439b6SCy Schubert case 303: 3321*e27abb66SXin LI #line 1565 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 3322*e27abb66SXin LI { 3323*e27abb66SXin LI (yyval.Sim_server_fifo) = NULL; 3324*e27abb66SXin LI APPEND_G_FIFO((yyval.Sim_server_fifo), (yyvsp[0].Sim_server)); 3325*e27abb66SXin LI } 3326*e27abb66SXin LI #line 3327 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 33272b15cb3dSCy Schubert break; 33282b15cb3dSCy Schubert 3329a25439b6SCy Schubert case 304: 3330*e27abb66SXin LI #line 1573 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 3331*e27abb66SXin LI { (yyval.Sim_server) = ONLY_SIM(create_sim_server((yyvsp[-4].Address_node), (yyvsp[-2].Double), (yyvsp[-1].Sim_script_fifo))); } 3332*e27abb66SXin LI #line 3333 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 33332b15cb3dSCy Schubert break; 33342b15cb3dSCy Schubert 3335a25439b6SCy Schubert case 305: 3336*e27abb66SXin LI #line 1578 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 3337*e27abb66SXin LI { (yyval.Double) = (yyvsp[-1].Double); } 3338*e27abb66SXin LI #line 3339 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 3339276da39aSCy Schubert break; 3340276da39aSCy Schubert 3341276da39aSCy Schubert case 306: 3342*e27abb66SXin LI #line 1583 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 3343*e27abb66SXin LI { (yyval.Address_node) = (yyvsp[0].Address_node); } 3344*e27abb66SXin LI #line 3345 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 3345276da39aSCy Schubert break; 3346276da39aSCy Schubert 3347276da39aSCy Schubert case 307: 3348*e27abb66SXin LI #line 1588 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 3349276da39aSCy Schubert { 3350*e27abb66SXin LI (yyval.Sim_script_fifo) = (yyvsp[-1].Sim_script_fifo); 3351*e27abb66SXin LI APPEND_G_FIFO((yyval.Sim_script_fifo), (yyvsp[0].Sim_script)); 3352276da39aSCy Schubert } 3353*e27abb66SXin LI #line 3354 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 3354276da39aSCy Schubert break; 3355276da39aSCy Schubert 3356276da39aSCy Schubert case 308: 3357*e27abb66SXin LI #line 1593 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 3358*e27abb66SXin LI { 3359*e27abb66SXin LI (yyval.Sim_script_fifo) = NULL; 3360*e27abb66SXin LI APPEND_G_FIFO((yyval.Sim_script_fifo), (yyvsp[0].Sim_script)); 3361*e27abb66SXin LI } 3362*e27abb66SXin LI #line 3363 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 336368ba7e87SXin LI break; 336468ba7e87SXin LI 336568ba7e87SXin LI case 309: 3366*e27abb66SXin LI #line 1601 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 3367*e27abb66SXin LI { (yyval.Sim_script) = ONLY_SIM(create_sim_script_info((yyvsp[-3].Double), (yyvsp[-1].Attr_val_fifo))); } 3368*e27abb66SXin LI #line 3369 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 336968ba7e87SXin LI break; 337068ba7e87SXin LI 337168ba7e87SXin LI case 310: 3372*e27abb66SXin LI #line 1606 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 337368ba7e87SXin LI { 3374*e27abb66SXin LI (yyval.Attr_val_fifo) = (yyvsp[-2].Attr_val_fifo); 3375*e27abb66SXin LI APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val)); 337668ba7e87SXin LI } 3377*e27abb66SXin LI #line 3378 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 337868ba7e87SXin LI break; 337968ba7e87SXin LI 338068ba7e87SXin LI case 311: 3381*e27abb66SXin LI #line 1611 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 3382*e27abb66SXin LI { 3383*e27abb66SXin LI (yyval.Attr_val_fifo) = NULL; 3384*e27abb66SXin LI APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[-1].Attr_val)); 3385*e27abb66SXin LI } 3386*e27abb66SXin LI #line 3387 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 3387*e27abb66SXin LI break; 3388*e27abb66SXin LI 3389*e27abb66SXin LI case 312: 3390*e27abb66SXin LI #line 1619 "../../ntpd/ntp_parser.y" /* yacc.c:1646 */ 3391*e27abb66SXin LI { (yyval.Attr_val) = create_attr_dval((yyvsp[-2].Integer), (yyvsp[0].Double)); } 3392*e27abb66SXin LI #line 3393 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 3393a25439b6SCy Schubert break; 33942b15cb3dSCy Schubert 3395a25439b6SCy Schubert 3396*e27abb66SXin LI #line 3397 "../../ntpd/ntp_parser.c" /* yacc.c:1646 */ 33972b15cb3dSCy Schubert default: break; 33982b15cb3dSCy Schubert } 33992b15cb3dSCy Schubert /* User semantic actions sometimes alter yychar, and that requires 34002b15cb3dSCy Schubert that yytoken be updated with the new translation. We take the 34012b15cb3dSCy Schubert approach of translating immediately before every use of yytoken. 34022b15cb3dSCy Schubert One alternative is translating here after every semantic action, 34032b15cb3dSCy Schubert but that translation would be missed if the semantic action invokes 34042b15cb3dSCy Schubert YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or 34052b15cb3dSCy Schubert if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an 34062b15cb3dSCy Schubert incorrect destructor might then be invoked immediately. In the 34072b15cb3dSCy Schubert case of YYERROR or YYBACKUP, subsequent parser actions might lead 34082b15cb3dSCy Schubert to an incorrect destructor call or verbose syntax error message 34092b15cb3dSCy Schubert before the lookahead is translated. */ 34102b15cb3dSCy Schubert YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); 34112b15cb3dSCy Schubert 34122b15cb3dSCy Schubert YYPOPSTACK (yylen); 34132b15cb3dSCy Schubert yylen = 0; 34142b15cb3dSCy Schubert YY_STACK_PRINT (yyss, yyssp); 34152b15cb3dSCy Schubert 34162b15cb3dSCy Schubert *++yyvsp = yyval; 34172b15cb3dSCy Schubert 3418*e27abb66SXin LI /* Now 'shift' the result of the reduction. Determine what state 34192b15cb3dSCy Schubert that goes to, based on the state we popped back to and the rule 34202b15cb3dSCy Schubert number reduced by. */ 34212b15cb3dSCy Schubert 34222b15cb3dSCy Schubert yyn = yyr1[yyn]; 34232b15cb3dSCy Schubert 34242b15cb3dSCy Schubert yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; 34252b15cb3dSCy Schubert if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) 34262b15cb3dSCy Schubert yystate = yytable[yystate]; 34272b15cb3dSCy Schubert else 34282b15cb3dSCy Schubert yystate = yydefgoto[yyn - YYNTOKENS]; 34292b15cb3dSCy Schubert 34302b15cb3dSCy Schubert goto yynewstate; 34312b15cb3dSCy Schubert 34322b15cb3dSCy Schubert 3433*e27abb66SXin LI /*--------------------------------------. 3434*e27abb66SXin LI | yyerrlab -- here on detecting error. | 3435*e27abb66SXin LI `--------------------------------------*/ 34362b15cb3dSCy Schubert yyerrlab: 34372b15cb3dSCy Schubert /* Make sure we have latest lookahead translation. See comments at 34382b15cb3dSCy Schubert user semantic actions for why this is necessary. */ 34392b15cb3dSCy Schubert yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar); 34402b15cb3dSCy Schubert 34412b15cb3dSCy Schubert /* If not already recovering from an error, report this error. */ 34422b15cb3dSCy Schubert if (!yyerrstatus) 34432b15cb3dSCy Schubert { 34442b15cb3dSCy Schubert ++yynerrs; 34452b15cb3dSCy Schubert #if ! YYERROR_VERBOSE 3446276da39aSCy Schubert yyerror (YY_("syntax error")); 34472b15cb3dSCy Schubert #else 34482b15cb3dSCy Schubert # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \ 34492b15cb3dSCy Schubert yyssp, yytoken) 34502b15cb3dSCy Schubert { 34512b15cb3dSCy Schubert char const *yymsgp = YY_("syntax error"); 34522b15cb3dSCy Schubert int yysyntax_error_status; 34532b15cb3dSCy Schubert yysyntax_error_status = YYSYNTAX_ERROR; 34542b15cb3dSCy Schubert if (yysyntax_error_status == 0) 34552b15cb3dSCy Schubert yymsgp = yymsg; 34562b15cb3dSCy Schubert else if (yysyntax_error_status == 1) 34572b15cb3dSCy Schubert { 34582b15cb3dSCy Schubert if (yymsg != yymsgbuf) 34592b15cb3dSCy Schubert YYSTACK_FREE (yymsg); 34602b15cb3dSCy Schubert yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc); 34612b15cb3dSCy Schubert if (!yymsg) 34622b15cb3dSCy Schubert { 34632b15cb3dSCy Schubert yymsg = yymsgbuf; 34642b15cb3dSCy Schubert yymsg_alloc = sizeof yymsgbuf; 34652b15cb3dSCy Schubert yysyntax_error_status = 2; 34662b15cb3dSCy Schubert } 34672b15cb3dSCy Schubert else 34682b15cb3dSCy Schubert { 34692b15cb3dSCy Schubert yysyntax_error_status = YYSYNTAX_ERROR; 34702b15cb3dSCy Schubert yymsgp = yymsg; 34712b15cb3dSCy Schubert } 34722b15cb3dSCy Schubert } 3473276da39aSCy Schubert yyerror (yymsgp); 34742b15cb3dSCy Schubert if (yysyntax_error_status == 2) 34752b15cb3dSCy Schubert goto yyexhaustedlab; 34762b15cb3dSCy Schubert } 34772b15cb3dSCy Schubert # undef YYSYNTAX_ERROR 34782b15cb3dSCy Schubert #endif 34792b15cb3dSCy Schubert } 34802b15cb3dSCy Schubert 34812b15cb3dSCy Schubert 34822b15cb3dSCy Schubert 34832b15cb3dSCy Schubert if (yyerrstatus == 3) 34842b15cb3dSCy Schubert { 34852b15cb3dSCy Schubert /* If just tried and failed to reuse lookahead token after an 34862b15cb3dSCy Schubert error, discard it. */ 34872b15cb3dSCy Schubert 34882b15cb3dSCy Schubert if (yychar <= YYEOF) 34892b15cb3dSCy Schubert { 34902b15cb3dSCy Schubert /* Return failure if at end of input. */ 34912b15cb3dSCy Schubert if (yychar == YYEOF) 34922b15cb3dSCy Schubert YYABORT; 34932b15cb3dSCy Schubert } 34942b15cb3dSCy Schubert else 34952b15cb3dSCy Schubert { 34962b15cb3dSCy Schubert yydestruct ("Error: discarding", 3497276da39aSCy Schubert yytoken, &yylval); 34982b15cb3dSCy Schubert yychar = YYEMPTY; 34992b15cb3dSCy Schubert } 35002b15cb3dSCy Schubert } 35012b15cb3dSCy Schubert 35022b15cb3dSCy Schubert /* Else will try to reuse lookahead token after shifting the error 35032b15cb3dSCy Schubert token. */ 35042b15cb3dSCy Schubert goto yyerrlab1; 35052b15cb3dSCy Schubert 35062b15cb3dSCy Schubert 35072b15cb3dSCy Schubert /*---------------------------------------------------. 35082b15cb3dSCy Schubert | yyerrorlab -- error raised explicitly by YYERROR. | 35092b15cb3dSCy Schubert `---------------------------------------------------*/ 35102b15cb3dSCy Schubert yyerrorlab: 35112b15cb3dSCy Schubert 35122b15cb3dSCy Schubert /* Pacify compilers like GCC when the user code never invokes 35132b15cb3dSCy Schubert YYERROR and the label yyerrorlab therefore never appears in user 35142b15cb3dSCy Schubert code. */ 35152b15cb3dSCy Schubert if (/*CONSTCOND*/ 0) 35162b15cb3dSCy Schubert goto yyerrorlab; 35172b15cb3dSCy Schubert 3518*e27abb66SXin LI /* Do not reclaim the symbols of the rule whose action triggered 35192b15cb3dSCy Schubert this YYERROR. */ 35202b15cb3dSCy Schubert YYPOPSTACK (yylen); 35212b15cb3dSCy Schubert yylen = 0; 35222b15cb3dSCy Schubert YY_STACK_PRINT (yyss, yyssp); 35232b15cb3dSCy Schubert yystate = *yyssp; 35242b15cb3dSCy Schubert goto yyerrlab1; 35252b15cb3dSCy Schubert 35262b15cb3dSCy Schubert 35272b15cb3dSCy Schubert /*-------------------------------------------------------------. 35282b15cb3dSCy Schubert | yyerrlab1 -- common code for both syntax error and YYERROR. | 35292b15cb3dSCy Schubert `-------------------------------------------------------------*/ 35302b15cb3dSCy Schubert yyerrlab1: 35312b15cb3dSCy Schubert yyerrstatus = 3; /* Each real token shifted decrements this. */ 35322b15cb3dSCy Schubert 35332b15cb3dSCy Schubert for (;;) 35342b15cb3dSCy Schubert { 35352b15cb3dSCy Schubert yyn = yypact[yystate]; 35362b15cb3dSCy Schubert if (!yypact_value_is_default (yyn)) 35372b15cb3dSCy Schubert { 35382b15cb3dSCy Schubert yyn += YYTERROR; 35392b15cb3dSCy Schubert if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) 35402b15cb3dSCy Schubert { 35412b15cb3dSCy Schubert yyn = yytable[yyn]; 35422b15cb3dSCy Schubert if (0 < yyn) 35432b15cb3dSCy Schubert break; 35442b15cb3dSCy Schubert } 35452b15cb3dSCy Schubert } 35462b15cb3dSCy Schubert 35472b15cb3dSCy Schubert /* Pop the current state because it cannot handle the error token. */ 35482b15cb3dSCy Schubert if (yyssp == yyss) 35492b15cb3dSCy Schubert YYABORT; 35502b15cb3dSCy Schubert 35512b15cb3dSCy Schubert 35522b15cb3dSCy Schubert yydestruct ("Error: popping", 3553276da39aSCy Schubert yystos[yystate], yyvsp); 35542b15cb3dSCy Schubert YYPOPSTACK (1); 35552b15cb3dSCy Schubert yystate = *yyssp; 35562b15cb3dSCy Schubert YY_STACK_PRINT (yyss, yyssp); 35572b15cb3dSCy Schubert } 35582b15cb3dSCy Schubert 35592b15cb3dSCy Schubert YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 35602b15cb3dSCy Schubert *++yyvsp = yylval; 35612b15cb3dSCy Schubert YY_IGNORE_MAYBE_UNINITIALIZED_END 35622b15cb3dSCy Schubert 35632b15cb3dSCy Schubert 35642b15cb3dSCy Schubert /* Shift the error token. */ 35652b15cb3dSCy Schubert YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); 35662b15cb3dSCy Schubert 35672b15cb3dSCy Schubert yystate = yyn; 35682b15cb3dSCy Schubert goto yynewstate; 35692b15cb3dSCy Schubert 35702b15cb3dSCy Schubert 35712b15cb3dSCy Schubert /*-------------------------------------. 35722b15cb3dSCy Schubert | yyacceptlab -- YYACCEPT comes here. | 35732b15cb3dSCy Schubert `-------------------------------------*/ 35742b15cb3dSCy Schubert yyacceptlab: 35752b15cb3dSCy Schubert yyresult = 0; 35762b15cb3dSCy Schubert goto yyreturn; 35772b15cb3dSCy Schubert 35782b15cb3dSCy Schubert /*-----------------------------------. 35792b15cb3dSCy Schubert | yyabortlab -- YYABORT comes here. | 35802b15cb3dSCy Schubert `-----------------------------------*/ 35812b15cb3dSCy Schubert yyabortlab: 35822b15cb3dSCy Schubert yyresult = 1; 35832b15cb3dSCy Schubert goto yyreturn; 35842b15cb3dSCy Schubert 35852b15cb3dSCy Schubert #if !defined yyoverflow || YYERROR_VERBOSE 35862b15cb3dSCy Schubert /*-------------------------------------------------. 35872b15cb3dSCy Schubert | yyexhaustedlab -- memory exhaustion comes here. | 35882b15cb3dSCy Schubert `-------------------------------------------------*/ 35892b15cb3dSCy Schubert yyexhaustedlab: 3590276da39aSCy Schubert yyerror (YY_("memory exhausted")); 35912b15cb3dSCy Schubert yyresult = 2; 35922b15cb3dSCy Schubert /* Fall through. */ 35932b15cb3dSCy Schubert #endif 35942b15cb3dSCy Schubert 35952b15cb3dSCy Schubert yyreturn: 35962b15cb3dSCy Schubert if (yychar != YYEMPTY) 35972b15cb3dSCy Schubert { 35982b15cb3dSCy Schubert /* Make sure we have latest lookahead translation. See comments at 35992b15cb3dSCy Schubert user semantic actions for why this is necessary. */ 36002b15cb3dSCy Schubert yytoken = YYTRANSLATE (yychar); 36012b15cb3dSCy Schubert yydestruct ("Cleanup: discarding lookahead", 3602276da39aSCy Schubert yytoken, &yylval); 36032b15cb3dSCy Schubert } 3604*e27abb66SXin LI /* Do not reclaim the symbols of the rule whose action triggered 36052b15cb3dSCy Schubert this YYABORT or YYACCEPT. */ 36062b15cb3dSCy Schubert YYPOPSTACK (yylen); 36072b15cb3dSCy Schubert YY_STACK_PRINT (yyss, yyssp); 36082b15cb3dSCy Schubert while (yyssp != yyss) 36092b15cb3dSCy Schubert { 36102b15cb3dSCy Schubert yydestruct ("Cleanup: popping", 3611276da39aSCy Schubert yystos[*yyssp], yyvsp); 36122b15cb3dSCy Schubert YYPOPSTACK (1); 36132b15cb3dSCy Schubert } 36142b15cb3dSCy Schubert #ifndef yyoverflow 36152b15cb3dSCy Schubert if (yyss != yyssa) 36162b15cb3dSCy Schubert YYSTACK_FREE (yyss); 36172b15cb3dSCy Schubert #endif 36182b15cb3dSCy Schubert #if YYERROR_VERBOSE 36192b15cb3dSCy Schubert if (yymsg != yymsgbuf) 36202b15cb3dSCy Schubert YYSTACK_FREE (yymsg); 36212b15cb3dSCy Schubert #endif 3622*e27abb66SXin LI return yyresult; 36232b15cb3dSCy Schubert } 3624*e27abb66SXin LI #line 1630 "../../ntpd/ntp_parser.y" /* yacc.c:1906 */ 36252b15cb3dSCy Schubert 36262b15cb3dSCy Schubert 36272b15cb3dSCy Schubert void 36282b15cb3dSCy Schubert yyerror( 36292b15cb3dSCy Schubert const char *msg 36302b15cb3dSCy Schubert ) 36312b15cb3dSCy Schubert { 36322b15cb3dSCy Schubert int retval; 3633276da39aSCy Schubert struct FILE_INFO * ip_ctx; 36342b15cb3dSCy Schubert 3635276da39aSCy Schubert ip_ctx = lex_current(); 3636276da39aSCy Schubert ip_ctx->errpos = ip_ctx->tokpos; 36372b15cb3dSCy Schubert 3638276da39aSCy Schubert msyslog(LOG_ERR, "line %d column %d %s", 3639276da39aSCy Schubert ip_ctx->errpos.nline, ip_ctx->errpos.ncol, msg); 3640276da39aSCy Schubert if (!lex_from_file()) { 36412b15cb3dSCy Schubert /* Save the error message in the correct buffer */ 36422b15cb3dSCy Schubert retval = snprintf(remote_config.err_msg + remote_config.err_pos, 36432b15cb3dSCy Schubert MAXLINE - remote_config.err_pos, 36442b15cb3dSCy Schubert "column %d %s", 3645276da39aSCy Schubert ip_ctx->errpos.ncol, msg); 36462b15cb3dSCy Schubert 36472b15cb3dSCy Schubert /* Increment the value of err_pos */ 36482b15cb3dSCy Schubert if (retval > 0) 36492b15cb3dSCy Schubert remote_config.err_pos += retval; 36502b15cb3dSCy Schubert 36512b15cb3dSCy Schubert /* Increment the number of errors */ 36522b15cb3dSCy Schubert ++remote_config.no_errors; 36532b15cb3dSCy Schubert } 36542b15cb3dSCy Schubert } 36552b15cb3dSCy Schubert 36562b15cb3dSCy Schubert 36572b15cb3dSCy Schubert /* 36582b15cb3dSCy Schubert * token_name - convert T_ token integers to text 36592b15cb3dSCy Schubert * example: token_name(T_Server) returns "T_Server" 36602b15cb3dSCy Schubert */ 36612b15cb3dSCy Schubert const char * 36622b15cb3dSCy Schubert token_name( 36632b15cb3dSCy Schubert int token 36642b15cb3dSCy Schubert ) 36652b15cb3dSCy Schubert { 36662b15cb3dSCy Schubert return yytname[YYTRANSLATE(token)]; 36672b15cb3dSCy Schubert } 36682b15cb3dSCy Schubert 36692b15cb3dSCy Schubert 36702b15cb3dSCy Schubert /* Initial Testing function -- ignore */ 36712b15cb3dSCy Schubert #if 0 36722b15cb3dSCy Schubert int main(int argc, char *argv[]) 36732b15cb3dSCy Schubert { 36742b15cb3dSCy Schubert ip_file = FOPEN(argv[1], "r"); 36752b15cb3dSCy Schubert if (!ip_file) 36762b15cb3dSCy Schubert fprintf(stderr, "ERROR!! Could not open file: %s\n", argv[1]); 36772b15cb3dSCy Schubert yyparse(); 36782b15cb3dSCy Schubert return 0; 36792b15cb3dSCy Schubert } 36802b15cb3dSCy Schubert #endif 36812b15cb3dSCy Schubert 3682