From: Igor Maravic <[email protected]> It will be automatically generated with bison.
Signed-off-by: Igor Maravic <[email protected]> --- xorp/rtrmgr/y.boot_tab.cc | 890 --------------------------------------------- 1 files changed, 0 insertions(+), 890 deletions(-) delete mode 100644 xorp/rtrmgr/y.boot_tab.cc diff --git a/xorp/rtrmgr/y.boot_tab.cc b/xorp/rtrmgr/y.boot_tab.cc deleted file mode 100644 index 0d563a0..0000000 --- a/xorp/rtrmgr/y.boot_tab.cc +++ /dev/null @@ -1,890 +0,0 @@ -#ifndef lint - -#endif -#include <stdlib.h> -#define YYBYACC 1 -#define YYMAJOR 1 -#define YYMINOR 9 -#define YYLEX yylex() -#define YYEMPTY -1 -#define yyclearin (yychar=(YYEMPTY)) -#define yyerrok (yyerrflag=0) -#define YYRECOVERING() (yyerrflag!=0) -#if defined(__cplusplus) || __STDC__ -static int yygrowstack(void); -#else -static int yygrowstack(); -#endif -#define yyparse bootparse -#define yylex bootlex -#define yyerror booterror -#define yychar bootchar -#define yyval bootval -#define yylval bootlval -#define yydebug bootdebug -#define yynerrs bootnerrs -#define yyerrflag booterrflag -#define yyss bootss -#define yyssp bootssp -#define yyvs bootvs -#define yyvsp bootvsp -#define yylhs bootlhs -#define yylen bootlen -#define yydefred bootdefred -#define yydgoto bootdgoto -#define yysindex bootsindex -#define yyrindex bootrindex -#define yygindex bootgindex -#define yytable boottable -#define yycheck bootcheck -#define yyname bootname -#define yyrule bootrule -#define yysslim bootsslim -#define yystacksize bootstacksize -#define YYPREFIX "boot" -#line 2 "boot.yy" -#define YYSTYPE char* - -#include <assert.h> -#include <stdio.h> - - -#include "rtrmgr_module.h" -#include "libxorp/xorp.h" -#include "libxorp/xlog.h" - -#include "conf_tree.hh" -#include "conf_tree_node.hh" -#include "template_tree.hh" -#include "template_tree_node.hh" -#include "config_operators.hh" - -/* XXX: sigh - -p flag to yacc should do this for us */ -#define yystacksize bootstacksize -#define yysslim bootsslim -#line 67 "y.boot_tab.c" -#define YYERRCODE 256 -#define UPLEVEL 257 -#define DOWNLEVEL 258 -#define END 259 -#define ASSIGN_OPERATOR 260 -#define BOOL_VALUE 261 -#define UINT_VALUE 262 -#define UINTRANGE_VALUE 263 -#define IPV4_VALUE 264 -#define IPV4RANGE_VALUE 265 -#define IPV4NET_VALUE 266 -#define IPV6_VALUE 267 -#define IPV6RANGE_VALUE 268 -#define IPV6NET_VALUE 269 -#define MACADDR_VALUE 270 -#define URL_FILE_VALUE 271 -#define URL_FTP_VALUE 272 -#define URL_HTTP_VALUE 273 -#define URL_TFTP_VALUE 274 -#define LITERAL 275 -#define STRING 276 -#define ARITH 277 -#define INFIX_OPERATOR 278 -#define SYNTAX_ERROR 279 -#define CONFIG_NODE_ID 280 -const short bootlhs[] = { -1, - 0, 0, 0, 0, 1, 1, 6, 4, 8, 8, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 5, 5, 7, - 10, 10, 11, 11, 11, 2, 13, 13, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 3, -}; -const short bootlen[] = { 2, - 0, 2, 2, 1, 2, 2, 1, 1, 1, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 1, 1, 3, - 0, 2, 1, 1, 1, 1, 1, 2, 2, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 1, -}; -const short bootdefred[] = { 0, - 36, 9, 56, 0, 0, 0, 0, 4, 0, 0, - 0, 0, 10, 2, 3, 0, 29, 5, 28, 6, - 14, 16, 15, 18, 17, 19, 21, 20, 22, 23, - 24, 25, 26, 27, 13, 12, 11, 0, 0, 34, - 35, 0, 0, 33, 0, 0, 30, 32, 39, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 41, 43, 42, 45, - 44, 46, 48, 47, 49, 50, 51, 52, 53, 54, - 40, 55, -}; -const short bootdgoto[] = { 5, - 6, 7, 8, 9, 18, 10, 19, 11, 12, 42, - 43, 44, 45, -}; -const short bootsindex[] = { -210, - 0, 0, 0, -270, 0, -210, -210, 0, -233, -225, - -171, -250, 0, 0, 0, -208, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -222, 0, - 0, -201, -208, 0, -256, 0, 0, 0, 0, -188, - -200, -199, -198, -197, -196, -195, -193, -191, -172, -153, - -152, -151, -150, -149, -148, -147, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -}; -const short bootrindex[] = { 58, - 0, 0, 0, 0, 0, 58, 58, 0, 0, 0, - -186, -205, 0, 0, 0, -145, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -255, 0, 0, - 0, 0, -145, 0, 0, -228, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -}; -const short bootgindex[] = { 49, - -16, -15, 0, 0, 0, 0, 104, 103, 0, 73, - 0, 0, 0, -}; -#define YYTABLESIZE 116 -const short boottable[] = { 40, - 41, 9, 49, 37, 13, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 50, 37, 16, 2, 17, 40, 41, 10, 4, - 38, 16, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 1, 38, - 1, 8, 46, 8, 14, 15, 47, 1, 67, 68, - 69, 70, 71, 72, 2, 73, 38, 74, 3, 4, - 7, 39, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, 61, 62, 63, 64, 75, 65, 66, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 76, 77, 78, 79, 80, - 81, 82, 31, 20, 37, 48, -}; -const short bootcheck[] = { 16, - 16, 257, 259, 259, 275, 261, 262, 263, 264, 265, - 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, - 276, 278, 278, 257, 275, 259, 43, 43, 257, 280, - 259, 257, 261, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, 273, 274, 275, 276, 259, 278, - 259, 257, 275, 259, 6, 7, 258, 0, 259, 259, - 259, 259, 259, 259, 275, 259, 275, 259, 279, 280, - 257, 280, 261, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, 273, 274, 259, 276, 277, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 259, 259, 259, 259, 259, - 259, 259, 258, 10, 12, 43, -}; -#define YYFINAL 5 -#ifndef YYDEBUG -#define YYDEBUG 0 -#endif -#define YYMAXTOKEN 280 -#if YYDEBUG -const char * const bootname[] = { -"end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"UPLEVEL","DOWNLEVEL","END", -"ASSIGN_OPERATOR","BOOL_VALUE","UINT_VALUE","UINTRANGE_VALUE","IPV4_VALUE", -"IPV4RANGE_VALUE","IPV4NET_VALUE","IPV6_VALUE","IPV6RANGE_VALUE", -"IPV6NET_VALUE","MACADDR_VALUE","URL_FILE_VALUE","URL_FTP_VALUE", -"URL_HTTP_VALUE","URL_TFTP_VALUE","LITERAL","STRING","ARITH","INFIX_OPERATOR", -"SYNTAX_ERROR","CONFIG_NODE_ID", -}; -const char * const bootrule[] = { -"$accept : input", -"input :", -"input : definition input", -"input : emptystatement input", -"input : syntax_error", -"definition : long_nodename nodegroup", -"definition : short_nodename long_nodegroup", -"short_nodename : literal", -"long_nodename : literals", -"literal : LITERAL", -"literal : CONFIG_NODE_ID LITERAL", -"literals : literals literal", -"literals : literal STRING", -"literals : literal LITERAL", -"literals : literal BOOL_VALUE", -"literals : literal UINTRANGE_VALUE", -"literals : literal UINT_VALUE", -"literals : literal IPV4RANGE_VALUE", -"literals : literal IPV4_VALUE", -"literals : literal IPV4NET_VALUE", -"literals : literal IPV6RANGE_VALUE", -"literals : literal IPV6_VALUE", -"literals : literal IPV6NET_VALUE", -"literals : literal MACADDR_VALUE", -"literals : literal URL_FILE_VALUE", -"literals : literal URL_FTP_VALUE", -"literals : literal URL_HTTP_VALUE", -"literals : literal URL_TFTP_VALUE", -"nodegroup : long_nodegroup", -"nodegroup : END", -"long_nodegroup : UPLEVEL statements DOWNLEVEL", -"statements :", -"statements : statement statements", -"statement : terminal", -"statement : definition", -"statement : emptystatement", -"emptystatement : END", -"term_literal : LITERAL", -"term_literal : CONFIG_NODE_ID LITERAL", -"terminal : term_literal END", -"terminal : term_literal INFIX_OPERATOR STRING END", -"terminal : term_literal INFIX_OPERATOR BOOL_VALUE END", -"terminal : term_literal INFIX_OPERATOR UINTRANGE_VALUE END", -"terminal : term_literal INFIX_OPERATOR UINT_VALUE END", -"terminal : term_literal INFIX_OPERATOR IPV4RANGE_VALUE END", -"terminal : term_literal INFIX_OPERATOR IPV4_VALUE END", -"terminal : term_literal INFIX_OPERATOR IPV4NET_VALUE END", -"terminal : term_literal INFIX_OPERATOR IPV6RANGE_VALUE END", -"terminal : term_literal INFIX_OPERATOR IPV6_VALUE END", -"terminal : term_literal INFIX_OPERATOR IPV6NET_VALUE END", -"terminal : term_literal INFIX_OPERATOR MACADDR_VALUE END", -"terminal : term_literal INFIX_OPERATOR URL_FILE_VALUE END", -"terminal : term_literal INFIX_OPERATOR URL_FTP_VALUE END", -"terminal : term_literal INFIX_OPERATOR URL_HTTP_VALUE END", -"terminal : term_literal INFIX_OPERATOR URL_TFTP_VALUE END", -"terminal : term_literal INFIX_OPERATOR ARITH END", -"syntax_error : SYNTAX_ERROR", -}; -#endif -#ifndef YYSTYPE -typedef int YYSTYPE; -#endif -#if YYDEBUG -#include <stdio.h> -#endif -#ifdef YYSTACKSIZE -#undef YYMAXDEPTH -#define YYMAXDEPTH YYSTACKSIZE -#else -#ifdef YYMAXDEPTH -#define YYSTACKSIZE YYMAXDEPTH -#else -#define YYSTACKSIZE 10000 -#define YYMAXDEPTH 10000 -#endif -#endif -#define YYINITSTACKSIZE 200 -int yydebug; -int yynerrs; -int yyerrflag; -int yychar; -short *yyssp; -YYSTYPE *yyvsp; -YYSTYPE yyval; -YYSTYPE yylval; -short *yyss; -short *yysslim; -YYSTYPE *yyvs; -int yystacksize; -#line 192 "boot.yy" - -extern void boot_scan_string(const char *configuration); -extern int boot_linenum; -extern "C" int bootparse(); -extern int bootlex(); - -void booterror(const char *s) throw (ParseError); - -static ConfigTree *config_tree = NULL; -static string boot_filename; -static string lastsymbol; -static string node_id; - - -static void -extend_path(char* segment, int type, const string& node_id_str) -{ - lastsymbol = segment; - - string segment_copy = segment; - free(segment); - - try { - ConfigNodeId config_node_id(node_id_str); - config_tree->extend_path(segment_copy, type, config_node_id); - } catch (const InvalidString& e) { - string s = c_format("Invalid config tree node ID: %s", - e.str().c_str()); - booterror(s.c_str()); - } -} - -static void -push_path() -{ - config_tree->push_path(); -} - -static void -pop_path() -{ - config_tree->pop_path(); -} - -static void -terminal(char* value, int type, ConfigOperator op) -{ - push_path(); - - lastsymbol = value; - - config_tree->terminal_value(string(value), type, op); - free(value); - pop_path(); -} - -void -booterror(const char *s) throw (ParseError) -{ - string errmsg; - - if (! boot_filename.empty()) { - errmsg = c_format("PARSE ERROR [Config File %s, line %d]: %s", - boot_filename.c_str(), - boot_linenum, s); - } else { - errmsg = c_format("PARSE ERROR [line %d]: %s", boot_linenum, s); - } - errmsg += c_format("; Last symbol parsed was \"%s\"", lastsymbol.c_str()); - - xorp_throw(ParseError, errmsg); -} - -int -init_bootfile_parser(const char *configuration, - const char *filename, - ConfigTree *ct) -{ - config_tree = ct; - boot_filename = filename; - boot_linenum = 1; - boot_scan_string(configuration); - return 0; -} - -void -parse_bootfile() throw (ParseError) -{ - if (bootparse() != 0) - booterror("unknown error"); -} - -ConfigOperator boot_lookup_operator(const char* s) -{ - char *s0, *s1, *s2; - - /* skip leading spaces */ - s0 = strdup(s); - s1 = s0; - while (*s1 != '\0' && *s1 == ' ') { - s1++; - } - - /* trim trailing spaces */ - s2 = s1; - while (*s2 != '\0') { - if (*s2 == ' ') { - *s2 = 0; - break; - } - s2++; - } - - ConfigOperator op; - string str = s1; - free(s1); - try { - op = lookup_operator(str); - return op; - } catch (const ParseError& pe) { - string errmsg = pe.why(); - errmsg += c_format("\n[Line %d]\n", boot_linenum); - errmsg += c_format("Last symbol parsed was \"%s\"", lastsymbol.c_str()); - xorp_throw(ParseError, errmsg); - } - XLOG_UNREACHABLE(); -} -#line 417 "y.boot_tab.c" -/* allocate initial stack or double stack size, up to YYMAXDEPTH */ -static int yygrowstack() -{ - int newsize, i; - short *newss; - YYSTYPE *newvs; - - if ((newsize = yystacksize) == 0) - newsize = YYINITSTACKSIZE; - else if (newsize >= YYMAXDEPTH) - return -1; - else if ((newsize *= 2) > YYMAXDEPTH) - newsize = YYMAXDEPTH; - i = yyssp - yyss; - newss = yyss ? (short *)realloc(yyss, newsize * sizeof *newss) : - (short *)malloc(newsize * sizeof *newss); - if (newss == NULL) - return -1; - yyss = newss; - yyssp = newss + i; - newvs = yyvs ? (YYSTYPE *)realloc(yyvs, newsize * sizeof *newvs) : - (YYSTYPE *)malloc(newsize * sizeof *newvs); - if (newvs == NULL) - return -1; - yyvs = newvs; - yyvsp = newvs + i; - yystacksize = newsize; - yysslim = yyss + newsize - 1; - return 0; -} - -#define YYABORT goto yyabort -#define YYREJECT goto yyabort -#define YYACCEPT goto yyaccept -#define YYERROR goto yyerrlab - -#ifndef YYPARSE_PARAM -#if defined(__cplusplus) || __STDC__ -#define YYPARSE_PARAM_ARG void -#define YYPARSE_PARAM_DECL -#else /* ! ANSI-C/C++ */ -#define YYPARSE_PARAM_ARG -#define YYPARSE_PARAM_DECL -#endif /* ANSI-C/C++ */ -#else /* YYPARSE_PARAM */ -#ifndef YYPARSE_PARAM_TYPE -#define YYPARSE_PARAM_TYPE void * -#endif -#if defined(__cplusplus) || __STDC__ -#define YYPARSE_PARAM_ARG YYPARSE_PARAM_TYPE YYPARSE_PARAM -#define YYPARSE_PARAM_DECL -#else /* ! ANSI-C/C++ */ -#define YYPARSE_PARAM_ARG YYPARSE_PARAM -#define YYPARSE_PARAM_DECL YYPARSE_PARAM_TYPE YYPARSE_PARAM; -#endif /* ANSI-C/C++ */ -#endif /* ! YYPARSE_PARAM */ - -int -yyparse (YYPARSE_PARAM_ARG) - YYPARSE_PARAM_DECL -{ - register int yym, yyn, yystate; -#if YYDEBUG - register const char *yys; - - if ((yys = getenv("YYDEBUG"))) - { - yyn = *yys; - if (yyn >= '0' && yyn <= '9') - yydebug = yyn - '0'; - } -#endif - - yynerrs = 0; - yyerrflag = 0; - yychar = (-1); - - if (yyss == NULL && yygrowstack()) goto yyoverflow; - yyssp = yyss; - yyvsp = yyvs; - *yyssp = yystate = 0; - -yyloop: - if ((yyn = yydefred[yystate])) goto yyreduce; - if (yychar < 0) - { - if ((yychar = yylex()) < 0) yychar = 0; -#if YYDEBUG - if (yydebug) - { - yys = 0; - if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; - if (!yys) yys = "illegal-symbol"; - printf("%sdebug: state %d, reading %d (%s)\n", - YYPREFIX, yystate, yychar, yys); - } -#endif - } - if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 && - yyn <= YYTABLESIZE && yycheck[yyn] == yychar) - { -#if YYDEBUG - if (yydebug) - printf("%sdebug: state %d, shifting to state %d\n", - YYPREFIX, yystate, yytable[yyn]); -#endif - if (yyssp >= yysslim && yygrowstack()) - { - goto yyoverflow; - } - *++yyssp = yystate = yytable[yyn]; - *++yyvsp = yylval; - yychar = (-1); - if (yyerrflag > 0) --yyerrflag; - goto yyloop; - } - if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 && - yyn <= YYTABLESIZE && yycheck[yyn] == yychar) - { - yyn = yytable[yyn]; - goto yyreduce; - } - if (yyerrflag) goto yyinrecovery; -#if defined(lint) || defined(__GNUC__) - goto yynewerror; -#endif -yynewerror: - yyerror("syntax error"); -#if defined(lint) || defined(__GNUC__) - goto yyerrlab; -#endif -yyerrlab: - ++yynerrs; -yyinrecovery: - if (yyerrflag < 3) - { - yyerrflag = 3; - for (;;) - { - if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 && - yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE) - { -#if YYDEBUG - if (yydebug) - printf("%sdebug: state %d, error recovery shifting\ - to state %d\n", YYPREFIX, *yyssp, yytable[yyn]); -#endif - if (yyssp >= yysslim && yygrowstack()) - { - goto yyoverflow; - } - *++yyssp = yystate = yytable[yyn]; - *++yyvsp = yylval; - goto yyloop; - } - else - { -#if YYDEBUG - if (yydebug) - printf("%sdebug: error recovery discarding state %d\n", - YYPREFIX, *yyssp); -#endif - if (yyssp <= yyss) goto yyabort; - --yyssp; - --yyvsp; - } - } - } - else - { - if (yychar == 0) goto yyabort; -#if YYDEBUG - if (yydebug) - { - yys = 0; - if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; - if (!yys) yys = "illegal-symbol"; - printf("%sdebug: state %d, error recovery discards token %d (%s)\n", - YYPREFIX, yystate, yychar, yys); - } -#endif - yychar = (-1); - goto yyloop; - } -yyreduce: -#if YYDEBUG - if (yydebug) - printf("%sdebug: state %d, reducing by rule %d (%s)\n", - YYPREFIX, yystate, yyn, yyrule[yyn]); -#endif - yym = yylen[yyn]; - yyval = yyvsp[1-yym]; - switch (yyn) - { -case 7: -#line 60 "boot.yy" -{ push_path(); } -break; -case 8: -#line 63 "boot.yy" -{ push_path(); } -break; -case 9: -#line 66 "boot.yy" -{ node_id = ""; extend_path(yyvsp[0], NODE_VOID, node_id); } -break; -case 10: -#line 67 "boot.yy" -{ node_id = yyvsp[-1]; - free(yyvsp[-1]); - extend_path(yyvsp[0], NODE_VOID, node_id); } -break; -case 12: -#line 73 "boot.yy" -{ extend_path(yyvsp[0], NODE_TEXT, node_id); } -break; -case 13: -#line 74 "boot.yy" -{ extend_path(yyvsp[0], NODE_TEXT, node_id); } -break; -case 14: -#line 75 "boot.yy" -{ extend_path(yyvsp[0], NODE_BOOL, node_id); } -break; -case 15: -#line 76 "boot.yy" -{ extend_path(yyvsp[0], NODE_UINTRANGE, node_id); } -break; -case 16: -#line 77 "boot.yy" -{ extend_path(yyvsp[0], NODE_UINT, node_id); } -break; -case 17: -#line 78 "boot.yy" -{ extend_path(yyvsp[0], NODE_IPV4RANGE, node_id); } -break; -case 18: -#line 79 "boot.yy" -{ extend_path(yyvsp[0], NODE_IPV4, node_id); } -break; -case 19: -#line 80 "boot.yy" -{ extend_path(yyvsp[0], NODE_IPV4NET, node_id); } -break; -case 20: -#line 81 "boot.yy" -{ extend_path(yyvsp[0], NODE_IPV6RANGE, node_id); } -break; -case 21: -#line 82 "boot.yy" -{ extend_path(yyvsp[0], NODE_IPV6, node_id); } -break; -case 22: -#line 83 "boot.yy" -{ extend_path(yyvsp[0], NODE_IPV6NET, node_id); } -break; -case 23: -#line 84 "boot.yy" -{ extend_path(yyvsp[0], NODE_MACADDR, node_id); } -break; -case 24: -#line 85 "boot.yy" -{ extend_path(yyvsp[0], NODE_URL_FILE, node_id); } -break; -case 25: -#line 86 "boot.yy" -{ extend_path(yyvsp[0], NODE_URL_FTP, node_id); } -break; -case 26: -#line 87 "boot.yy" -{ extend_path(yyvsp[0], NODE_URL_HTTP, node_id); } -break; -case 27: -#line 88 "boot.yy" -{ extend_path(yyvsp[0], NODE_URL_TFTP, node_id); } -break; -case 29: -#line 92 "boot.yy" -{ pop_path(); } -break; -case 30: -#line 95 "boot.yy" -{ pop_path(); } -break; -case 37: -#line 110 "boot.yy" -{ node_id = ""; extend_path(yyvsp[0], NODE_VOID, node_id); } -break; -case 38: -#line 111 "boot.yy" -{ node_id = yyvsp[-1]; - free(yyvsp[-1]); - extend_path(yyvsp[0], NODE_VOID, node_id);} -break; -case 39: -#line 116 "boot.yy" -{ - terminal(strdup(""), NODE_VOID, OP_NONE); - } -break; -case 40: -#line 119 "boot.yy" -{ - terminal(yyvsp[-1], NODE_TEXT, boot_lookup_operator(yyvsp[-2])); - free(yyvsp[-2]); - } -break; -case 41: -#line 123 "boot.yy" -{ - terminal(yyvsp[-1], NODE_BOOL, boot_lookup_operator(yyvsp[-2])); - free(yyvsp[-2]); - } -break; -case 42: -#line 127 "boot.yy" -{ - terminal(yyvsp[-1], NODE_UINTRANGE, boot_lookup_operator(yyvsp[-2])); - free(yyvsp[-2]); - } -break; -case 43: -#line 131 "boot.yy" -{ - terminal(yyvsp[-1], NODE_UINT, boot_lookup_operator(yyvsp[-2])); - free(yyvsp[-2]); - } -break; -case 44: -#line 135 "boot.yy" -{ - terminal(yyvsp[-1], NODE_IPV4RANGE, boot_lookup_operator(yyvsp[-2])); - free(yyvsp[-2]); - } -break; -case 45: -#line 139 "boot.yy" -{ - terminal(yyvsp[-1], NODE_IPV4, boot_lookup_operator(yyvsp[-2])); - free(yyvsp[-2]); - } -break; -case 46: -#line 143 "boot.yy" -{ - terminal(yyvsp[-1], NODE_IPV4NET, boot_lookup_operator(yyvsp[-2])); - free(yyvsp[-2]); - } -break; -case 47: -#line 147 "boot.yy" -{ - terminal(yyvsp[-1], NODE_IPV6RANGE, boot_lookup_operator(yyvsp[-2])); - free(yyvsp[-2]); - } -break; -case 48: -#line 151 "boot.yy" -{ - terminal(yyvsp[-1], NODE_IPV6, boot_lookup_operator(yyvsp[-2])); - free(yyvsp[-2]); - } -break; -case 49: -#line 155 "boot.yy" -{ - terminal(yyvsp[-1], NODE_IPV6NET, boot_lookup_operator(yyvsp[-2])); - free(yyvsp[-2]); - } -break; -case 50: -#line 159 "boot.yy" -{ - terminal(yyvsp[-1], NODE_MACADDR, boot_lookup_operator(yyvsp[-2])); - free(yyvsp[-2]); - } -break; -case 51: -#line 163 "boot.yy" -{ - terminal(yyvsp[-1], NODE_URL_FILE, boot_lookup_operator(yyvsp[-2])); - free(yyvsp[-2]); - } -break; -case 52: -#line 167 "boot.yy" -{ - terminal(yyvsp[-1], NODE_URL_FTP, boot_lookup_operator(yyvsp[-2])); - free(yyvsp[-2]); - } -break; -case 53: -#line 171 "boot.yy" -{ - terminal(yyvsp[-1], NODE_URL_HTTP, boot_lookup_operator(yyvsp[-2])); - free(yyvsp[-2]); - } -break; -case 54: -#line 175 "boot.yy" -{ - terminal(yyvsp[-1], NODE_URL_TFTP, boot_lookup_operator(yyvsp[-2])); - free(yyvsp[-2]); - } -break; -case 55: -#line 179 "boot.yy" -{ - terminal(yyvsp[-1], NODE_ARITH, boot_lookup_operator(yyvsp[-2])); - free(yyvsp[-2]); - } -break; -case 56: -#line 185 "boot.yy" -{ - booterror("syntax error"); - } -break; -#line 836 "y.boot_tab.c" - } - yyssp -= yym; - yystate = *yyssp; - yyvsp -= yym; - yym = yylhs[yyn]; - if (yystate == 0 && yym == 0) - { -#if YYDEBUG - if (yydebug) - printf("%sdebug: after reduction, shifting from state 0 to\ - state %d\n", YYPREFIX, YYFINAL); -#endif - yystate = YYFINAL; - *++yyssp = YYFINAL; - *++yyvsp = yyval; - if (yychar < 0) - { - if ((yychar = yylex()) < 0) yychar = 0; -#if YYDEBUG - if (yydebug) - { - yys = 0; - if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; - if (!yys) yys = "illegal-symbol"; - printf("%sdebug: state %d, reading %d (%s)\n", - YYPREFIX, YYFINAL, yychar, yys); - } -#endif - } - if (yychar == 0) goto yyaccept; - goto yyloop; - } - if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 && - yyn <= YYTABLESIZE && yycheck[yyn] == yystate) - yystate = yytable[yyn]; - else - yystate = yydgoto[yym]; -#if YYDEBUG - if (yydebug) - printf("%sdebug: after reduction, shifting from state %d \ -to state %d\n", YYPREFIX, *yyssp, yystate); -#endif - if (yyssp >= yysslim && yygrowstack()) - { - goto yyoverflow; - } - *++yyssp = yystate; - *++yyvsp = yyval; - goto yyloop; -yyoverflow: - yyerror("yacc stack overflow"); -yyabort: - return (1); -yyaccept: - return (0); -} -- 1.7.5.4 _______________________________________________ Xorp-hackers mailing list [email protected] http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-hackers
