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