[Xorp-hackers] [PATCH 05/10] xorp: rtrmgr: Removed y.boot_tab.c
igorm at etf.rs
igorm at etf.rs
Tue Mar 13 03:39:38 PDT 2012
From: Igor Maravic <igorm at etf.rs>
It will be automatically generated with bison.
Signed-off-by: Igor Maravic <igorm at etf.rs>
---
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
More information about the Xorp-hackers
mailing list