51 #define YYBISON_VERSION "3.5"
54 #define YYSKELETON_NAME "yacc.c"
67 #define yyparse naslparse
69 #define yyerror naslerror
70 #define yydebug nasldebug
71 #define yynerrs naslnerrs
74 #line 5 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
94 #define YYPARSE_PARAM parm
95 #define YYLEX_PARAM parm
97 #define LNB (((naslctxt*)parm)->line_nb)
102 #include <sys/stat.h>
118 #define G_LOG_DOMAIN "lib nasl"
128 #define YYERROR_VERBOSE
130 #line 131 "nasl_grammar.tab.c"
134 # define YY_CAST(Type, Val) static_cast<Type> (Val)
135 # define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
137 # define YY_CAST(Type, Val) ((Type) (Val))
138 # define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
142 # if defined __cplusplus
143 # if 201103L <= __cplusplus
144 # define YY_NULLPTR nullptr
146 # define YY_NULLPTR 0
149 # define YY_NULLPTR ((void*)0)
154 #ifdef YYERROR_VERBOSE
155 # undef YYERROR_VERBOSE
156 # define YYERROR_VERBOSE 1
158 # define YYERROR_VERBOSE 0
163 #ifndef YY_NASL_NASL_GRAMMAR_TAB_H_INCLUDED
164 # define YY_NASL_NASL_GRAMMAR_TAB_H_INCLUDED
229 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
232 #line 61 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
242 #line 243 "nasl_grammar.tab.c"
246 # define YYSTYPE_IS_TRIVIAL 1
247 # define YYSTYPE_IS_DECLARED 1
257 #line 71 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
261 #line 262 "nasl_grammar.tab.c"
272 #ifndef __PTRDIFF_MAX__
274 # if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
285 #ifdef __INT_LEAST8_MAX__
287 #elif defined YY_STDINT_H
293 #ifdef __INT_LEAST16_MAX__
295 #elif defined YY_STDINT_H
301 #if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
303 #elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
304 && UINT_LEAST8_MAX <= INT_MAX)
306 #elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
312 #if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
314 #elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
315 && UINT_LEAST16_MAX <= INT_MAX)
317 #elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
324 # if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
325 # define YYPTRDIFF_T __PTRDIFF_TYPE__
326 # define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
327 # elif defined PTRDIFF_MAX
331 # define YYPTRDIFF_T ptrdiff_t
332 # define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
334 # define YYPTRDIFF_T long
335 # define YYPTRDIFF_MAXIMUM LONG_MAX
340 # ifdef __SIZE_TYPE__
341 # define YYSIZE_T __SIZE_TYPE__
342 # elif defined size_t
343 # define YYSIZE_T size_t
344 # elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
346 # define YYSIZE_T size_t
348 # define YYSIZE_T unsigned
352 #define YYSIZE_MAXIMUM \
353 YY_CAST (YYPTRDIFF_T, \
354 (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1) \
355 ? YYPTRDIFF_MAXIMUM \
356 : YY_CAST (YYSIZE_T, -1)))
358 #define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
367 # if defined YYENABLE_NLS && YYENABLE_NLS
369 # include <libintl.h>
370 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
374 # define YY_(Msgid) Msgid
378 #ifndef YY_ATTRIBUTE_PURE
379 # if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
380 # define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
382 # define YY_ATTRIBUTE_PURE
386 #ifndef YY_ATTRIBUTE_UNUSED
387 # if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
388 # define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
390 # define YY_ATTRIBUTE_UNUSED
395 #if ! defined lint || defined __GNUC__
396 # define YYUSE(E) ((void) (E))
401 #if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
403 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
404 _Pragma ("GCC diagnostic push") \
405 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \
406 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
407 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
408 _Pragma ("GCC diagnostic pop")
410 # define YY_INITIAL_VALUE(Value) Value
412 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
413 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
414 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
416 #ifndef YY_INITIAL_VALUE
417 # define YY_INITIAL_VALUE(Value)
420 #if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
421 # define YY_IGNORE_USELESS_CAST_BEGIN \
422 _Pragma ("GCC diagnostic push") \
423 _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
424 # define YY_IGNORE_USELESS_CAST_END \
425 _Pragma ("GCC diagnostic pop")
427 #ifndef YY_IGNORE_USELESS_CAST_BEGIN
428 # define YY_IGNORE_USELESS_CAST_BEGIN
429 # define YY_IGNORE_USELESS_CAST_END
433 #define YY_ASSERT(E) ((void) (0 && (E)))
435 #if ! defined yyoverflow || YYERROR_VERBOSE
439 # ifdef YYSTACK_USE_ALLOCA
440 # if YYSTACK_USE_ALLOCA
442 # define YYSTACK_ALLOC __builtin_alloca
443 # elif defined __BUILTIN_VA_ARG_INCR
446 # define YYSTACK_ALLOC __alloca
447 # elif defined _MSC_VER
449 # define alloca _alloca
451 # define YYSTACK_ALLOC alloca
452 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
455 # ifndef EXIT_SUCCESS
456 # define EXIT_SUCCESS 0
463 # ifdef YYSTACK_ALLOC
465 # define YYSTACK_FREE(Ptr) do { ; } while (0)
466 # ifndef YYSTACK_ALLOC_MAXIMUM
471 # define YYSTACK_ALLOC_MAXIMUM 4032
474 # define YYSTACK_ALLOC YYMALLOC
475 # define YYSTACK_FREE YYFREE
476 # ifndef YYSTACK_ALLOC_MAXIMUM
477 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
479 # if (defined __cplusplus && ! defined EXIT_SUCCESS \
480 && ! ((defined YYMALLOC || defined malloc) \
481 && (defined YYFREE || defined free)))
483 # ifndef EXIT_SUCCESS
484 # define EXIT_SUCCESS 0
488 # define YYMALLOC malloc
489 # if ! defined malloc && ! defined EXIT_SUCCESS
495 # if ! defined free && ! defined EXIT_SUCCESS
503 #if (! defined yyoverflow \
504 && (! defined __cplusplus \
505 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
515 # define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
519 # define YYSTACK_BYTES(N) \
520 ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \
521 + YYSTACK_GAP_MAXIMUM)
523 # define YYCOPY_NEEDED 1
530 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
533 YYPTRDIFF_T yynewbytes; \
534 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
535 Stack = &yyptr->Stack_alloc; \
536 yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
537 yyptr += yynewbytes / YYSIZEOF (*yyptr); \
543 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
547 # if defined __GNUC__ && 1 < __GNUC__
548 # define YYCOPY(Dst, Src, Count) \
549 __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
551 # define YYCOPY(Dst, Src, Count) \
555 for (yyi = 0; yyi < (Count); yyi++) \
556 (Dst)[yyi] = (Src)[yyi]; \
575 #define YYNSTATES 227
578 #define YYMAXUTOK 304
583 #define YYTRANSLATE(YYX) \
584 (0 <= (YYX) && (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
590 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
591 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
592 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
593 2, 2, 2, 70, 2, 2, 2, 57, 52, 2,
594 61, 62, 55, 53, 63, 54, 72, 56, 2, 2,
595 2, 2, 2, 2, 2, 2, 2, 2, 67, 66,
596 48, 47, 49, 2, 2, 2, 2, 2, 2, 2,
597 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
598 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
599 2, 68, 2, 69, 51, 2, 2, 2, 2, 2,
600 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
601 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
602 2, 2, 2, 64, 50, 65, 71, 2, 2, 2,
603 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
604 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
605 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
606 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
607 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
608 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
609 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
610 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
611 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
612 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
613 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
614 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
615 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
616 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
617 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
618 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
619 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
627 0, 156, 156, 161, 167, 174, 174, 177, 187, 187,
628 188, 194, 203, 203, 204, 205, 219, 219, 219, 219,
629 222, 222, 222, 223, 223, 223, 223, 223, 224, 228,
630 232, 235, 241, 248, 254, 262, 262, 262, 262, 263,
631 273, 280, 288, 298, 298, 298, 298, 301, 309, 309,
632 312, 362, 370, 370, 371, 371, 377, 383, 392, 396,
633 397, 398, 399, 400, 401, 402, 403, 406, 410, 412,
634 412, 414, 422, 425, 426, 427, 428, 432, 433, 434,
635 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
636 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
637 455, 456, 457, 458, 459, 460, 461, 461, 461, 461,
638 461, 464, 466, 467, 471, 474, 480, 481, 485, 490,
639 492, 498, 498, 500, 502, 512, 520
643 #if YYDEBUG || YYERROR_VERBOSE || 0
648 "$end",
"error",
"$undefined",
"IF",
"ELSE",
"EQ",
"NEQ",
"SUPEQ",
649 "INFEQ",
"OR",
"AND",
"MATCH",
"NOMATCH",
"REP",
"FOR",
"REPEAT",
650 "UNTIL",
"FOREACH",
"WHILE",
"BREAK",
"CONTINUE",
"FUNCTION",
"RETURN",
651 "INCLUDE",
"LOCAL",
"GLOBAL",
"PLUS_PLUS",
"MINUS_MINUS",
"L_SHIFT",
652 "R_SHIFT",
"R_USHIFT",
"EXPO",
"PLUS_EQ",
"MINUS_EQ",
"MULT_EQ",
653 "DIV_EQ",
"MODULO_EQ",
"L_SHIFT_EQ",
"R_SHIFT_EQ",
"R_USHIFT_EQ",
654 "RE_MATCH",
"RE_NOMATCH",
"ARROW",
"IDENT",
"STRING1",
"STRING2",
655 "INTEGER",
"'='",
"'<'",
"'>'",
"'|'",
"'^'",
"'&'",
"'+'",
"'-'",
"'*'",
656 "'/'",
"'%'",
"NOT",
"UMINUS",
"BIT_NOT",
"'('",
"')'",
"','",
"'{'",
657 "'}'",
"';'",
"':'",
"'['",
"']'",
"'!'",
"'~'",
"'.'",
"$accept",
658 "tiptop",
"instr_decl_list",
"instr_decl",
"func_decl",
"arg_decl",
659 "arg_decl_1",
"block",
"instr_list",
"instr",
"simple_instr",
"ret",
660 "if_block",
"loop",
"for_loop",
"while_loop",
"repeat_loop",
661 "foreach_loop",
"aff_func",
"rep",
"string",
"inc",
"func_call",
662 "arg_list",
"arg_list_1",
"arg",
"aff",
"lvalue",
"identifier",
663 "array_elem",
"array_index",
"post_pre_incr",
"expr",
"const_array",
664 "list_array_data",
"array_data",
"atom",
"simple_array_data",
"var",
665 "var_name",
"ipaddr",
"loc",
"glob",
YY_NULLPTR
674 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
675 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
676 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
677 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
678 295, 296, 297, 298, 299, 300, 301, 61, 60, 62,
679 124, 94, 38, 43, 45, 42, 47, 37, 302, 303,
680 304, 40, 41, 44, 123, 125, 59, 58, 91, 93,
685 #define YYPACT_NINF (-91)
687 #define yypact_value_is_default(Yyn) \
688 ((Yyn) == YYPACT_NINF)
690 #define YYTABLE_NINF (-69)
692 #define yytable_value_is_error(Yyn) \
693 ((Yyn) == YYTABLE_NINF)
699 464, -53, -91, -50, 491, -6, -42, -91, -91, -6,
700 499, -40, -6, -6, -6, -6, -91, 259, 25, -91,
701 91, -91, -91, -91, -39, -91, -91, -91, -91, -91,
702 -91, -91, -91, -91, 23, -91, 553, -13, -91, -91,
703 -91, -91, 499, 26, 29, -30, 499, -21, -91, -91,
704 -18, 499, 499, 13, 499, 499, -91, -91, 961, 611,
705 -91, 798, -91, -91, -91, -91, -91, 19, -91, -91,
706 -12, -91, -91, -26, -91, -91, -9, 123, -91, -91,
707 -91, 499, -91, -91, 499, 499, 499, 499, 499, 499,
708 499, 499, 499, 499, 499, 566, -4, -91, -91, -91,
709 499, 499, 624, -6, 14, 37, 682, 39, 40, -91,
710 42, 7, 22, -91, -91, 37, 37, 499, 499, 499,
711 499, 499, 499, 499, 499, 499, 499, 499, 499, 19,
712 19, 499, 499, 499, 499, 499, 499, 499, 499, 499,
713 499, -91, -91, 28, -6, -91, -91, 798, 798, 798,
714 798, 798, 798, 798, 798, 798, 798, 35, -91, 33,
715 945, 798, 17, 798, 491, 499, 347, 740, 491, 36,
716 16, -91, 34, -91, 13, 882, 882, 882, 882, 851,
717 913, 882, 882, 398, 398, 398, 37, -91, -91, 882,
718 882, 354, 337, 415, 15, 15, 37, 37, 37, -91,
719 -91, -91, 499, 499, -91, 83, 409, -91, 491, -91,
720 27, 53, -91, -91, -91, 798, 491, 26, -91, -91,
721 47, -91, 38, 56, 491, -91, -91
729 30, 0, 70, 0, 30, 0, 0, 28, 29, 0,
730 32, 0, 8, 8, 0, 0, 69, 30, 0, 2,
731 3, 6, 17, 5, 0, 24, 18, 19, 35, 36,
732 37, 38, 22, 25, 23, 20, 0, 67, 68, 21,
733 26, 27, 0, 46, 0, 0, 0, 0, 118, 117,
734 116, 0, 0, 0, 0, 0, 122, 107, 123, 121,
735 95, 31, 110, 109, 106, 120, 108, 0, 125, 9,
736 10, 126, 73, 67, 74, 13, 0, 14, 1, 4,
737 16, 0, 75, 76, 0, 0, 0, 0, 0, 0,
738 0, 0, 0, 53, 0, 0, 0, 45, 43, 44,
739 0, 0, 0, 8, 0, 83, 0, 118, 117, 116,
740 0, 0, 112, 119, 114, 79, 84, 0, 0, 0,
741 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
742 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
743 0, 48, 49, 0, 0, 12, 15, 47, 59, 60,
744 61, 62, 63, 66, 64, 65, 58, 0, 52, 54,
745 123, 56, 0, 72, 30, 0, 0, 0, 30, 0,
746 0, 77, 0, 111, 0, 102, 103, 104, 105, 80,
747 78, 96, 97, 94, 92, 93, 86, 98, 99, 100,
748 101, 91, 90, 89, 81, 82, 85, 87, 88, 50,
749 11, 51, 0, 0, 71, 33, 0, 41, 30, 40,
750 0, 0, 115, 113, 55, 57, 30, 46, 42, 7,
751 0, 34, 0, 0, 30, 124, 39
757 -91, -91, 101, -91, -91, -11, -20, -87, 48, 12,
758 -91, -91, -91, -91, -91, -91, -91, -91, -90, -91,
759 -64, -91, 6, -91, -74, -91, 24, 60, 0, 18,
760 -91, 30, 209, -91, -45, -91, -52, -41, -91, -91,
767 -1, 18, 19, 20, 21, 68, 69, 22, 76, 23,
768 24, 25, 26, 27, 28, 29, 30, 31, 96, 32,
769 110, 33, 56, 157, 158, 159, 57, 36, 58, 59,
770 162, 60, 161, 62, 111, 112, 63, 114, 64, 65,
779 37, 113, 71, 143, 37, 45, 34, 2, 42, 47,
780 34, 43, 70, 70, 73, 73, 44, 37, 38, 46,
781 37, 67, 38, 34, 35, 78, 34, 80, 35, 77,
782 39, 101, 38, 38, 39, 38, 81, 16, 38, 2,
783 103, 35, 94, 37, 35, 100, 128, 39, 93, 97,
784 39, 144, 14, 15, 104, 94, 145, 107, 108, 109,
785 170, 38, 165, 141, 142, 187, 188, 98, 128, 16,
786 138, 139, 140, 99, 72, 74, 173, 37, 48, 49,
787 109, -48, -49, 34, 172, 174, 204, 216, 211, 77,
788 199, 17, 169, 160, 1, 38, 202, 201, 210, 220,
789 224, 35, 225, 70, 2, 3, 4, 39, 5, 6,
790 7, 8, 9, 10, 11, 12, 13, 14, 15, 223,
791 113, 79, 113, 219, 200, 146, 1, 222, 214, 213,
792 0, 212, 0, 0, 16, 0, 2, 3, 4, 0,
793 5, 6, 7, 8, 70, 10, 11, 12, 13, 14,
794 15, 0, 0, 0, 0, 17, 0, -30, 0, 0,
795 0, 0, 0, 0, 37, 0, 16, 0, 37, 0,
796 34, 0, 0, 0, 34, 0, 205, 0, 0, 0,
797 209, 0, 38, 0, 0, 0, 38, 17, 35, -30,
798 0, 0, 35, 0, 39, 0, 0, 0, 39, 0,
799 0, 0, 160, 0, 0, 0, 0, 0, 37, 0,
800 0, 0, 0, 0, 34, 0, 37, 37, 0, 61,
801 218, 0, 34, 97, 37, 0, 38, 0, 221, 0,
802 34, 0, 35, 0, 38, 38, 226, 0, 39, 0,
803 35, 98, 38, 0, 0, 0, 39, 99, 35, 0,
804 0, 95, 0, 0, 39, 102, 0, 0, 0, 0,
805 105, 106, 1, 115, 116, 0, 0, 0, 0, 0,
806 0, 0, 2, 3, 4, 0, 5, 6, 7, 8,
807 0, 10, 11, 12, 13, 14, 15, 0, 0, 0,
808 147, 0, 0, 148, 149, 150, 151, 152, 153, 154,
809 155, 156, 16, 163, 0, 0, 0, 0, 0, 166,
810 167, 0, 0, 0, 0, 0, 0, 0, 0, 0,
811 0, 0, 0, 17, 75, 0, 175, 176, 177, 178,
812 179, 180, 181, 182, 183, 184, 185, 186, 0, 0,
813 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
814 0, 0, 117, 118, 119, 120, 121, 122, 123, 124,
815 0, 0, 0, 0, 0, 125, 126, 127, 128, 0,
816 0, 0, 0, 0, 206, 125, 126, 127, 128, 0,
817 0, 0, 125, 126, 127, 128, 0, 129, 130, 135,
818 136, 137, 138, 139, 140, 131, 132, 133, 134, 135,
819 136, 137, 138, 139, 140, 134, 135, 136, 137, 138,
820 139, 140, 215, 207, 117, 118, 119, 120, 121, 122,
821 123, 124, 0, 0, 0, 0, -69, -69, -69, 128,
822 0, 0, 0, 0, 0, 0, 0, 125, 126, 127,
823 128, 0, 0, 125, 126, 127, 128, 0, 0, 129,
824 130, 136, 137, 138, 139, 140, 0, 131, 132, 133,
825 134, 135, 136, 137, 138, 139, 140, 1, 136, 137,
826 138, 139, 140, 0, 0, 217, 0, 2, 3, 4,
827 0, 5, 6, 7, 8, 9, 10, 11, 12, 13,
828 14, 15, 0, 0, 1, 0, 0, 0, 0, 0,
829 0, 0, 0, 0, 2, 3, 4, 16, 5, 6,
830 7, 8, 2, 10, 11, 12, 13, 14, 15, 0,
831 0, 0, 0, 0, 0, 14, 15, 0, 17, 0,
832 0, 0, 0, 0, 16, 0, 0, 0, 0, 0,
833 0, 0, 16, 48, 49, 50, 0, 0, 0, 0,
834 0, 0, 0, 51, 0, 17, 0, 0, 0, 0,
835 52, 0, 0, 0, 0, 0, 0, 53, 0, 54,
836 55, 117, 118, 119, 120, 121, 122, 123, 124, 82,
837 83, 0, 0, 0, 0, 84, 85, 86, 87, 88,
838 89, 90, 91, 0, 125, 126, 127, 128, 0, 0,
839 92, 0, 0, 0, 0, 0, 129, 130, 0, 0,
840 0, 0, 0, 0, 131, 132, 133, 134, 135, 136,
841 137, 138, 139, 140, 0, 0, 0, 0, 164, 117,
842 118, 119, 120, 121, 122, 123, 124, -68, -68, 0,
843 0, 0, 0, -68, -68, -68, -68, -68, -68, -68,
844 -68, 0, 125, 126, 127, 128, 0, 0, -68, 0,
845 0, 0, 0, 0, 129, 130, 0, 0, 0, 0,
846 0, 0, 131, 132, 133, 134, 135, 136, 137, 138,
847 139, 140, 0, 0, 0, 0, 168, 117, 118, 119,
848 120, 121, 122, 123, 124, 0, 0, 0, 0, 0,
849 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
850 125, 126, 127, 128, 0, 0, 0, 0, 0, 0,
851 0, 0, 129, 130, 0, 0, 0, 0, 0, 0,
852 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
853 0, 0, 0, 0, 171, 117, 118, 119, 120, 121,
854 122, 123, 124, 0, 0, 0, 0, 0, 0, 0,
855 0, 0, 0, 0, 0, 0, 0, 0, 125, 126,
856 127, 128, 0, 0, 0, 0, 0, 0, 0, 0,
857 129, 130, 0, 0, 0, 0, 0, 0, 131, 132,
858 133, 134, 135, 136, 137, 138, 139, 140, 0, 0,
859 0, 0, 208, 117, 118, 119, 120, 121, 122, 123,
860 124, 0, 0, 0, 0, 0, 0, 0, 0, 0,
861 0, 0, 0, 0, 0, 0, 125, 126, 127, 128,
862 0, 0, 0, 0, 0, 0, 0, 0, 129, 130,
863 0, 0, 0, 0, 0, 0, 131, 132, 133, 134,
864 135, 136, 137, 138, 139, 140, 117, 118, 119, 120,
865 0, 122, 123, 124, 0, 0, 0, 0, 0, 0,
866 0, 0, 0, 0, 0, 0, 0, 0, 0, 125,
867 126, 127, 128, 0, 0, 0, 0, -69, -69, -69,
868 -69, 129, 130, -69, -69, 0, 0, 0, 0, 131,
869 132, 133, 134, 135, 136, 137, 138, 139, 140, 0,
870 125, 126, 127, 128, 0, 0, 0, 0, 117, 118,
871 119, 120, -69, -69, 123, 124, 0, 0, 0, 0,
872 -69, -69, 133, 134, 135, 136, 137, 138, 139, 140,
873 0, 125, 126, 127, 128, 0, 0, 0, 0, 0,
874 0, 0, 0, 129, 130, 0, 0, 0, 0, 0,
875 0, 131, 132, 133, 134, 135, 136, 137, 138, 139,
876 140, -67, -67, 0, 0, 0, 0, -67, -67, -67,
877 -67, -67, -67, -67, -67, 0, 0, -67, -67, 0,
878 0, 0, -67, -67, -67, -67, -67, -67, -67, -67,
879 -67, 0, 0, 0, 0, 0, 93, 0, -67, 0,
880 0, 0, 203, 94, 0, 0, 0, 0, 0, 0,
881 0, 0, 93, 0, 0, 0, 0, 0, 0, 94
886 0, 53, 13, 67, 4, 5, 0, 13, 61, 9,
887 4, 61, 12, 13, 14, 15, 4, 17, 0, 61,
888 20, 61, 4, 17, 0, 0, 20, 66, 4, 17,
889 0, 61, 14, 15, 4, 17, 13, 43, 20, 13,
890 61, 17, 68, 43, 20, 16, 31, 17, 61, 43,
891 20, 63, 26, 27, 72, 68, 65, 44, 45, 46,
892 46, 43, 66, 44, 45, 129, 130, 43, 31, 43,
893 55, 56, 57, 43, 14, 15, 69, 77, 44, 45,
894 46, 42, 42, 77, 42, 63, 69, 4, 72, 77,
895 62, 64, 103, 93, 3, 77, 63, 62, 62, 46,
896 62, 77, 46, 103, 13, 14, 15, 77, 17, 18,
897 19, 20, 21, 22, 23, 24, 25, 26, 27, 72,
898 172, 20, 174, 210, 144, 77, 3, 217, 202, 174,
899 -1, 172, -1, -1, 43, -1, 13, 14, 15, -1,
900 17, 18, 19, 20, 144, 22, 23, 24, 25, 26,
901 27, -1, -1, -1, -1, 64, -1, 66, -1, -1,
902 -1, -1, -1, -1, 164, -1, 43, -1, 168, -1,
903 164, -1, -1, -1, 168, -1, 164, -1, -1, -1,
904 168, -1, 164, -1, -1, -1, 168, 64, 164, 66,
905 -1, -1, 168, -1, 164, -1, -1, -1, 168, -1,
906 -1, -1, 202, -1, -1, -1, -1, -1, 208, -1,
907 -1, -1, -1, -1, 208, -1, 216, 217, -1, 10,
908 208, -1, 216, 217, 224, -1, 208, -1, 216, -1,
909 224, -1, 208, -1, 216, 217, 224, -1, 208, -1,
910 216, 217, 224, -1, -1, -1, 216, 217, 224, -1,
911 -1, 42, -1, -1, 224, 46, -1, -1, -1, -1,
912 51, 52, 3, 54, 55, -1, -1, -1, -1, -1,
913 -1, -1, 13, 14, 15, -1, 17, 18, 19, 20,
914 -1, 22, 23, 24, 25, 26, 27, -1, -1, -1,
915 81, -1, -1, 84, 85, 86, 87, 88, 89, 90,
916 91, 92, 43, 94, -1, -1, -1, -1, -1, 100,
917 101, -1, -1, -1, -1, -1, -1, -1, -1, -1,
918 -1, -1, -1, 64, 65, -1, 117, 118, 119, 120,
919 121, 122, 123, 124, 125, 126, 127, 128, -1, -1,
920 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
921 -1, -1, 5, 6, 7, 8, 9, 10, 11, 12,
922 -1, -1, -1, -1, -1, 28, 29, 30, 31, -1,
923 -1, -1, -1, -1, 165, 28, 29, 30, 31, -1,
924 -1, -1, 28, 29, 30, 31, -1, 40, 41, 52,
925 53, 54, 55, 56, 57, 48, 49, 50, 51, 52,
926 53, 54, 55, 56, 57, 51, 52, 53, 54, 55,
927 56, 57, 203, 66, 5, 6, 7, 8, 9, 10,
928 11, 12, -1, -1, -1, -1, 28, 29, 30, 31,
929 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
930 31, -1, -1, 28, 29, 30, 31, -1, -1, 40,
931 41, 53, 54, 55, 56, 57, -1, 48, 49, 50,
932 51, 52, 53, 54, 55, 56, 57, 3, 53, 54,
933 55, 56, 57, -1, -1, 66, -1, 13, 14, 15,
934 -1, 17, 18, 19, 20, 21, 22, 23, 24, 25,
935 26, 27, -1, -1, 3, -1, -1, -1, -1, -1,
936 -1, -1, -1, -1, 13, 14, 15, 43, 17, 18,
937 19, 20, 13, 22, 23, 24, 25, 26, 27, -1,
938 -1, -1, -1, -1, -1, 26, 27, -1, 64, -1,
939 -1, -1, -1, -1, 43, -1, -1, -1, -1, -1,
940 -1, -1, 43, 44, 45, 46, -1, -1, -1, -1,
941 -1, -1, -1, 54, -1, 64, -1, -1, -1, -1,
942 61, -1, -1, -1, -1, -1, -1, 68, -1, 70,
943 71, 5, 6, 7, 8, 9, 10, 11, 12, 26,
944 27, -1, -1, -1, -1, 32, 33, 34, 35, 36,
945 37, 38, 39, -1, 28, 29, 30, 31, -1, -1,
946 47, -1, -1, -1, -1, -1, 40, 41, -1, -1,
947 -1, -1, -1, -1, 48, 49, 50, 51, 52, 53,
948 54, 55, 56, 57, -1, -1, -1, -1, 62, 5,
949 6, 7, 8, 9, 10, 11, 12, 26, 27, -1,
950 -1, -1, -1, 32, 33, 34, 35, 36, 37, 38,
951 39, -1, 28, 29, 30, 31, -1, -1, 47, -1,
952 -1, -1, -1, -1, 40, 41, -1, -1, -1, -1,
953 -1, -1, 48, 49, 50, 51, 52, 53, 54, 55,
954 56, 57, -1, -1, -1, -1, 62, 5, 6, 7,
955 8, 9, 10, 11, 12, -1, -1, -1, -1, -1,
956 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
957 28, 29, 30, 31, -1, -1, -1, -1, -1, -1,
958 -1, -1, 40, 41, -1, -1, -1, -1, -1, -1,
959 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
960 -1, -1, -1, -1, 62, 5, 6, 7, 8, 9,
961 10, 11, 12, -1, -1, -1, -1, -1, -1, -1,
962 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
963 30, 31, -1, -1, -1, -1, -1, -1, -1, -1,
964 40, 41, -1, -1, -1, -1, -1, -1, 48, 49,
965 50, 51, 52, 53, 54, 55, 56, 57, -1, -1,
966 -1, -1, 62, 5, 6, 7, 8, 9, 10, 11,
967 12, -1, -1, -1, -1, -1, -1, -1, -1, -1,
968 -1, -1, -1, -1, -1, -1, 28, 29, 30, 31,
969 -1, -1, -1, -1, -1, -1, -1, -1, 40, 41,
970 -1, -1, -1, -1, -1, -1, 48, 49, 50, 51,
971 52, 53, 54, 55, 56, 57, 5, 6, 7, 8,
972 -1, 10, 11, 12, -1, -1, -1, -1, -1, -1,
973 -1, -1, -1, -1, -1, -1, -1, -1, -1, 28,
974 29, 30, 31, -1, -1, -1, -1, 5, 6, 7,
975 8, 40, 41, 11, 12, -1, -1, -1, -1, 48,
976 49, 50, 51, 52, 53, 54, 55, 56, 57, -1,
977 28, 29, 30, 31, -1, -1, -1, -1, 5, 6,
978 7, 8, 40, 41, 11, 12, -1, -1, -1, -1,
979 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
980 -1, 28, 29, 30, 31, -1, -1, -1, -1, -1,
981 -1, -1, -1, 40, 41, -1, -1, -1, -1, -1,
982 -1, 48, 49, 50, 51, 52, 53, 54, 55, 56,
983 57, 26, 27, -1, -1, -1, -1, 32, 33, 34,
984 35, 36, 37, 38, 39, -1, -1, 26, 27, -1,
985 -1, -1, 47, 32, 33, 34, 35, 36, 37, 38,
986 39, -1, -1, -1, -1, -1, 61, -1, 47, -1,
987 -1, -1, 67, 68, -1, -1, -1, -1, -1, -1,
988 -1, -1, 61, -1, -1, -1, -1, -1, -1, 68
995 0, 3, 13, 14, 15, 17, 18, 19, 20, 21,
996 22, 23, 24, 25, 26, 27, 43, 64, 74, 75,
997 76, 77, 80, 82, 83, 84, 85, 86, 87, 88,
998 89, 90, 92, 94, 95, 99, 100, 101, 102, 104,
999 114, 115, 61, 61, 82, 101, 61, 101, 44, 45,
1000 46, 54, 61, 68, 70, 71, 95, 99, 101, 102,
1001 104, 105, 106, 109, 111, 112, 113, 61, 78, 79,
1002 101, 78, 100, 101, 100, 65, 81, 82, 0, 75,
1003 66, 13, 26, 27, 32, 33, 34, 35, 36, 37,
1004 38, 39, 47, 61, 68, 105, 91, 95, 99, 104,
1005 16, 61, 105, 61, 72, 105, 105, 44, 45, 46,
1006 93, 107, 108, 109, 110, 105, 105, 5, 6, 7,
1007 8, 9, 10, 11, 12, 28, 29, 30, 31, 40,
1008 41, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1009 57, 44, 45, 93, 63, 65, 81, 105, 105, 105,
1010 105, 105, 105, 105, 105, 105, 105, 96, 97, 98,
1011 101, 105, 103, 105, 62, 66, 105, 105, 62, 78,
1012 46, 62, 42, 69, 63, 105, 105, 105, 105, 105,
1013 105, 105, 105, 105, 105, 105, 105, 93, 93, 105,
1014 105, 105, 105, 105, 105, 105, 105, 105, 105, 62,
1015 79, 62, 63, 67, 69, 82, 105, 66, 62, 82,
1016 62, 72, 110, 107, 97, 105, 4, 66, 82, 80,
1017 46, 82, 91, 72, 62, 46, 82
1023 0, 73, 74, 75, 75, 76, 76, 77, 78, 78,
1024 79, 79, 80, 80, 81, 81, 82, 82, 82, 82,
1025 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
1026 83, 84, 84, 85, 85, 86, 86, 86, 86, 87,
1027 88, 89, 90, 91, 91, 91, 91, 92, 93, 93,
1028 94, 95, 96, 96, 97, 97, 98, 98, 99, 99,
1029 99, 99, 99, 99, 99, 99, 99, 100, 100, 101,
1030 101, 102, 103, 104, 104, 104, 104, 105, 105, 105,
1031 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
1032 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
1033 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
1034 105, 106, 107, 107, 108, 108, 109, 109, 109, 110,
1035 111, 111, 111, 112, 113, 114, 115
1041 0, 2, 1, 1, 2, 1, 1, 6, 0, 1,
1042 1, 3, 3, 2, 1, 2, 2, 1, 1, 1,
1043 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1044 0, 2, 1, 5, 7, 1, 1, 1, 1, 9,
1045 5, 5, 6, 1, 1, 1, 0, 3, 1, 1,
1046 4, 4, 1, 0, 1, 3, 1, 3, 3, 3,
1047 3, 3, 3, 3, 3, 3, 3, 1, 1, 1,
1048 1, 4, 1, 2, 2, 2, 2, 3, 3, 2,
1049 3, 3, 3, 2, 2, 3, 3, 3, 3, 3,
1050 3, 3, 3, 3, 3, 1, 3, 3, 3, 3,
1051 3, 3, 3, 3, 3, 3, 1, 1, 1, 1,
1052 1, 3, 1, 3, 1, 3, 1, 1, 1, 1,
1057 #define yyerrok (yyerrstatus = 0)
1058 #define yyclearin (yychar = YYEMPTY)
1059 #define YYEMPTY (-2)
1062 #define YYACCEPT goto yyacceptlab
1063 #define YYABORT goto yyabortlab
1064 #define YYERROR goto yyerrorlab
1067 #define YYRECOVERING() (!!yyerrstatus)
1069 #define YYBACKUP(Token, Value) \
1071 if (yychar == YYEMPTY) \
1075 YYPOPSTACK (yylen); \
1081 yyerror (parm, YY_("syntax error: cannot back up")); \
1088 #define YYERRCODE 256
1097 # define YYFPRINTF fprintf
1100 # define YYDPRINTF(Args) \
1107 #ifndef YY_LOCATION_PRINT
1108 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
1112 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
1116 YYFPRINTF (stderr, "%s ", Title); \
1117 yy_symbol_print (stderr, \
1118 Type, Value, parm); \
1119 YYFPRINTF (stderr, "\n"); \
1131 FILE *yyoutput = yyo;
1138 YYPRINT (yyo, yytoknum[yytype], *yyvaluep);
1169 for (; yybottom <= yytop; yybottom++)
1171 int yybot = *yybottom;
1177 # define YY_STACK_PRINT(Bottom, Top) \
1180 yy_stack_print ((Bottom), (Top)); \
1192 int yynrhs =
yyr2[yyrule];
1194 YYFPRINTF (stderr,
"Reducing stack by rule %d (line %d):\n",
1197 for (yyi = 0; yyi < yynrhs; yyi++)
1201 yystos[yyssp[yyi + 1 - yynrhs]],
1202 &yyvsp[(yyi + 1) - (yynrhs)]
1208 # define YY_REDUCE_PRINT(Rule) \
1211 yy_reduce_print (yyssp, yyvsp, Rule, parm); \
1218 # define YYDPRINTF(Args)
1219 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
1220 # define YY_STACK_PRINT(Bottom, Top)
1221 # define YY_REDUCE_PRINT(Rule)
1227 # define YYINITDEPTH 200
1238 # define YYMAXDEPTH 10000
1245 # if defined __GLIBC__ && defined _STRING_H
1246 # define yystrlen(S) (YY_CAST (YYPTRDIFF_T, strlen (S)))
1253 for (yylen = 0; yystr[yylen]; yylen++)
1261 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
1262 # define yystpcpy stpcpy
1270 const char *yys = yysrc;
1272 while ((*yyd++ = *yys++) !=
'\0')
1294 char const *yyp = yystr;
1301 goto do_not_strip_quotes;
1305 goto do_not_strip_quotes;
1321 do_not_strip_quotes: ;
1325 return yystpcpy (yyres, yystr) - yyres;
1343 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
1348 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
1379 int yyn =
yypact[*yyssp];
1382 yyarg[yycount++] =
yytname[yytoken];
1388 int yyxbegin = yyn < 0 ? -yyn : 0;
1390 int yychecklim =
YYLAST - yyn + 1;
1394 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
1398 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
1404 yyarg[yycount++] =
yytname[yyx];
1419 # 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"));
1443 if (*yymsg_alloc < yysize)
1445 *yymsg_alloc = 2 * yysize;
1446 if (! (yysize <= *yymsg_alloc
1458 while ((*yyp = *yyformat) !=
'\0')
1459 if (*yyp ==
'%' && yyformat[1] ==
's' && yyi < yycount)
1549 char *yymsg = yymsgbuf;
1553 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
1559 yyssp = yyss = yyssa;
1560 yyvsp = yyvs = yyvsa;
1563 YYDPRINTF ((stderr,
"Starting parse\n"));
1585 YYDPRINTF ((stderr,
"Entering state %d\n", yystate));
1591 if (yyss + yystacksize - 1 <= yyssp)
1592 #if !defined yyoverflow && !defined YYSTACK_RELOCATE
1593 goto yyexhaustedlab;
1599 # if defined yyoverflow
1611 yyoverflow (
YY_(
"memory exhausted"),
1612 &yyss1, yysize *
YYSIZEOF (*yyssp),
1613 &yyvs1, yysize *
YYSIZEOF (*yyvsp),
1621 goto yyexhaustedlab;
1632 goto yyexhaustedlab;
1635 # undef YYSTACK_RELOCATE
1641 yyssp = yyss + yysize - 1;
1642 yyvsp = yyvs + yysize - 1;
1645 YYDPRINTF ((stderr,
"Stack size increased to %ld\n",
1646 YY_CAST (
long, yystacksize)));
1649 if (yyss + yystacksize - 1 <= yyssp)
1677 YYDPRINTF ((stderr,
"Reading a token: "));
1678 yychar =
yylex (&yylval, parm);
1681 if (yychar <=
YYEOF)
1683 yychar = yytoken =
YYEOF;
1684 YYDPRINTF ((stderr,
"Now at end of input.\n"));
1748 yyval = yyvsp[1-yylen];
1755 #line 157 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
1757 ((
naslctxt*)parm)->tree = (yyvsp[0].node);
1759 #line 1760 "nasl_grammar.tab.c"
1763 #line 162 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
1767 (yyval.
node)->link[0] = (yyvsp[0].node);
1769 #line 1770 "nasl_grammar.tab.c"
1773 #line 168 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
1777 (yyval.
node)->link[0] = (yyvsp[-1].node);
1778 (yyval.
node)->link[1] = (yyvsp[0].node);
1780 #line 1781 "nasl_grammar.tab.c"
1784 #line 178 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
1789 (yyval.
node)->x.str_val = (yyvsp[-4].str);
1790 (yyval.
node)->link[0] = (yyvsp[-2].node);
1791 (yyval.
node)->link[1] = (yyvsp[0].node);
1793 #line 1794 "nasl_grammar.tab.c"
1797 #line 187 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
1798 { (yyval.
node) = NULL; }
1799 #line 1800 "nasl_grammar.tab.c"
1803 #line 187 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
1804 { (yyval.
node) = (yyvsp[0].node); }
1805 #line 1806 "nasl_grammar.tab.c"
1809 #line 189 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
1813 (yyval.
node)->x.str_val = (yyvsp[0].str);
1815 #line 1816 "nasl_grammar.tab.c"
1819 #line 195 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
1823 (yyval.
node)->x.str_val = (yyvsp[-2].str);
1824 (yyval.
node)->link[0] = (yyvsp[0].node);
1826 #line 1827 "nasl_grammar.tab.c"
1830 #line 203 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
1831 { (yyval.
node) = (yyvsp[-1].node); }
1832 #line 1833 "nasl_grammar.tab.c"
1836 #line 203 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
1837 { (yyval.
node) = NULL; }
1838 #line 1839 "nasl_grammar.tab.c"
1842 #line 206 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
1844 if ((yyvsp[-1].node) == NULL)
1845 (yyval.
node) = (yyvsp[0].node);
1850 (yyval.
node)->link[0] = (yyvsp[-1].node);
1851 (yyval.
node)->link[1] = (yyvsp[0].node);
1854 #line 1855 "nasl_grammar.tab.c"
1858 #line 219 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
1859 { (yyval.
node) = (yyvsp[-1].node); }
1860 #line 1861 "nasl_grammar.tab.c"
1864 #line 224 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
1869 #line 1870 "nasl_grammar.tab.c"
1873 #line 228 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
1878 #line 1879 "nasl_grammar.tab.c"
1882 #line 232 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
1883 { (yyval.
node) = NULL; }
1884 #line 1885 "nasl_grammar.tab.c"
1888 #line 236 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
1892 (yyval.
node)->link[0] = (yyvsp[0].node);
1894 #line 1895 "nasl_grammar.tab.c"
1898 #line 242 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
1903 #line 1904 "nasl_grammar.tab.c"
1907 #line 249 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
1911 (yyval.
node)->link[0] = (yyvsp[-2].node); (yyval.
node)->link[1] = (yyvsp[0].node);
1913 #line 1914 "nasl_grammar.tab.c"
1917 #line 255 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
1921 (yyval.
node)->link[0] = (yyvsp[-4].node); (yyval.
node)->link[1] = (yyvsp[-2].node); (yyval.
node)->link[2] = (yyvsp[0].node);
1923 #line 1924 "nasl_grammar.tab.c"
1927 #line 264 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
1931 (yyval.
node)->link[0] = (yyvsp[-6].node);
1932 (yyval.
node)->link[1] = (yyvsp[-4].node);
1933 (yyval.
node)->link[2] = (yyvsp[-2].node);
1934 (yyval.
node)->link[3] = (yyvsp[0].node);
1936 #line 1937 "nasl_grammar.tab.c"
1940 #line 274 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
1944 (yyval.
node)->link[0] = (yyvsp[-2].node);
1945 (yyval.
node)->link[1] = (yyvsp[0].node);
1947 #line 1948 "nasl_grammar.tab.c"
1951 #line 281 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
1955 (yyval.
node)->link[0] = (yyvsp[-3].node);
1956 (yyval.
node)->link[1] = (yyvsp[-1].node);
1958 #line 1959 "nasl_grammar.tab.c"
1962 #line 289 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
1966 (yyval.
node)->x.str_val = (yyvsp[-4].str);
1967 (yyval.
node)->link[0] = (yyvsp[-2].node);
1968 (yyval.
node)->link[1] = (yyvsp[0].node);
1970 #line 1971 "nasl_grammar.tab.c"
1974 #line 298 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
1975 { (yyval.
node) = NULL; }
1976 #line 1977 "nasl_grammar.tab.c"
1980 #line 302 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
1984 (yyval.
node)->link[0] = (yyvsp[-2].node);
1985 (yyval.
node)->link[1] = (yyvsp[0].node);
1987 #line 1988 "nasl_grammar.tab.c"
1991 #line 309 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
1992 { (yyval.
str) = (yyvsp[0].data).val; }
1993 #line 1994 "nasl_grammar.tab.c"
1997 #line 313 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2002 bzero (&subctx,
sizeof (subctx));
2006 (yyval.
node) = NULL;
2011 (g_str_hash, g_str_equal, g_free,
2018 g_free ((yyvsp[-1].str));
2030 nasl_perror (NULL,
"%s: Parse error at or near line %d\n", (yyvsp[-1].str),
2032 g_free ((yyvsp[-1].str));
2038 g_free((yyvsp[-1].str));
2045 #line 2046 "nasl_grammar.tab.c"
2049 #line 363 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2053 (yyval.
node)->x.str_val = (yyvsp[-3].str);
2054 (yyval.
node)->link[0] = (yyvsp[-1].node);
2056 #line 2057 "nasl_grammar.tab.c"
2060 #line 370 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2061 { (yyval.
node) = NULL; }
2062 #line 2063 "nasl_grammar.tab.c"
2066 #line 372 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2068 (yyvsp[-2].node)->link[1] = (yyvsp[0].node);
2069 (yyval.
node) = (yyvsp[-2].node);
2071 #line 2072 "nasl_grammar.tab.c"
2075 #line 378 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2079 (yyval.
node)->link[0] = (yyvsp[0].node);
2081 #line 2082 "nasl_grammar.tab.c"
2085 #line 384 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2089 (yyval.
node)->x.str_val = (yyvsp[-2].str);
2090 (yyval.
node)->link[0] = (yyvsp[0].node);
2092 #line 2093 "nasl_grammar.tab.c"
2096 #line 393 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2100 #line 2101 "nasl_grammar.tab.c"
2104 #line 396 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2106 #line 2107 "nasl_grammar.tab.c"
2110 #line 397 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2112 #line 2113 "nasl_grammar.tab.c"
2116 #line 398 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2118 #line 2119 "nasl_grammar.tab.c"
2122 #line 399 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2124 #line 2125 "nasl_grammar.tab.c"
2128 #line 400 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2130 #line 2131 "nasl_grammar.tab.c"
2134 #line 401 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2136 #line 2137 "nasl_grammar.tab.c"
2140 #line 402 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2142 #line 2143 "nasl_grammar.tab.c"
2146 #line 403 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2148 #line 2149 "nasl_grammar.tab.c"
2152 #line 407 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2155 (yyval.
node)->x.str_val = (yyvsp[0].str);
2157 #line 2158 "nasl_grammar.tab.c"
2161 #line 412 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2162 { (yyval.
str) = strdup(
"x"); }
2163 #line 2164 "nasl_grammar.tab.c"
2167 #line 415 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2171 (yyval.
node)->x.str_val = (yyvsp[-3].str);
2172 (yyval.
node)->link[0] = (yyvsp[-1].node);
2174 #line 2175 "nasl_grammar.tab.c"
2178 #line 425 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2180 #line 2181 "nasl_grammar.tab.c"
2184 #line 426 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2186 #line 2187 "nasl_grammar.tab.c"
2190 #line 427 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2192 #line 2193 "nasl_grammar.tab.c"
2196 #line 428 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2198 #line 2199 "nasl_grammar.tab.c"
2202 #line 432 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2203 { (yyval.
node) = (yyvsp[-1].node); }
2204 #line 2205 "nasl_grammar.tab.c"
2208 #line 433 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2210 #line 2211 "nasl_grammar.tab.c"
2214 #line 434 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2216 #line 2217 "nasl_grammar.tab.c"
2220 #line 435 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2222 #line 2223 "nasl_grammar.tab.c"
2226 #line 436 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2228 #line 2229 "nasl_grammar.tab.c"
2232 #line 437 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2234 #line 2235 "nasl_grammar.tab.c"
2238 #line 438 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2240 #line 2241 "nasl_grammar.tab.c"
2244 #line 439 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2246 #line 2247 "nasl_grammar.tab.c"
2250 #line 440 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2252 #line 2253 "nasl_grammar.tab.c"
2256 #line 441 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2258 #line 2259 "nasl_grammar.tab.c"
2262 #line 442 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2264 #line 2265 "nasl_grammar.tab.c"
2268 #line 443 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2270 #line 2271 "nasl_grammar.tab.c"
2274 #line 444 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2276 #line 2277 "nasl_grammar.tab.c"
2280 #line 445 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2282 #line 2283 "nasl_grammar.tab.c"
2286 #line 446 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2288 #line 2289 "nasl_grammar.tab.c"
2292 #line 447 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2294 #line 2295 "nasl_grammar.tab.c"
2298 #line 448 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2300 #line 2301 "nasl_grammar.tab.c"
2304 #line 449 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2306 #line 2307 "nasl_grammar.tab.c"
2310 #line 451 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2312 #line 2313 "nasl_grammar.tab.c"
2316 #line 452 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2318 #line 2319 "nasl_grammar.tab.c"
2322 #line 453 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2324 #line 2325 "nasl_grammar.tab.c"
2328 #line 454 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2330 #line 2331 "nasl_grammar.tab.c"
2334 #line 455 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2336 #line 2337 "nasl_grammar.tab.c"
2340 #line 456 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2342 #line 2343 "nasl_grammar.tab.c"
2346 #line 457 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2348 #line 2349 "nasl_grammar.tab.c"
2352 #line 458 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2354 #line 2355 "nasl_grammar.tab.c"
2358 #line 459 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2360 #line 2361 "nasl_grammar.tab.c"
2364 #line 460 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2366 #line 2367 "nasl_grammar.tab.c"
2370 #line 464 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2372 #line 2373 "nasl_grammar.tab.c"
2376 #line 466 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2377 { (yyval.
node) = (yyvsp[0].node); }
2378 #line 2379 "nasl_grammar.tab.c"
2382 #line 467 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2384 (yyvsp[-2].node)->link[1] = (yyvsp[0].node); (yyval.
node) = (yyvsp[-2].node);
2386 #line 2387 "nasl_grammar.tab.c"
2390 #line 471 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2393 (yyval.
node)->link[0] = (yyvsp[0].node);
2395 #line 2396 "nasl_grammar.tab.c"
2399 #line 474 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2402 (yyval.
node)->link[0] = (yyvsp[0].node);
2405 #line 2406 "nasl_grammar.tab.c"
2409 #line 480 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2411 #line 2412 "nasl_grammar.tab.c"
2415 #line 481 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2418 (yyval.
node)->size = strlen((yyvsp[0].str));
2420 #line 2421 "nasl_grammar.tab.c"
2424 #line 485 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2427 (yyval.
node)->size = (yyvsp[0].data).len;
2429 #line 2430 "nasl_grammar.tab.c"
2433 #line 493 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2437 (yyval.
node)->x.str_val = (yyvsp[0].str);
2439 #line 2440 "nasl_grammar.tab.c"
2443 #line 503 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2445 char *s = g_strdup_printf (
"%ld.%ld.%ld.%ld", (yyvsp[-6].num), (yyvsp[-4].num), (yyvsp[-2].num), (yyvsp[0].num));
2448 (yyval.
node)->x.str_val = s;
2449 (yyval.
node)->size = strlen(s);
2451 #line 2452 "nasl_grammar.tab.c"
2455 #line 513 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2459 (yyval.
node)->link[0] = (yyvsp[0].node);
2461 #line 2462 "nasl_grammar.tab.c"
2465 #line 521 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2469 (yyval.
node)->link[0] = (yyvsp[0].node);
2471 #line 2472 "nasl_grammar.tab.c"
2475 #line 2476 "nasl_grammar.tab.c"
2503 const int yyi =
yypgoto[yylhs] + *yyssp;
2504 yystate = (0 <= yyi && yyi <=
YYLAST &&
yycheck[yyi] == *yyssp
2524 #if ! YYERROR_VERBOSE
2527 # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
2530 char const *yymsgp =
YY_(
"syntax error");
2531 int yysyntax_error_status;
2533 if (yysyntax_error_status == 0)
2535 else if (yysyntax_error_status == 1)
2537 if (yymsg != yymsgbuf)
2543 yymsg_alloc =
sizeof yymsgbuf;
2544 yysyntax_error_status = 2;
2553 if (yysyntax_error_status == 2)
2554 goto yyexhaustedlab;
2556 # undef YYSYNTAX_ERROR
2562 if (yyerrstatus == 3)
2567 if (yychar <=
YYEOF)
2570 if (yychar ==
YYEOF)
2576 yytoken, &yylval, parm);
2630 yystos[yystate], yyvsp, parm);
2664 #if !defined yyoverflow || YYERROR_VERBOSE
2685 yytoken, &yylval, parm);
2691 while (yyssp != yyss)
2694 yystos[*yyssp], yyvsp, parm);
2702 if (yymsg != yymsgbuf)
2707 #line 527 "/builddir/build/BUILD/openvas-7.0.1/nasl/nasl_grammar.y"
2712 #include <gvm/base/logging.h>
2713 #include <gvm/base/prefs.h>
2721 g_message (
"%s", s);
2752 struct stat stat_buf;
2754 if (stat (dir, &stat_buf) != 0)
2757 if (S_ISDIR(stat_buf.st_mode) != 0)
2771 static int loaded = 0;
2772 const char *base, *
prefix;
2773 char filename[2048], *fbuffer;
2780 base = prefs_get (
"plugins_folder");
2781 snprintf (filename,
sizeof (filename),
"%s/sha256sums", base);
2782 if (g_file_get_contents (filename, &fbuffer, &flen, NULL))
2786 snprintf (filename,
sizeof (filename),
"%s/md5sums", base);
2787 if (g_file_get_contents (filename, &fbuffer, &flen, NULL))
2792 g_warning (
"No plugins checksums file");
2798 g_warning (
"Erroneous or missing signature for checksums file %s",
2806 file = fopen (filename,
"r");
2809 g_warning (
"%s: Couldn't read file %s", __FUNCTION__, filename);
2814 kb_del_items (kb,
"md5sums:*");
2819 kb_del_items (kb,
"sha256sums:*");
2824 char buffer[2048], **splits;
2825 if (!fgets (buffer,
sizeof (buffer), file))
2827 if (strstr (buffer,
".asc")
2828 || (!strstr (buffer,
".inc") && !strstr (buffer,
".nasl")))
2830 splits = g_strsplit (buffer,
" ", -1);
2831 if (g_strv_length (splits) != 2)
2833 g_warning (
"%s: Erroneous checksum entry %s", __FUNCTION__, buffer);
2834 g_strfreev (splits);
2837 splits[1][strlen (splits[1]) - 1] =
'\0';
2838 if (strstr (splits[1],
".inc"))
2839 g_snprintf (buffer,
sizeof (buffer),
"%s:%s",
prefix,
2840 basename (splits[1]));
2842 g_snprintf (buffer,
sizeof (buffer),
"%s:%s/%s",
prefix, base,
2844 kb_item_set_str (kb, buffer, splits[0], 0);
2845 g_strfreev (splits);
2861 char *content = NULL, digest[128], *result;
2862 size_t len = 0, i, alglen;
2864 assert (algorithm == GCRY_MD_MD5 || algorithm == GCRY_MD_SHA256);
2865 if (!filename || !g_file_get_contents (filename, &content, &len, NULL))
2868 gcry_md_hash_buffer (algorithm, digest, content, len);
2869 alglen = gcry_md_get_algo_dlen (algorithm);
2870 result = g_malloc0 (alglen * 2 + 1);
2871 for (i = 0; i < alglen; i++)
2872 snprintf (result + 2 * i, 3,
"%02x", (
unsigned char) digest[i]);
2896 char *full_name = NULL, key_path[2048], *checksum, *filename;
2916 while (inc_dir != NULL) {
2919 full_name = g_build_filename(inc_dir->data,
name, NULL);
2921 if ((g_file_get_contents (full_name, &pc->
buffer, &flen, NULL)))
2924 inc_dir = g_slist_next(inc_dir);
2927 if (!full_name || !pc->
buffer) {
2928 g_message (
"%s: Not able to open nor to locate it in include paths",
2941 if (strstr (full_name,
".inc"))
2942 filename = basename (full_name);
2944 filename = full_name;
2945 snprintf (key_path,
sizeof (key_path),
"signaturecheck:%s", filename);
2946 timestamp = kb_item_get_int (pc->
kb, key_path);
2949 struct stat file_stat;
2951 if (stat (full_name, &file_stat) >= 0 && timestamp > file_stat.st_mtime)
2963 snprintf (key_path,
sizeof (key_path),
"md5sums:%s", filename);
2965 snprintf (key_path,
sizeof (key_path),
"sha256sums:%s", filename);
2968 checksum = kb_item_get_str (pc->
kb, key_path);
2971 g_warning (
"No checksum for %s", full_name);
2980 ret = strcmp (check, checksum);
2982 g_warning (
"checksum for %s not matching", full_name);
2985 snprintf (key_path,
sizeof (key_path),
"signaturecheck:%s", filename);
2986 kb_item_add_int (pc->
kb, key_path, time (NULL));
3067 else if (isalpha(c) || c ==
'_')
3073 else if (isspace(c))
3077 else if (isdigit(c))
3145 *p++ =
'\f'; len ++;
3148 *p++ =
'\t'; len ++;
3154 *p++ =
'\v'; len ++;
3157 *p ++ =
'"'; len ++;
3169 for (i = 0; i < 2; i ++)
3174 nasl_perror(NULL,
"Unfinished \\x escape sequence (EOF)\n");
3181 if (c >=
'0' && c <=
'9')
3182 x = x * 16 + (c -
'0');
3183 else if (c >=
'a' && c <=
'f')
3184 x = x * 16 + 10 + (c -
'a');
3187 nasl_perror(NULL,
"Unfinished \\x escape sequence\n");
3198 nasl_perror(NULL,
"Unknown escape sequence \\%c\n", c);
3211 if (isalnum(c) || c ==
'_')
3227 if (c ==
'x' || c ==
'X')
3229 else if (isdigit(c))
3339 if (! isprint(c)) c =
'.';
3340 g_message (
"lexer error: invalid token >!%c "
3341 "parsed as >!< %c", c, c);
3534 lvalp->
data.
val = g_malloc0 (len+2);
3594 nasl_perror(NULL,
"Invalid token 0x parsed as 0 at line %d\n",
3608 int x =
mylex (lvalp, parm);