Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Sebastian Schrader
Kea
Commits
d9d2ae2b
Commit
d9d2ae2b
authored
Aug 08, 2016
by
Francis Dupont
Browse files
trac4272a: regen lexer/parser
parent
717a4723
Changes
6
Expand all
Hide whitespace changes
Inline
Side-by-side
src/lib/eval/lexer.cc
View file @
d9d2ae2b
This diff is collapsed.
Click to expand it.
src/lib/eval/location.hh
View file @
d9d2ae2b
// Generated 20160
6101
50
9
// Generated 20160
80814
50
// A Bison parser, made by GNU Bison 3.0.4.
// Locations for Bison parsers in C++
...
...
src/lib/eval/parser.cc
View file @
d9d2ae2b
This diff is collapsed.
Click to expand it.
src/lib/eval/parser.h
View file @
d9d2ae2b
...
...
@@ -304,21 +304,24 @@ namespace isc { namespace eval {
// pkt6_field
char
dummy3
[
sizeof
(
TokenPkt6
::
FieldType
)];
// pkt_metadata
char
dummy4
[
sizeof
(
TokenPkt
::
MetadataType
)];
// relay6_field
char
dummy
4
[
sizeof
(
TokenRelay6Field
::
FieldType
)];
char
dummy
5
[
sizeof
(
TokenRelay6Field
::
FieldType
)];
// "constant string"
// "integer"
// "constant hexstring"
// "option name"
// "ip address"
char
dummy
5
[
sizeof
(
std
::
string
)];
char
dummy
6
[
sizeof
(
std
::
string
)];
// option_code
char
dummy
6
[
sizeof
(
uint16_t
)];
char
dummy
7
[
sizeof
(
uint16_t
)];
// nest_level
char
dummy
7
[
sizeof
(
uint8_t
)];
char
dummy
8
[
sizeof
(
uint8_t
)];
};
/// Symbol semantic values.
...
...
@@ -351,34 +354,39 @@ namespace isc { namespace eval {
TOKEN_OPTION
=
264
,
TOKEN_RELAY4
=
265
,
TOKEN_RELAY6
=
266
,
TOKEN_LBRACKET
=
267
,
TOKEN_RBRACKET
=
268
,
TOKEN_DOT
=
269
,
TOKEN_TEXT
=
270
,
TOKEN_HEX
=
271
,
TOKEN_EXISTS
=
272
,
TOKEN_PKT4
=
273
,
TOKEN_CHADDR
=
274
,
TOKEN_HLEN
=
275
,
TOKEN_HTYPE
=
276
,
TOKEN_CIADDR
=
277
,
TOKEN_GIADDR
=
278
,
TOKEN_YIADDR
=
279
,
TOKEN_SIADDR
=
280
,
TOKEN_PKT6
=
281
,
TOKEN_MSGTYPE
=
282
,
TOKEN_TRANSID
=
283
,
TOKEN_PEERADDR
=
284
,
TOKEN_LINKADDR
=
285
,
TOKEN_SUBSTRING
=
286
,
TOKEN_ALL
=
287
,
TOKEN_COMA
=
288
,
TOKEN_CONCAT
=
289
,
TOKEN_STRING
=
290
,
TOKEN_INTEGER
=
291
,
TOKEN_HEXSTRING
=
292
,
TOKEN_OPTION_NAME
=
293
,
TOKEN_IP_ADDRESS
=
294
TOKEN_PEERADDR
=
267
,
TOKEN_LINKADDR
=
268
,
TOKEN_LBRACKET
=
269
,
TOKEN_RBRACKET
=
270
,
TOKEN_DOT
=
271
,
TOKEN_TEXT
=
272
,
TOKEN_HEX
=
273
,
TOKEN_EXISTS
=
274
,
TOKEN_PKT
=
275
,
TOKEN_IFACE
=
276
,
TOKEN_SRC
=
277
,
TOKEN_DST
=
278
,
TOKEN_LEN
=
279
,
TOKEN_PKT4
=
280
,
TOKEN_CHADDR
=
281
,
TOKEN_HLEN
=
282
,
TOKEN_HTYPE
=
283
,
TOKEN_CIADDR
=
284
,
TOKEN_GIADDR
=
285
,
TOKEN_YIADDR
=
286
,
TOKEN_SIADDR
=
287
,
TOKEN_PKT6
=
288
,
TOKEN_MSGTYPE
=
289
,
TOKEN_TRANSID
=
290
,
TOKEN_SUBSTRING
=
291
,
TOKEN_ALL
=
292
,
TOKEN_COMA
=
293
,
TOKEN_CONCAT
=
294
,
TOKEN_STRING
=
295
,
TOKEN_INTEGER
=
296
,
TOKEN_HEXSTRING
=
297
,
TOKEN_OPTION_NAME
=
298
,
TOKEN_IP_ADDRESS
=
299
};
};
...
...
@@ -422,6 +430,8 @@ namespace isc { namespace eval {
basic_symbol
(
typename
Base
::
kind_type
t
,
const
TokenPkt6
::
FieldType
v
,
const
location_type
&
l
);
basic_symbol
(
typename
Base
::
kind_type
t
,
const
TokenPkt
::
MetadataType
v
,
const
location_type
&
l
);
basic_symbol
(
typename
Base
::
kind_type
t
,
const
TokenRelay6Field
::
FieldType
v
,
const
location_type
&
l
);
basic_symbol
(
typename
Base
::
kind_type
t
,
const
std
::
string
v
,
const
location_type
&
l
);
...
...
@@ -537,6 +547,14 @@ namespace isc { namespace eval {
symbol_type
make_RELAY6
(
const
location_type
&
l
);
static
inline
symbol_type
make_PEERADDR
(
const
location_type
&
l
);
static
inline
symbol_type
make_LINKADDR
(
const
location_type
&
l
);
static
inline
symbol_type
make_LBRACKET
(
const
location_type
&
l
);
...
...
@@ -561,6 +579,26 @@ namespace isc { namespace eval {
symbol_type
make_EXISTS
(
const
location_type
&
l
);
static
inline
symbol_type
make_PKT
(
const
location_type
&
l
);
static
inline
symbol_type
make_IFACE
(
const
location_type
&
l
);
static
inline
symbol_type
make_SRC
(
const
location_type
&
l
);
static
inline
symbol_type
make_DST
(
const
location_type
&
l
);
static
inline
symbol_type
make_LEN
(
const
location_type
&
l
);
static
inline
symbol_type
make_PKT4
(
const
location_type
&
l
);
...
...
@@ -605,14 +643,6 @@ namespace isc { namespace eval {
symbol_type
make_TRANSID
(
const
location_type
&
l
);
static
inline
symbol_type
make_PEERADDR
(
const
location_type
&
l
);
static
inline
symbol_type
make_LINKADDR
(
const
location_type
&
l
);
static
inline
symbol_type
make_SUBSTRING
(
const
location_type
&
l
);
...
...
@@ -734,7 +764,7 @@ namespace isc { namespace eval {
// number is the opposite. If YYTABLE_NINF, syntax error.
static
const
unsigned
char
yytable_
[];
static
const
un
signed
char
yycheck_
[];
static
const
signed
char
yycheck_
[];
// YYSTOS[STATE-NUM] -- The (internal number of the) accessing
// symbol of state STATE-NUM.
...
...
@@ -854,12 +884,12 @@ namespace isc { namespace eval {
enum
{
yyeof_
=
0
,
yylast_
=
1
1
2
,
///< Last index in yytable_.
yynnts_
=
1
2
,
///< Number of nonterminal symbols.
yyfinal_
=
2
5
,
///< Termination state number.
yylast_
=
12
1
,
///< Last index in yytable_.
yynnts_
=
1
3
,
///< Number of nonterminal symbols.
yyfinal_
=
2
7
,
///< Termination state number.
yyterror_
=
1
,
yyerrcode_
=
256
,
yyntokens_
=
4
0
///< Number of tokens.
yyntokens_
=
4
5
///< Number of tokens.
};
...
...
@@ -905,9 +935,9 @@ namespace isc { namespace eval {
5
,
6
,
7
,
8
,
9
,
10
,
11
,
12
,
13
,
14
,
15
,
16
,
17
,
18
,
19
,
20
,
21
,
22
,
23
,
24
,
25
,
26
,
27
,
28
,
29
,
30
,
31
,
32
,
33
,
34
,
35
,
36
,
37
,
38
,
39
35
,
36
,
37
,
38
,
39
,
40
,
41
,
42
,
43
,
44
};
const
unsigned
int
user_token_number_max_
=
29
4
;
const
unsigned
int
user_token_number_max_
=
29
9
;
const
token_number_type
undef_token_
=
2
;
if
(
static_cast
<
int
>
(
t
)
<=
yyeof_
)
...
...
@@ -940,35 +970,39 @@ namespace isc { namespace eval {
{
switch
(
other
.
type_get
())
{
case
4
5
:
// option_repr_type
case
5
0
:
// option_repr_type
value
.
copy
<
TokenOption
::
RepresentationType
>
(
other
.
value
);
break
;
case
47
:
// pkt4_field
case
53
:
// pkt4_field
value
.
copy
<
TokenPkt4
::
FieldType
>
(
other
.
value
);
break
;
case
4
8
:
// pkt6_field
case
5
4
:
// pkt6_field
value
.
copy
<
TokenPkt6
::
FieldType
>
(
other
.
value
);
break
;
case
49
:
// relay6_field
case
52
:
// pkt_metadata
value
.
copy
<
TokenPkt
::
MetadataType
>
(
other
.
value
);
break
;
case
55
:
// relay6_field
value
.
copy
<
TokenRelay6Field
::
FieldType
>
(
other
.
value
);
break
;
case
35
:
// "constant string"
case
36
:
// "integer"
case
37
:
// "constant hexstring"
case
3
8
:
// "option name"
case
39
:
// "ip address"
case
40
:
// "constant string"
case
41
:
// "integer"
case
42
:
// "constant hexstring"
case
4
3
:
// "option name"
case
44
:
// "ip address"
value
.
copy
<
std
::
string
>
(
other
.
value
);
break
;
case
4
4
:
// option_code
case
4
9
:
// option_code
value
.
copy
<
uint16_t
>
(
other
.
value
);
break
;
case
46
:
// nest_level
case
51
:
// nest_level
value
.
copy
<
uint8_t
>
(
other
.
value
);
break
;
...
...
@@ -989,35 +1023,39 @@ namespace isc { namespace eval {
(
void
)
v
;
switch
(
this
->
type_get
())
{
case
4
5
:
// option_repr_type
case
5
0
:
// option_repr_type
value
.
copy
<
TokenOption
::
RepresentationType
>
(
v
);
break
;
case
47
:
// pkt4_field
case
53
:
// pkt4_field
value
.
copy
<
TokenPkt4
::
FieldType
>
(
v
);
break
;
case
4
8
:
// pkt6_field
case
5
4
:
// pkt6_field
value
.
copy
<
TokenPkt6
::
FieldType
>
(
v
);
break
;
case
49
:
// relay6_field
case
52
:
// pkt_metadata
value
.
copy
<
TokenPkt
::
MetadataType
>
(
v
);
break
;
case
55
:
// relay6_field
value
.
copy
<
TokenRelay6Field
::
FieldType
>
(
v
);
break
;
case
35
:
// "constant string"
case
36
:
// "integer"
case
37
:
// "constant hexstring"
case
3
8
:
// "option name"
case
39
:
// "ip address"
case
40
:
// "constant string"
case
41
:
// "integer"
case
42
:
// "constant hexstring"
case
4
3
:
// "option name"
case
44
:
// "ip address"
value
.
copy
<
std
::
string
>
(
v
);
break
;
case
4
4
:
// option_code
case
4
9
:
// option_code
value
.
copy
<
uint16_t
>
(
v
);
break
;
case
46
:
// nest_level
case
51
:
// nest_level
value
.
copy
<
uint8_t
>
(
v
);
break
;
...
...
@@ -1057,6 +1095,13 @@ namespace isc { namespace eval {
,
location
(
l
)
{}
template
<
typename
Base
>
EvalParser
::
basic_symbol
<
Base
>::
basic_symbol
(
typename
Base
::
kind_type
t
,
const
TokenPkt
::
MetadataType
v
,
const
location_type
&
l
)
:
Base
(
t
)
,
value
(
v
)
,
location
(
l
)
{}
template
<
typename
Base
>
EvalParser
::
basic_symbol
<
Base
>::
basic_symbol
(
typename
Base
::
kind_type
t
,
const
TokenRelay6Field
::
FieldType
v
,
const
location_type
&
l
)
:
Base
(
t
)
...
...
@@ -1111,35 +1156,39 @@ namespace isc { namespace eval {
// Type destructor.
switch
(
yytype
)
{
case
4
5
:
// option_repr_type
case
5
0
:
// option_repr_type
value
.
template
destroy
<
TokenOption
::
RepresentationType
>
();
break
;
case
47
:
// pkt4_field
case
53
:
// pkt4_field
value
.
template
destroy
<
TokenPkt4
::
FieldType
>
();
break
;
case
4
8
:
// pkt6_field
case
5
4
:
// pkt6_field
value
.
template
destroy
<
TokenPkt6
::
FieldType
>
();
break
;
case
49
:
// relay6_field
case
52
:
// pkt_metadata
value
.
template
destroy
<
TokenPkt
::
MetadataType
>
();
break
;
case
55
:
// relay6_field
value
.
template
destroy
<
TokenRelay6Field
::
FieldType
>
();
break
;
case
35
:
// "constant string"
case
36
:
// "integer"
case
37
:
// "constant hexstring"
case
3
8
:
// "option name"
case
39
:
// "ip address"
case
40
:
// "constant string"
case
41
:
// "integer"
case
42
:
// "constant hexstring"
case
4
3
:
// "option name"
case
44
:
// "ip address"
value
.
template
destroy
<
std
::
string
>
();
break
;
case
4
4
:
// option_code
case
4
9
:
// option_code
value
.
template
destroy
<
uint16_t
>
();
break
;
case
46
:
// nest_level
case
51
:
// nest_level
value
.
template
destroy
<
uint8_t
>
();
break
;
...
...
@@ -1166,35 +1215,39 @@ namespace isc { namespace eval {
super_type
::
move
(
s
);
switch
(
this
->
type_get
())
{
case
4
5
:
// option_repr_type
case
5
0
:
// option_repr_type
value
.
move
<
TokenOption
::
RepresentationType
>
(
s
.
value
);
break
;
case
47
:
// pkt4_field
case
53
:
// pkt4_field
value
.
move
<
TokenPkt4
::
FieldType
>
(
s
.
value
);
break
;
case
4
8
:
// pkt6_field
case
5
4
:
// pkt6_field
value
.
move
<
TokenPkt6
::
FieldType
>
(
s
.
value
);
break
;
case
49
:
// relay6_field
case
52
:
// pkt_metadata
value
.
move
<
TokenPkt
::
MetadataType
>
(
s
.
value
);
break
;
case
55
:
// relay6_field
value
.
move
<
TokenRelay6Field
::
FieldType
>
(
s
.
value
);
break
;
case
35
:
// "constant string"
case
36
:
// "integer"
case
37
:
// "constant hexstring"
case
3
8
:
// "option name"
case
39
:
// "ip address"
case
40
:
// "constant string"
case
41
:
// "integer"
case
42
:
// "constant hexstring"
case
4
3
:
// "option name"
case
44
:
// "ip address"
value
.
move
<
std
::
string
>
(
s
.
value
);
break
;
case
4
4
:
// option_code
case
4
9
:
// option_code
value
.
move
<
uint16_t
>
(
s
.
value
);
break
;
case
46
:
// nest_level
case
51
:
// nest_level
value
.
move
<
uint8_t
>
(
s
.
value
);
break
;
...
...
@@ -1256,7 +1309,8 @@ namespace isc { namespace eval {
0
,
256
,
257
,
258
,
259
,
260
,
261
,
262
,
263
,
264
,
265
,
266
,
267
,
268
,
269
,
270
,
271
,
272
,
273
,
274
,
275
,
276
,
277
,
278
,
279
,
280
,
281
,
282
,
283
,
284
,
285
,
286
,
287
,
288
,
289
,
290
,
291
,
292
,
293
,
294
285
,
286
,
287
,
288
,
289
,
290
,
291
,
292
,
293
,
294
,
295
,
296
,
297
,
298
,
299
};
return
static_cast
<
token_type
>
(
yytoken_number_
[
type
]);
}
...
...
@@ -1321,6 +1375,18 @@ namespace isc { namespace eval {
return
symbol_type
(
token
::
TOKEN_RELAY6
,
l
);
}
EvalParser
::
symbol_type
EvalParser
::
make_PEERADDR
(
const
location_type
&
l
)
{
return
symbol_type
(
token
::
TOKEN_PEERADDR
,
l
);
}
EvalParser
::
symbol_type
EvalParser
::
make_LINKADDR
(
const
location_type
&
l
)
{
return
symbol_type
(
token
::
TOKEN_LINKADDR
,
l
);
}
EvalParser
::
symbol_type
EvalParser
::
make_LBRACKET
(
const
location_type
&
l
)
{
...
...
@@ -1357,6 +1423,36 @@ namespace isc { namespace eval {
return
symbol_type
(
token
::
TOKEN_EXISTS
,
l
);
}
EvalParser
::
symbol_type
EvalParser
::
make_PKT
(
const
location_type
&
l
)
{
return
symbol_type
(
token
::
TOKEN_PKT
,
l
);
}
EvalParser
::
symbol_type
EvalParser
::
make_IFACE
(
const
location_type
&
l
)
{
return
symbol_type
(
token
::
TOKEN_IFACE
,
l
);
}
EvalParser
::
symbol_type
EvalParser
::
make_SRC
(
const
location_type
&
l
)
{
return
symbol_type
(
token
::
TOKEN_SRC
,
l
);
}
EvalParser
::
symbol_type
EvalParser
::
make_DST
(
const
location_type
&
l
)
{
return
symbol_type
(
token
::
TOKEN_DST
,
l
);
}
EvalParser
::
symbol_type
EvalParser
::
make_LEN
(
const
location_type
&
l
)
{
return
symbol_type
(
token
::
TOKEN_LEN
,
l
);
}
EvalParser
::
symbol_type
EvalParser
::
make_PKT4
(
const
location_type
&
l
)
{
...
...
@@ -1423,18 +1519,6 @@ namespace isc { namespace eval {
return
symbol_type
(
token
::
TOKEN_TRANSID
,
l
);
}
EvalParser
::
symbol_type
EvalParser
::
make_PEERADDR
(
const
location_type
&
l
)
{
return
symbol_type
(
token
::
TOKEN_PEERADDR
,
l
);
}
EvalParser
::
symbol_type
EvalParser
::
make_LINKADDR
(
const
location_type
&
l
)
{
return
symbol_type
(
token
::
TOKEN_LINKADDR
,
l
);
}
EvalParser
::
symbol_type
EvalParser
::
make_SUBSTRING
(
const
location_type
&
l
)
{
...
...
@@ -1492,7 +1576,7 @@ namespace isc { namespace eval {
#line 13 "parser.yy" // lalr1.cc:377
}
}
// isc::eval
#line 1
496
"parser.h" // lalr1.cc:377
#line 1
580
"parser.h" // lalr1.cc:377
...
...
src/lib/eval/position.hh
View file @
d9d2ae2b
// Generated 20160
6101
50
9
// Generated 20160
80814
50
// A Bison parser, made by GNU Bison 3.0.4.
// Positions for Bison parsers in C++
...
...
src/lib/eval/stack.hh
View file @
d9d2ae2b
// Generated 20160
6101
50
9
// Generated 20160
80814
50
// A Bison parser, made by GNU Bison 3.0.4.
// Stack handling for Bison parsers in C++
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment