1 /* A Bison parser, made by GNU Bison 2.7.12-4996. */
3 /* Bison implementation for Yacc-like parsers in C
5 Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
7 This program is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
20 /* As a special exception, you may create a larger work that contains
21 part or all of the Bison parser skeleton and distribute that work
22 under terms of your choice, so long as that work isn't itself a
23 parser generator using the skeleton or a modified version thereof
24 as a parser skeleton. Alternatively, if you modify or redistribute
25 the parser skeleton itself, you may (at your option) remove this
26 special exception, which will cause the skeleton and the resulting
27 Bison output files to be licensed under the GNU General Public
28 License without this special exception.
30 This special exception was added by the Free Software Foundation in
31 version 2.2 of Bison. */
33 /* C LALR(1) parser skeleton written by Richard Stallman, by
34 simplifying the original so-called "semantic" parser. */
36 /* All symbols defined below should begin with yy or YY, to avoid
37 infringing on user name space. This should be done even for local
38 variables, as they might otherwise be expanded by user macros.
39 There are some unavoidable exceptions within include files to
40 define necessary library symbols; they are noted "INFRINGES ON
41 USER NAME SPACE" below. */
43 /* Identify Bison output. */
47 #define YYBISON_VERSION "2.7.12-4996"
50 #define YYSKELETON_NAME "yacc.c"
64 /* Copy the first part of user declarations. */
65 /* Line 371 of yacc.c */
66 #line 11 "../../ntpd/ntp_parser.y"
74 #include "ntp_machine.h"
75 #include "ntp_stdlib.h"
76 #include "ntp_filegen.h"
77 #include "ntp_scanner.h"
78 #include "ntp_config.h"
79 #include "ntp_crypto.h"
81 #include "ntpsim.h" /* HMS: Do we really want this all the time? */
82 /* SK: It might be a good idea to always
83 include the simulator code. That way
84 someone can use the same configuration file
85 for both the simulator and the daemon
88 #define YYMALLOC emalloc
90 #define YYERROR_VERBOSE
91 #define YYMAXDEPTH 1000 /* stop the madness sooner */
92 void yyerror(const char *msg);
95 # define ONLY_SIM(a) (a)
97 # define ONLY_SIM(a) NULL
100 /* Line 371 of yacc.c */
101 #line 102 "ntp_parser.c"
104 # if defined __cplusplus && 201103L <= __cplusplus
105 # define YY_NULL nullptr
111 /* Enabling verbose error messages. */
112 #ifdef YYERROR_VERBOSE
113 # undef YYERROR_VERBOSE
114 # define YYERROR_VERBOSE 1
116 # define YYERROR_VERBOSE 0
119 /* In a future release of Bison, this section will be replaced
120 by #include "y.tab.h". */
121 #ifndef YY_YY_NTP_PARSER_H_INCLUDED
122 # define YY_YY_NTP_PARSER_H_INCLUDED
123 /* Enabling traces. */
134 /* Put the tokens into the symbol table, so that GDB and other debuggers
149 T_Broadcastclient = 270,
150 T_Broadcastdelay = 271,
210 T_Leapsmearinterval = 331,
218 T_Manycastclient = 339,
219 T_Manycastserver = 340,
241 T_Multicastclient = 362,
256 T_NtpSignDsocket = 377,
279 T_Saveconfigdir = 400,
314 T_WanderThreshold = 435,
323 T_Sim_Duration = 444,
324 T_Server_Offset = 445,
338 #define T_Allpeers 262
340 #define T_Autokey 264
341 #define T_Automax 265
342 #define T_Average 266
343 #define T_Bclient 267
345 #define T_Broadcast 269
346 #define T_Broadcastclient 270
347 #define T_Broadcastdelay 271
349 #define T_Calibrate 273
350 #define T_Ceiling 274
351 #define T_Clockstats 275
353 #define T_ControlKey 277
355 #define T_Cryptostats 279
358 #define T_Default 282
360 #define T_Disable 284
361 #define T_Discard 285
362 #define T_Dispersion 286
364 #define T_Driftfile 288
367 #define T_Ellipsis 291
372 #define T_Filegen 296
373 #define T_Filenum 297
383 #define T_Huffpuff 307
387 #define T_Incalloc 311
389 #define T_Initalloc 313
390 #define T_Initmem 314
391 #define T_Includefile 315
392 #define T_Integer 316
393 #define T_Interface 317
394 #define T_Intrange 318
397 #define T_Ipv4_flag 321
399 #define T_Ipv6_flag 323
403 #define T_Keysdir 327
406 #define T_Leapfile 330
407 #define T_Leapsmearinterval 331
408 #define T_Limited 332
411 #define T_Logconfig 335
412 #define T_Logfile 336
413 #define T_Loopstats 337
414 #define T_Lowpriotrap 338
415 #define T_Manycastclient 339
416 #define T_Manycastserver 340
419 #define T_Maxclock 343
420 #define T_Maxdepth 344
421 #define T_Maxdist 345
423 #define T_Maxpoll 347
424 #define T_Mdnstries 348
426 #define T_Memlock 350
427 #define T_Minclock 351
428 #define T_Mindepth 352
429 #define T_Mindist 353
430 #define T_Minimum 354
431 #define T_Minpoll 355
432 #define T_Minsane 356
435 #define T_Monitor 359
438 #define T_Multicastclient 362
441 #define T_Nomodify 365
442 #define T_Nomrulist 366
444 #define T_Nonvolatile 368
446 #define T_Noquery 370
447 #define T_Noselect 371
448 #define T_Noserve 372
450 #define T_Notrust 374
452 #define T_Ntpport 376
453 #define T_NtpSignDsocket 377
455 #define T_Orphanwait 379
458 #define T_Peerstats 382
461 #define T_Pidfile 385
464 #define T_Preempt 388
466 #define T_Protostats 390
468 #define T_Randfile 392
469 #define T_Rawstats 393
471 #define T_Requestkey 395
473 #define T_Restrict 397
476 #define T_Saveconfigdir 400
480 #define T_Stacksize 404
481 #define T_Statistics 405
483 #define T_Statsdir 407
485 #define T_Stepback 409
486 #define T_Stepfwd 410
487 #define T_Stepout 411
488 #define T_Stratum 412
491 #define T_Sysstats 415
496 #define T_Timingstats 420
501 #define T_Trustedkey 425
505 #define T_UEcrypto 429
506 #define T_UEcryptonak 430
507 #define T_UEdigest 431
508 #define T_Unconfig 432
510 #define T_Version 434
511 #define T_WanderThreshold 435
513 #define T_Wildcard 437
518 #define T_Simulate 442
519 #define T_Beep_Delay 443
520 #define T_Sim_Duration 444
521 #define T_Server_Offset 445
522 #define T_Duration 446
523 #define T_Freq_Offset 447
526 #define T_Prop_Delay 450
527 #define T_Proc_Delay 451
531 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
532 typedef union YYSTYPE
534 /* Line 387 of yacc.c */
535 #line 51 "../../ntpd/ntp_parser.y"
541 gen_fifo * Generic_fifo;
543 attr_val_fifo * Attr_val_fifo;
545 string_fifo * String_fifo;
546 address_node * Address_node;
547 address_fifo * Address_fifo;
548 setvar_node * Set_var;
549 server_info * Sim_server;
550 server_info_fifo * Sim_server_fifo;
551 script_info * Sim_script;
552 script_info_fifo * Sim_script_fifo;
555 /* Line 387 of yacc.c */
556 #line 557 "ntp_parser.c"
558 # define YYSTYPE_IS_TRIVIAL 1
559 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
560 # define YYSTYPE_IS_DECLARED 1
563 extern YYSTYPE yylval;
566 #if defined __STDC__ || defined __cplusplus
567 int yyparse (void *YYPARSE_PARAM);
571 #else /* ! YYPARSE_PARAM */
572 #if defined __STDC__ || defined __cplusplus
577 #endif /* ! YYPARSE_PARAM */
579 #endif /* !YY_YY_NTP_PARSER_H_INCLUDED */
581 /* Copy the second part of user declarations. */
583 /* Line 390 of yacc.c */
584 #line 585 "ntp_parser.c"
591 typedef YYTYPE_UINT8 yytype_uint8;
593 typedef unsigned char yytype_uint8;
597 typedef YYTYPE_INT8 yytype_int8;
598 #elif (defined __STDC__ || defined __C99__FUNC__ \
599 || defined __cplusplus || defined _MSC_VER)
600 typedef signed char yytype_int8;
602 typedef short int yytype_int8;
606 typedef YYTYPE_UINT16 yytype_uint16;
608 typedef unsigned short int yytype_uint16;
612 typedef YYTYPE_INT16 yytype_int16;
614 typedef short int yytype_int16;
618 # ifdef __SIZE_TYPE__
619 # define YYSIZE_T __SIZE_TYPE__
620 # elif defined size_t
621 # define YYSIZE_T size_t
622 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
623 || defined __cplusplus || defined _MSC_VER)
624 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
625 # define YYSIZE_T size_t
627 # define YYSIZE_T unsigned int
631 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
634 # if defined YYENABLE_NLS && YYENABLE_NLS
636 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
637 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
641 # define YY_(Msgid) Msgid
645 #ifndef __attribute__
646 /* This feature is available in gcc versions 2.5 and later. */
647 # if (! defined __GNUC__ || __GNUC__ < 2 \
648 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5))
649 # define __attribute__(Spec) /* empty */
653 /* Suppress unused-variable warnings by "using" E. */
654 #if ! defined lint || defined __GNUC__
655 # define YYUSE(E) ((void) (E))
657 # define YYUSE(E) /* empty */
661 /* Identity function, used to suppress warnings about constant conditions. */
665 #if (defined __STDC__ || defined __C99__FUNC__ \
666 || defined __cplusplus || defined _MSC_VER)
679 #if ! defined yyoverflow || YYERROR_VERBOSE
681 /* The parser invokes alloca or malloc; define the necessary symbols. */
683 # ifdef YYSTACK_USE_ALLOCA
684 # if YYSTACK_USE_ALLOCA
686 # define YYSTACK_ALLOC __builtin_alloca
687 # elif defined __BUILTIN_VA_ARG_INCR
688 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
690 # define YYSTACK_ALLOC __alloca
691 # elif defined _MSC_VER
692 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
693 # define alloca _alloca
695 # define YYSTACK_ALLOC alloca
696 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
697 || defined __cplusplus || defined _MSC_VER)
698 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
699 /* Use EXIT_SUCCESS as a witness for stdlib.h. */
700 # ifndef EXIT_SUCCESS
701 # define EXIT_SUCCESS 0
708 # ifdef YYSTACK_ALLOC
709 /* Pacify GCC's `empty if-body' warning. */
710 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
711 # ifndef YYSTACK_ALLOC_MAXIMUM
712 /* The OS might guarantee only one guard page at the bottom of the stack,
713 and a page size can be as small as 4096 bytes. So we cannot safely
714 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
715 to allow for a few compiler-allocated temporary stack slots. */
716 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
719 # define YYSTACK_ALLOC YYMALLOC
720 # define YYSTACK_FREE YYFREE
721 # ifndef YYSTACK_ALLOC_MAXIMUM
722 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
724 # if (defined __cplusplus && ! defined EXIT_SUCCESS \
725 && ! ((defined YYMALLOC || defined malloc) \
726 && (defined YYFREE || defined free)))
727 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
728 # ifndef EXIT_SUCCESS
729 # define EXIT_SUCCESS 0
733 # define YYMALLOC malloc
734 # if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
735 || defined __cplusplus || defined _MSC_VER)
736 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
741 # if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
742 || defined __cplusplus || defined _MSC_VER)
743 void free (void *); /* INFRINGES ON USER NAME SPACE */
747 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
750 #if (! defined yyoverflow \
751 && (! defined __cplusplus \
752 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
754 /* A type that is properly aligned for any stack member. */
757 yytype_int16 yyss_alloc;
761 /* The size of the maximum gap between one aligned stack and the next. */
762 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
764 /* The size of an array large to enough to hold all stacks, each with
766 # define YYSTACK_BYTES(N) \
767 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
768 + YYSTACK_GAP_MAXIMUM)
770 # define YYCOPY_NEEDED 1
772 /* Relocate STACK from its old location to the new one. The
773 local variables YYSIZE and YYSTACKSIZE give the old and new number of
774 elements in the stack, and YYPTR gives the new location of the
775 stack. Advance YYPTR to a properly aligned location for the next
777 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
780 YYSIZE_T yynewbytes; \
781 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
782 Stack = &yyptr->Stack_alloc; \
783 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
784 yyptr += yynewbytes / sizeof (*yyptr); \
790 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
791 /* Copy COUNT objects from SRC to DST. The source and destination do
794 # if defined __GNUC__ && 1 < __GNUC__
795 # define YYCOPY(Dst, Src, Count) \
796 __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
798 # define YYCOPY(Dst, Src, Count) \
802 for (yyi = 0; yyi < (Count); yyi++) \
803 (Dst)[yyi] = (Src)[yyi]; \
808 #endif /* !YYCOPY_NEEDED */
810 /* YYFINAL -- State number of the termination state. */
812 /* YYLAST -- Last index in YYTABLE. */
815 /* YYNTOKENS -- Number of terminals. */
816 #define YYNTOKENS 202
817 /* YYNNTS -- Number of nonterminals. */
819 /* YYNRULES -- Number of rules. */
821 /* YYNRULES -- Number of states. */
822 #define YYNSTATES 422
824 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
826 #define YYMAXUTOK 451
828 #define YYTRANSLATE(YYX) \
829 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
831 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
832 static const yytype_uint8 yytranslate[] =
834 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
835 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
836 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
837 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
838 198, 199, 2, 2, 2, 2, 2, 2, 2, 2,
839 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
840 2, 197, 2, 2, 2, 2, 2, 2, 2, 2,
841 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
842 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
843 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
844 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
845 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
846 2, 2, 2, 200, 2, 201, 2, 2, 2, 2,
847 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
848 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
849 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
850 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
851 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
852 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
853 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
854 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
855 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
856 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
857 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
858 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
859 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
860 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
861 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
862 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
863 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
864 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
865 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
866 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
867 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
868 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
869 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
870 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
871 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
872 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
873 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
874 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
875 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
876 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
877 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
878 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
883 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
885 static const yytype_uint16 yyprhs[] =
887 0, 0, 3, 5, 9, 12, 15, 16, 18, 20,
888 22, 24, 26, 28, 30, 32, 34, 36, 38, 40,
889 42, 46, 48, 50, 52, 54, 56, 58, 61, 63,
890 65, 67, 68, 71, 73, 75, 77, 79, 81, 83,
891 85, 87, 89, 91, 93, 95, 98, 101, 103, 105,
892 107, 109, 111, 113, 116, 118, 121, 123, 125, 127,
893 130, 133, 136, 139, 142, 145, 148, 151, 154, 157,
894 160, 163, 164, 167, 170, 173, 175, 177, 179, 181,
895 183, 186, 189, 191, 194, 197, 200, 202, 204, 206,
896 208, 210, 212, 214, 216, 218, 220, 223, 226, 230,
897 233, 235, 237, 239, 241, 243, 245, 247, 249, 251,
898 252, 255, 258, 261, 263, 265, 267, 269, 271, 273,
899 275, 277, 279, 281, 283, 285, 287, 290, 293, 297,
900 303, 307, 312, 317, 321, 322, 325, 327, 329, 331,
901 333, 335, 337, 339, 341, 343, 345, 347, 349, 351,
902 353, 355, 358, 360, 363, 365, 367, 369, 372, 374,
903 377, 379, 381, 383, 385, 387, 389, 391, 393, 397,
904 400, 402, 405, 408, 411, 414, 417, 419, 421, 423,
905 425, 427, 429, 432, 435, 437, 440, 442, 444, 446,
906 449, 452, 455, 457, 459, 461, 463, 465, 467, 469,
907 471, 473, 475, 477, 479, 481, 483, 486, 489, 491,
908 494, 496, 498, 500, 502, 504, 506, 508, 510, 512,
909 514, 516, 518, 521, 524, 527, 530, 534, 536, 539,
910 542, 545, 548, 552, 555, 557, 559, 561, 563, 565,
911 567, 569, 571, 573, 575, 577, 580, 581, 586, 588,
912 589, 590, 593, 596, 599, 602, 604, 606, 610, 614,
913 616, 618, 620, 622, 624, 626, 628, 630, 632, 635,
914 638, 640, 642, 644, 646, 648, 650, 652, 654, 657,
915 659, 662, 664, 666, 668, 674, 677, 679, 682, 684,
916 686, 688, 690, 692, 694, 700, 702, 706, 709, 713,
917 715, 717, 720, 722, 728, 733, 737, 740, 742, 749,
918 753, 756, 760, 762, 764, 766, 768
921 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
922 static const yytype_int16 yyrhs[] =
924 203, 0, -1, 204, -1, 204, 205, 186, -1, 205,
925 186, -1, 1, 186, -1, -1, 206, -1, 219, -1,
926 221, -1, 222, -1, 231, -1, 239, -1, 226, -1,
927 248, -1, 253, -1, 257, -1, 262, -1, 266, -1,
928 293, -1, 207, 208, 211, -1, 146, -1, 131, -1,
929 126, -1, 14, -1, 84, -1, 209, -1, 210, 158,
930 -1, 158, -1, 66, -1, 68, -1, -1, 211, 212,
931 -1, 213, -1, 215, -1, 217, -1, 214, -1, 9,
932 -1, 17, -1, 53, -1, 116, -1, 133, -1, 134,
933 -1, 169, -1, 183, -1, 216, 61, -1, 216, 173,
934 -1, 70, -1, 100, -1, 92, -1, 171, -1, 102,
935 -1, 179, -1, 218, 158, -1, 54, -1, 220, 208,
936 -1, 177, -1, 178, -1, 15, -1, 85, 290, -1,
937 107, 290, -1, 93, 61, -1, 10, 61, -1, 22,
938 61, -1, 23, 223, -1, 71, 158, -1, 72, 158,
939 -1, 140, 61, -1, 143, 61, -1, 170, 286, -1,
940 122, 158, -1, -1, 223, 224, -1, 225, 158, -1,
941 143, 61, -1, 51, -1, 54, -1, 136, -1, 137,
942 -1, 28, -1, 167, 227, -1, 227, 228, -1, 228,
943 -1, 229, 61, -1, 230, 292, -1, 21, 291, -1,
944 19, -1, 48, -1, 123, -1, 124, -1, 101, -1,
945 13, -1, 98, -1, 90, -1, 96, -1, 88, -1,
946 150, 232, -1, 152, 158, -1, 41, 233, 234, -1,
947 232, 233, -1, 233, -1, 20, -1, 24, -1, 82,
948 -1, 127, -1, 138, -1, 160, -1, 165, -1, 135,
949 -1, -1, 234, 235, -1, 40, 158, -1, 172, 238,
950 -1, 236, -1, 237, -1, 78, -1, 109, -1, 37,
951 -1, 29, -1, 112, -1, 129, -1, 26, -1, 181,
952 -1, 105, -1, 184, -1, 4, -1, 30, 242, -1,
953 106, 245, -1, 142, 208, 240, -1, 142, 209, 86,
954 209, 240, -1, 142, 27, 240, -1, 142, 66, 27,
955 240, -1, 142, 68, 27, 240, -1, 142, 148, 240,
956 -1, -1, 240, 241, -1, 47, -1, 55, -1, 73,
957 -1, 74, -1, 77, -1, 83, -1, 110, -1, 111,
958 -1, 114, -1, 115, -1, 117, -1, 118, -1, 119,
959 -1, 121, -1, 179, -1, 242, 243, -1, 243, -1,
960 244, 61, -1, 11, -1, 99, -1, 104, -1, 245,
961 246, -1, 246, -1, 247, 61, -1, 56, -1, 57,
962 -1, 58, -1, 59, -1, 87, -1, 89, -1, 91,
963 -1, 97, -1, 50, 208, 249, -1, 249, 250, -1,
964 250, -1, 251, 292, -1, 252, 291, -1, 157, 61,
965 -1, 3, 158, -1, 139, 158, -1, 162, -1, 163,
966 -1, 43, -1, 44, -1, 45, -1, 46, -1, 144,
967 254, -1, 254, 255, -1, 255, -1, 256, 61, -1,
968 95, -1, 149, -1, 42, -1, 37, 258, -1, 29,
969 258, -1, 258, 259, -1, 259, -1, 260, -1, 261,
970 -1, 8, -1, 12, -1, 18, -1, 69, -1, 104,
971 -1, 120, -1, 103, -1, 151, -1, 174, -1, 175,
972 -1, 176, -1, 166, 263, -1, 263, 264, -1, 264,
973 -1, 265, 292, -1, 6, -1, 31, -1, 49, -1,
974 52, -1, 125, -1, 153, -1, 154, -1, 155, -1,
975 156, -1, 161, -1, 278, -1, 282, -1, 267, 292,
976 -1, 268, 61, -1, 269, 158, -1, 270, 158, -1,
977 60, 158, 205, -1, 38, -1, 33, 271, -1, 80,
978 276, -1, 128, 289, -1, 147, 272, -1, 168, 209,
979 274, -1, 171, 285, -1, 16, -1, 113, -1, 161,
980 -1, 35, -1, 76, -1, 54, -1, 75, -1, 81,
981 -1, 130, -1, 145, -1, 158, -1, 158, 32, -1,
982 -1, 158, 197, 158, 273, -1, 27, -1, -1, -1,
983 274, 275, -1, 132, 61, -1, 62, 209, -1, 276,
984 277, -1, 277, -1, 158, -1, 279, 281, 280, -1,
985 279, 281, 158, -1, 62, -1, 108, -1, 5, -1,
986 65, -1, 67, -1, 182, -1, 79, -1, 55, -1,
987 34, -1, 141, 283, -1, 283, 284, -1, 284, -1,
988 7, -1, 8, -1, 25, -1, 64, -1, 94, -1,
989 159, -1, 164, -1, 285, 61, -1, 61, -1, 286,
990 287, -1, 287, -1, 61, -1, 288, -1, 198, 61,
991 36, 61, 199, -1, 289, 158, -1, 158, -1, 290,
992 208, -1, 208, -1, 61, -1, 169, -1, 39, -1,
993 61, -1, 32, -1, 294, 200, 295, 298, 201, -1,
994 187, -1, 295, 296, 186, -1, 296, 186, -1, 297,
995 197, 292, -1, 188, -1, 189, -1, 298, 299, -1,
996 299, -1, 301, 200, 300, 302, 201, -1, 190, 197,
997 292, 186, -1, 146, 197, 208, -1, 302, 303, -1,
998 303, -1, 191, 197, 292, 200, 304, 201, -1, 304,
999 305, 186, -1, 305, 186, -1, 306, 197, 292, -1,
1000 192, -1, 193, -1, 194, -1, 195, -1, 196, -1
1003 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
1004 static const yytype_uint16 yyrline[] =
1006 0, 369, 369, 373, 374, 375, 390, 391, 392, 393,
1007 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
1008 411, 421, 422, 423, 424, 425, 429, 430, 435, 440,
1009 442, 448, 449, 457, 458, 459, 463, 468, 469, 470,
1010 471, 472, 473, 474, 475, 479, 481, 486, 487, 488,
1011 489, 490, 491, 495, 500, 509, 519, 520, 530, 532,
1012 534, 536, 547, 554, 556, 561, 563, 565, 567, 569,
1013 578, 584, 585, 593, 595, 607, 608, 609, 610, 611,
1014 620, 625, 630, 638, 640, 642, 647, 648, 649, 650,
1015 651, 652, 656, 657, 658, 659, 668, 670, 679, 689,
1016 694, 702, 703, 704, 705, 706, 707, 708, 709, 714,
1017 715, 723, 733, 742, 757, 762, 763, 767, 768, 772,
1018 773, 774, 775, 776, 777, 778, 787, 791, 795, 803,
1019 811, 819, 834, 849, 862, 863, 871, 872, 873, 874,
1020 875, 876, 877, 878, 879, 880, 881, 882, 883, 884,
1021 885, 889, 894, 902, 907, 908, 909, 913, 918, 926,
1022 931, 932, 933, 934, 935, 936, 937, 938, 946, 956,
1023 961, 969, 971, 973, 982, 984, 989, 990, 994, 995,
1024 996, 997, 1005, 1010, 1015, 1023, 1028, 1029, 1030, 1039,
1025 1041, 1046, 1051, 1059, 1061, 1078, 1079, 1080, 1081, 1082,
1026 1083, 1087, 1088, 1089, 1090, 1091, 1099, 1104, 1109, 1117,
1027 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131,
1028 1140, 1141, 1142, 1149, 1156, 1163, 1179, 1198, 1200, 1202,
1029 1204, 1206, 1208, 1215, 1220, 1221, 1222, 1226, 1230, 1239,
1030 1240, 1244, 1245, 1246, 1250, 1261, 1275, 1287, 1292, 1294,
1031 1299, 1300, 1308, 1310, 1318, 1323, 1331, 1356, 1363, 1373,
1032 1374, 1378, 1379, 1380, 1381, 1385, 1386, 1387, 1391, 1396,
1033 1401, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1425, 1430,
1034 1438, 1443, 1451, 1453, 1457, 1462, 1467, 1475, 1480, 1488,
1035 1497, 1498, 1502, 1503, 1512, 1530, 1534, 1539, 1547, 1552,
1036 1553, 1557, 1562, 1570, 1575, 1580, 1585, 1590, 1598, 1603,
1037 1608, 1616, 1621, 1622, 1623, 1624, 1625
1041 #if YYDEBUG || YYERROR_VERBOSE || 1
1042 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1043 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
1044 static const char *const yytname[] =
1046 "$end", "error", "$undefined", "T_Abbrev", "T_Age", "T_All", "T_Allan",
1047 "T_Allpeers", "T_Auth", "T_Autokey", "T_Automax", "T_Average",
1048 "T_Bclient", "T_Beacon", "T_Broadcast", "T_Broadcastclient",
1049 "T_Broadcastdelay", "T_Burst", "T_Calibrate", "T_Ceiling",
1050 "T_Clockstats", "T_Cohort", "T_ControlKey", "T_Crypto", "T_Cryptostats",
1051 "T_Ctl", "T_Day", "T_Default", "T_Digest", "T_Disable", "T_Discard",
1052 "T_Dispersion", "T_Double", "T_Driftfile", "T_Drop", "T_Dscp",
1053 "T_Ellipsis", "T_Enable", "T_End", "T_False", "T_File", "T_Filegen",
1054 "T_Filenum", "T_Flag1", "T_Flag2", "T_Flag3", "T_Flag4", "T_Flake",
1055 "T_Floor", "T_Freq", "T_Fudge", "T_Host", "T_Huffpuff", "T_Iburst",
1056 "T_Ident", "T_Ignore", "T_Incalloc", "T_Incmem", "T_Initalloc",
1057 "T_Initmem", "T_Includefile", "T_Integer", "T_Interface", "T_Intrange",
1058 "T_Io", "T_Ipv4", "T_Ipv4_flag", "T_Ipv6", "T_Ipv6_flag", "T_Kernel",
1059 "T_Key", "T_Keys", "T_Keysdir", "T_Kod", "T_Mssntp", "T_Leapfile",
1060 "T_Leapsmearinterval", "T_Limited", "T_Link", "T_Listen", "T_Logconfig",
1061 "T_Logfile", "T_Loopstats", "T_Lowpriotrap", "T_Manycastclient",
1062 "T_Manycastserver", "T_Mask", "T_Maxage", "T_Maxclock", "T_Maxdepth",
1063 "T_Maxdist", "T_Maxmem", "T_Maxpoll", "T_Mdnstries", "T_Mem",
1064 "T_Memlock", "T_Minclock", "T_Mindepth", "T_Mindist", "T_Minimum",
1065 "T_Minpoll", "T_Minsane", "T_Mode", "T_Mode7", "T_Monitor", "T_Month",
1066 "T_Mru", "T_Multicastclient", "T_Nic", "T_Nolink", "T_Nomodify",
1067 "T_Nomrulist", "T_None", "T_Nonvolatile", "T_Nopeer", "T_Noquery",
1068 "T_Noselect", "T_Noserve", "T_Notrap", "T_Notrust", "T_Ntp", "T_Ntpport",
1069 "T_NtpSignDsocket", "T_Orphan", "T_Orphanwait", "T_Panic", "T_Peer",
1070 "T_Peerstats", "T_Phone", "T_Pid", "T_Pidfile", "T_Pool", "T_Port",
1071 "T_Preempt", "T_Prefer", "T_Protostats", "T_Pw", "T_Randfile",
1072 "T_Rawstats", "T_Refid", "T_Requestkey", "T_Reset", "T_Restrict",
1073 "T_Revoke", "T_Rlimit", "T_Saveconfigdir", "T_Server", "T_Setvar",
1074 "T_Source", "T_Stacksize", "T_Statistics", "T_Stats", "T_Statsdir",
1075 "T_Step", "T_Stepback", "T_Stepfwd", "T_Stepout", "T_Stratum",
1076 "T_String", "T_Sys", "T_Sysstats", "T_Tick", "T_Time1", "T_Time2",
1077 "T_Timer", "T_Timingstats", "T_Tinker", "T_Tos", "T_Trap", "T_True",
1078 "T_Trustedkey", "T_Ttl", "T_Type", "T_U_int", "T_UEcrypto",
1079 "T_UEcryptonak", "T_UEdigest", "T_Unconfig", "T_Unpeer", "T_Version",
1080 "T_WanderThreshold", "T_Week", "T_Wildcard", "T_Xleave", "T_Year",
1081 "T_Flag", "T_EOC", "T_Simulate", "T_Beep_Delay", "T_Sim_Duration",
1082 "T_Server_Offset", "T_Duration", "T_Freq_Offset", "T_Wander", "T_Jitter",
1083 "T_Prop_Delay", "T_Proc_Delay", "'='", "'('", "')'", "'{'", "'}'",
1084 "$accept", "configuration", "command_list", "command", "server_command",
1085 "client_type", "address", "ip_address", "address_fam", "option_list",
1086 "option", "option_flag", "option_flag_keyword", "option_int",
1087 "option_int_keyword", "option_str", "option_str_keyword",
1088 "unpeer_command", "unpeer_keyword", "other_mode_command",
1089 "authentication_command", "crypto_command_list", "crypto_command",
1090 "crypto_str_keyword", "orphan_mode_command", "tos_option_list",
1091 "tos_option", "tos_option_int_keyword", "tos_option_dbl_keyword",
1092 "monitoring_command", "stats_list", "stat", "filegen_option_list",
1093 "filegen_option", "link_nolink", "enable_disable", "filegen_type",
1094 "access_control_command", "ac_flag_list", "access_control_flag",
1095 "discard_option_list", "discard_option", "discard_option_keyword",
1096 "mru_option_list", "mru_option", "mru_option_keyword", "fudge_command",
1097 "fudge_factor_list", "fudge_factor", "fudge_factor_dbl_keyword",
1098 "fudge_factor_bool_keyword", "rlimit_command", "rlimit_option_list",
1099 "rlimit_option", "rlimit_option_keyword", "system_option_command",
1100 "system_option_list", "system_option", "system_option_flag_keyword",
1101 "system_option_local_flag_keyword", "tinker_command",
1102 "tinker_option_list", "tinker_option", "tinker_option_keyword",
1103 "miscellaneous_command", "misc_cmd_dbl_keyword", "misc_cmd_int_keyword",
1104 "misc_cmd_str_keyword", "misc_cmd_str_lcl_keyword", "drift_parm",
1105 "variable_assign", "t_default_or_zero", "trap_option_list",
1106 "trap_option", "log_config_list", "log_config_command",
1107 "interface_command", "interface_nic", "nic_rule_class",
1108 "nic_rule_action", "reset_command", "counter_set_list",
1109 "counter_set_keyword", "integer_list", "integer_list_range",
1110 "integer_list_range_elt", "integer_range", "string_list", "address_list",
1111 "boolean", "number", "simulate_command", "sim_conf_start",
1112 "sim_init_statement_list", "sim_init_statement", "sim_init_keyword",
1113 "sim_server_list", "sim_server", "sim_server_offset", "sim_server_name",
1114 "sim_act_list", "sim_act", "sim_act_stmt_list", "sim_act_stmt",
1115 "sim_act_keyword", YY_NULL
1120 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
1122 static const yytype_uint16 yytoknum[] =
1124 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1125 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
1126 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1127 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
1128 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
1129 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
1130 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
1131 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
1132 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
1133 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
1134 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
1135 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
1136 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
1137 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
1138 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
1139 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
1140 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
1141 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
1142 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
1143 445, 446, 447, 448, 449, 450, 451, 61, 40, 41,
1148 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1149 static const yytype_uint16 yyr1[] =
1151 0, 202, 203, 204, 204, 204, 205, 205, 205, 205,
1152 205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
1153 206, 207, 207, 207, 207, 207, 208, 208, 209, 210,
1154 210, 211, 211, 212, 212, 212, 213, 214, 214, 214,
1155 214, 214, 214, 214, 214, 215, 215, 216, 216, 216,
1156 216, 216, 216, 217, 218, 219, 220, 220, 221, 221,
1157 221, 221, 222, 222, 222, 222, 222, 222, 222, 222,
1158 222, 223, 223, 224, 224, 225, 225, 225, 225, 225,
1159 226, 227, 227, 228, 228, 228, 229, 229, 229, 229,
1160 229, 229, 230, 230, 230, 230, 231, 231, 231, 232,
1161 232, 233, 233, 233, 233, 233, 233, 233, 233, 234,
1162 234, 235, 235, 235, 235, 236, 236, 237, 237, 238,
1163 238, 238, 238, 238, 238, 238, 239, 239, 239, 239,
1164 239, 239, 239, 239, 240, 240, 241, 241, 241, 241,
1165 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
1166 241, 242, 242, 243, 244, 244, 244, 245, 245, 246,
1167 247, 247, 247, 247, 247, 247, 247, 247, 248, 249,
1168 249, 250, 250, 250, 250, 250, 251, 251, 252, 252,
1169 252, 252, 253, 254, 254, 255, 256, 256, 256, 257,
1170 257, 258, 258, 259, 259, 260, 260, 260, 260, 260,
1171 260, 261, 261, 261, 261, 261, 262, 263, 263, 264,
1172 265, 265, 265, 265, 265, 265, 265, 265, 265, 265,
1173 266, 266, 266, 266, 266, 266, 266, 266, 266, 266,
1174 266, 266, 266, 266, 267, 267, 267, 268, 268, 269,
1175 269, 270, 270, 270, 271, 271, 271, 272, 273, 273,
1176 274, 274, 275, 275, 276, 276, 277, 278, 278, 279,
1177 279, 280, 280, 280, 280, 281, 281, 281, 282, 283,
1178 283, 284, 284, 284, 284, 284, 284, 284, 285, 285,
1179 286, 286, 287, 287, 288, 289, 289, 290, 290, 291,
1180 291, 291, 292, 292, 293, 294, 295, 295, 296, 297,
1181 297, 298, 298, 299, 300, 301, 302, 302, 303, 304,
1182 304, 305, 306, 306, 306, 306, 306
1185 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
1186 static const yytype_uint8 yyr2[] =
1188 0, 2, 1, 3, 2, 2, 0, 1, 1, 1,
1189 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1190 3, 1, 1, 1, 1, 1, 1, 2, 1, 1,
1191 1, 0, 2, 1, 1, 1, 1, 1, 1, 1,
1192 1, 1, 1, 1, 1, 2, 2, 1, 1, 1,
1193 1, 1, 1, 2, 1, 2, 1, 1, 1, 2,
1194 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1195 2, 0, 2, 2, 2, 1, 1, 1, 1, 1,
1196 2, 2, 1, 2, 2, 2, 1, 1, 1, 1,
1197 1, 1, 1, 1, 1, 1, 2, 2, 3, 2,
1198 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
1199 2, 2, 2, 1, 1, 1, 1, 1, 1, 1,
1200 1, 1, 1, 1, 1, 1, 2, 2, 3, 5,
1201 3, 4, 4, 3, 0, 2, 1, 1, 1, 1,
1202 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1203 1, 2, 1, 2, 1, 1, 1, 2, 1, 2,
1204 1, 1, 1, 1, 1, 1, 1, 1, 3, 2,
1205 1, 2, 2, 2, 2, 2, 1, 1, 1, 1,
1206 1, 1, 2, 2, 1, 2, 1, 1, 1, 2,
1207 2, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1208 1, 1, 1, 1, 1, 1, 2, 2, 1, 2,
1209 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1210 1, 1, 2, 2, 2, 2, 3, 1, 2, 2,
1211 2, 2, 3, 2, 1, 1, 1, 1, 1, 1,
1212 1, 1, 1, 1, 1, 2, 0, 4, 1, 0,
1213 0, 2, 2, 2, 2, 1, 1, 3, 3, 1,
1214 1, 1, 1, 1, 1, 1, 1, 1, 2, 2,
1215 1, 1, 1, 1, 1, 1, 1, 1, 2, 1,
1216 2, 1, 1, 1, 5, 2, 1, 2, 1, 1,
1217 1, 1, 1, 1, 5, 1, 3, 2, 3, 1,
1218 1, 2, 1, 5, 4, 3, 2, 1, 6, 3,
1222 /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
1223 Performed when YYTABLE doesn't specify something else to do. Zero
1224 means the default is an error. */
1225 static const yytype_uint16 yydefact[] =
1227 0, 0, 0, 24, 58, 234, 0, 71, 0, 0,
1228 246, 237, 0, 227, 0, 0, 239, 0, 259, 0,
1229 0, 240, 238, 0, 241, 25, 0, 0, 0, 0,
1230 260, 235, 0, 23, 0, 242, 22, 0, 0, 0,
1231 0, 0, 243, 21, 0, 0, 0, 236, 0, 0,
1232 0, 0, 0, 56, 57, 295, 0, 2, 0, 7,
1233 0, 8, 0, 9, 10, 13, 11, 12, 14, 15,
1234 16, 17, 18, 0, 0, 0, 0, 220, 0, 221,
1235 19, 0, 5, 62, 63, 64, 195, 196, 197, 198,
1236 201, 199, 200, 202, 203, 204, 205, 190, 192, 193,
1237 194, 154, 155, 156, 126, 152, 0, 244, 228, 189,
1238 101, 102, 103, 104, 108, 105, 106, 107, 109, 29,
1239 30, 28, 0, 26, 0, 6, 65, 66, 256, 229,
1240 255, 288, 59, 61, 160, 161, 162, 163, 164, 165,
1241 166, 167, 127, 158, 0, 60, 70, 286, 230, 67,
1242 271, 272, 273, 274, 275, 276, 277, 268, 270, 134,
1243 29, 30, 134, 134, 26, 68, 188, 186, 187, 182,
1244 184, 0, 0, 231, 96, 100, 97, 210, 211, 212,
1245 213, 214, 215, 216, 217, 218, 219, 206, 208, 0,
1246 91, 86, 0, 87, 95, 93, 94, 92, 90, 88,
1247 89, 80, 82, 0, 0, 250, 282, 0, 69, 281,
1248 283, 279, 233, 1, 0, 4, 31, 55, 293, 292,
1249 222, 223, 224, 225, 267, 266, 265, 0, 0, 79,
1250 75, 76, 77, 78, 0, 72, 0, 191, 151, 153,
1251 245, 98, 0, 178, 179, 180, 181, 0, 0, 176,
1252 177, 168, 170, 0, 0, 27, 226, 254, 287, 157,
1253 159, 285, 269, 130, 134, 134, 133, 128, 0, 183,
1254 185, 0, 99, 207, 209, 291, 289, 290, 85, 81,
1255 83, 84, 232, 0, 280, 278, 3, 20, 261, 262,
1256 263, 258, 264, 257, 299, 300, 0, 0, 0, 74,
1257 73, 118, 117, 0, 115, 116, 0, 110, 113, 114,
1258 174, 175, 173, 169, 171, 172, 136, 137, 138, 139,
1259 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
1260 150, 135, 131, 132, 134, 249, 0, 0, 251, 0,
1261 37, 38, 39, 54, 47, 49, 48, 51, 40, 41,
1262 42, 43, 50, 52, 44, 32, 33, 36, 34, 0,
1263 35, 0, 0, 0, 0, 302, 0, 297, 0, 111,
1264 125, 121, 123, 119, 120, 122, 124, 112, 129, 248,
1265 247, 253, 252, 0, 45, 46, 53, 0, 296, 294,
1266 301, 0, 298, 284, 305, 0, 0, 0, 0, 0,
1267 307, 0, 0, 303, 306, 304, 0, 0, 312, 313,
1268 314, 315, 316, 0, 0, 0, 308, 0, 310, 0,
1272 /* YYDEFGOTO[NTERM-NUM]. */
1273 static const yytype_int16 yydefgoto[] =
1275 -1, 56, 57, 58, 59, 60, 131, 123, 124, 287,
1276 355, 356, 357, 358, 359, 360, 361, 61, 62, 63,
1277 64, 85, 235, 236, 65, 201, 202, 203, 204, 66,
1278 174, 118, 241, 307, 308, 309, 377, 67, 263, 331,
1279 104, 105, 106, 142, 143, 144, 68, 251, 252, 253,
1280 254, 69, 169, 170, 171, 70, 97, 98, 99, 100,
1281 71, 187, 188, 189, 72, 73, 74, 75, 76, 108,
1282 173, 380, 282, 338, 129, 130, 77, 78, 293, 227,
1283 79, 157, 158, 212, 208, 209, 210, 148, 132, 278,
1284 220, 80, 81, 296, 297, 298, 364, 365, 396, 366,
1285 399, 400, 413, 414, 415
1288 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1290 #define YYPACT_NINF -188
1291 static const yytype_int16 yypact[] =
1293 5, -160, -28, -188, -188, -188, -24, -188, 60, 0,
1294 -119, -188, 60, -188, 118, 7, -188, -117, -188, -110,
1295 -108, -188, -188, -101, -188, -188, 7, -1, 345, 7,
1296 -188, -188, -96, -188, -95, -188, -188, 21, -3, 73,
1297 33, 11, -188, -188, -94, 118, -61, -188, 43, 446,
1298 -57, -58, 41, -188, -188, -188, 105, 179, -79, -188,
1299 7, -188, 7, -188, -188, -188, -188, -188, -188, -188,
1300 -188, -188, -188, -7, 48, -48, -39, -188, 24, -188,
1301 -188, -86, -188, -188, -188, 42, -188, -188, -188, -188,
1302 -188, -188, -188, -188, -188, -188, -188, 60, -188, -188,
1303 -188, -188, -188, -188, 0, -188, 59, 89, -188, 60,
1304 -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
1305 -188, -188, 80, -188, 9, 338, -188, -188, -188, -101,
1306 -188, -188, 7, -188, -188, -188, -188, -188, -188, -188,
1307 -188, -188, 345, -188, 67, 7, -188, -188, 12, -188,
1308 -188, -188, -188, -188, -188, -188, -188, -3, -188, -188,
1309 107, 116, -188, -188, 83, -188, -188, -188, -188, 11,
1310 -188, 113, -20, -188, 118, -188, -188, -188, -188, -188,
1311 -188, -188, -188, -188, -188, -188, -188, 43, -188, -7,
1312 -188, -188, -25, -188, -188, -188, -188, -188, -188, -188,
1313 -188, 446, -188, 127, -7, -188, -188, 129, -58, -188,
1314 -188, -188, 142, -188, 19, -188, -188, -188, -188, -188,
1315 -188, -188, -188, -188, -188, -188, -188, 4, -158, -188,
1316 -188, -188, -188, -188, 145, -188, 49, -188, -188, -188,
1317 -188, 233, 55, -188, -188, -188, -188, 64, 157, -188,
1318 -188, 80, -188, -7, -25, -188, -188, -188, -188, -188,
1319 -188, -188, -188, 445, -188, -188, 445, 445, -57, -188,
1320 -188, 82, -188, -188, -188, -188, -188, -188, -188, -188,
1321 -188, -188, -44, 202, -188, -188, -188, 324, -188, -188,
1322 -188, -188, -188, -188, -188, -188, -30, 58, 50, -188,
1323 -188, -188, -188, 88, -188, -188, 3, -188, -188, -188,
1324 -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
1325 -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
1326 -188, -188, 445, 445, -188, 221, -57, 188, -188, 191,
1327 -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
1328 -188, -188, -188, -188, -188, -188, -188, -188, -188, -51,
1329 -188, 99, 61, 75, -114, -188, 65, -188, -7, -188,
1330 -188, -188, -188, -188, -188, -188, -188, -188, 445, -188,
1331 -188, -188, -188, 68, -188, -188, -188, 7, -188, -188,
1332 -188, 76, -188, -188, -188, 71, 78, -7, 74, -178,
1333 -188, 90, -7, -188, -188, -188, 77, 32, -188, -188,
1334 -188, -188, -188, 101, 93, 84, -188, 94, -188, -7,
1338 /* YYPGOTO[NTERM-NUM]. */
1339 static const yytype_int16 yypgoto[] =
1341 -188, -188, -188, -41, -188, -188, -15, -38, -188, -188,
1342 -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
1343 -188, -188, -188, -188, -188, -188, 81, -188, -188, -188,
1344 -188, -37, -188, -188, -188, -188, -188, -188, -111, -188,
1345 -188, 170, -188, -188, 133, -188, -188, -188, 37, -188,
1346 -188, -188, -188, 115, -188, -188, 277, -53, -188, -188,
1347 -188, -188, 103, -188, -188, -188, -188, -188, -188, -188,
1348 -188, -188, -188, -188, -188, 162, -188, -188, -188, -188,
1349 -188, -188, 143, -188, -188, 91, -188, -188, 274, 52,
1350 -187, -188, -188, -188, 8, -188, -188, -56, -188, -188,
1351 -188, -87, -188, -100, -188
1354 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
1355 positive, shift that token. If negative, reduce the rule which
1356 number is the opposite. If YYTABLE_NINF, syntax error. */
1357 #define YYTABLE_NINF -7
1358 static const yytype_int16 yytable[] =
1360 122, 164, 274, 206, 150, 151, 1, 370, 175, 288,
1361 384, 101, 205, 398, 275, 2, 214, 281, 336, 3,
1362 4, 5, 152, 403, 163, 218, 82, 6, 7, 371,
1363 294, 295, 362, 83, 8, 9, 276, 84, 10, 107,
1364 11, 125, 12, 13, 237, 216, 14, 217, 126, 177,
1365 127, 266, 267, 166, 219, 15, 237, 128, 224, 16,
1366 133, 153, 146, 147, 172, 17, 314, 18, 86, 289,
1367 229, 290, 87, 119, 178, 120, 19, 20, 88, 225,
1368 21, 22, 149, 242, 256, 23, 24, 389, 337, 25,
1369 26, 154, 179, 230, 165, 180, 231, 176, 27, 102,
1370 159, 121, 211, 226, 103, 213, 167, 215, 372, 221,
1371 222, 28, 29, 30, 228, 373, 362, 258, 31, 223,
1372 239, 240, 385, 243, 244, 245, 246, 32, 260, 89,
1373 258, 33, 374, 34, 264, 35, 36, 272, 110, 160,
1374 207, 161, 111, 265, 277, 37, 38, 39, 40, 41,
1375 42, 43, 44, 332, 333, 45, 155, 46, 294, 295,
1376 168, 156, 291, 90, 91, 121, 47, 255, 181, 268,
1377 261, 48, 49, 50, 270, 51, 52, 271, 232, 233,
1378 92, 392, 53, 54, 375, 234, 292, 376, 280, 2,
1379 283, -6, 55, 3, 4, 5, 182, 183, 184, 185,
1380 112, 6, 7, 285, 186, 286, 299, 300, 8, 9,
1381 401, 93, 10, 310, 11, 406, 12, 13, 312, 247,
1382 14, 162, 311, 378, 408, 409, 410, 411, 412, 15,
1383 334, 121, 421, 16, 94, 95, 96, 248, 339, 17,
1384 335, 18, 249, 250, 367, 113, 369, 368, 379, 382,
1385 19, 20, 383, 114, 21, 22, 115, 386, 387, 23,
1386 24, 388, 301, 25, 26, 391, 395, 393, 397, 398,
1387 302, 402, 27, 303, 238, 259, 405, 407, 116, 418,
1388 420, 419, 279, 117, 269, 28, 29, 30, 313, 109,
1389 273, 257, 31, 408, 409, 410, 411, 412, 381, 284,
1390 262, 32, 416, 145, 363, 33, 315, 34, 390, 35,
1391 36, 304, 404, 417, 0, 0, 0, 0, 0, 37,
1392 38, 39, 40, 41, 42, 43, 44, 0, 0, 45,
1393 0, 46, 0, 340, 0, 0, 0, 0, 0, 0,
1394 47, 341, 305, 0, 0, 48, 49, 50, 2, 51,
1395 52, 0, 3, 4, 5, 0, 53, 54, 0, 0,
1396 6, 7, 0, 0, 0, -6, 55, 8, 9, 0,
1397 0, 10, 394, 11, 0, 12, 13, 342, 343, 14,
1398 0, 0, 0, 0, 0, 0, 0, 0, 15, 0,
1399 0, 0, 16, 0, 344, 0, 0, 0, 17, 0,
1400 18, 134, 135, 136, 137, 306, 0, 0, 0, 19,
1401 20, 0, 0, 21, 22, 0, 345, 0, 23, 24,
1402 0, 0, 25, 26, 346, 0, 347, 0, 0, 0,
1403 0, 27, 138, 0, 139, 0, 140, 0, 0, 0,
1404 348, 0, 141, 0, 28, 29, 30, 0, 0, 0,
1405 0, 31, 0, 0, 0, 0, 0, 349, 350, 190,
1406 32, 0, 0, 0, 33, 191, 34, 192, 35, 36,
1407 0, 0, 0, 0, 0, 0, 0, 0, 37, 38,
1408 39, 40, 41, 42, 43, 44, 0, 0, 45, 0,
1409 46, 0, 316, 351, 193, 352, 0, 0, 0, 47,
1410 317, 0, 0, 353, 48, 49, 50, 354, 51, 52,
1411 0, 0, 0, 0, 0, 53, 54, 0, 318, 319,
1412 0, 0, 320, 0, 0, 55, 0, 0, 321, 0,
1413 0, 0, 0, 0, 194, 0, 195, 0, 0, 0,
1414 0, 0, 196, 0, 197, 0, 0, 198, 0, 0,
1415 0, 0, 0, 0, 0, 322, 323, 0, 0, 324,
1416 325, 0, 326, 327, 328, 0, 329, 0, 0, 199,
1417 200, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1418 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1419 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1420 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1421 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1425 #define yypact_value_is_default(Yystate) \
1426 (!!((Yystate) == (-188)))
1428 #define yytable_value_is_error(Yytable_value) \
1431 static const yytype_int16 yycheck[] =
1433 15, 39, 189, 61, 7, 8, 1, 4, 45, 5,
1434 61, 11, 50, 191, 39, 10, 57, 204, 62, 14,
1435 15, 16, 25, 201, 39, 32, 186, 22, 23, 26,
1436 188, 189, 146, 61, 29, 30, 61, 61, 33, 158,
1437 35, 158, 37, 38, 97, 60, 41, 62, 158, 6,
1438 158, 162, 163, 42, 61, 50, 109, 158, 34, 54,
1439 61, 64, 158, 158, 158, 60, 253, 62, 8, 65,
1440 28, 67, 12, 66, 31, 68, 71, 72, 18, 55,
1441 75, 76, 61, 3, 125, 80, 81, 201, 132, 84,
1442 85, 94, 49, 51, 61, 52, 54, 158, 93, 99,
1443 27, 158, 61, 79, 104, 0, 95, 186, 105, 61,
1444 158, 106, 107, 108, 200, 112, 146, 132, 113, 158,
1445 61, 32, 173, 43, 44, 45, 46, 122, 61, 69,
1446 145, 126, 129, 128, 27, 130, 131, 174, 20, 66,
1447 198, 68, 24, 27, 169, 140, 141, 142, 143, 144,
1448 145, 146, 147, 264, 265, 150, 159, 152, 188, 189,
1449 149, 164, 158, 103, 104, 158, 161, 158, 125, 86,
1450 158, 166, 167, 168, 61, 170, 171, 197, 136, 137,
1451 120, 368, 177, 178, 181, 143, 182, 184, 61, 10,
1452 61, 186, 187, 14, 15, 16, 153, 154, 155, 156,
1453 82, 22, 23, 61, 161, 186, 61, 158, 29, 30,
1454 397, 151, 33, 158, 35, 402, 37, 38, 61, 139,
1455 41, 148, 158, 334, 192, 193, 194, 195, 196, 50,
1456 268, 158, 419, 54, 174, 175, 176, 157, 36, 60,
1457 158, 62, 162, 163, 186, 127, 158, 197, 27, 61,
1458 71, 72, 61, 135, 75, 76, 138, 158, 197, 80,
1459 81, 186, 29, 84, 85, 200, 190, 199, 197, 191,
1460 37, 197, 93, 40, 104, 142, 186, 200, 160, 186,
1461 186, 197, 201, 165, 169, 106, 107, 108, 251, 12,
1462 187, 129, 113, 192, 193, 194, 195, 196, 336, 208,
1463 157, 122, 201, 29, 296, 126, 254, 128, 364, 130,
1464 131, 78, 399, 413, -1, -1, -1, -1, -1, 140,
1465 141, 142, 143, 144, 145, 146, 147, -1, -1, 150,
1466 -1, 152, -1, 9, -1, -1, -1, -1, -1, -1,
1467 161, 17, 109, -1, -1, 166, 167, 168, 10, 170,
1468 171, -1, 14, 15, 16, -1, 177, 178, -1, -1,
1469 22, 23, -1, -1, -1, 186, 187, 29, 30, -1,
1470 -1, 33, 387, 35, -1, 37, 38, 53, 54, 41,
1471 -1, -1, -1, -1, -1, -1, -1, -1, 50, -1,
1472 -1, -1, 54, -1, 70, -1, -1, -1, 60, -1,
1473 62, 56, 57, 58, 59, 172, -1, -1, -1, 71,
1474 72, -1, -1, 75, 76, -1, 92, -1, 80, 81,
1475 -1, -1, 84, 85, 100, -1, 102, -1, -1, -1,
1476 -1, 93, 87, -1, 89, -1, 91, -1, -1, -1,
1477 116, -1, 97, -1, 106, 107, 108, -1, -1, -1,
1478 -1, 113, -1, -1, -1, -1, -1, 133, 134, 13,
1479 122, -1, -1, -1, 126, 19, 128, 21, 130, 131,
1480 -1, -1, -1, -1, -1, -1, -1, -1, 140, 141,
1481 142, 143, 144, 145, 146, 147, -1, -1, 150, -1,
1482 152, -1, 47, 169, 48, 171, -1, -1, -1, 161,
1483 55, -1, -1, 179, 166, 167, 168, 183, 170, 171,
1484 -1, -1, -1, -1, -1, 177, 178, -1, 73, 74,
1485 -1, -1, 77, -1, -1, 187, -1, -1, 83, -1,
1486 -1, -1, -1, -1, 88, -1, 90, -1, -1, -1,
1487 -1, -1, 96, -1, 98, -1, -1, 101, -1, -1,
1488 -1, -1, -1, -1, -1, 110, 111, -1, -1, 114,
1489 115, -1, 117, 118, 119, -1, 121, -1, -1, 123,
1490 124, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1491 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1492 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1493 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1494 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1498 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1499 symbol of state STATE-NUM. */
1500 static const yytype_uint16 yystos[] =
1502 0, 1, 10, 14, 15, 16, 22, 23, 29, 30,
1503 33, 35, 37, 38, 41, 50, 54, 60, 62, 71,
1504 72, 75, 76, 80, 81, 84, 85, 93, 106, 107,
1505 108, 113, 122, 126, 128, 130, 131, 140, 141, 142,
1506 143, 144, 145, 146, 147, 150, 152, 161, 166, 167,
1507 168, 170, 171, 177, 178, 187, 203, 204, 205, 206,
1508 207, 219, 220, 221, 222, 226, 231, 239, 248, 253,
1509 257, 262, 266, 267, 268, 269, 270, 278, 279, 282,
1510 293, 294, 186, 61, 61, 223, 8, 12, 18, 69,
1511 103, 104, 120, 151, 174, 175, 176, 258, 259, 260,
1512 261, 11, 99, 104, 242, 243, 244, 158, 271, 258,
1513 20, 24, 82, 127, 135, 138, 160, 165, 233, 66,
1514 68, 158, 208, 209, 210, 158, 158, 158, 158, 276,
1515 277, 208, 290, 61, 56, 57, 58, 59, 87, 89,
1516 91, 97, 245, 246, 247, 290, 158, 158, 289, 61,
1517 7, 8, 25, 64, 94, 159, 164, 283, 284, 27,
1518 66, 68, 148, 208, 209, 61, 42, 95, 149, 254,
1519 255, 256, 158, 272, 232, 233, 158, 6, 31, 49,
1520 52, 125, 153, 154, 155, 156, 161, 263, 264, 265,
1521 13, 19, 21, 48, 88, 90, 96, 98, 101, 123,
1522 124, 227, 228, 229, 230, 209, 61, 198, 286, 287,
1523 288, 61, 285, 0, 205, 186, 208, 208, 32, 61,
1524 292, 61, 158, 158, 34, 55, 79, 281, 200, 28,
1525 51, 54, 136, 137, 143, 224, 225, 259, 243, 61,
1526 32, 234, 3, 43, 44, 45, 46, 139, 157, 162,
1527 163, 249, 250, 251, 252, 158, 205, 277, 208, 246,
1528 61, 158, 284, 240, 27, 27, 240, 240, 86, 255,
1529 61, 197, 233, 264, 292, 39, 61, 169, 291, 228,
1530 61, 292, 274, 61, 287, 61, 186, 211, 5, 65,
1531 67, 158, 182, 280, 188, 189, 295, 296, 297, 61,
1532 158, 29, 37, 40, 78, 109, 172, 235, 236, 237,
1533 158, 158, 61, 250, 292, 291, 47, 55, 73, 74,
1534 77, 83, 110, 111, 114, 115, 117, 118, 119, 121,
1535 179, 241, 240, 240, 209, 158, 62, 132, 275, 36,
1536 9, 17, 53, 54, 70, 92, 100, 102, 116, 133,
1537 134, 169, 171, 179, 183, 212, 213, 214, 215, 216,
1538 217, 218, 146, 296, 298, 299, 301, 186, 197, 158,
1539 4, 26, 105, 112, 129, 181, 184, 238, 240, 27,
1540 273, 209, 61, 61, 61, 173, 158, 197, 186, 201,
1541 299, 200, 292, 199, 208, 190, 300, 197, 191, 302,
1542 303, 292, 197, 201, 303, 186, 292, 200, 192, 193,
1543 194, 195, 196, 304, 305, 306, 201, 305, 186, 197,
1547 #define yyerrok (yyerrstatus = 0)
1548 #define yyclearin (yychar = YYEMPTY)
1549 #define YYEMPTY (-2)
1552 #define YYACCEPT goto yyacceptlab
1553 #define YYABORT goto yyabortlab
1554 #define YYERROR goto yyerrorlab
1557 /* Like YYERROR except do call yyerror. This remains here temporarily
1558 to ease the transition to the new meaning of YYERROR, for GCC.
1559 Once GCC version 2 has supplanted version 1, this can go. However,
1560 YYFAIL appears to be in use. Nevertheless, it is formally deprecated
1561 in Bison 2.4.2's NEWS entry, where a plan to phase it out is
1564 #define YYFAIL goto yyerrlab
1566 /* This is here to suppress warnings from the GCC cpp's
1567 -Wunused-macros. Normally we don't worry about that warning, but
1568 some users do, and we want to make it easy for users to remove
1569 YYFAIL uses, which will produce warnings from Bison 2.5. */
1572 #define YYRECOVERING() (!!yyerrstatus)
1574 #define YYBACKUP(Token, Value) \
1576 if (yychar == YYEMPTY) \
1580 YYPOPSTACK (yylen); \
1586 yyerror (YY_("syntax error: cannot back up")); \
1591 /* Error token number */
1593 #define YYERRCODE 256
1596 /* This macro is provided for backward compatibility. */
1597 #ifndef YY_LOCATION_PRINT
1598 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
1602 /* YYLEX -- calling `yylex' with the right arguments. */
1604 # define YYLEX yylex (YYLEX_PARAM)
1606 # define YYLEX yylex ()
1609 /* Enable debugging if requested. */
1613 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
1614 # define YYFPRINTF fprintf
1617 # define YYDPRINTF(Args) \
1623 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
1627 YYFPRINTF (stderr, "%s ", Title); \
1628 yy_symbol_print (stderr, \
1630 YYFPRINTF (stderr, "\n"); \
1635 /*--------------------------------.
1636 | Print this symbol on YYOUTPUT. |
1637 `--------------------------------*/
1640 #if (defined __STDC__ || defined __C99__FUNC__ \
1641 || defined __cplusplus || defined _MSC_VER)
1643 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
1646 yy_symbol_value_print (yyoutput, yytype, yyvaluep)
1649 YYSTYPE const * const yyvaluep;
1652 FILE *yyo = yyoutput;
1657 if (yytype < YYNTOKENS)
1658 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
1666 /*--------------------------------.
1667 | Print this symbol on YYOUTPUT. |
1668 `--------------------------------*/
1670 #if (defined __STDC__ || defined __C99__FUNC__ \
1671 || defined __cplusplus || defined _MSC_VER)
1673 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
1676 yy_symbol_print (yyoutput, yytype, yyvaluep)
1679 YYSTYPE const * const yyvaluep;
1682 if (yytype < YYNTOKENS)
1683 YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
1685 YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
1687 yy_symbol_value_print (yyoutput, yytype, yyvaluep);
1688 YYFPRINTF (yyoutput, ")");
1691 /*------------------------------------------------------------------.
1692 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
1694 `------------------------------------------------------------------*/
1696 #if (defined __STDC__ || defined __C99__FUNC__ \
1697 || defined __cplusplus || defined _MSC_VER)
1699 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
1702 yy_stack_print (yybottom, yytop)
1703 yytype_int16 *yybottom;
1704 yytype_int16 *yytop;
1707 YYFPRINTF (stderr, "Stack now");
1708 for (; yybottom <= yytop; yybottom++)
1710 int yybot = *yybottom;
1711 YYFPRINTF (stderr, " %d", yybot);
1713 YYFPRINTF (stderr, "\n");
1716 # define YY_STACK_PRINT(Bottom, Top) \
1719 yy_stack_print ((Bottom), (Top)); \
1723 /*------------------------------------------------.
1724 | Report that the YYRULE is going to be reduced. |
1725 `------------------------------------------------*/
1727 #if (defined __STDC__ || defined __C99__FUNC__ \
1728 || defined __cplusplus || defined _MSC_VER)
1730 yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
1733 yy_reduce_print (yyvsp, yyrule)
1738 int yynrhs = yyr2[yyrule];
1740 unsigned long int yylno = yyrline[yyrule];
1741 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
1743 /* The symbols being reduced. */
1744 for (yyi = 0; yyi < yynrhs; yyi++)
1746 YYFPRINTF (stderr, " $%d = ", yyi + 1);
1747 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
1748 &(yyvsp[(yyi + 1) - (yynrhs)])
1750 YYFPRINTF (stderr, "\n");
1754 # define YY_REDUCE_PRINT(Rule) \
1757 yy_reduce_print (yyvsp, Rule); \
1760 /* Nonzero means print parse trace. It is left uninitialized so that
1761 multiple parsers can coexist. */
1763 #else /* !YYDEBUG */
1764 # define YYDPRINTF(Args)
1765 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
1766 # define YY_STACK_PRINT(Bottom, Top)
1767 # define YY_REDUCE_PRINT(Rule)
1768 #endif /* !YYDEBUG */
1771 /* YYINITDEPTH -- initial size of the parser's stacks. */
1773 # define YYINITDEPTH 200
1776 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
1777 if the built-in stack extension method is used).
1779 Do not make this value too large; the results are undefined if
1780 YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
1781 evaluated with infinite-precision integer arithmetic. */
1784 # define YYMAXDEPTH 10000
1791 # if defined __GLIBC__ && defined _STRING_H
1792 # define yystrlen strlen
1794 /* Return the length of YYSTR. */
1795 #if (defined __STDC__ || defined __C99__FUNC__ \
1796 || defined __cplusplus || defined _MSC_VER)
1798 yystrlen (const char *yystr)
1806 for (yylen = 0; yystr[yylen]; yylen++)
1814 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
1815 # define yystpcpy stpcpy
1817 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
1819 #if (defined __STDC__ || defined __C99__FUNC__ \
1820 || defined __cplusplus || defined _MSC_VER)
1822 yystpcpy (char *yydest, const char *yysrc)
1825 yystpcpy (yydest, yysrc)
1831 const char *yys = yysrc;
1833 while ((*yyd++ = *yys++) != '\0')
1842 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
1843 quotes and backslashes, so that it's suitable for yyerror. The
1844 heuristic is that double-quoting is unnecessary unless the string
1845 contains an apostrophe, a comma, or backslash (other than
1846 backslash-backslash). YYSTR is taken from yytname. If YYRES is
1847 null, do not copy; instead, return the length of what the result
1850 yytnamerr (char *yyres, const char *yystr)
1855 char const *yyp = yystr;
1862 goto do_not_strip_quotes;
1866 goto do_not_strip_quotes;
1879 do_not_strip_quotes: ;
1883 return yystrlen (yystr);
1885 return yystpcpy (yyres, yystr) - yyres;
1889 /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
1890 about the unexpected token YYTOKEN for the state stack whose top is
1893 Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is
1894 not large enough to hold the message. In that case, also set
1895 *YYMSG_ALLOC to the required number of bytes. Return 2 if the
1896 required number of bytes is too large to store. */
1898 yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
1899 yytype_int16 *yyssp, int yytoken)
1901 YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
1902 YYSIZE_T yysize = yysize0;
1903 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
1904 /* Internationalized format string. */
1905 const char *yyformat = YY_NULL;
1906 /* Arguments of yyformat. */
1907 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
1908 /* Number of reported tokens (one for the "unexpected", one per
1912 /* There are many possibilities here to consider:
1913 - Assume YYFAIL is not used. It's too flawed to consider. See
1914 <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
1915 for details. YYERROR is fine as it does not invoke this
1917 - If this state is a consistent state with a default action, then
1918 the only way this function was invoked is if the default action
1919 is an error action. In that case, don't check for expected
1920 tokens because there are none.
1921 - The only way there can be no lookahead present (in yychar) is if
1922 this state is a consistent state with a default action. Thus,
1923 detecting the absence of a lookahead is sufficient to determine
1924 that there is no unexpected or expected token to report. In that
1925 case, just report a simple "syntax error".
1926 - Don't assume there isn't a lookahead just because this state is a
1927 consistent state with a default action. There might have been a
1928 previous inconsistent state, consistent state with a non-default
1929 action, or user semantic action that manipulated yychar.
1930 - Of course, the expected token list depends on states to have
1931 correct lookahead information, and it depends on the parser not
1932 to perform extra reductions after fetching a lookahead from the
1933 scanner and before detecting a syntax error. Thus, state merging
1934 (from LALR or IELR) and default reductions corrupt the expected
1935 token list. However, the list is correct for canonical LR with
1936 one exception: it will still contain any token that will not be
1937 accepted due to an error action in a later state.
1939 if (yytoken != YYEMPTY)
1941 int yyn = yypact[*yyssp];
1942 yyarg[yycount++] = yytname[yytoken];
1943 if (!yypact_value_is_default (yyn))
1945 /* Start YYX at -YYN if negative to avoid negative indexes in
1946 YYCHECK. In other words, skip the first -YYN actions for
1947 this state because they are default actions. */
1948 int yyxbegin = yyn < 0 ? -yyn : 0;
1949 /* Stay within bounds of both yycheck and yytname. */
1950 int yychecklim = YYLAST - yyn + 1;
1951 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
1954 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
1955 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
1956 && !yytable_value_is_error (yytable[yyx + yyn]))
1958 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
1964 yyarg[yycount++] = yytname[yyx];
1966 YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
1967 if (! (yysize <= yysize1
1968 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
1978 # define YYCASE_(N, S) \
1982 YYCASE_(0, YY_("syntax error"));
1983 YYCASE_(1, YY_("syntax error, unexpected %s"));
1984 YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
1985 YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
1986 YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
1987 YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
1992 YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
1993 if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
1998 if (*yymsg_alloc < yysize)
2000 *yymsg_alloc = 2 * yysize;
2001 if (! (yysize <= *yymsg_alloc
2002 && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
2003 *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
2007 /* Avoid sprintf, as that infringes on the user's name space.
2008 Don't have undefined behavior even if the translation
2009 produced a string with the wrong number of "%s"s. */
2013 while ((*yyp = *yyformat) != '\0')
2014 if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
2016 yyp += yytnamerr (yyp, yyarg[yyi++]);
2027 #endif /* YYERROR_VERBOSE */
2029 /*-----------------------------------------------.
2030 | Release the memory associated to this symbol. |
2031 `-----------------------------------------------*/
2034 #if (defined __STDC__ || defined __C99__FUNC__ \
2035 || defined __cplusplus || defined _MSC_VER)
2037 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
2040 yydestruct (yymsg, yytype, yyvaluep)
2050 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
2058 /* The lookahead symbol. */
2062 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2063 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2064 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
2066 #ifndef YY_INITIAL_VALUE
2067 # define YY_INITIAL_VALUE(Value) /* Nothing. */
2070 /* The semantic value of the lookahead symbol. */
2071 YYSTYPE yylval YY_INITIAL_VALUE(yyval_default);
2073 /* Number of syntax errors so far. */
2081 #ifdef YYPARSE_PARAM
2082 #if (defined __STDC__ || defined __C99__FUNC__ \
2083 || defined __cplusplus || defined _MSC_VER)
2085 yyparse (void *YYPARSE_PARAM)
2088 yyparse (YYPARSE_PARAM)
2089 void *YYPARSE_PARAM;
2091 #else /* ! YYPARSE_PARAM */
2092 #if (defined __STDC__ || defined __C99__FUNC__ \
2093 || defined __cplusplus || defined _MSC_VER)
2104 /* Number of tokens to shift before error messages enabled. */
2107 /* The stacks and their tools:
2108 `yyss': related to states.
2109 `yyvs': related to semantic values.
2111 Refer to the stacks through separate pointers, to allow yyoverflow
2112 to reallocate them elsewhere. */
2114 /* The state stack. */
2115 yytype_int16 yyssa[YYINITDEPTH];
2117 yytype_int16 *yyssp;
2119 /* The semantic value stack. */
2120 YYSTYPE yyvsa[YYINITDEPTH];
2124 YYSIZE_T yystacksize;
2128 /* Lookahead token as an internal (translated) token number. */
2130 /* The variables used to return semantic value and location from the
2135 /* Buffer for error messages, and its allocated size. */
2137 char *yymsg = yymsgbuf;
2138 YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
2141 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
2143 /* The number of symbols on the RHS of the reduced rule.
2144 Keep to zero when no symbol should be popped. */
2147 yyssp = yyss = yyssa;
2148 yyvsp = yyvs = yyvsa;
2149 yystacksize = YYINITDEPTH;
2151 YYDPRINTF ((stderr, "Starting parse\n"));
2156 yychar = YYEMPTY; /* Cause a token to be read. */
2159 /*------------------------------------------------------------.
2160 | yynewstate -- Push a new state, which is found in yystate. |
2161 `------------------------------------------------------------*/
2163 /* In all cases, when you get here, the value and location stacks
2164 have just been pushed. So pushing a state here evens the stacks. */
2170 if (yyss + yystacksize - 1 <= yyssp)
2172 /* Get the current used size of the three stacks, in elements. */
2173 YYSIZE_T yysize = yyssp - yyss + 1;
2177 /* Give user a chance to reallocate the stack. Use copies of
2178 these so that the &'s don't force the real ones into
2180 YYSTYPE *yyvs1 = yyvs;
2181 yytype_int16 *yyss1 = yyss;
2183 /* Each stack pointer address is followed by the size of the
2184 data in use in that stack, in bytes. This used to be a
2185 conditional around just the two extra args, but that might
2186 be undefined if yyoverflow is a macro. */
2187 yyoverflow (YY_("memory exhausted"),
2188 &yyss1, yysize * sizeof (*yyssp),
2189 &yyvs1, yysize * sizeof (*yyvsp),
2195 #else /* no yyoverflow */
2196 # ifndef YYSTACK_RELOCATE
2197 goto yyexhaustedlab;
2199 /* Extend the stack our own way. */
2200 if (YYMAXDEPTH <= yystacksize)
2201 goto yyexhaustedlab;
2203 if (YYMAXDEPTH < yystacksize)
2204 yystacksize = YYMAXDEPTH;
2207 yytype_int16 *yyss1 = yyss;
2208 union yyalloc *yyptr =
2209 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
2211 goto yyexhaustedlab;
2212 YYSTACK_RELOCATE (yyss_alloc, yyss);
2213 YYSTACK_RELOCATE (yyvs_alloc, yyvs);
2214 # undef YYSTACK_RELOCATE
2216 YYSTACK_FREE (yyss1);
2219 #endif /* no yyoverflow */
2221 yyssp = yyss + yysize - 1;
2222 yyvsp = yyvs + yysize - 1;
2224 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
2225 (unsigned long int) yystacksize));
2227 if (yyss + yystacksize - 1 <= yyssp)
2231 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
2233 if (yystate == YYFINAL)
2243 /* Do appropriate processing given the current state. Read a
2244 lookahead token if we need one and don't already have one. */
2246 /* First try to decide what to do without reference to lookahead token. */
2247 yyn = yypact[yystate];
2248 if (yypact_value_is_default (yyn))
2251 /* Not known => get a lookahead token if don't already have one. */
2253 /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
2254 if (yychar == YYEMPTY)
2256 YYDPRINTF ((stderr, "Reading a token: "));
2260 if (yychar <= YYEOF)
2262 yychar = yytoken = YYEOF;
2263 YYDPRINTF ((stderr, "Now at end of input.\n"));
2267 yytoken = YYTRANSLATE (yychar);
2268 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
2271 /* If the proper action on seeing token YYTOKEN is to reduce or to
2272 detect an error, take that action. */
2274 if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
2279 if (yytable_value_is_error (yyn))
2285 /* Count tokens shifted since error; after three, turn off error
2290 /* Shift the lookahead token. */
2291 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
2293 /* Discard the shifted token. */
2297 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2299 YY_IGNORE_MAYBE_UNINITIALIZED_END
2304 /*-----------------------------------------------------------.
2305 | yydefault -- do the default action for the current state. |
2306 `-----------------------------------------------------------*/
2308 yyn = yydefact[yystate];
2314 /*-----------------------------.
2315 | yyreduce -- Do a reduction. |
2316 `-----------------------------*/
2318 /* yyn is the number of a rule to reduce with. */
2321 /* If YYLEN is nonzero, implement the default value of the action:
2324 Otherwise, the following line sets YYVAL to garbage.
2325 This behavior is undocumented and Bison
2326 users should not rely upon it. Assigning to YYVAL
2327 unconditionally makes the parser a bit smaller, and it avoids a
2328 GCC warning that YYVAL may be used uninitialized. */
2329 yyval = yyvsp[1-yylen];
2332 YY_REDUCE_PRINT (yyn);
2336 /* Line 1787 of yacc.c */
2337 #line 376 "../../ntpd/ntp_parser.y"
2339 /* I will need to incorporate much more fine grained
2340 * error messages. The following should suffice for
2343 struct FILE_INFO * ip_ctx = lex_current();
2345 "syntax error in %s line %d, column %d",
2347 ip_ctx->errpos.nline,
2348 ip_ctx->errpos.ncol);
2353 /* Line 1787 of yacc.c */
2354 #line 412 "../../ntpd/ntp_parser.y"
2358 my_node = create_peer_node((yyvsp[(1) - (3)].Integer), (yyvsp[(2) - (3)].Address_node), (yyvsp[(3) - (3)].Attr_val_fifo));
2359 APPEND_G_FIFO(cfgt.peers, my_node);
2364 /* Line 1787 of yacc.c */
2365 #line 431 "../../ntpd/ntp_parser.y"
2366 { (yyval.Address_node) = create_address_node((yyvsp[(2) - (2)].String), (yyvsp[(1) - (2)].Integer)); }
2370 /* Line 1787 of yacc.c */
2371 #line 436 "../../ntpd/ntp_parser.y"
2372 { (yyval.Address_node) = create_address_node((yyvsp[(1) - (1)].String), AF_UNSPEC); }
2376 /* Line 1787 of yacc.c */
2377 #line 441 "../../ntpd/ntp_parser.y"
2378 { (yyval.Integer) = AF_INET; }
2382 /* Line 1787 of yacc.c */
2383 #line 443 "../../ntpd/ntp_parser.y"
2384 { (yyval.Integer) = AF_INET6; }
2388 /* Line 1787 of yacc.c */
2389 #line 448 "../../ntpd/ntp_parser.y"
2390 { (yyval.Attr_val_fifo) = NULL; }
2394 /* Line 1787 of yacc.c */
2395 #line 450 "../../ntpd/ntp_parser.y"
2397 (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo);
2398 APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val));
2403 /* Line 1787 of yacc.c */
2404 #line 464 "../../ntpd/ntp_parser.y"
2405 { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[(1) - (1)].Integer)); }
2409 /* Line 1787 of yacc.c */
2410 #line 480 "../../ntpd/ntp_parser.y"
2411 { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); }
2415 /* Line 1787 of yacc.c */
2416 #line 482 "../../ntpd/ntp_parser.y"
2417 { (yyval.Attr_val) = create_attr_uval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); }
2421 /* Line 1787 of yacc.c */
2422 #line 496 "../../ntpd/ntp_parser.y"
2423 { (yyval.Attr_val) = create_attr_sval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].String)); }
2427 /* Line 1787 of yacc.c */
2428 #line 510 "../../ntpd/ntp_parser.y"
2430 unpeer_node *my_node;
2432 my_node = create_unpeer_node((yyvsp[(2) - (2)].Address_node));
2434 APPEND_G_FIFO(cfgt.unpeers, my_node);
2439 /* Line 1787 of yacc.c */
2440 #line 531 "../../ntpd/ntp_parser.y"
2441 { cfgt.broadcastclient = 1; }
2445 /* Line 1787 of yacc.c */
2446 #line 533 "../../ntpd/ntp_parser.y"
2447 { CONCAT_G_FIFOS(cfgt.manycastserver, (yyvsp[(2) - (2)].Address_fifo)); }
2451 /* Line 1787 of yacc.c */
2452 #line 535 "../../ntpd/ntp_parser.y"
2453 { CONCAT_G_FIFOS(cfgt.multicastclient, (yyvsp[(2) - (2)].Address_fifo)); }
2457 /* Line 1787 of yacc.c */
2458 #line 537 "../../ntpd/ntp_parser.y"
2459 { cfgt.mdnstries = (yyvsp[(2) - (2)].Integer); }
2463 /* Line 1787 of yacc.c */
2464 #line 548 "../../ntpd/ntp_parser.y"
2468 atrv = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer));
2469 APPEND_G_FIFO(cfgt.vars, atrv);
2474 /* Line 1787 of yacc.c */
2475 #line 555 "../../ntpd/ntp_parser.y"
2476 { cfgt.auth.control_key = (yyvsp[(2) - (2)].Integer); }
2480 /* Line 1787 of yacc.c */
2481 #line 557 "../../ntpd/ntp_parser.y"
2483 cfgt.auth.cryptosw++;
2484 CONCAT_G_FIFOS(cfgt.auth.crypto_cmd_list, (yyvsp[(2) - (2)].Attr_val_fifo));
2489 /* Line 1787 of yacc.c */
2490 #line 562 "../../ntpd/ntp_parser.y"
2491 { cfgt.auth.keys = (yyvsp[(2) - (2)].String); }
2495 /* Line 1787 of yacc.c */
2496 #line 564 "../../ntpd/ntp_parser.y"
2497 { cfgt.auth.keysdir = (yyvsp[(2) - (2)].String); }
2501 /* Line 1787 of yacc.c */
2502 #line 566 "../../ntpd/ntp_parser.y"
2503 { cfgt.auth.request_key = (yyvsp[(2) - (2)].Integer); }
2507 /* Line 1787 of yacc.c */
2508 #line 568 "../../ntpd/ntp_parser.y"
2509 { cfgt.auth.revoke = (yyvsp[(2) - (2)].Integer); }
2513 /* Line 1787 of yacc.c */
2514 #line 570 "../../ntpd/ntp_parser.y"
2516 cfgt.auth.trusted_key_list = (yyvsp[(2) - (2)].Attr_val_fifo);
2518 // if (!cfgt.auth.trusted_key_list)
2519 // cfgt.auth.trusted_key_list = $2;
2521 // LINK_SLIST(cfgt.auth.trusted_key_list, $2, link);
2526 /* Line 1787 of yacc.c */
2527 #line 579 "../../ntpd/ntp_parser.y"
2528 { cfgt.auth.ntp_signd_socket = (yyvsp[(2) - (2)].String); }
2532 /* Line 1787 of yacc.c */
2533 #line 584 "../../ntpd/ntp_parser.y"
2534 { (yyval.Attr_val_fifo) = NULL; }
2538 /* Line 1787 of yacc.c */
2539 #line 586 "../../ntpd/ntp_parser.y"
2541 (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo);
2542 APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val));
2547 /* Line 1787 of yacc.c */
2548 #line 594 "../../ntpd/ntp_parser.y"
2549 { (yyval.Attr_val) = create_attr_sval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].String)); }
2553 /* Line 1787 of yacc.c */
2554 #line 596 "../../ntpd/ntp_parser.y"
2556 (yyval.Attr_val) = NULL;
2557 cfgt.auth.revoke = (yyvsp[(2) - (2)].Integer);
2558 msyslog(LOG_WARNING,
2559 "'crypto revoke %d' is deprecated, "
2560 "please use 'revoke %d' instead.",
2561 cfgt.auth.revoke, cfgt.auth.revoke);
2566 /* Line 1787 of yacc.c */
2567 #line 621 "../../ntpd/ntp_parser.y"
2568 { CONCAT_G_FIFOS(cfgt.orphan_cmds, (yyvsp[(2) - (2)].Attr_val_fifo)); }
2572 /* Line 1787 of yacc.c */
2573 #line 626 "../../ntpd/ntp_parser.y"
2575 (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo);
2576 APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val));
2581 /* Line 1787 of yacc.c */
2582 #line 631 "../../ntpd/ntp_parser.y"
2584 (yyval.Attr_val_fifo) = NULL;
2585 APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val));
2590 /* Line 1787 of yacc.c */
2591 #line 639 "../../ntpd/ntp_parser.y"
2592 { (yyval.Attr_val) = create_attr_dval((yyvsp[(1) - (2)].Integer), (double)(yyvsp[(2) - (2)].Integer)); }
2596 /* Line 1787 of yacc.c */
2597 #line 641 "../../ntpd/ntp_parser.y"
2598 { (yyval.Attr_val) = create_attr_dval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Double)); }
2602 /* Line 1787 of yacc.c */
2603 #line 643 "../../ntpd/ntp_parser.y"
2604 { (yyval.Attr_val) = create_attr_dval((yyvsp[(1) - (2)].Integer), (double)(yyvsp[(2) - (2)].Integer)); }
2608 /* Line 1787 of yacc.c */
2609 #line 669 "../../ntpd/ntp_parser.y"
2610 { CONCAT_G_FIFOS(cfgt.stats_list, (yyvsp[(2) - (2)].Int_fifo)); }
2614 /* Line 1787 of yacc.c */
2615 #line 671 "../../ntpd/ntp_parser.y"
2617 if (lex_from_file()) {
2618 cfgt.stats_dir = (yyvsp[(2) - (2)].String);
2620 YYFREE((yyvsp[(2) - (2)].String));
2621 yyerror("statsdir remote configuration ignored");
2627 /* Line 1787 of yacc.c */
2628 #line 680 "../../ntpd/ntp_parser.y"
2632 fgn = create_filegen_node((yyvsp[(2) - (3)].Integer), (yyvsp[(3) - (3)].Attr_val_fifo));
2633 APPEND_G_FIFO(cfgt.filegen_opts, fgn);
2638 /* Line 1787 of yacc.c */
2639 #line 690 "../../ntpd/ntp_parser.y"
2641 (yyval.Int_fifo) = (yyvsp[(1) - (2)].Int_fifo);
2642 APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[(2) - (2)].Integer)));
2647 /* Line 1787 of yacc.c */
2648 #line 695 "../../ntpd/ntp_parser.y"
2650 (yyval.Int_fifo) = NULL;
2651 APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[(1) - (1)].Integer)));
2656 /* Line 1787 of yacc.c */
2657 #line 714 "../../ntpd/ntp_parser.y"
2658 { (yyval.Attr_val_fifo) = NULL; }
2662 /* Line 1787 of yacc.c */
2663 #line 716 "../../ntpd/ntp_parser.y"
2665 (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo);
2666 APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val));
2671 /* Line 1787 of yacc.c */
2672 #line 724 "../../ntpd/ntp_parser.y"
2674 if (lex_from_file()) {
2675 (yyval.Attr_val) = create_attr_sval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].String));
2677 (yyval.Attr_val) = NULL;
2678 YYFREE((yyvsp[(2) - (2)].String));
2679 yyerror("filegen file remote config ignored");
2685 /* Line 1787 of yacc.c */
2686 #line 734 "../../ntpd/ntp_parser.y"
2688 if (lex_from_file()) {
2689 (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer));
2691 (yyval.Attr_val) = NULL;
2692 yyerror("filegen type remote config ignored");
2698 /* Line 1787 of yacc.c */
2699 #line 743 "../../ntpd/ntp_parser.y"
2703 if (lex_from_file()) {
2704 (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[(1) - (1)].Integer));
2706 (yyval.Attr_val) = NULL;
2707 if (T_Link == (yyvsp[(1) - (1)].Integer))
2708 err = "filegen link remote config ignored";
2710 err = "filegen nolink remote config ignored";
2717 /* Line 1787 of yacc.c */
2718 #line 758 "../../ntpd/ntp_parser.y"
2719 { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[(1) - (1)].Integer)); }
2723 /* Line 1787 of yacc.c */
2724 #line 788 "../../ntpd/ntp_parser.y"
2726 CONCAT_G_FIFOS(cfgt.discard_opts, (yyvsp[(2) - (2)].Attr_val_fifo));
2731 /* Line 1787 of yacc.c */
2732 #line 792 "../../ntpd/ntp_parser.y"
2734 CONCAT_G_FIFOS(cfgt.mru_opts, (yyvsp[(2) - (2)].Attr_val_fifo));
2739 /* Line 1787 of yacc.c */
2740 #line 796 "../../ntpd/ntp_parser.y"
2744 rn = create_restrict_node((yyvsp[(2) - (3)].Address_node), NULL, (yyvsp[(3) - (3)].Int_fifo),
2745 lex_current()->curpos.nline);
2746 APPEND_G_FIFO(cfgt.restrict_opts, rn);
2751 /* Line 1787 of yacc.c */
2752 #line 804 "../../ntpd/ntp_parser.y"
2756 rn = create_restrict_node((yyvsp[(2) - (5)].Address_node), (yyvsp[(4) - (5)].Address_node), (yyvsp[(5) - (5)].Int_fifo),
2757 lex_current()->curpos.nline);
2758 APPEND_G_FIFO(cfgt.restrict_opts, rn);
2763 /* Line 1787 of yacc.c */
2764 #line 812 "../../ntpd/ntp_parser.y"
2768 rn = create_restrict_node(NULL, NULL, (yyvsp[(3) - (3)].Int_fifo),
2769 lex_current()->curpos.nline);
2770 APPEND_G_FIFO(cfgt.restrict_opts, rn);
2775 /* Line 1787 of yacc.c */
2776 #line 820 "../../ntpd/ntp_parser.y"
2780 rn = create_restrict_node(
2781 create_address_node(
2784 create_address_node(
2787 (yyvsp[(4) - (4)].Int_fifo),
2788 lex_current()->curpos.nline);
2789 APPEND_G_FIFO(cfgt.restrict_opts, rn);
2794 /* Line 1787 of yacc.c */
2795 #line 835 "../../ntpd/ntp_parser.y"
2799 rn = create_restrict_node(
2800 create_address_node(
2803 create_address_node(
2806 (yyvsp[(4) - (4)].Int_fifo),
2807 lex_current()->curpos.nline);
2808 APPEND_G_FIFO(cfgt.restrict_opts, rn);
2813 /* Line 1787 of yacc.c */
2814 #line 850 "../../ntpd/ntp_parser.y"
2818 APPEND_G_FIFO((yyvsp[(3) - (3)].Int_fifo), create_int_node((yyvsp[(2) - (3)].Integer)));
2819 rn = create_restrict_node(
2820 NULL, NULL, (yyvsp[(3) - (3)].Int_fifo), lex_current()->curpos.nline);
2821 APPEND_G_FIFO(cfgt.restrict_opts, rn);
2826 /* Line 1787 of yacc.c */
2827 #line 862 "../../ntpd/ntp_parser.y"
2828 { (yyval.Int_fifo) = NULL; }
2832 /* Line 1787 of yacc.c */
2833 #line 864 "../../ntpd/ntp_parser.y"
2835 (yyval.Int_fifo) = (yyvsp[(1) - (2)].Int_fifo);
2836 APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[(2) - (2)].Integer)));
2841 /* Line 1787 of yacc.c */
2842 #line 890 "../../ntpd/ntp_parser.y"
2844 (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo);
2845 APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val));
2850 /* Line 1787 of yacc.c */
2851 #line 895 "../../ntpd/ntp_parser.y"
2853 (yyval.Attr_val_fifo) = NULL;
2854 APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val));
2859 /* Line 1787 of yacc.c */
2860 #line 903 "../../ntpd/ntp_parser.y"
2861 { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); }
2865 /* Line 1787 of yacc.c */
2866 #line 914 "../../ntpd/ntp_parser.y"
2868 (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo);
2869 APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val));
2874 /* Line 1787 of yacc.c */
2875 #line 919 "../../ntpd/ntp_parser.y"
2877 (yyval.Attr_val_fifo) = NULL;
2878 APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val));
2883 /* Line 1787 of yacc.c */
2884 #line 927 "../../ntpd/ntp_parser.y"
2885 { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); }
2889 /* Line 1787 of yacc.c */
2890 #line 947 "../../ntpd/ntp_parser.y"
2892 addr_opts_node *aon;
2894 aon = create_addr_opts_node((yyvsp[(2) - (3)].Address_node), (yyvsp[(3) - (3)].Attr_val_fifo));
2895 APPEND_G_FIFO(cfgt.fudge, aon);
2900 /* Line 1787 of yacc.c */
2901 #line 957 "../../ntpd/ntp_parser.y"
2903 (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo);
2904 APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val));
2909 /* Line 1787 of yacc.c */
2910 #line 962 "../../ntpd/ntp_parser.y"
2912 (yyval.Attr_val_fifo) = NULL;
2913 APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val));
2918 /* Line 1787 of yacc.c */
2919 #line 970 "../../ntpd/ntp_parser.y"
2920 { (yyval.Attr_val) = create_attr_dval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Double)); }
2924 /* Line 1787 of yacc.c */
2925 #line 972 "../../ntpd/ntp_parser.y"
2926 { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); }
2930 /* Line 1787 of yacc.c */
2931 #line 974 "../../ntpd/ntp_parser.y"
2933 if ((yyvsp[(2) - (2)].Integer) >= 0 && (yyvsp[(2) - (2)].Integer) <= 16) {
2934 (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer));
2936 (yyval.Attr_val) = NULL;
2937 yyerror("fudge factor: stratum value not in [0..16], ignored");
2943 /* Line 1787 of yacc.c */
2944 #line 983 "../../ntpd/ntp_parser.y"
2945 { (yyval.Attr_val) = create_attr_sval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].String)); }
2949 /* Line 1787 of yacc.c */
2950 #line 985 "../../ntpd/ntp_parser.y"
2951 { (yyval.Attr_val) = create_attr_sval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].String)); }
2955 /* Line 1787 of yacc.c */
2956 #line 1006 "../../ntpd/ntp_parser.y"
2957 { CONCAT_G_FIFOS(cfgt.rlimit, (yyvsp[(2) - (2)].Attr_val_fifo)); }
2961 /* Line 1787 of yacc.c */
2962 #line 1011 "../../ntpd/ntp_parser.y"
2964 (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo);
2965 APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val));
2970 /* Line 1787 of yacc.c */
2971 #line 1016 "../../ntpd/ntp_parser.y"
2973 (yyval.Attr_val_fifo) = NULL;
2974 APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val));
2979 /* Line 1787 of yacc.c */
2980 #line 1024 "../../ntpd/ntp_parser.y"
2981 { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); }
2985 /* Line 1787 of yacc.c */
2986 #line 1040 "../../ntpd/ntp_parser.y"
2987 { CONCAT_G_FIFOS(cfgt.enable_opts, (yyvsp[(2) - (2)].Attr_val_fifo)); }
2991 /* Line 1787 of yacc.c */
2992 #line 1042 "../../ntpd/ntp_parser.y"
2993 { CONCAT_G_FIFOS(cfgt.disable_opts, (yyvsp[(2) - (2)].Attr_val_fifo)); }
2997 /* Line 1787 of yacc.c */
2998 #line 1047 "../../ntpd/ntp_parser.y"
3000 (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo);
3001 APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val));
3006 /* Line 1787 of yacc.c */
3007 #line 1052 "../../ntpd/ntp_parser.y"
3009 (yyval.Attr_val_fifo) = NULL;
3010 APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val));
3015 /* Line 1787 of yacc.c */
3016 #line 1060 "../../ntpd/ntp_parser.y"
3017 { (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[(1) - (1)].Integer)); }
3021 /* Line 1787 of yacc.c */
3022 #line 1062 "../../ntpd/ntp_parser.y"
3024 if (lex_from_file()) {
3025 (yyval.Attr_val) = create_attr_ival(T_Flag, (yyvsp[(1) - (1)].Integer));
3029 (yyval.Attr_val) = NULL;
3030 snprintf(err_str, sizeof(err_str),
3031 "enable/disable %s remote configuration ignored",
3032 keyword((yyvsp[(1) - (1)].Integer)));
3039 /* Line 1787 of yacc.c */
3040 #line 1100 "../../ntpd/ntp_parser.y"
3041 { CONCAT_G_FIFOS(cfgt.tinker, (yyvsp[(2) - (2)].Attr_val_fifo)); }
3045 /* Line 1787 of yacc.c */
3046 #line 1105 "../../ntpd/ntp_parser.y"
3048 (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo);
3049 APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val));
3054 /* Line 1787 of yacc.c */
3055 #line 1110 "../../ntpd/ntp_parser.y"
3057 (yyval.Attr_val_fifo) = NULL;
3058 APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val));
3063 /* Line 1787 of yacc.c */
3064 #line 1118 "../../ntpd/ntp_parser.y"
3065 { (yyval.Attr_val) = create_attr_dval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Double)); }
3069 /* Line 1787 of yacc.c */
3070 #line 1143 "../../ntpd/ntp_parser.y"
3074 av = create_attr_dval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Double));
3075 APPEND_G_FIFO(cfgt.vars, av);
3080 /* Line 1787 of yacc.c */
3081 #line 1150 "../../ntpd/ntp_parser.y"
3085 av = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer));
3086 APPEND_G_FIFO(cfgt.vars, av);
3091 /* Line 1787 of yacc.c */
3092 #line 1157 "../../ntpd/ntp_parser.y"
3096 av = create_attr_sval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].String));
3097 APPEND_G_FIFO(cfgt.vars, av);
3102 /* Line 1787 of yacc.c */
3103 #line 1164 "../../ntpd/ntp_parser.y"
3105 char error_text[64];
3108 if (lex_from_file()) {
3109 av = create_attr_sval((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].String));
3110 APPEND_G_FIFO(cfgt.vars, av);
3112 YYFREE((yyvsp[(2) - (2)].String));
3113 snprintf(error_text, sizeof(error_text),
3114 "%s remote config ignored",
3115 keyword((yyvsp[(1) - (2)].Integer)));
3116 yyerror(error_text);
3122 /* Line 1787 of yacc.c */
3123 #line 1180 "../../ntpd/ntp_parser.y"
3125 if (!lex_from_file()) {
3126 YYFREE((yyvsp[(2) - (3)].String)); /* avoid leak */
3127 yyerror("remote includefile ignored");
3130 if (lex_level() > MAXINCLUDELEVEL) {
3131 fprintf(stderr, "getconfig: Maximum include file level exceeded.\n");
3132 msyslog(LOG_ERR, "getconfig: Maximum include file level exceeded.");
3134 const char * path = FindConfig((yyvsp[(2) - (3)].String)); /* might return $2! */
3135 if (!lex_push_file(path, "r")) {
3136 fprintf(stderr, "getconfig: Couldn't open <%s>\n", path);
3137 msyslog(LOG_ERR, "getconfig: Couldn't open <%s>", path);
3140 YYFREE((yyvsp[(2) - (3)].String)); /* avoid leak */
3145 /* Line 1787 of yacc.c */
3146 #line 1199 "../../ntpd/ntp_parser.y"
3147 { lex_flush_stack(); }
3151 /* Line 1787 of yacc.c */
3152 #line 1201 "../../ntpd/ntp_parser.y"
3153 { /* see drift_parm below for actions */ }
3157 /* Line 1787 of yacc.c */
3158 #line 1203 "../../ntpd/ntp_parser.y"
3159 { CONCAT_G_FIFOS(cfgt.logconfig, (yyvsp[(2) - (2)].Attr_val_fifo)); }
3163 /* Line 1787 of yacc.c */
3164 #line 1205 "../../ntpd/ntp_parser.y"
3165 { CONCAT_G_FIFOS(cfgt.phone, (yyvsp[(2) - (2)].String_fifo)); }
3169 /* Line 1787 of yacc.c */
3170 #line 1207 "../../ntpd/ntp_parser.y"
3171 { APPEND_G_FIFO(cfgt.setvar, (yyvsp[(2) - (2)].Set_var)); }
3175 /* Line 1787 of yacc.c */
3176 #line 1209 "../../ntpd/ntp_parser.y"
3178 addr_opts_node *aon;
3180 aon = create_addr_opts_node((yyvsp[(2) - (3)].Address_node), (yyvsp[(3) - (3)].Attr_val_fifo));
3181 APPEND_G_FIFO(cfgt.trap, aon);
3186 /* Line 1787 of yacc.c */
3187 #line 1216 "../../ntpd/ntp_parser.y"
3188 { CONCAT_G_FIFOS(cfgt.ttl, (yyvsp[(2) - (2)].Attr_val_fifo)); }
3192 /* Line 1787 of yacc.c */
3193 #line 1231 "../../ntpd/ntp_parser.y"
3196 yyerror("Built without LEAP_SMEAR support.");
3202 /* Line 1787 of yacc.c */
3203 #line 1251 "../../ntpd/ntp_parser.y"
3205 if (lex_from_file()) {
3207 av = create_attr_sval(T_Driftfile, (yyvsp[(1) - (1)].String));
3208 APPEND_G_FIFO(cfgt.vars, av);
3210 YYFREE((yyvsp[(1) - (1)].String));
3211 yyerror("driftfile remote configuration ignored");
3217 /* Line 1787 of yacc.c */
3218 #line 1262 "../../ntpd/ntp_parser.y"
3220 if (lex_from_file()) {
3222 av = create_attr_sval(T_Driftfile, (yyvsp[(1) - (2)].String));
3223 APPEND_G_FIFO(cfgt.vars, av);
3224 av = create_attr_dval(T_WanderThreshold, (yyvsp[(2) - (2)].Double));
3225 APPEND_G_FIFO(cfgt.vars, av);
3227 YYFREE((yyvsp[(1) - (2)].String));
3228 yyerror("driftfile remote configuration ignored");
3234 /* Line 1787 of yacc.c */
3235 #line 1275 "../../ntpd/ntp_parser.y"
3237 if (lex_from_file()) {
3239 av = create_attr_sval(T_Driftfile, estrdup(""));
3240 APPEND_G_FIFO(cfgt.vars, av);
3242 yyerror("driftfile remote configuration ignored");
3248 /* Line 1787 of yacc.c */
3249 #line 1288 "../../ntpd/ntp_parser.y"
3250 { (yyval.Set_var) = create_setvar_node((yyvsp[(1) - (4)].String), (yyvsp[(3) - (4)].String), (yyvsp[(4) - (4)].Integer)); }
3254 /* Line 1787 of yacc.c */
3255 #line 1294 "../../ntpd/ntp_parser.y"
3256 { (yyval.Integer) = 0; }
3260 /* Line 1787 of yacc.c */
3261 #line 1299 "../../ntpd/ntp_parser.y"
3262 { (yyval.Attr_val_fifo) = NULL; }
3266 /* Line 1787 of yacc.c */
3267 #line 1301 "../../ntpd/ntp_parser.y"
3269 (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo);
3270 APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val));
3275 /* Line 1787 of yacc.c */
3276 #line 1309 "../../ntpd/ntp_parser.y"
3277 { (yyval.Attr_val) = create_attr_ival((yyvsp[(1) - (2)].Integer), (yyvsp[(2) - (2)].Integer)); }
3281 /* Line 1787 of yacc.c */
3282 #line 1311 "../../ntpd/ntp_parser.y"
3284 (yyval.Attr_val) = create_attr_sval((yyvsp[(1) - (2)].Integer), estrdup((yyvsp[(2) - (2)].Address_node)->address));
3285 destroy_address_node((yyvsp[(2) - (2)].Address_node));
3290 /* Line 1787 of yacc.c */
3291 #line 1319 "../../ntpd/ntp_parser.y"
3293 (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo);
3294 APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val));
3299 /* Line 1787 of yacc.c */
3300 #line 1324 "../../ntpd/ntp_parser.y"
3302 (yyval.Attr_val_fifo) = NULL;
3303 APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val));
3308 /* Line 1787 of yacc.c */
3309 #line 1332 "../../ntpd/ntp_parser.y"
3314 switch ((yyvsp[(1) - (1)].String)[0]) {
3319 prefix = (yyvsp[(1) - (1)].String)[0];
3320 type = (yyvsp[(1) - (1)].String) + 1;
3325 type = (yyvsp[(1) - (1)].String);
3328 (yyval.Attr_val) = create_attr_sval(prefix, estrdup(type));
3329 YYFREE((yyvsp[(1) - (1)].String));
3334 /* Line 1787 of yacc.c */
3335 #line 1357 "../../ntpd/ntp_parser.y"
3339 nrn = create_nic_rule_node((yyvsp[(3) - (3)].Integer), NULL, (yyvsp[(2) - (3)].Integer));
3340 APPEND_G_FIFO(cfgt.nic_rules, nrn);
3345 /* Line 1787 of yacc.c */
3346 #line 1364 "../../ntpd/ntp_parser.y"
3350 nrn = create_nic_rule_node(0, (yyvsp[(3) - (3)].String), (yyvsp[(2) - (3)].Integer));
3351 APPEND_G_FIFO(cfgt.nic_rules, nrn);
3356 /* Line 1787 of yacc.c */
3357 #line 1392 "../../ntpd/ntp_parser.y"
3358 { CONCAT_G_FIFOS(cfgt.reset_counters, (yyvsp[(2) - (2)].Int_fifo)); }
3362 /* Line 1787 of yacc.c */
3363 #line 1397 "../../ntpd/ntp_parser.y"
3365 (yyval.Int_fifo) = (yyvsp[(1) - (2)].Int_fifo);
3366 APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[(2) - (2)].Integer)));
3371 /* Line 1787 of yacc.c */
3372 #line 1402 "../../ntpd/ntp_parser.y"
3374 (yyval.Int_fifo) = NULL;
3375 APPEND_G_FIFO((yyval.Int_fifo), create_int_node((yyvsp[(1) - (1)].Integer)));
3380 /* Line 1787 of yacc.c */
3381 #line 1426 "../../ntpd/ntp_parser.y"
3383 (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo);
3384 APPEND_G_FIFO((yyval.Attr_val_fifo), create_int_node((yyvsp[(2) - (2)].Integer)));
3389 /* Line 1787 of yacc.c */
3390 #line 1431 "../../ntpd/ntp_parser.y"
3392 (yyval.Attr_val_fifo) = NULL;
3393 APPEND_G_FIFO((yyval.Attr_val_fifo), create_int_node((yyvsp[(1) - (1)].Integer)));
3398 /* Line 1787 of yacc.c */
3399 #line 1439 "../../ntpd/ntp_parser.y"
3401 (yyval.Attr_val_fifo) = (yyvsp[(1) - (2)].Attr_val_fifo);
3402 APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (2)].Attr_val));
3407 /* Line 1787 of yacc.c */
3408 #line 1444 "../../ntpd/ntp_parser.y"
3410 (yyval.Attr_val_fifo) = NULL;
3411 APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (1)].Attr_val));
3416 /* Line 1787 of yacc.c */
3417 #line 1452 "../../ntpd/ntp_parser.y"
3418 { (yyval.Attr_val) = create_attr_ival('i', (yyvsp[(1) - (1)].Integer)); }
3422 /* Line 1787 of yacc.c */
3423 #line 1458 "../../ntpd/ntp_parser.y"
3424 { (yyval.Attr_val) = create_attr_rangeval('-', (yyvsp[(2) - (5)].Integer), (yyvsp[(4) - (5)].Integer)); }
3428 /* Line 1787 of yacc.c */
3429 #line 1463 "../../ntpd/ntp_parser.y"
3431 (yyval.String_fifo) = (yyvsp[(1) - (2)].String_fifo);
3432 APPEND_G_FIFO((yyval.String_fifo), create_string_node((yyvsp[(2) - (2)].String)));
3437 /* Line 1787 of yacc.c */
3438 #line 1468 "../../ntpd/ntp_parser.y"
3440 (yyval.String_fifo) = NULL;
3441 APPEND_G_FIFO((yyval.String_fifo), create_string_node((yyvsp[(1) - (1)].String)));
3446 /* Line 1787 of yacc.c */
3447 #line 1476 "../../ntpd/ntp_parser.y"
3449 (yyval.Address_fifo) = (yyvsp[(1) - (2)].Address_fifo);
3450 APPEND_G_FIFO((yyval.Address_fifo), (yyvsp[(2) - (2)].Address_node));
3455 /* Line 1787 of yacc.c */
3456 #line 1481 "../../ntpd/ntp_parser.y"
3458 (yyval.Address_fifo) = NULL;
3459 APPEND_G_FIFO((yyval.Address_fifo), (yyvsp[(1) - (1)].Address_node));
3464 /* Line 1787 of yacc.c */
3465 #line 1489 "../../ntpd/ntp_parser.y"
3467 if ((yyvsp[(1) - (1)].Integer) != 0 && (yyvsp[(1) - (1)].Integer) != 1) {
3468 yyerror("Integer value is not boolean (0 or 1). Assuming 1");
3469 (yyval.Integer) = 1;
3471 (yyval.Integer) = (yyvsp[(1) - (1)].Integer);
3477 /* Line 1787 of yacc.c */
3478 #line 1497 "../../ntpd/ntp_parser.y"
3479 { (yyval.Integer) = 1; }
3483 /* Line 1787 of yacc.c */
3484 #line 1498 "../../ntpd/ntp_parser.y"
3485 { (yyval.Integer) = 0; }
3489 /* Line 1787 of yacc.c */
3490 #line 1502 "../../ntpd/ntp_parser.y"
3491 { (yyval.Double) = (double)(yyvsp[(1) - (1)].Integer); }
3495 /* Line 1787 of yacc.c */
3496 #line 1513 "../../ntpd/ntp_parser.y"
3500 sn = create_sim_node((yyvsp[(3) - (5)].Attr_val_fifo), (yyvsp[(4) - (5)].Sim_server_fifo));
3501 APPEND_G_FIFO(cfgt.sim_details, sn);
3503 /* Revert from ; to \n for end-of-command */
3504 old_config_style = 1;
3509 /* Line 1787 of yacc.c */
3510 #line 1530 "../../ntpd/ntp_parser.y"
3511 { old_config_style = 0; }
3515 /* Line 1787 of yacc.c */
3516 #line 1535 "../../ntpd/ntp_parser.y"
3518 (yyval.Attr_val_fifo) = (yyvsp[(1) - (3)].Attr_val_fifo);
3519 APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (3)].Attr_val));
3524 /* Line 1787 of yacc.c */
3525 #line 1540 "../../ntpd/ntp_parser.y"
3527 (yyval.Attr_val_fifo) = NULL;
3528 APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (2)].Attr_val));
3533 /* Line 1787 of yacc.c */
3534 #line 1548 "../../ntpd/ntp_parser.y"
3535 { (yyval.Attr_val) = create_attr_dval((yyvsp[(1) - (3)].Integer), (yyvsp[(3) - (3)].Double)); }
3539 /* Line 1787 of yacc.c */
3540 #line 1558 "../../ntpd/ntp_parser.y"
3542 (yyval.Sim_server_fifo) = (yyvsp[(1) - (2)].Sim_server_fifo);
3543 APPEND_G_FIFO((yyval.Sim_server_fifo), (yyvsp[(2) - (2)].Sim_server));
3548 /* Line 1787 of yacc.c */
3549 #line 1563 "../../ntpd/ntp_parser.y"
3551 (yyval.Sim_server_fifo) = NULL;
3552 APPEND_G_FIFO((yyval.Sim_server_fifo), (yyvsp[(1) - (1)].Sim_server));
3557 /* Line 1787 of yacc.c */
3558 #line 1571 "../../ntpd/ntp_parser.y"
3559 { (yyval.Sim_server) = ONLY_SIM(create_sim_server((yyvsp[(1) - (5)].Address_node), (yyvsp[(3) - (5)].Double), (yyvsp[(4) - (5)].Sim_script_fifo))); }
3563 /* Line 1787 of yacc.c */
3564 #line 1576 "../../ntpd/ntp_parser.y"
3565 { (yyval.Double) = (yyvsp[(3) - (4)].Double); }
3569 /* Line 1787 of yacc.c */
3570 #line 1581 "../../ntpd/ntp_parser.y"
3571 { (yyval.Address_node) = (yyvsp[(3) - (3)].Address_node); }
3575 /* Line 1787 of yacc.c */
3576 #line 1586 "../../ntpd/ntp_parser.y"
3578 (yyval.Sim_script_fifo) = (yyvsp[(1) - (2)].Sim_script_fifo);
3579 APPEND_G_FIFO((yyval.Sim_script_fifo), (yyvsp[(2) - (2)].Sim_script));
3584 /* Line 1787 of yacc.c */
3585 #line 1591 "../../ntpd/ntp_parser.y"
3587 (yyval.Sim_script_fifo) = NULL;
3588 APPEND_G_FIFO((yyval.Sim_script_fifo), (yyvsp[(1) - (1)].Sim_script));
3593 /* Line 1787 of yacc.c */
3594 #line 1599 "../../ntpd/ntp_parser.y"
3595 { (yyval.Sim_script) = ONLY_SIM(create_sim_script_info((yyvsp[(3) - (6)].Double), (yyvsp[(5) - (6)].Attr_val_fifo))); }
3599 /* Line 1787 of yacc.c */
3600 #line 1604 "../../ntpd/ntp_parser.y"
3602 (yyval.Attr_val_fifo) = (yyvsp[(1) - (3)].Attr_val_fifo);
3603 APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(2) - (3)].Attr_val));
3608 /* Line 1787 of yacc.c */
3609 #line 1609 "../../ntpd/ntp_parser.y"
3611 (yyval.Attr_val_fifo) = NULL;
3612 APPEND_G_FIFO((yyval.Attr_val_fifo), (yyvsp[(1) - (2)].Attr_val));
3617 /* Line 1787 of yacc.c */
3618 #line 1617 "../../ntpd/ntp_parser.y"
3619 { (yyval.Attr_val) = create_attr_dval((yyvsp[(1) - (3)].Integer), (yyvsp[(3) - (3)].Double)); }
3623 /* Line 1787 of yacc.c */
3624 #line 3625 "ntp_parser.c"
3627 /* User semantic actions sometimes alter yychar, and that requires
3628 that yytoken be updated with the new translation. We take the
3629 approach of translating immediately before every use of yytoken.
3630 One alternative is translating here after every semantic action,
3631 but that translation would be missed if the semantic action invokes
3632 YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
3633 if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
3634 incorrect destructor might then be invoked immediately. In the
3635 case of YYERROR or YYBACKUP, subsequent parser actions might lead
3636 to an incorrect destructor call or verbose syntax error message
3637 before the lookahead is translated. */
3638 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
3642 YY_STACK_PRINT (yyss, yyssp);
3646 /* Now `shift' the result of the reduction. Determine what state
3647 that goes to, based on the state we popped back to and the rule
3648 number reduced by. */
3652 yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
3653 if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
3654 yystate = yytable[yystate];
3656 yystate = yydefgoto[yyn - YYNTOKENS];
3661 /*------------------------------------.
3662 | yyerrlab -- here on detecting error |
3663 `------------------------------------*/
3665 /* Make sure we have latest lookahead translation. See comments at
3666 user semantic actions for why this is necessary. */
3667 yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
3669 /* If not already recovering from an error, report this error. */
3673 #if ! YYERROR_VERBOSE
3674 yyerror (YY_("syntax error"));
3676 # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
3679 char const *yymsgp = YY_("syntax error");
3680 int yysyntax_error_status;
3681 yysyntax_error_status = YYSYNTAX_ERROR;
3682 if (yysyntax_error_status == 0)
3684 else if (yysyntax_error_status == 1)
3686 if (yymsg != yymsgbuf)
3687 YYSTACK_FREE (yymsg);
3688 yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
3692 yymsg_alloc = sizeof yymsgbuf;
3693 yysyntax_error_status = 2;
3697 yysyntax_error_status = YYSYNTAX_ERROR;
3702 if (yysyntax_error_status == 2)
3703 goto yyexhaustedlab;
3705 # undef YYSYNTAX_ERROR
3711 if (yyerrstatus == 3)
3713 /* If just tried and failed to reuse lookahead token after an
3714 error, discard it. */
3716 if (yychar <= YYEOF)
3718 /* Return failure if at end of input. */
3719 if (yychar == YYEOF)
3724 yydestruct ("Error: discarding",
3730 /* Else will try to reuse lookahead token after shifting the error
3735 /*---------------------------------------------------.
3736 | yyerrorlab -- error raised explicitly by YYERROR. |
3737 `---------------------------------------------------*/
3740 /* Pacify compilers like GCC when the user code never invokes
3741 YYERROR and the label yyerrorlab therefore never appears in user
3743 if (/*CONSTCOND*/ 0)
3746 /* Do not reclaim the symbols of the rule which action triggered
3750 YY_STACK_PRINT (yyss, yyssp);
3755 /*-------------------------------------------------------------.
3756 | yyerrlab1 -- common code for both syntax error and YYERROR. |
3757 `-------------------------------------------------------------*/
3759 yyerrstatus = 3; /* Each real token shifted decrements this. */
3763 yyn = yypact[yystate];
3764 if (!yypact_value_is_default (yyn))
3767 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
3775 /* Pop the current state because it cannot handle the error token. */
3780 yydestruct ("Error: popping",
3781 yystos[yystate], yyvsp);
3784 YY_STACK_PRINT (yyss, yyssp);
3787 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
3789 YY_IGNORE_MAYBE_UNINITIALIZED_END
3792 /* Shift the error token. */
3793 YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
3799 /*-------------------------------------.
3800 | yyacceptlab -- YYACCEPT comes here. |
3801 `-------------------------------------*/
3806 /*-----------------------------------.
3807 | yyabortlab -- YYABORT comes here. |
3808 `-----------------------------------*/
3813 #if !defined yyoverflow || YYERROR_VERBOSE
3814 /*-------------------------------------------------.
3815 | yyexhaustedlab -- memory exhaustion comes here. |
3816 `-------------------------------------------------*/
3818 yyerror (YY_("memory exhausted"));
3824 if (yychar != YYEMPTY)
3826 /* Make sure we have latest lookahead translation. See comments at
3827 user semantic actions for why this is necessary. */
3828 yytoken = YYTRANSLATE (yychar);
3829 yydestruct ("Cleanup: discarding lookahead",
3832 /* Do not reclaim the symbols of the rule which action triggered
3833 this YYABORT or YYACCEPT. */
3835 YY_STACK_PRINT (yyss, yyssp);
3836 while (yyssp != yyss)
3838 yydestruct ("Cleanup: popping",
3839 yystos[*yyssp], yyvsp);
3844 YYSTACK_FREE (yyss);
3847 if (yymsg != yymsgbuf)
3848 YYSTACK_FREE (yymsg);
3850 /* Make sure YYID is used. */
3851 return YYID (yyresult);
3855 /* Line 2050 of yacc.c */
3856 #line 1628 "../../ntpd/ntp_parser.y"
3865 struct FILE_INFO * ip_ctx;
3867 ip_ctx = lex_current();
3868 ip_ctx->errpos = ip_ctx->tokpos;
3870 msyslog(LOG_ERR, "line %d column %d %s",
3871 ip_ctx->errpos.nline, ip_ctx->errpos.ncol, msg);
3872 if (!lex_from_file()) {
3873 /* Save the error message in the correct buffer */
3874 retval = snprintf(remote_config.err_msg + remote_config.err_pos,
3875 MAXLINE - remote_config.err_pos,
3877 ip_ctx->errpos.ncol, msg);
3879 /* Increment the value of err_pos */
3881 remote_config.err_pos += retval;
3883 /* Increment the number of errors */
3884 ++remote_config.no_errors;
3890 * token_name - convert T_ token integers to text
3891 * example: token_name(T_Server) returns "T_Server"
3898 return yytname[YYTRANSLATE(token)];
3902 /* Initial Testing function -- ignore */
3904 int main(int argc, char *argv[])
3906 ip_file = FOPEN(argv[1], "r");
3908 fprintf(stderr, "ERROR!! Could not open file: %s\n", argv[1]);