Dibbler - a portable DHCPv6  1.0.2RC1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
RelParser.cpp File Reference
#include <stdio.h>
#include <string.h>
#include <iostream>
#include <string>
#include <malloc.h>
#include "DHCPConst.h"
#include "SmartPtr.h"
#include "Container.h"
#include "RelParser.h"
#include "RelParsGlobalOpt.h"
#include "RelParsIfaceOpt.h"
#include "RelCfgIface.h"
#include "RelCfgMgr.h"
#include "OptVendorData.h"
#include "OptDUID.h"
#include "DUID.h"
#include "Logger.h"
#include "Portable.h"
#include "FlexLexer.h"
+ Include dependency graph for RelParser.cpp:

Classes

class  RelParser
struct  yy_RelParser_stype::SDuid
union  yy_RelParser_stype

Namespaces

namespace  std

Macros

#define __ALLOCA_alloca(size)   alloca(size)
#define __ALLOCA_free(ptr, ref)
#define __ALLOCA_return(num)   do { return(num); } while(0)
#define const
#define YY_RelParser_BISON   1
#define YY_RelParser_CONSTRUCTOR_CODE
#define YY_RelParser_CONSTRUCTOR_INIT
#define YY_RelParser_CONSTRUCTOR_PARAM   yyFlexLexer * lex
#define YY_RelParser_h_included
#define YY_RelParser_MEMBERS
#define YY_RelParser_STYPE   yy_RelParser_stype
#define YY_USE_CLASS
#define YY_USE_CLASS
#define YY_USE_CLASS
#define YYABORT   __ALLOCA_return(1)
#define YYACCEPT   __ALLOCA_return(0)
#define YYBACKUP(token, value)
#define YYBEGINDECLARELABEL
#define YYBEGINGOTO
#define YYBISON   1
#define yyclearin   (YY_RelParser_CHAR = YYEMPTY)
#define YYDECLARELABEL(lb)
#define YYEMPTY   -2
#define YYENDDECLARELABEL
#define YYENDGOTO
#define YYEOF   0
#define YYERRCODE   256
#define yyerrok   (yyerrstatus = 0)
#define YYERROR   YYGOTO(yyerrlab1)
#define YYFAIL   YYGOTO(yyerrlab)
#define YYFINAL   77
#define YYFLAG   -32768
#define YYGOTO(lb)   goto lb
#define YYINITDEPTH   200
#define YYLABEL(lb)   lb:
#define YYLAST   67
#define YYLEX   YY_RelParser_LEX()
#define YYMAXDEPTH   10000
#define YYNTBASE   29
#define YYPOPSTACK   (yyvsp--, yyssp--)
#define YYRECOVERING()   (!!yyerrstatus)
#define YYTERROR   1
#define YYTRANSLATE(x)   ((unsigned)(x) <= 279 ? yytranslate[x] : 57)

Functions

static void __yy_bcopy (from, to, count) char *from
 while (i-- > 0)*t++

Variables

int count
register char * f = from
register int i = count
register char * t = to
char * to
static short yycheck []
static short yydefact []
static short yydefgoto []
static short yypact []
static short yypgoto []
static short yyprhs []
static short yyr1 []
static short yyr2 []
static short yyrhs []
static short yyrline []
static short yytable []
static char * yytname []
static char yytranslate []

Macro Definition Documentation

#define __ALLOCA_alloca (   size)    alloca(size)
#define __ALLOCA_free (   ptr,
  ref 
)
#define __ALLOCA_return (   num)    do { return(num); } while(0)
#define const
#define YY_RelParser_BISON   1
#define YY_RelParser_CONSTRUCTOR_CODE
Value:
ParserOptStack.append(new TRelParsGlobalOpt()); \
this->lex = lex; \
yynerrs = 0; \
yychar = 0;
#define YY_RelParser_CONSTRUCTOR_INIT
#define YY_RelParser_CONSTRUCTOR_PARAM   yyFlexLexer * lex
#define YY_RelParser_h_included
#define YY_RelParser_MEMBERS
Value:
FlexLexer * lex; \
TContainer< SPtr<TRelParsGlobalOpt> > ParserOptStack; /* list of parsed interfaces/IAs/addrs */ \
TContainer< SPtr<TRelCfgIface> > RelCfgIfaceLst; /* list of RelCfg interfaces */ \
TContainer< SPtr<TIPv6Addr> > PresentAddrLst; /* address list (used for DNS,NTP,etc.)*/ \
List(std::string) PresentStringLst; /* string list */ \
SPtr<TRelOptEcho> EchoOpt; /* echo request option */ \
/*method check whether interface with id=ifaceNr has been already declared */ \
bool CheckIsIface(int ifaceNr); \
/*method check whether interface with id=ifaceName has been already declared*/ \
bool CheckIsIface(string ifaceName); \
void StartIfaceDeclaration(); \
bool EndIfaceDeclaration(); \
TRelCfgMgr* CfgMgr; \
virtual ~RelParser();
#define YY_RelParser_STYPE   yy_RelParser_stype
#define YY_USE_CLASS
#define YY_USE_CLASS
#define YY_USE_CLASS
#define YYABORT   __ALLOCA_return(1)
#define YYACCEPT   __ALLOCA_return(0)
#define YYBACKUP (   token,
  value 
)
Value:
if (YY_RelParser_CHAR == YYEMPTY && yylen == 1) \
{ YY_RelParser_CHAR = (token), YY_RelParser_LVAL = (value); \
yychar1 = YYTRANSLATE (YY_RelParser_CHAR); \
YYPOPSTACK; \
YYGOTO(yybackup); \
} \
else \
{ YY_RelParser_ERROR ("syntax error: cannot back up"); YYERROR; } \
while (0)
#define YYBEGINDECLARELABEL
#define YYBEGINGOTO
#define YYBISON   1
#define yyclearin   (YY_RelParser_CHAR = YYEMPTY)
#define YYDECLARELABEL (   lb)
#define YYEMPTY   -2
#define YYENDDECLARELABEL
#define YYENDGOTO
#define YYEOF   0
#define YYERRCODE   256
#define yyerrok   (yyerrstatus = 0)
#define YYERROR   YYGOTO(yyerrlab1)
#define YYFAIL   YYGOTO(yyerrlab)
#define YYFINAL   77
#define YYFLAG   -32768
#define YYGOTO (   lb)    goto lb
#define YYINITDEPTH   200
#define YYLABEL (   lb)    lb:
#define YYLAST   67
#define YYLEX   YY_RelParser_LEX()
#define YYMAXDEPTH   10000
#define YYNTBASE   29
#define YYPOPSTACK   (yyvsp--, yyssp--)
#define YYRECOVERING ( )    (!!yyerrstatus)
#define YYTERROR   1
#define YYTRANSLATE (   x)    ((unsigned)(x) <= 279 ? yytranslate[x] : 57)

Function Documentation

static void __yy_bcopy ( from  ,
to  ,
count   
)
static
while ( i--  ,
 
)

Variable Documentation

int count
register char* f = from
register int i = count
register char* t = to
char* to
short yycheck[]
static
Initial value:
{ 28,
4, 5, 21, 32, 8, 4, 5, 21, 37, 8,
55, 21, 9, 10, 11, 12, 13, 62, 15, 48,
22, 23, 26, 20, 3, 54, 21, 26, 6, 7,
9, 10, 11, 12, 13, 64, 15, 66, 4, 5,
3, 20, 8, 16, 17, 18, 19, 21, 22, 23,
6, 7, 14, 14, 25, 27, 25, 24, 28, 24,
0, 0, 9, 50, -1, -1, 34
}
short yydefact[]
static
Initial value:
{ 0,
0, 0, 0, 0, 0, 0, 40, 1, 0, 3,
6, 5, 7, 8, 9, 11, 12, 13, 14, 10,
49, 38, 28, 29, 36, 37, 39, 0, 45, 0,
44, 0, 4, 2, 15, 0, 0, 43, 0, 0,
16, 0, 47, 46, 24, 26, 42, 0, 0, 0,
48, 0, 0, 0, 0, 17, 20, 19, 22, 21,
23, 0, 0, 35, 0, 33, 41, 25, 18, 27,
31, 34, 30, 32, 0, 0, 0
}
short yydefgoto[]
static
Initial value:
{ 75,
8, 9, 10, 34, 55, 56, 35, 49, 50, 25,
57, 58, 59, 60, 11, 12, 13, 14, 15, 61,
16, 17, 18, 19, 37, 44, 20
}
short yypact[]
static
Initial value:
{ 4,
-18, -13, -1, -9, 6, 28,-32768,-32768, 22,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768, -1,-32768, 39,
-32768, 27,-32768, 38,-32768, 29, -1,-32768, 30, 32,
-32768, 40,-32768, 31,-32768,-32768,-32768, -1, 35, 35,
-32768, 23, 45, -1, -3,-32768,-32768,-32768,-32768,-32768,
-32768, 2, 34, -1, 36, -1,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768, 61, 62,-32768
}
short yypgoto[]
static
Initial value:
{-32768,
-32768,-32768, 54,-32768, 14, -44, 33,-32768,-32768, -28,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768
}
short yyprhs[]
static
Initial value:
{ 0,
0, 2, 5, 7, 10, 12, 14, 16, 18, 20,
22, 24, 26, 28, 30, 32, 35, 37, 40, 42,
44, 46, 48, 50, 51, 58, 59, 66, 68, 70,
74, 78, 82, 85, 89, 92, 95, 98, 101, 104,
106, 109, 115, 119, 122, 123, 128, 130, 134
}
short yyr1[]
static
Initial value:
{ 0,
29, 30, 31, 31, 32, 32, 32, 32, 32, 32,
32, 32, 32, 32, 33, 33, 34, 34, 35, 35,
35, 35, 35, 37, 36, 38, 36, 39, 39, 40,
41, 42, 42, 43, 43, 44, 45, 46, 47, 48,
49, 50, 51, 52, 54, 53, 55, 55, 56
}
short yyr2[]
static
Initial value:
{ 0,
1, 2, 1, 2, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 2, 1, 2, 1, 1,
1, 1, 1, 0, 6, 0, 6, 1, 1, 3,
3, 3, 2, 3, 2, 2, 2, 2, 2, 1,
2, 5, 3, 2, 0, 4, 1, 3, 2
}
short yyrhs[]
static
Initial value:
{ 30,
0, 31, 33, 0, 32, 0, 31, 32, 0, 45,
0, 44, 0, 46, 0, 47, 0, 48, 0, 56,
0, 50, 0, 51, 0, 52, 0, 53, 0, 36,
0, 33, 36, 0, 35, 0, 34, 35, 0, 41,
0, 40, 0, 43, 0, 42, 0, 49, 0, 0,
3, 21, 25, 37, 34, 26, 0, 0, 3, 39,
25, 38, 34, 26, 0, 22, 0, 23, 0, 5,
6, 24, 0, 4, 6, 24, 0, 5, 7, 39,
0, 5, 7, 0, 4, 7, 39, 0, 4, 7,
0, 11, 39, 0, 12, 21, 0, 10, 21, 0,
13, 21, 0, 20, 0, 8, 39, 0, 15, 16,
39, 27, 14, 0, 15, 18, 14, 0, 15, 19,
0, 0, 15, 17, 54, 55, 0, 39, 0, 55,
28, 39, 0, 9, 21, 0
}
short yyrline[]
static
Initial value:
{ 0,
86, 90, 94, 95, 99, 100, 101, 102, 103, 104,
105, 106, 107, 108, 112, 113, 117, 118, 122, 123,
124, 125, 126, 130, 135, 143, 148, 159, 160, 164,
171, 178, 182, 189, 193, 200, 206, 211, 218, 225,
231, 238, 245, 252, 259, 265, 270, 275, 282
}
short yytable[]
static
Initial value:
{ 36,
52, 53, 21, 40, 54, 52, 53, 22, 43, 54,
69, 26, 1, 2, 3, 4, 5, 69, 6, 51,
23, 24, 68, 7, 32, 67, 27, 70, 63, 64,
1, 2, 3, 4, 5, 72, 6, 74, 52, 53,
32, 7, 54, 28, 29, 30, 31, 39, 23, 24,
65, 66, 38, 47, 45, 42, 46, 71, 48, 73,
76, 77, 33, 62, 0, 0, 41
}
char* yytname[]
static
Initial value:
{ "$","error","$illegal.","IFACE_","CLIENT_",
"SERVER_","UNICAST_","MULTICAST_","IFACE_ID_","IFACE_ID_ORDER_","LOGNAME_","LOGLEVEL_",
"LOGMODE_","WORKDIR_","DUID_","OPTION_","REMOTE_ID_","ECHO_REQUEST_","RELAY_ID_",
"LINK_LAYER_","GUESS_MODE_","STRING_","HEXNUMBER_","INTNUMBER_","IPV6ADDR_",
"'{'","'}'","'-'","','","Grammar","GlobalList","GlobalOptionsList","GlobalOption",
"IfaceList","IfaceOptionList","IfaceOptions","Iface","@1","@2","Number","ServerUnicastOption",
"ClientUnicastOption","ServerMulticast","ClientMulticastOption","LogLevelOption",
"LogModeOption","LogNameOption","WorkDirOption","GuessMode","IfaceID","RemoteID",
"RelayID","LinkLayerOption","EchoRequest","@3","OptionIdList","IfaceIDOrder",
""
}
char yytranslate[]
static
Initial value:
{ 0,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 28, 27, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 25, 2, 26, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 1, 2, 3, 4, 5,
6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23, 24
}