47 #define YYBISON_VERSION "2.5"
50 #define YYSKELETON_NAME "yacc.c"
62 #define YYLSP_NEEDED 1
65 #define yyparse ael_yyparse
66 #define yylex ael_yylex
67 #define yyerror ael_yyerror
68 #define yylval ael_yylval
69 #define yychar ael_yychar
70 #define yydebug ael_yydebug
71 #define yynerrs ael_yynerrs
72 #define yylloc ael_yylloc
124 #define YYLEX_PARAM ((struct parse_io *)parseio)->scanner
125 #define YYERROR_VERBOSE 1
129 int ael_is_funcname(
char *
name);
136 #line 137 "ael.tab.c"
144 #ifdef YYERROR_VERBOSE
145 # undef YYERROR_VERBOSE
146 # define YYERROR_VERBOSE 1
148 # define YYERROR_VERBOSE 1
152 #ifndef YYTOKEN_TABLE
153 # define YYTOKEN_TABLE 0
209 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
223 #line 224 "ael.tab.c"
225 # define YYSTYPE_IS_TRIVIAL 1
226 # define yystype YYSTYPE
227 # define YYSTYPE_IS_DECLARED 1
230 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
238 # define yyltype YYLTYPE
239 # define YYLTYPE_IS_DECLARED 1
240 # define YYLTYPE_IS_TRIVIAL 1
270 #line 271 "ael.tab.c"
284 #elif (defined __STDC__ || defined __C99__FUNC__ \
285 || defined __cplusplus || defined _MSC_VER)
304 # ifdef __SIZE_TYPE__
305 # define YYSIZE_T __SIZE_TYPE__
306 # elif defined size_t
307 # define YYSIZE_T size_t
308 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
309 || defined __cplusplus || defined _MSC_VER)
311 # define YYSIZE_T size_t
313 # define YYSIZE_T unsigned int
317 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
320 # if defined YYENABLE_NLS && YYENABLE_NLS
322 # include <libintl.h>
323 # define YY_(msgid) dgettext ("bison-runtime", msgid)
327 # define YY_(msgid) msgid
332 #if ! defined lint || defined __GNUC__
333 # define YYUSE(e) ((void) (e))
342 #if (defined __STDC__ || defined __C99__FUNC__ \
343 || defined __cplusplus || defined _MSC_VER)
356 #if ! defined yyoverflow || YYERROR_VERBOSE
360 # ifdef YYSTACK_USE_ALLOCA
361 # if YYSTACK_USE_ALLOCA
363 # define YYSTACK_ALLOC __builtin_alloca
364 # elif defined __BUILTIN_VA_ARG_INCR
367 # define YYSTACK_ALLOC __alloca
368 # elif defined _MSC_VER
370 # define alloca _alloca
372 # define YYSTACK_ALLOC alloca
373 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
374 || defined __cplusplus || defined _MSC_VER)
376 # ifndef EXIT_SUCCESS
377 # define EXIT_SUCCESS 0
384 # ifdef YYSTACK_ALLOC
386 # define YYSTACK_FREE(Ptr) do { ; } while (YYID (0))
387 # ifndef YYSTACK_ALLOC_MAXIMUM
392 # define YYSTACK_ALLOC_MAXIMUM 4032
395 # define YYSTACK_ALLOC YYMALLOC
396 # define YYSTACK_FREE YYFREE
397 # ifndef YYSTACK_ALLOC_MAXIMUM
398 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
400 # if (defined __cplusplus && ! defined EXIT_SUCCESS \
401 && ! ((defined YYMALLOC || defined malloc) \
402 && (defined YYFREE || defined free)))
404 # ifndef EXIT_SUCCESS
405 # define EXIT_SUCCESS 0
409 # define YYMALLOC malloc
410 # if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
411 || defined __cplusplus || defined _MSC_VER)
417 # if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
418 || defined __cplusplus || defined _MSC_VER)
426 #if (! defined yyoverflow \
427 && (! defined __cplusplus \
428 || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
429 && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
440 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
444 # define YYSTACK_BYTES(N) \
445 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
446 + 2 * YYSTACK_GAP_MAXIMUM)
448 # define YYCOPY_NEEDED 1
455 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
458 YYSIZE_T yynewbytes; \
459 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
460 Stack = &yyptr->Stack_alloc; \
461 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
462 yyptr += yynewbytes / sizeof (*yyptr); \
468 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
472 # if defined __GNUC__ && 1 < __GNUC__
473 # define YYCOPY(To, From, Count) \
474 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
476 # define YYCOPY(To, From, Count) \
480 for (yyi = 0; yyi < (Count); yyi++) \
481 (To)[yyi] = (From)[yyi]; \
500 #define YYNSTATES 283
504 #define YYMAXUTOK 298
506 #define YYTRANSLATE(YYX) \
507 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
512 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
513 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
514 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
515 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
516 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
517 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
518 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
519 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
520 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
521 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
522 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
523 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
524 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
525 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
526 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
527 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
528 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
529 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
530 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
531 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
532 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
533 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
534 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
535 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
536 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
537 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
538 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
539 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
540 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
541 35, 36, 37, 38, 39, 40, 41, 42, 43
547 static const yytype_uint16 yyprhs[] =
549 0, 0, 3, 5, 7, 10, 13, 15, 17, 19,
550 21, 23, 25, 32, 34, 35, 37, 40, 43, 52,
551 57, 58, 61, 64, 65, 71, 72, 79, 80, 82,
552 86, 89, 90, 93, 96, 98, 100, 102, 104, 106,
553 108, 110, 113, 115, 120, 124, 130, 135, 143, 152,
554 153, 156, 159, 165, 167, 175, 176, 181, 184, 187,
555 192, 194, 197, 199, 202, 206, 210, 214, 216, 219,
556 223, 225, 228, 232, 238, 242, 244, 246, 250, 254,
557 257, 258, 259, 260, 273, 277, 279, 283, 286, 289,
558 290, 296, 299, 302, 305, 309, 311, 314, 315, 317,
559 321, 325, 331, 337, 343, 349, 350, 353, 356, 361,
560 362, 368, 372, 373, 377, 381, 384, 386, 387, 389,
561 390, 394, 395, 398, 403, 407, 412, 413, 416, 418,
562 420, 426, 431, 436, 437, 441, 447, 450, 452, 456,
567 static const yytype_int8 yyrhs[] =
569 45, 0, -1, 46, -1, 47, -1, 46, 47, -1,
570 46, 1, -1, 49, -1, 51, -1, 52, -1, 8,
571 -1, 43, -1, 37, -1, 50, 3, 48, 4, 59,
572 5, -1, 23, -1, -1, 24, -1, 24, 23, -1,
573 23, 24, -1, 15, 43, 6, 58, 7, 4, 92,
574 5, -1, 16, 4, 53, 5, -1, -1, 53, 54,
575 -1, 1, 53, -1, -1, 43, 9, 55, 43, 8,
576 -1, -1, 42, 43, 9, 57, 43, 8, -1, -1,
577 43, -1, 58, 10, 43, -1, 58, 1, -1, -1,
578 59, 60, -1, 1, 59, -1, 62, -1, 99, -1,
579 94, -1, 95, -1, 61, -1, 54, -1, 56, -1,
580 43, 1, -1, 8, -1, 17, 25, 43, 8, -1,
581 43, 25, 74, -1, 43, 14, 43, 25, 74, -1,
582 31, 43, 25, 74, -1, 32, 6, 70, 7, 43,
583 25, 74, -1, 31, 32, 6, 70, 7, 43, 25,
584 74, -1, -1, 63, 74, -1, 1, 63, -1, 71,
585 11, 71, 11, 71, -1, 43, -1, 64, 13, 71,
586 13, 71, 13, 71, -1, -1, 6, 67, 69, 7,
587 -1, 19, 66, -1, 22, 66, -1, 20, 6, 65,
588 7, -1, 43, -1, 43, 43, -1, 43, -1, 70,
589 43, -1, 70, 11, 43, -1, 70, 12, 43, -1,
590 70, 14, 43, -1, 43, -1, 43, 43, -1, 43,
591 43, 43, -1, 43, -1, 43, 43, -1, 72, 11,
592 43, -1, 18, 66, 4, 90, 5, -1, 4, 63,
593 5, -1, 54, -1, 56, -1, 26, 80, 8, -1,
594 27, 82, 8, -1, 43, 11, -1, -1, -1, -1,
595 33, 6, 75, 43, 8, 76, 43, 8, 77, 43,
596 7, 74, -1, 34, 66, 74, -1, 73, -1, 12,
597 83, 8, -1, 87, 8, -1, 43, 8, -1, -1,
598 87, 9, 78, 43, 8, -1, 29, 8, -1, 28,
599 8, -1, 30, 8, -1, 68, 74, 79, -1, 8,
600 -1, 21, 74, -1, -1, 72, -1, 72, 13, 72,
601 -1, 72, 10, 72, -1, 72, 13, 72, 13, 72,
602 -1, 72, 10, 72, 10, 72, -1, 37, 13, 72,
603 13, 72, -1, 37, 10, 72, 10, 72, -1, -1,
604 10, 43, -1, 72, 81, -1, 72, 81, 14, 48,
605 -1, -1, 43, 6, 84, 89, 7, -1, 43, 6,
606 7, -1, -1, 43, 6, 86, -1, 85, 89, 7,
607 -1, 85, 7, -1, 43, -1, -1, 69, -1, -1,
608 89, 10, 88, -1, -1, 90, 91, -1, 35, 43,
609 11, 63, -1, 37, 11, 63, -1, 36, 43, 11,
610 63, -1, -1, 92, 93, -1, 74, -1, 99, -1,
611 38, 43, 4, 63, 5, -1, 39, 4, 96, 5,
612 -1, 40, 4, 96, 5, -1, -1, 96, 43, 8,
613 -1, 96, 43, 14, 43, 8, -1, 1, 96, -1,
614 48, -1, 48, 13, 65, -1, 97, 8, -1, 98,
615 97, 8, -1, 98, 1, -1, 41, 4, 98, 5,
620 static const yytype_uint16 yyrline[] =
622 0, 191, 191, 194, 195, 196, 199, 200, 201, 202,
623 205, 206, 209, 218, 219, 220, 221, 222, 225, 231,
624 237, 238, 239, 242, 242, 248, 248, 255, 256, 257,
625 258, 261, 262, 263, 266, 267, 268, 269, 270, 271,
626 272, 273, 274, 277, 282, 286, 294, 299, 304, 313,
627 314, 315, 321, 331, 335, 343, 343, 347, 350, 353,
628 364, 365, 377, 378, 387, 396, 405, 416, 417, 427,
629 440, 441, 450, 461, 470, 473, 474, 475, 478, 481,
630 484, 485, 486, 484, 492, 496, 497, 498, 499, 502,
631 502, 535, 536, 537, 538, 542, 545, 546, 549, 550,
632 553, 556, 560, 564, 568, 574, 575, 579, 582, 588,
633 588, 593, 601, 601, 612, 619, 622, 623, 626, 627,
634 630, 633, 634, 637, 641, 645, 651, 652, 655, 656,
635 657, 663, 668, 673, 674, 675, 686, 689, 690, 697,
640 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
645 "$end",
"error",
"$undefined",
"KW_CONTEXT",
"LC",
"RC",
"LP",
"RP",
646 "SEMI",
"EQ",
"COMMA",
"COLON",
"AMPER",
"BAR",
"AT",
"KW_MACRO",
647 "KW_GLOBALS",
"KW_IGNOREPAT",
"KW_SWITCH",
"KW_IF",
"KW_IFTIME",
648 "KW_ELSE",
"KW_RANDOM",
"KW_ABSTRACT",
"KW_EXTEND",
"EXTENMARK",
649 "KW_GOTO",
"KW_JUMP",
"KW_RETURN",
"KW_BREAK",
"KW_CONTINUE",
650 "KW_REGEXTEN",
"KW_HINT",
"KW_FOR",
"KW_WHILE",
"KW_CASE",
"KW_PATTERN",
651 "KW_DEFAULT",
"KW_CATCH",
"KW_SWITCHES",
"KW_ESWITCHES",
"KW_INCLUDES",
652 "KW_LOCAL",
"word",
"$accept",
"file",
"objects",
"object",
653 "context_name",
"context",
"opt_abstract",
"macro",
"globals",
654 "global_statements",
"assignment",
"$@1",
"local_assignment",
"$@2",
655 "arglist",
"elements",
"element",
"ignorepat",
"extension",
"statements",
656 "timerange",
"timespec",
"test_expr",
"$@3",
"if_like_head",
"word_list",
657 "hint_word",
"word3_list",
"goto_word",
"switch_statement",
"statement",
658 "$@4",
"$@5",
"$@6",
"$@7",
"opt_else",
"target",
"opt_pri",
659 "jumptarget",
"macro_call",
"$@8",
"application_call_head",
"$@9",
660 "application_call",
"opt_word",
"eval_arglist",
"case_statements",
661 "case_statement",
"macro_statements",
"macro_statement",
"switches",
662 "eswitches",
"switchlist",
"included_entry",
"includeslist",
"includes", 0
669 static const yytype_uint16 yytoknum[] =
671 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
672 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
673 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
674 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
680 static const yytype_uint8
yyr1[] =
682 0, 44, 45, 46, 46, 46, 47, 47, 47, 47,
683 48, 48, 49, 50, 50, 50, 50, 50, 51, 52,
684 53, 53, 53, 55, 54, 57, 56, 58, 58, 58,
685 58, 59, 59, 59, 60, 60, 60, 60, 60, 60,
686 60, 60, 60, 61, 62, 62, 62, 62, 62, 63,
687 63, 63, 64, 64, 65, 67, 66, 68, 68, 68,
688 69, 69, 70, 70, 70, 70, 70, 71, 71, 71,
689 72, 72, 72, 73, 74, 74, 74, 74, 74, 74,
690 75, 76, 77, 74, 74, 74, 74, 74, 74, 78,
691 74, 74, 74, 74, 74, 74, 79, 79, 80, 80,
692 80, 80, 80, 80, 80, 81, 81, 82, 82, 84,
693 83, 83, 86, 85, 87, 87, 88, 88, 89, 89,
694 89, 90, 90, 91, 91, 91, 92, 92, 93, 93,
695 93, 94, 95, 96, 96, 96, 96, 97, 97, 98,
700 static const yytype_uint8
yyr2[] =
702 0, 2, 1, 1, 2, 2, 1, 1, 1, 1,
703 1, 1, 6, 1, 0, 1, 2, 2, 8, 4,
704 0, 2, 2, 0, 5, 0, 6, 0, 1, 3,
705 2, 0, 2, 2, 1, 1, 1, 1, 1, 1,
706 1, 2, 1, 4, 3, 5, 4, 7, 8, 0,
707 2, 2, 5, 1, 7, 0, 4, 2, 2, 4,
708 1, 2, 1, 2, 3, 3, 3, 1, 2, 3,
709 1, 2, 3, 5, 3, 1, 1, 3, 3, 2,
710 0, 0, 0, 12, 3, 1, 3, 2, 2, 0,
711 5, 2, 2, 2, 3, 1, 2, 0, 1, 3,
712 3, 5, 5, 5, 5, 0, 2, 2, 4, 0,
713 5, 3, 0, 3, 3, 2, 1, 0, 1, 0,
714 3, 0, 2, 4, 3, 4, 0, 2, 1, 1,
715 5, 4, 4, 0, 3, 5, 2, 1, 3, 2,
724 14, 9, 0, 0, 13, 15, 0, 0, 3, 6,
725 0, 7, 8, 0, 0, 17, 16, 1, 5, 4,
726 0, 27, 0, 0, 11, 10, 0, 28, 0, 22,
727 19, 0, 21, 0, 30, 0, 0, 23, 0, 0,
728 126, 29, 0, 33, 12, 42, 0, 0, 0, 0,
729 0, 0, 0, 0, 39, 40, 32, 38, 34, 36,
730 37, 35, 0, 0, 0, 0, 0, 0, 0, 0,
731 0, 0, 41, 0, 0, 0, 18, 95, 0, 0,
732 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
733 0, 0, 75, 76, 0, 85, 128, 119, 0, 127,
734 129, 24, 0, 0, 0, 62, 0, 0, 0, 0,
735 143, 137, 0, 0, 25, 0, 44, 0, 0, 0,
736 0, 55, 0, 57, 0, 58, 0, 70, 98, 0,
737 105, 0, 92, 91, 93, 80, 0, 0, 112, 88,
738 79, 97, 115, 60, 118, 0, 87, 89, 43, 0,
739 46, 0, 0, 0, 0, 63, 136, 131, 0, 132,
740 0, 139, 141, 142, 0, 0, 0, 51, 74, 50,
741 109, 86, 0, 121, 53, 0, 0, 0, 0, 0,
742 71, 0, 0, 0, 77, 0, 107, 78, 0, 84,
743 0, 113, 0, 94, 61, 114, 117, 0, 0, 0,
744 64, 65, 66, 134, 0, 138, 140, 0, 45, 111,
745 119, 0, 0, 68, 0, 59, 0, 0, 0, 100,
746 72, 99, 106, 0, 0, 0, 96, 116, 120, 0,
747 0, 0, 0, 26, 0, 56, 73, 0, 0, 0,
748 122, 69, 67, 0, 0, 0, 0, 0, 0, 108,
749 81, 130, 90, 0, 47, 135, 110, 0, 0, 0,
750 0, 0, 104, 103, 102, 101, 0, 48, 0, 0,
751 124, 0, 52, 0, 123, 125, 0, 82, 54, 0,
758 -1, 6, 7, 8, 111, 9, 10, 11, 12, 23,
759 92, 42, 93, 165, 28, 39, 56, 57, 58, 118,
760 175, 176, 122, 172, 94, 144, 106, 177, 128, 95,
761 169, 188, 266, 279, 197, 193, 129, 186, 131, 120,
762 210, 97, 191, 98, 228, 145, 212, 240, 62, 99,
763 59, 60, 108, 112, 113, 61
768 #define YYPACT_NINF -211
771 166, -211, -32, 15, 12, 36, 40, 316, -211, -211,
772 75, -211, -211, 82, 17, -211, -211, -211, -211, -211,
773 -28, 57, 17, 0, -211, -211, 127, -211, 6, 109,
774 -211, 152, -211, 136, -211, 169, 143, -211, 136, 117,
775 -211, -211, 144, 272, -211, -211, 170, -15, 191, 197,
776 199, 201, 168, 137, -211, -211, -211, -211, -211, -211,
777 -211, -211, 180, 204, 172, 219, 202, 185, 25, 25,
778 28, 217, -211, 186, 266, 90, -211, -211, 190, 229,
779 229, 230, 229, 21, 194, 240, 241, 242, 246, 229,
780 210, 312, -211, -211, 266, -211, -211, 1, 61, -211,
781 -211, -211, 248, 185, 266, -211, 68, 25, 24, 29,
782 -211, 247, 254, 20, -211, 238, -211, 19, 212, 258,
783 263, -211, 271, -211, 233, -211, 126, 234, 183, 275,
784 95, 279, -211, -211, -211, -211, 266, 286, -211, -211,
785 -211, 270, -211, 236, -211, 140, -211, -211, -211, 78,
786 -211, 255, 259, 262, 264, -211, 267, -211, 69, -211,
787 233, -211, -211, -211, 289, 282, 266, 266, -211, -211,
788 294, -211, 283, -211, 70, 293, 315, 317, 194, 194,
789 -211, 194, 284, 194, -211, 287, 319, -211, 291, -211,
790 90, -211, 266, -211, -211, -211, 292, 295, 298, 304,
791 -211, -211, -211, -211, 299, -211, -211, 328, -211, -211,
792 283, 330, 135, 300, 301, -211, 301, 104, 73, 132,
793 -211, 116, -211, -28, 337, 239, -211, -211, -211, 338,
794 322, 266, 340, -211, 173, -211, -211, 306, 307, 341,
795 -211, -211, 308, 342, 343, 194, 194, 194, 194, -211,
796 -211, -211, -211, 266, -211, -211, -211, 345, 346, 19,
797 301, 301, 347, 347, 347, 347, 310, -211, 19, 19,
798 266, 348, -211, 351, 266, 266, 301, -211, -211, 320,
805 -211, -211, -211, 355, -19, -211, -211, -211, -211, 344,
806 64, -211, -29, -211, -211, 326, -211, -211, -211, -114,
807 -211, 205, 46, -211, -211, 195, 265, -210, -82, -211,
808 -62, -211, -211, -211, -211, -211, -211, -211, -211, -211,
809 -211, -211, -211, -211, -211, 159, -211, -211, -211, -211,
810 -211, -211, -34, 257, -211, 309
816 #define YYTABLE_NINF -134
819 96, 26, 130, 167, 243, 30, 244, 34, 142, 24,
820 55, 13, 116, 35, 55, 25, 36, 65, 22, 14,
821 117, 162, -20, -49, -49, 163, 107, -49, 66, 157,
822 -133, -49, 141, 110, 159, 109, 15, -49, -49, -49,
823 17, -49, 150, 31, 143, -49, -49, -49, -49, -49,
824 271, 272, -49, -49, -49, -49, -49, 24, 126, 16,
825 -20, -49, -49, 25, 127, 24, 278, 158, -133, 146,
826 147, 25, 158, 156, 189, 151, 225, 203, 20, 152,
827 153, -67, 154, 204, 182, 198, 246, 32, 21, 152,
828 153, 117, 154, 32, -49, -49, 217, 218, -49, 219,
829 27, 221, -49, 54, 208, 185, 182, 54, -49, -49,
830 -49, 155, -49, 213, 245, 182, -49, -49, -49, -49,
831 -49, 155, 44, -49, -49, 45, 123, 182, 125, 248,
832 226, 33, -49, -49, 46, 136, 178, 38, 72, 179,
833 236, -31, 247, 182, -31, 270, 37, 195, 47, 48,
834 196, 73, 31, -31, 274, 275, 49, 50, 51, 52,
835 53, 37, 74, 262, 263, 264, 265, -31, -31, 254,
836 237, 238, 239, 40, 1, -31, -31, -31, -31, -31,
837 256, 2, 3, 196, 75, 76, 41, 63, 77, 4,
838 5, 267, 78, 181, 182, 64, 183, 67, 79, 80,
839 81, 68, 82, 69, 249, 70, 83, 84, 85, 86,
840 87, 71, 101, 88, 89, 102, 75, 168, 90, 282,
841 77, 51, 52, 91, 78, 103, 114, 104, 105, 115,
842 79, 80, 81, 119, 82, 121, 124, 127, 83, 84,
843 85, 86, 87, 75, 251, 88, 89, 77, 132, 133,
844 134, 78, 135, 137, 52, 91, 148, 79, 80, 81,
845 160, 82, 161, 166, 170, 83, 84, 85, 86, 87,
846 75, 171, 88, 89, 77, 173, 174, 180, 78, 194,
847 45, 52, 91, 184, 79, 80, 81, 187, 82, 46,
848 190, 192, 83, 84, 85, 86, 87, 206, 199, 88,
849 89, 209, 200, 47, 48, 201, 214, 202, 52, 91,
850 158, 49, 50, 51, 52, 53, -2, 18, 138, -14,
851 139, 37, 215, 140, 1, 207, 143, 220, 216, 231,
852 222, 2, 3, 223, 224, 227, 233, 235, 229, 4,
853 5, 230, 232, 241, 242, 250, 252, 253, 255, 257,
854 258, 213, 259, 273, 261, 260, 268, 269, 182, 277,
855 281, 276, 19, 280, 43, 205, 29, 211, 149, 234,
859 #define yypact_value_is_default(yystate) \
860 ((yystate) == (-211))
862 #define yytable_value_is_error(yytable_value) \
867 62, 20, 84, 117, 214, 5, 216, 1, 7, 37,
868 39, 43, 74, 7, 43, 43, 10, 32, 1, 4,
869 1, 1, 5, 4, 5, 5, 1, 8, 43, 5,
870 5, 12, 94, 5, 5, 69, 24, 18, 19, 20,
871 0, 22, 104, 43, 43, 26, 27, 28, 29, 30,
872 260, 261, 33, 34, 35, 36, 37, 37, 37, 23,
873 43, 42, 43, 43, 43, 37, 276, 43, 43, 8,
874 9, 43, 43, 107, 136, 7, 190, 8, 3, 11,
875 12, 11, 14, 14, 11, 7, 13, 23, 6, 11,
876 12, 1, 14, 29, 4, 5, 178, 179, 8, 181,
877 43, 183, 12, 39, 166, 10, 11, 43, 18, 19,
878 20, 43, 22, 43, 10, 11, 26, 27, 28, 29,
879 30, 43, 5, 33, 34, 8, 80, 11, 82, 13,
880 192, 4, 42, 43, 17, 89, 10, 1, 1, 13,
881 5, 5, 10, 11, 8, 259, 9, 7, 31, 32,
882 10, 14, 43, 17, 268, 269, 39, 40, 41, 42,
883 43, 9, 25, 245, 246, 247, 248, 31, 32, 231,
884 35, 36, 37, 4, 8, 39, 40, 41, 42, 43,
885 7, 15, 16, 10, 4, 5, 43, 43, 8, 23,
886 24, 253, 12, 10, 11, 25, 13, 6, 18, 19,
887 20, 4, 22, 4, 223, 4, 26, 27, 28, 29,
888 30, 43, 8, 33, 34, 43, 4, 5, 38, 281,
889 8, 41, 42, 43, 12, 6, 9, 25, 43, 43,
890 18, 19, 20, 43, 22, 6, 6, 43, 26, 27,
891 28, 29, 30, 4, 5, 33, 34, 8, 8, 8,
892 8, 12, 6, 43, 42, 43, 8, 18, 19, 20,
893 13, 22, 8, 25, 6, 26, 27, 28, 29, 30,
894 4, 8, 33, 34, 8, 4, 43, 43, 12, 43,
895 8, 42, 43, 8, 18, 19, 20, 8, 22, 17,
896 4, 21, 26, 27, 28, 29, 30, 8, 43, 33,
897 34, 7, 43, 31, 32, 43, 13, 43, 42, 43,
898 43, 39, 40, 41, 42, 43, 0, 1, 6, 3,
899 8, 9, 7, 11, 8, 43, 43, 43, 11, 25,
900 43, 15, 16, 14, 43, 43, 8, 7, 43, 23,
901 24, 43, 43, 43, 43, 8, 8, 25, 8, 43,
902 43, 43, 11, 43, 11, 13, 11, 11, 11, 8,
903 7, 13, 7, 43, 38, 160, 22, 172, 103, 210,
911 0, 8, 15, 16, 23, 24, 45, 46, 47, 49,
912 50, 51, 52, 43, 4, 24, 23, 0, 1, 47,
913 3, 6, 1, 53, 37, 43, 48, 43, 58, 53,
914 5, 43, 54, 4, 1, 7, 10, 9, 1, 59,
915 4, 43, 55, 59, 5, 8, 17, 31, 32, 39,
916 40, 41, 42, 43, 54, 56, 60, 61, 62, 94,
917 95, 99, 92, 43, 25, 32, 43, 6, 4, 4,
918 4, 43, 1, 14, 25, 4, 5, 8, 12, 18,
919 19, 20, 22, 26, 27, 28, 29, 30, 33, 34,
920 38, 43, 54, 56, 68, 73, 74, 85, 87, 93,
921 99, 8, 43, 6, 25, 43, 70, 1, 96, 96,
922 5, 48, 97, 98, 9, 43, 74, 1, 63, 43,
923 83, 6, 66, 66, 6, 66, 37, 43, 72, 80,
924 72, 82, 8, 8, 8, 6, 66, 43, 6, 8,
925 11, 74, 7, 43, 69, 89, 8, 9, 8, 70,
926 74, 7, 11, 12, 14, 43, 96, 5, 43, 5,
927 13, 8, 1, 5, 97, 57, 25, 63, 5, 74,
928 6, 8, 67, 4, 43, 64, 65, 71, 10, 13,
929 43, 10, 11, 13, 8, 10, 81, 8, 75, 74,
930 4, 86, 21, 79, 43, 7, 10, 78, 7, 43,
931 43, 43, 43, 8, 14, 65, 8, 43, 74, 7,
932 84, 69, 90, 43, 13, 7, 11, 72, 72, 72,
933 43, 72, 43, 14, 43, 63, 74, 43, 88, 43,
934 43, 25, 43, 8, 89, 7, 5, 35, 36, 37,
935 91, 43, 43, 71, 71, 10, 13, 10, 13, 48,
936 8, 5, 8, 25, 74, 8, 7, 43, 43, 11,
937 13, 11, 72, 72, 72, 72, 76, 74, 11, 11,
938 63, 71, 71, 43, 63, 63, 13, 8, 71, 77,
942 #define yyerrok (yyerrstatus = 0)
943 #define yyclearin (yychar = YYEMPTY)
947 #define YYACCEPT goto yyacceptlab
948 #define YYABORT goto yyabortlab
949 #define YYERROR goto yyerrorlab
959 #define YYFAIL goto yyerrlab
967 #define YYRECOVERING() (!!yyerrstatus)
969 #define YYBACKUP(Token, Value) \
971 if (yychar == YYEMPTY && yylen == 1) \
980 yyerror (&yylloc, parseio, YY_("syntax error: cannot back up")); \
987 #define YYERRCODE 256
994 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
995 #ifndef YYLLOC_DEFAULT
996 # define YYLLOC_DEFAULT(Current, Rhs, N) \
1000 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
1001 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
1002 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
1003 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
1007 (Current).first_line = (Current).last_line = \
1008 YYRHSLOC (Rhs, 0).last_line; \
1009 (Current).first_column = (Current).last_column = \
1010 YYRHSLOC (Rhs, 0).last_column; \
1020 #ifndef YY_LOCATION_PRINT
1021 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
1022 # define YY_LOCATION_PRINT(File, Loc) \
1023 fprintf (File, "%d.%d-%d.%d", \
1024 (Loc).first_line, (Loc).first_column, \
1025 (Loc).last_line, (Loc).last_column)
1027 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
1035 # define YYLEX yylex (&yylval, &yylloc, YYLEX_PARAM)
1037 # define YYLEX yylex (&yylval, &yylloc)
1045 # define YYFPRINTF fprintf
1048 # define YYDPRINTF(Args) \
1054 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
1058 YYFPRINTF (stderr, "%s ", Title); \
1059 yy_symbol_print (stderr, \
1060 Type, Value, Location, parseio); \
1061 YYFPRINTF (stderr, "\n"); \
1071 #if (defined __STDC__ || defined __C99__FUNC__ \
1072 || defined __cplusplus || defined _MSC_VER)
1077 yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, parseio)
1080 YYSTYPE const * const yyvaluep;
1081 YYLTYPE const * const yylocationp;
1087 YYUSE (yylocationp);
1091 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
1107 #if (defined __STDC__ || defined __C99__FUNC__ \
1108 || defined __cplusplus || defined _MSC_VER)
1110 yy_symbol_print (FILE *yyoutput,
int yytype,
YYSTYPE const *
const yyvaluep,
YYLTYPE const *
const yylocationp,
struct parse_io *parseio)
1113 yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp, parseio)
1116 YYSTYPE const * const yyvaluep;
1117 YYLTYPE const * const yylocationp;
1122 YYFPRINTF (yyoutput,
"token %s (", yytname[yytype]);
1124 YYFPRINTF (yyoutput,
"nterm %s (", yytname[yytype]);
1127 YYFPRINTF (yyoutput,
": ");
1128 yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, parseio);
1129 YYFPRINTF (yyoutput,
")");
1137 #if (defined __STDC__ || defined __C99__FUNC__ \
1138 || defined __cplusplus || defined _MSC_VER)
1140 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
1143 yy_stack_print (yybottom, yytop)
1144 yytype_int16 *yybottom;
1145 yytype_int16 *yytop;
1148 YYFPRINTF (stderr,
"Stack now");
1149 for (; yybottom <= yytop; yybottom++)
1151 int yybot = *yybottom;
1152 YYFPRINTF (stderr,
" %d", yybot);
1154 YYFPRINTF (stderr,
"\n");
1157 # define YY_STACK_PRINT(Bottom, Top) \
1160 yy_stack_print ((Bottom), (Top)); \
1168 #if (defined __STDC__ || defined __C99__FUNC__ \
1169 || defined __cplusplus || defined _MSC_VER)
1174 yy_reduce_print (yyvsp, yylsp, yyrule, parseio)
1181 int yynrhs = yyr2[yyrule];
1183 unsigned long int yylno = yyrline[yyrule];
1184 YYFPRINTF (stderr,
"Reducing stack by rule %d (line %lu):\n",
1187 for (yyi = 0; yyi < yynrhs; yyi++)
1189 YYFPRINTF (stderr,
" $%d = ", yyi + 1);
1190 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
1191 &(yyvsp[(yyi + 1) - (yynrhs)])
1192 , &(yylsp[(yyi + 1) - (yynrhs)]) , parseio);
1193 YYFPRINTF (stderr,
"\n");
1197 # define YY_REDUCE_PRINT(Rule) \
1200 yy_reduce_print (yyvsp, yylsp, Rule, parseio); \
1207 # define YYDPRINTF(Args)
1208 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
1209 # define YY_STACK_PRINT(Bottom, Top)
1210 # define YY_REDUCE_PRINT(Rule)
1216 # define YYINITDEPTH 200
1227 # define YYMAXDEPTH 10000
1234 # if defined __GLIBC__ && defined _STRING_H
1235 # define yystrlen strlen
1238 #if (defined __STDC__ || defined __C99__FUNC__ \
1239 || defined __cplusplus || defined _MSC_VER)
1241 yystrlen (
const char *
yystr)
1249 for (yylen = 0; yystr[
yylen]; yylen++)
1257 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
1258 # define yystpcpy stpcpy
1262 #if (defined __STDC__ || defined __C99__FUNC__ \
1263 || defined __cplusplus || defined _MSC_VER)
1268 yystpcpy (yydest, yysrc)
1276 while ((*yyd++ = *yys++) !=
'\0')
1298 char const *yyp =
yystr;
1305 goto do_not_strip_quotes;
1309 goto do_not_strip_quotes;
1322 do_not_strip_quotes: ;
1326 return yystrlen (yystr);
1328 return yystpcpy (yyres, yystr) - yyres;
1347 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
1349 const char *yyformat = 0;
1351 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
1386 yyarg[yycount++] = yytname[
yytoken];
1392 int yyxbegin = yyn < 0 ? -yyn : 0;
1394 int yychecklim =
YYLAST - yyn + 1;
1398 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
1399 if (yycheck[yyx + yyn] == yyx && yyx !=
YYTERROR
1402 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
1408 yyarg[yycount++] = yytname[yyx];
1409 yysize1 = yysize +
yytnamerr (0, yytname[yyx]);
1410 if (! (yysize <= yysize1
1420 # define YYCASE_(N, S) \
1425 YYCASE_(1,
YY_(
"syntax error, unexpected %s"));
1426 YYCASE_(2,
YY_(
"syntax error, unexpected %s, expecting %s"));
1427 YYCASE_(3,
YY_(
"syntax error, unexpected %s, expecting %s or %s"));
1428 YYCASE_(4,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s"));
1429 YYCASE_(5,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s or %s"));
1433 yysize1 = yysize + yystrlen (yyformat);
1438 if (*yymsg_alloc < yysize)
1440 *yymsg_alloc = 2 * yysize;
1441 if (! (yysize <= *yymsg_alloc
1453 while ((*yyp = *yyformat) !=
'\0')
1454 if (*yyp ==
'%' && yyformat[1] ==
's' && yyi < yycount)
1474 #if (defined __STDC__ || defined __C99__FUNC__ \
1475 || defined __cplusplus || defined _MSC_VER)
1480 yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
1489 YYUSE (yylocationp);
1505 #line 1506 "ael.tab.c"
1517 #line 1518 "ael.tab.c"
1529 #line 1530 "ael.tab.c"
1538 #line 1539 "ael.tab.c"
1550 #line 1551 "ael.tab.c"
1562 #line 1563 "ael.tab.c"
1574 #line 1575 "ael.tab.c"
1586 #line 1587 "ael.tab.c"
1598 #line 1599 "ael.tab.c"
1610 #line 1611 "ael.tab.c"
1622 #line 1623 "ael.tab.c"
1634 #line 1635 "ael.tab.c"
1646 #line 1647 "ael.tab.c"
1658 #line 1659 "ael.tab.c"
1670 #line 1671 "ael.tab.c"
1682 #line 1683 "ael.tab.c"
1691 #line 1692 "ael.tab.c"
1703 #line 1704 "ael.tab.c"
1712 #line 1713 "ael.tab.c"
1724 #line 1725 "ael.tab.c"
1733 #line 1734 "ael.tab.c"
1742 #line 1743 "ael.tab.c"
1751 #line 1752 "ael.tab.c"
1763 #line 1764 "ael.tab.c"
1775 #line 1776 "ael.tab.c"
1787 #line 1788 "ael.tab.c"
1799 #line 1800 "ael.tab.c"
1808 #line 1809 "ael.tab.c"
1820 #line 1821 "ael.tab.c"
1832 #line 1833 "ael.tab.c"
1844 #line 1845 "ael.tab.c"
1856 #line 1857 "ael.tab.c"
1865 #line 1866 "ael.tab.c"
1877 #line 1878 "ael.tab.c"
1889 #line 1890 "ael.tab.c"
1901 #line 1902 "ael.tab.c"
1913 #line 1914 "ael.tab.c"
1925 #line 1926 "ael.tab.c"
1937 #line 1938 "ael.tab.c"
1949 #line 1950 "ael.tab.c"
1961 #line 1962 "ael.tab.c"
1973 #line 1974 "ael.tab.c"
1985 #line 1986 "ael.tab.c"
1997 #line 1998 "ael.tab.c"
2007 #ifdef YYPARSE_PARAM
2008 #if defined __STDC__ || defined __cplusplus
2014 #if defined __STDC__ || defined __cplusplus
2026 #ifdef YYPARSE_PARAM
2027 #if (defined __STDC__ || defined __C99__FUNC__ \
2028 || defined __cplusplus || defined _MSC_VER)
2034 void *YYPARSE_PARAM;
2037 #if (defined __STDC__ || defined __C99__FUNC__ \
2038 || defined __cplusplus || defined _MSC_VER)
2108 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
2120 YYDPRINTF ((stderr,
"Starting parse\n"));
2135 #if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
2154 if (yyss + yystacksize - 1 <= yyssp)
2157 YYSIZE_T yysize = yyssp - yyss + 1;
2165 yytype_int16 *yyss1 =
yyss;
2172 yyoverflow (
YY_(
"memory exhausted"),
2173 &yyss1, yysize *
sizeof (*yyssp),
2174 &yyvs1, yysize *
sizeof (*yyvsp),
2175 &yyls1, yysize *
sizeof (*yylsp),
2183 # ifndef YYSTACK_RELOCATE
2184 goto yyexhaustedlab;
2188 goto yyexhaustedlab;
2194 yytype_int16 *yyss1 =
yyss;
2198 goto yyexhaustedlab;
2202 # undef YYSTACK_RELOCATE
2209 yyssp = yyss + yysize - 1;
2210 yyvsp = yyvs + yysize - 1;
2211 yylsp = yyls + yysize - 1;
2213 YYDPRINTF ((stderr,
"Stack size increased to %lu\n",
2214 (
unsigned long int) yystacksize));
2216 if (yyss + yystacksize - 1 <= yyssp)
2220 YYDPRINTF ((stderr,
"Entering state %d\n", yystate));
2245 YYDPRINTF ((stderr,
"Reading a token: "));
2251 yychar = yytoken =
YYEOF;
2252 YYDPRINTF ((stderr,
"Now at end of input.\n"));
2263 if (yyn < 0 ||
YYLAST < yyn || yycheck[yyn] != yytoken)
2316 yyval = yyvsp[1-
yylen];
2327 { (yyval.
pval) = parseio->pval = (yyvsp[(1) - (1)].
pval); }
2334 {(yyval.
pval)=(yyvsp[(1) - (1)].
pval);}
2348 {(yyval.
pval)=(yyvsp[(1) - (2)].
pval);}
2355 {(yyval.
pval)=(yyvsp[(1) - (1)].
pval);}
2362 {(yyval.
pval)=(yyvsp[(1) - (1)].
pval);}
2369 {(yyval.
pval)=(yyvsp[(1) - (1)].
pval);}
2383 { (yyval.
str) = (yyvsp[(1) - (1)].
str); }
2399 (yyval.
pval)->u1.
str = (yyvsp[(3) - (6)].
str);
2400 (yyval.
pval)->u2.statements = (yyvsp[(5) - (6)].
pval);
2402 (yyval.
pval)->u3.abstract = (yyvsp[(1) - (6)].intval);}
2446 (yyval.
pval)->u1.
str = (yyvsp[(2) - (8)].
str); (yyval.
pval)->u2.arglist = (yyvsp[(4) - (8)].
pval); (yyval.
pval)->u3.macro_statements = (yyvsp[(7) - (8)].
pval);
2464 { (yyval.
pval) = NULL; }
2478 {(yyval.
pval)=(yyvsp[(2) - (2)].
pval);}
2494 (yyval.
pval)->u1.
str = (yyvsp[(1) - (5)].
str);
2495 (yyval.
pval)->u2.val = (yyvsp[(4) - (5)].
str); }
2511 (yyval.
pval)->u1.
str = (yyvsp[(2) - (6)].
str);
2512 (yyval.
pval)->u2.val = (yyvsp[(5) - (6)].
str); }
2519 { (yyval.
pval) = NULL; }
2526 { (yyval.
pval) =
nword((yyvsp[(1) - (1)].
str), &(yylsp[(1) - (1)])); }
2540 {(yyval.
pval)=(yyvsp[(1) - (2)].
pval);}
2561 { (yyval.
pval)=(yyvsp[(2) - (2)].
pval);}
2568 {(yyval.
pval)=(yyvsp[(1) - (1)].
pval);}
2575 {(yyval.
pval)=(yyvsp[(1) - (1)].
pval);}
2582 {(yyval.
pval)=(yyvsp[(1) - (1)].
pval);}
2589 {(yyval.
pval)=(yyvsp[(1) - (1)].
pval);}
2596 {(yyval.
pval)=(yyvsp[(1) - (1)].
pval);}
2603 {(yyval.
pval)=(yyvsp[(1) - (1)].
pval);}
2610 {(yyval.
pval)=(yyvsp[(1) - (1)].
pval);}
2633 (yyval.
pval)->u1.
str = (yyvsp[(3) - (4)].
str);}
2642 (yyval.
pval)->u1.
str = (yyvsp[(1) - (3)].
str);
2652 (yyval.
pval)->u1.
str =
malloc(strlen((yyvsp[(1) - (5)].
str))+strlen((yyvsp[(3) - (5)].
str))+2);
2653 strcpy((yyval.
pval)->u1.str,(yyvsp[(1) - (5)].
str));
2654 strcat((yyval.
pval)->u1.str,
"@");
2655 strcat((yyval.
pval)->u1.str,(yyvsp[(3) - (5)].
str));
2666 (yyval.
pval)->u1.
str = (yyvsp[(2) - (4)].
str);
2668 (yyval.
pval)->u4.regexten=1;}
2677 (yyval.
pval)->u1.
str = (yyvsp[(5) - (7)].
str);
2679 (yyval.
pval)->u3.hints = (yyvsp[(3) - (7)].
str);}
2688 (yyval.
pval)->u1.
str = (yyvsp[(6) - (8)].
str);
2690 (yyval.
pval)->u4.regexten=1;
2691 (yyval.
pval)->u3.hints = (yyvsp[(4) - (8)].
str);}
2698 { (yyval.
pval) = NULL; }
2712 {(yyval.
pval)=(yyvsp[(2) - (2)].
pval);}
2720 if (
asprintf(&(yyval.
str),
"%s:%s:%s", (yyvsp[(1) - (5)].
str), (yyvsp[(3) - (5)].
str), (yyvsp[(5) - (5)].
str)) < 0) {
2735 { (yyval.
str) = (yyvsp[(1) - (1)].
str); }
2743 (yyval.
pval) =
nword((yyvsp[(1) - (7)].
str), &(yylsp[(1) - (7)]));
2744 (yyval.
pval)->next =
nword((yyvsp[(3) - (7)].
str), &(yylsp[(3) - (7)]));
2745 (yyval.
pval)->next->
next =
nword((yyvsp[(5) - (7)].
str), &(yylsp[(5) - (7)]));
2760 { (yyval.
str) = (yyvsp[(3) - (4)].
str); }
2768 (yyval.
pval)=
npval2(
PV_IF, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)]));
2769 (yyval.
pval)->u1.
str = (yyvsp[(2) - (2)].
str); }
2778 (yyval.
pval)->u1.
str=(yyvsp[(2) - (2)].
str);}
2795 { (yyval.
str) = (yyvsp[(1) - (1)].
str);}
2803 if (
asprintf(&((yyval.
str)),
"%s%s", (yyvsp[(1) - (2)].
str), (yyvsp[(2) - (2)].
str)) < 0) {
2818 { (yyval.
str) = (yyvsp[(1) - (1)].
str); }
2826 if (
asprintf(&((yyval.
str)),
"%s %s", (yyvsp[(1) - (2)].
str), (yyvsp[(2) - (2)].
str)) < 0) {
2841 if (
asprintf(&((yyval.
str)),
"%s:%s", (yyvsp[(1) - (3)].
str), (yyvsp[(3) - (3)].
str)) < 0) {
2856 if (
asprintf(&((yyval.
str)),
"%s&%s", (yyvsp[(1) - (3)].
str), (yyvsp[(3) - (3)].
str)) < 0) {
2871 if (
asprintf(&((yyval.
str)),
"%s@%s", (yyvsp[(1) - (3)].
str), (yyvsp[(3) - (3)].
str)) < 0) {
2885 { (yyval.
str) = (yyvsp[(1) - (1)].
str);}
2893 if (
asprintf(&((yyval.
str)),
"%s%s", (yyvsp[(1) - (2)].
str), (yyvsp[(2) - (2)].
str)) < 0) {
2909 if (
asprintf(&((yyval.
str)),
"%s%s%s", (yyvsp[(1) - (3)].
str), (yyvsp[(2) - (3)].
str), (yyvsp[(3) - (3)].
str)) < 0) {
2925 { (yyval.
str) = (yyvsp[(1) - (1)].
str);}
2933 if (
asprintf(&((yyval.
str)),
"%s%s", (yyvsp[(1) - (2)].
str), (yyvsp[(2) - (2)].
str)) < 0) {
2948 if (
asprintf(&((yyval.
str)),
"%s:%s", (yyvsp[(1) - (3)].
str), (yyvsp[(3) - (3)].
str)) < 0) {
2964 (yyval.
pval)->u1.
str = (yyvsp[(2) - (5)].
str);
2981 { (yyval.
pval) = (yyvsp[(1) - (1)].
pval); }
2988 { (yyval.
pval) = (yyvsp[(1) - (1)].
pval); }
3015 (yyval.
pval)->u1.
str = (yyvsp[(1) - (2)].
str); }
3044 (yyval.
pval) =
npval2(
PV_FOR, &(yylsp[(1) - (12)]), &(yylsp[(12) - (12)]));
3046 (yyval.
pval)->u2.for_test=(yyvsp[(7) - (12)].
str);
3047 (yyval.
pval)->u3.for_inc = (yyvsp[(10) - (12)].
str);
3057 (yyval.
pval)->u1.
str = (yyvsp[(2) - (3)].
str);
3065 { (yyval.
pval) = (yyvsp[(1) - (1)].
pval); }
3088 (yyval.
pval)->u1.
str = (yyvsp[(1) - (2)].
str);}
3110 tot+=strlen((yyvsp[(1) - (5)].
pval)->u1.str);
3112 tot+=strlen(pptr->
u1.
str);
3117 strcpy(bufx,(yyvsp[(1) - (5)].
pval)->u1.str);
3121 if ( pptr != (yyvsp[(1) - (5)].
pval)->u2.
arglist )
3123 strcat(bufx,pptr->
u1.
str);
3127 if ( !ael_is_funcname((yyvsp[(1) - (5)].
pval)->u1.str) )
3128 ast_log(
LOG_WARNING,
"==== File: %s, Line %d, Cols: %d-%d: Function call? The name %s is not in my internal list of function names\n",
3129 my_file, (yylsp[(1) - (5)]).
first_line, (yylsp[(1) - (5)]).
first_column, (yylsp[(1) - (5)]).last_column, (yyvsp[(1) - (5)].
pval)->u1.str);
3131 (yyval.
pval)->u1.str = bufx;
3179 { (yyval.
pval) = (yyvsp[(2) - (2)].
pval); }
3186 { (yyval.
pval) = NULL ; }
3193 { (yyval.
pval) =
nword((yyvsp[(1) - (1)].
str), &(yylsp[(1) - (1)])); }
3201 (yyval.
pval) =
nword((yyvsp[(1) - (3)].
str), &(yylsp[(1) - (3)]));
3202 (yyval.
pval)->next =
nword((yyvsp[(3) - (3)].
str), &(yylsp[(3) - (3)])); }
3210 (yyval.
pval) =
nword((yyvsp[(1) - (3)].
str), &(yylsp[(1) - (3)]));
3211 (yyval.
pval)->next =
nword((yyvsp[(3) - (3)].
str), &(yylsp[(3) - (3)])); }
3219 (yyval.
pval) =
nword((yyvsp[(1) - (5)].
str), &(yylsp[(1) - (5)]));
3220 (yyval.
pval)->next =
nword((yyvsp[(3) - (5)].
str), &(yylsp[(3) - (5)]));
3221 (yyval.
pval)->next->
next =
nword((yyvsp[(5) - (5)].
str), &(yylsp[(5) - (5)])); }
3229 (yyval.
pval) =
nword((yyvsp[(1) - (5)].
str), &(yylsp[(1) - (5)]));
3230 (yyval.
pval)->next =
nword((yyvsp[(3) - (5)].
str), &(yylsp[(3) - (5)]));
3231 (yyval.
pval)->next->
next =
nword((yyvsp[(5) - (5)].
str), &(yylsp[(5) - (5)])); }
3240 (yyval.
pval)->next =
nword((yyvsp[(3) - (5)].
str), &(yylsp[(3) - (5)]));
3241 (yyval.
pval)->next->
next =
nword((yyvsp[(5) - (5)].
str), &(yylsp[(5) - (5)])); }
3250 (yyval.
pval)->next =
nword((yyvsp[(3) - (5)].
str), &(yylsp[(3) - (5)]));
3251 (yyval.
pval)->next->
next =
nword((yyvsp[(5) - (5)].
str), &(yylsp[(5) - (5)])); }
3265 { (yyval.
str) = (yyvsp[(2) - (2)].
str); }
3273 (yyval.
pval) =
nword((yyvsp[(1) - (2)].
str), &(yylsp[(1) - (2)]));
3274 (yyval.
pval)->next =
nword((yyvsp[(2) - (2)].
str), &(yylsp[(2) - (2)])); }
3282 (yyval.
pval) =
nword((yyvsp[(4) - (4)].
str), &(yylsp[(4) - (4)]));
3283 (yyval.
pval)->next =
nword((yyvsp[(1) - (4)].
str), &(yylsp[(1) - (4)]));
3284 (yyval.
pval)->next->
next =
nword((yyvsp[(2) - (4)].
str), &(yylsp[(2) - (4)])); }
3301 (yyval.
pval)->u1.
str = (yyvsp[(1) - (5)].
str);
3302 (yyval.
pval)->u2.arglist = (yyvsp[(4) - (5)].
pval);}
3311 (yyval.
pval)->u1.
str = (yyvsp[(1) - (3)].
str); }
3326 if (strcasecmp((yyvsp[(1) - (3)].
str),
"goto") == 0) {
3329 ast_log(
LOG_WARNING,
"==== File: %s, Line %d, Cols: %d-%d: Suggestion: Use the goto statement instead of the Goto() application call in AEL.\n", my_file, (yylsp[(1) - (3)]).
first_line, (yylsp[(1) - (3)]).
first_column, (yylsp[(1) - (3)]).last_column );
3332 (yyval.
pval)->u1.
str = (yyvsp[(1) - (3)].
str);
3360 { (yyval.
str) = (yyvsp[(1) - (1)].
str) ;}
3374 { (yyval.
pval) =
nword((yyvsp[(1) - (1)].
str), &(yylsp[(1) - (1)])); }
3397 { (yyval.
pval) = NULL; }
3413 (yyval.
pval)->u1.
str = (yyvsp[(2) - (4)].
str);
3433 (yyval.
pval)->u1.
str = (yyvsp[(2) - (4)].
str);
3441 { (yyval.
pval) = NULL; }
3455 {(yyval.
pval)=(yyvsp[(1) - (1)].
pval);}
3462 { (yyval.
pval)=(yyvsp[(1) - (1)].
pval);}
3471 (yyval.
pval)->u1.
str = (yyvsp[(2) - (5)].
str);
3497 { (yyval.
pval) = NULL; }
3513 if (
asprintf(&x,
"%s@%s", (yyvsp[(2) - (5)].
str), (yyvsp[(4) - (5)].
str)) < 0) {
3515 (yyval.
pval) = NULL;
3528 {(yyval.
pval)=(yyvsp[(2) - (2)].
pval);}
3535 { (yyval.
pval) =
nword((yyvsp[(1) - (1)].
str), &(yylsp[(1) - (1)])); }
3543 (yyval.
pval) =
nword((yyvsp[(1) - (3)].
str), &(yylsp[(1) - (3)]));
3552 { (yyval.
pval) = (yyvsp[(1) - (2)].
pval); }
3566 {(yyval.
pval)=(yyvsp[(1) - (2)].
pval);}
3589 #line 3590 "ael.tab.c"
3619 if (0 <= yystate && yystate <=
YYLAST && yycheck[yystate] == *yyssp)
3639 #if ! YYERROR_VERBOSE
3640 yyerror (&yylloc, parseio,
YY_(
"syntax error"));
3642 # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
3645 char const *yymsgp =
YY_(
"syntax error");
3646 int yysyntax_error_status;
3648 if (yysyntax_error_status == 0)
3650 else if (yysyntax_error_status == 1)
3652 if (yymsg != yymsgbuf)
3659 yysyntax_error_status = 2;
3667 yyerror (&yylloc, parseio, yymsgp);
3668 if (yysyntax_error_status == 2)
3669 goto yyexhaustedlab;
3671 # undef YYSYNTAX_ERROR
3675 yyerror_range[1] =
yylloc;
3677 if (yyerrstatus == 3)
3682 if (yychar <=
YYEOF)
3685 if (yychar ==
YYEOF)
3691 yytoken, &yylval, &yylloc, parseio);
3712 yyerror_range[1] = yylsp[1-
yylen];
3746 yyerror_range[1] = *
yylsp;
3748 yystos[yystate], yyvsp, yylsp, parseio);
3756 yyerror_range[2] =
yylloc;
3783 #if !defined(yyoverflow) || YYERROR_VERBOSE
3800 yytoken, &yylval, &yylloc, parseio);
3806 while (yyssp != yyss)
3809 yystos[*yyssp], yyvsp, yylsp, parseio);
3817 if (yymsg != yymsgbuf)
3821 return YYID (yyresult);
3917 int token_equivs_entries =
sizeof(
token_equivs1)/
sizeof(
char*);
3919 for (p=mess; *p; p++) {
3920 for (i=0; i<token_equivs_entries; i++) {
3921 if ( strncmp(p,token_equivs1[i],strlen(token_equivs1[i])) == 0 )
3923 len+=strlen(token_equivs2[i])+2;
3924 p += strlen(token_equivs1[i])-1;
3935 for (i=0; i<token_equivs_entries; i++) {
3936 if ( strncmp(p,token_equivs1[i],strlen(token_equivs1[i])) == 0 ) {
3938 for (t=token_equivs2[i]; *t;) {
3942 p += strlen(token_equivs1[i]);
4006 for(t=child_list;t;t=t->
next)
void reset_semicount(yyscan_t yyscanner)
static char * ael_token_subst(const char *mess)
Asterisk locking-related definitions:
struct parse_io * parseio
Asterisk main include file. File version handling, generic pbx functions.
unsigned char yytype_uint8
#define YYLLOC_DEFAULT(Current, Rhs, N)
static const yytype_uint8 yydefact[]
static void set_dads(pval *dad, pval *child_list)
#define YY_SYMBOL_PRINT(Title, Type, Value, Location)
yytype_int16 yyssa[YYINITDEPTH]
#define YYSTACK_ALLOC_MAXIMUM
YYSTYPE yyvsa[YYINITDEPTH]
static const yytype_int16 yypact[]
Generic (perhaps overly so) hashtable implementation Hash Table support in Asterisk.
#define YY_REDUCE_PRINT(Rule)
static const yytype_int16 yytable[]
#define yytable_value_is_error(yytable_value)
static const yytype_uint8 yyr1[]
static YYSIZE_T const char * yystr
static const yytype_int16 yydefgoto[]
YYLTYPE yylsa[YYINITDEPTH]
static void const char * yymsg
static const char *const yytname[]
void reset_argcount(yyscan_t yyscanner)
static pval * nword(char *string, YYLTYPE *pos)
#define YY_LOCATION_PRINT(File, Loc)
struct sla_ringing_trunk * last
int asprintf(char **str, const char *fmt,...)
int ael_yylex(YYSTYPE *yylval_param, YYLTYPE *yylloc_param, void *yyscanner)
static const yytype_uint8 yytranslate[]
void destroy_pval(pval *item)
struct ast_flags ast_compat
static char * token_equivs1[]
unsigned short int yytype_uint16
yydestruct("Cleanup: discarding lookahead", yytoken,&yylval,&yylloc)
static int yysyntax_error(YYSIZE_T *yymsg_alloc, char **yymsg, yytype_int16 *yyssp, int yytoken)
static int len(struct ast_channel *chan, const char *cmd, char *data, char *buf, size_t buflen)
struct sla_ringing_trunk * first
void ast_log(int level, const char *file, int line, const char *function, const char *fmt,...)
Used for sending a log message This is the standard logger function. Probably the only way you will i...
pval * linku1(pval *head, pval *tail)
static const yytype_uint8 yyr2[]
static pval * npval2(pvaltype type, YYLTYPE *first, YYLTYPE *last)
static const yytype_uint16 yycheck[]
Structures for AEL - the Asterisk extension language.
static char *char * yydest
#define YYSTACK_RELOCATE(Stack_alloc, Stack)
Structure used to handle boolean flags.
Support for logging to various files, console and syslog Configuration in file logger.conf.
#define YY_STACK_PRINT(Bottom, Top)
#define S_OR(a, b)
returns the equivalent of logic or for strings: first one if not empty, otherwise second one...
static const yytype_int16 yypgoto[]
#define yypact_value_is_default(yystate)
pval * npval(pvaltype type, int first_line, int last_line, int first_column, int last_column)
static pval * update_last(pval *, YYLTYPE *)
void reset_parencount(yyscan_t yyscanner)
static YYSIZE_T yytnamerr(char *yyres, const char *yystr)
static const yytype_uint8 yystos[]
static char * token_equivs2[]
#define ASTERISK_FILE_VERSION(file, version)
Register/unregister a source code file with the core.