mirror of
https://github.com/fwbuilder/fwbuilder
synced 2026-03-24 04:07:55 +01:00
grammar matches port ranges; better grammar for ipv6
This commit is contained in:
parent
12abcf9533
commit
db8ae42ad1
@ -1,4 +1,4 @@
|
||||
/* $ANTLR 2.7.7 (20090306): "pf.g" -> "PFCfgLexer.cpp"$ */
|
||||
/* $ANTLR 2.7.7 (20100319): "pf.g" -> "PFCfgLexer.cpp"$ */
|
||||
#line 42 "pf.g"
|
||||
|
||||
// gets inserted before the antlr generated includes in the cpp
|
||||
@ -44,79 +44,80 @@ PFCfgLexer::PFCfgLexer(const ANTLR_USE_NAMESPACE(antlr)LexerSharedInputState& st
|
||||
|
||||
void PFCfgLexer::initLiterals()
|
||||
{
|
||||
literals["vrrp"] = 43;
|
||||
literals["critical"] = 87;
|
||||
literals["ospf"] = 41;
|
||||
literals["rdp"] = 35;
|
||||
literals["disable"] = 94;
|
||||
literals["scrub"] = 11;
|
||||
literals["ipsec"] = 77;
|
||||
literals["inet"] = 27;
|
||||
literals["pcp"] = 79;
|
||||
literals["emergencies"] = 89;
|
||||
literals["debugging"] = 88;
|
||||
literals["snp"] = 83;
|
||||
literals["timeout"] = 15;
|
||||
literals["to"] = 24;
|
||||
literals["isis"] = 45;
|
||||
literals["pptp"] = 81;
|
||||
literals["pass"] = 16;
|
||||
literals["no"] = 56;
|
||||
literals["from"] = 49;
|
||||
literals["igrp"] = 76;
|
||||
literals["pim"] = 80;
|
||||
literals["rsvp"] = 36;
|
||||
literals["nos"] = 78;
|
||||
literals["quit"] = 73;
|
||||
literals["->"] = 96;
|
||||
literals["exit"] = 72;
|
||||
literals["modulate"] = 58;
|
||||
literals["nat"] = 12;
|
||||
literals["range"] = 85;
|
||||
literals["out"] = 19;
|
||||
literals["queue"] = 9;
|
||||
literals["gre"] = 37;
|
||||
literals["set"] = 10;
|
||||
literals["warnings"] = 93;
|
||||
literals["ah"] = 39;
|
||||
literals["host"] = 84;
|
||||
literals["interface"] = 74;
|
||||
literals["rip"] = 82;
|
||||
literals["icmp6"] = 75;
|
||||
literals["notifications"] = 92;
|
||||
literals["synproxy"] = 59;
|
||||
literals["!="] = 64;
|
||||
literals["altq"] = 8;
|
||||
literals["any"] = 50;
|
||||
literals["esp"] = 38;
|
||||
literals["alerts"] = 86;
|
||||
literals["inet6"] = 28;
|
||||
literals["inactive"] = 95;
|
||||
literals["udp"] = 34;
|
||||
literals["<>"] = 69;
|
||||
literals["port"] = 63;
|
||||
literals["ip"] = 30;
|
||||
literals[">="] = 68;
|
||||
literals["eigrp"] = 40;
|
||||
literals["<="] = 66;
|
||||
literals["errors"] = 90;
|
||||
literals["ipip"] = 42;
|
||||
literals["binat"] = 13;
|
||||
literals["igmp"] = 32;
|
||||
literals["><"] = 70;
|
||||
literals["on"] = 26;
|
||||
literals["state"] = 60;
|
||||
literals["proto"] = 29;
|
||||
literals["log"] = 20;
|
||||
literals["rdr"] = 14;
|
||||
literals["informational"] = 91;
|
||||
literals["in"] = 18;
|
||||
literals["keep"] = 57;
|
||||
literals["block"] = 17;
|
||||
literals["l2tp"] = 44;
|
||||
literals["quick"] = 25;
|
||||
literals["icmp"] = 31;
|
||||
literals["tcp"] = 33;
|
||||
literals["vrrp"] = 44;
|
||||
literals["critical"] = 89;
|
||||
literals["ospf"] = 42;
|
||||
literals["rdp"] = 36;
|
||||
literals["disable"] = 96;
|
||||
literals["scrub"] = 12;
|
||||
literals["ipsec"] = 79;
|
||||
literals["inet"] = 28;
|
||||
literals["pcp"] = 81;
|
||||
literals["emergencies"] = 91;
|
||||
literals["debugging"] = 90;
|
||||
literals["snp"] = 85;
|
||||
literals["timeout"] = 16;
|
||||
literals["to"] = 25;
|
||||
literals["isis"] = 46;
|
||||
literals["pptp"] = 83;
|
||||
literals["pass"] = 17;
|
||||
literals["no"] = 57;
|
||||
literals["from"] = 50;
|
||||
literals["igrp"] = 78;
|
||||
literals["pim"] = 82;
|
||||
literals["rsvp"] = 37;
|
||||
literals["nos"] = 80;
|
||||
literals["quit"] = 75;
|
||||
literals["->"] = 98;
|
||||
literals["exit"] = 74;
|
||||
literals["modulate"] = 59;
|
||||
literals["nat"] = 13;
|
||||
literals["range"] = 87;
|
||||
literals["out"] = 20;
|
||||
literals["queue"] = 10;
|
||||
literals["gre"] = 38;
|
||||
literals["set"] = 11;
|
||||
literals["warnings"] = 95;
|
||||
literals["ah"] = 40;
|
||||
literals["host"] = 86;
|
||||
literals["interface"] = 76;
|
||||
literals["rip"] = 84;
|
||||
literals["icmp6"] = 77;
|
||||
literals["notifications"] = 94;
|
||||
literals["synproxy"] = 60;
|
||||
literals["!="] = 65;
|
||||
literals["altq"] = 9;
|
||||
literals["any"] = 51;
|
||||
literals["esp"] = 39;
|
||||
literals["alerts"] = 88;
|
||||
literals["inet6"] = 29;
|
||||
literals["inactive"] = 97;
|
||||
literals["udp"] = 35;
|
||||
literals["<>"] = 70;
|
||||
literals["port"] = 64;
|
||||
literals["ip"] = 31;
|
||||
literals[">="] = 69;
|
||||
literals["eigrp"] = 41;
|
||||
literals["<="] = 67;
|
||||
literals["errors"] = 92;
|
||||
literals["ipip"] = 43;
|
||||
literals["antispoof"] = 8;
|
||||
literals["binat"] = 14;
|
||||
literals["igmp"] = 33;
|
||||
literals["><"] = 71;
|
||||
literals["on"] = 27;
|
||||
literals["state"] = 61;
|
||||
literals["proto"] = 30;
|
||||
literals["log"] = 21;
|
||||
literals["rdr"] = 15;
|
||||
literals["informational"] = 93;
|
||||
literals["in"] = 19;
|
||||
literals["keep"] = 58;
|
||||
literals["block"] = 18;
|
||||
literals["l2tp"] = 45;
|
||||
literals["quick"] = 26;
|
||||
literals["icmp"] = 32;
|
||||
literals["tcp"] = 34;
|
||||
}
|
||||
|
||||
ANTLR_USE_NAMESPACE(antlr)RefToken PFCfgLexer::nextToken()
|
||||
@ -145,6 +146,7 @@ ANTLR_USE_NAMESPACE(antlr)RefToken PFCfgLexer::nextToken()
|
||||
case 0x37 /* '7' */ :
|
||||
case 0x38 /* '8' */ :
|
||||
case 0x39 /* '9' */ :
|
||||
case 0x3a /* ':' */ :
|
||||
case 0x41 /* 'A' */ :
|
||||
case 0x42 /* 'B' */ :
|
||||
case 0x43 /* 'C' */ :
|
||||
@ -202,18 +204,6 @@ ANTLR_USE_NAMESPACE(antlr)RefToken PFCfgLexer::nextToken()
|
||||
theRetToken=_returnToken;
|
||||
break;
|
||||
}
|
||||
case 0x2e /* '.' */ :
|
||||
{
|
||||
mDOT(true);
|
||||
theRetToken=_returnToken;
|
||||
break;
|
||||
}
|
||||
case 0x3a /* ':' */ :
|
||||
{
|
||||
mCOLON(true);
|
||||
theRetToken=_returnToken;
|
||||
break;
|
||||
}
|
||||
case 0x22 /* '\"' */ :
|
||||
{
|
||||
mSTRING(true);
|
||||
@ -268,6 +258,12 @@ ANTLR_USE_NAMESPACE(antlr)RefToken PFCfgLexer::nextToken()
|
||||
theRetToken=_returnToken;
|
||||
break;
|
||||
}
|
||||
case 0x2e /* '.' */ :
|
||||
{
|
||||
mDOT(true);
|
||||
theRetToken=_returnToken;
|
||||
break;
|
||||
}
|
||||
case 0x2f /* '/' */ :
|
||||
{
|
||||
mSLASH(true);
|
||||
@ -414,7 +410,6 @@ tryAgain:;
|
||||
}
|
||||
|
||||
void PFCfgLexer::mLINE_COMMENT(bool _createToken) {
|
||||
Tracer traceInOut(this, "mLINE_COMMENT");
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = LINE_COMMENT;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
@ -428,11 +423,11 @@ void PFCfgLexer::mLINE_COMMENT(bool _createToken) {
|
||||
}
|
||||
}
|
||||
else {
|
||||
goto _loop94;
|
||||
goto _loop95;
|
||||
}
|
||||
|
||||
}
|
||||
_loop94:;
|
||||
_loop95:;
|
||||
} // ( ... )*
|
||||
mNEWLINE(false);
|
||||
if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
|
||||
@ -444,7 +439,6 @@ void PFCfgLexer::mLINE_COMMENT(bool _createToken) {
|
||||
}
|
||||
|
||||
void PFCfgLexer::mNEWLINE(bool _createToken) {
|
||||
Tracer traceInOut(this, "mNEWLINE");
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = NEWLINE;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
@ -465,9 +459,9 @@ void PFCfgLexer::mNEWLINE(bool _createToken) {
|
||||
|
||||
}
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 750 "pf.g"
|
||||
#line 765 "pf.g"
|
||||
newline();
|
||||
#line 471 "PFCfgLexer.cpp"
|
||||
#line 465 "PFCfgLexer.cpp"
|
||||
}
|
||||
if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
|
||||
_token = makeToken(_ttype);
|
||||
@ -478,7 +472,6 @@ void PFCfgLexer::mNEWLINE(bool _createToken) {
|
||||
}
|
||||
|
||||
void PFCfgLexer::mWhitespace(bool _createToken) {
|
||||
Tracer traceInOut(this, "mWhitespace");
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = Whitespace;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
@ -547,9 +540,9 @@ void PFCfgLexer::mWhitespace(bool _createToken) {
|
||||
}
|
||||
}
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 745 "pf.g"
|
||||
#line 760 "pf.g"
|
||||
_ttype = ANTLR_USE_NAMESPACE(antlr)Token::SKIP;
|
||||
#line 553 "PFCfgLexer.cpp"
|
||||
#line 546 "PFCfgLexer.cpp"
|
||||
}
|
||||
if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
|
||||
_token = makeToken(_ttype);
|
||||
@ -560,7 +553,6 @@ void PFCfgLexer::mWhitespace(bool _createToken) {
|
||||
}
|
||||
|
||||
void PFCfgLexer::mINT_CONST(bool _createToken) {
|
||||
Tracer traceInOut(this, "mINT_CONST");
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = INT_CONST;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
@ -574,7 +566,6 @@ void PFCfgLexer::mINT_CONST(bool _createToken) {
|
||||
}
|
||||
|
||||
void PFCfgLexer::mHEX_CONST(bool _createToken) {
|
||||
Tracer traceInOut(this, "mHEX_CONST");
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = HEX_CONST;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
@ -588,7 +579,6 @@ void PFCfgLexer::mHEX_CONST(bool _createToken) {
|
||||
}
|
||||
|
||||
void PFCfgLexer::mNUMBER(bool _createToken) {
|
||||
Tracer traceInOut(this, "mNUMBER");
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = NUMBER;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
@ -602,7 +592,6 @@ void PFCfgLexer::mNUMBER(bool _createToken) {
|
||||
}
|
||||
|
||||
void PFCfgLexer::mNEG_INT_CONST(bool _createToken) {
|
||||
Tracer traceInOut(this, "mNEG_INT_CONST");
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = NEG_INT_CONST;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
@ -615,8 +604,35 @@ void PFCfgLexer::mNEG_INT_CONST(bool _createToken) {
|
||||
_saveIndex=0;
|
||||
}
|
||||
|
||||
void PFCfgLexer::mCOLON(bool _createToken) {
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = COLON;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
|
||||
if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
|
||||
_token = makeToken(_ttype);
|
||||
_token->setText(text.substr(_begin, text.length()-_begin));
|
||||
}
|
||||
_returnToken = _token;
|
||||
_saveIndex=0;
|
||||
}
|
||||
|
||||
void PFCfgLexer::mHEX_DIGIT(bool _createToken) {
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = HEX_DIGIT;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
|
||||
matchRange('0','9');
|
||||
matchRange('a','f');
|
||||
if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
|
||||
_token = makeToken(_ttype);
|
||||
_token->setText(text.substr(_begin, text.length()-_begin));
|
||||
}
|
||||
_returnToken = _token;
|
||||
_saveIndex=0;
|
||||
}
|
||||
|
||||
void PFCfgLexer::mDIGIT(bool _createToken) {
|
||||
Tracer traceInOut(this, "mDIGIT");
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = DIGIT;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
@ -630,13 +646,74 @@ void PFCfgLexer::mDIGIT(bool _createToken) {
|
||||
_saveIndex=0;
|
||||
}
|
||||
|
||||
void PFCfgLexer::mHEXDIGIT(bool _createToken) {
|
||||
Tracer traceInOut(this, "mHEXDIGIT");
|
||||
void PFCfgLexer::mNUM_3DIGIT(bool _createToken) {
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = HEXDIGIT;
|
||||
_ttype = NUM_3DIGIT;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
|
||||
matchRange('a','f');
|
||||
{
|
||||
matchRange('1','9');
|
||||
}
|
||||
{
|
||||
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
|
||||
{
|
||||
matchRange('0','9');
|
||||
}
|
||||
{
|
||||
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
|
||||
matchRange('0','9');
|
||||
}
|
||||
else {
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
else {
|
||||
}
|
||||
|
||||
}
|
||||
if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
|
||||
_token = makeToken(_ttype);
|
||||
_token->setText(text.substr(_begin, text.length()-_begin));
|
||||
}
|
||||
_returnToken = _token;
|
||||
_saveIndex=0;
|
||||
}
|
||||
|
||||
void PFCfgLexer::mNUM_HEX_4DIGIT(bool _createToken) {
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = NUM_HEX_4DIGIT;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
|
||||
mHEX_DIGIT(false);
|
||||
{
|
||||
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
|
||||
{
|
||||
mHEX_DIGIT(false);
|
||||
}
|
||||
{
|
||||
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
|
||||
{
|
||||
mHEX_DIGIT(false);
|
||||
}
|
||||
{
|
||||
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
|
||||
mHEX_DIGIT(false);
|
||||
}
|
||||
else {
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
else {
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
else {
|
||||
}
|
||||
|
||||
}
|
||||
if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
|
||||
_token = makeToken(_ttype);
|
||||
_token->setText(text.substr(_begin, text.length()-_begin));
|
||||
@ -646,272 +723,53 @@ void PFCfgLexer::mHEXDIGIT(bool _createToken) {
|
||||
}
|
||||
|
||||
void PFCfgLexer::mNUMBER_ADDRESS_OR_WORD(bool _createToken) {
|
||||
Tracer traceInOut(this, "mNUMBER_ADDRESS_OR_WORD");
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = NUMBER_ADDRESS_OR_WORD;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
|
||||
{
|
||||
bool synPredMatched143 = false;
|
||||
if (((_tokenSet_2.member(LA(1))) && (_tokenSet_3.member(LA(2))) && (true))) {
|
||||
int _m143 = mark();
|
||||
synPredMatched143 = true;
|
||||
bool synPredMatched120 = false;
|
||||
if ((((LA(1) >= 0x31 /* '1' */ && LA(1) <= 0x39 /* '9' */ )) && (_tokenSet_2.member(LA(2))) && (_tokenSet_2.member(LA(3))))) {
|
||||
int _m120 = mark();
|
||||
synPredMatched120 = true;
|
||||
inputState->guessing++;
|
||||
try {
|
||||
{
|
||||
{ // ( ... )+
|
||||
int _cnt142=0;
|
||||
for (;;) {
|
||||
switch ( LA(1)) {
|
||||
case 0x61 /* 'a' */ :
|
||||
case 0x62 /* 'b' */ :
|
||||
case 0x63 /* 'c' */ :
|
||||
case 0x64 /* 'd' */ :
|
||||
case 0x65 /* 'e' */ :
|
||||
case 0x66 /* 'f' */ :
|
||||
{
|
||||
matchRange('a','f');
|
||||
break;
|
||||
}
|
||||
case 0x30 /* '0' */ :
|
||||
case 0x31 /* '1' */ :
|
||||
case 0x32 /* '2' */ :
|
||||
case 0x33 /* '3' */ :
|
||||
case 0x34 /* '4' */ :
|
||||
case 0x35 /* '5' */ :
|
||||
case 0x36 /* '6' */ :
|
||||
case 0x37 /* '7' */ :
|
||||
case 0x38 /* '8' */ :
|
||||
case 0x39 /* '9' */ :
|
||||
{
|
||||
matchRange('0','9');
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
if ( _cnt142>=1 ) { goto _loop142; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
|
||||
}
|
||||
}
|
||||
_cnt142++;
|
||||
}
|
||||
_loop142:;
|
||||
} // ( ... )+
|
||||
mCOLON(false);
|
||||
mNUM_3DIGIT(false);
|
||||
match('.' /* charlit */ );
|
||||
mNUM_3DIGIT(false);
|
||||
match('.' /* charlit */ );
|
||||
}
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& pe) {
|
||||
synPredMatched143 = false;
|
||||
synPredMatched120 = false;
|
||||
}
|
||||
rewind(_m143);
|
||||
rewind(_m120);
|
||||
inputState->guessing--;
|
||||
}
|
||||
if ( synPredMatched143 ) {
|
||||
if ( synPredMatched120 ) {
|
||||
{
|
||||
{
|
||||
{ // ( ... )+
|
||||
int _cnt147=0;
|
||||
for (;;) {
|
||||
switch ( LA(1)) {
|
||||
case 0x61 /* 'a' */ :
|
||||
case 0x62 /* 'b' */ :
|
||||
case 0x63 /* 'c' */ :
|
||||
case 0x64 /* 'd' */ :
|
||||
case 0x65 /* 'e' */ :
|
||||
case 0x66 /* 'f' */ :
|
||||
{
|
||||
matchRange('a','f');
|
||||
break;
|
||||
}
|
||||
case 0x30 /* '0' */ :
|
||||
case 0x31 /* '1' */ :
|
||||
case 0x32 /* '2' */ :
|
||||
case 0x33 /* '3' */ :
|
||||
case 0x34 /* '4' */ :
|
||||
case 0x35 /* '5' */ :
|
||||
case 0x36 /* '6' */ :
|
||||
case 0x37 /* '7' */ :
|
||||
case 0x38 /* '8' */ :
|
||||
case 0x39 /* '9' */ :
|
||||
{
|
||||
matchRange('0','9');
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
if ( _cnt147>=1 ) { goto _loop147; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
|
||||
}
|
||||
}
|
||||
_cnt147++;
|
||||
}
|
||||
_loop147:;
|
||||
} // ( ... )+
|
||||
{ // ( ... )+
|
||||
int _cnt151=0;
|
||||
for (;;) {
|
||||
if ((LA(1) == 0x3a /* ':' */ )) {
|
||||
mCOLON(false);
|
||||
{ // ( ... )*
|
||||
for (;;) {
|
||||
switch ( LA(1)) {
|
||||
case 0x61 /* 'a' */ :
|
||||
case 0x62 /* 'b' */ :
|
||||
case 0x63 /* 'c' */ :
|
||||
case 0x64 /* 'd' */ :
|
||||
case 0x65 /* 'e' */ :
|
||||
case 0x66 /* 'f' */ :
|
||||
{
|
||||
matchRange('a','f');
|
||||
break;
|
||||
}
|
||||
case 0x30 /* '0' */ :
|
||||
case 0x31 /* '1' */ :
|
||||
case 0x32 /* '2' */ :
|
||||
case 0x33 /* '3' */ :
|
||||
case 0x34 /* '4' */ :
|
||||
case 0x35 /* '5' */ :
|
||||
case 0x36 /* '6' */ :
|
||||
case 0x37 /* '7' */ :
|
||||
case 0x38 /* '8' */ :
|
||||
case 0x39 /* '9' */ :
|
||||
{
|
||||
matchRange('0','9');
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
goto _loop150;
|
||||
}
|
||||
}
|
||||
}
|
||||
_loop150:;
|
||||
} // ( ... )*
|
||||
}
|
||||
else {
|
||||
if ( _cnt151>=1 ) { goto _loop151; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
|
||||
}
|
||||
|
||||
_cnt151++;
|
||||
}
|
||||
_loop151:;
|
||||
} // ( ... )+
|
||||
mNUM_3DIGIT(false);
|
||||
match('.' /* charlit */ );
|
||||
mNUM_3DIGIT(false);
|
||||
match('.' /* charlit */ );
|
||||
mNUM_3DIGIT(false);
|
||||
match('.' /* charlit */ );
|
||||
mNUM_3DIGIT(false);
|
||||
}
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 793 "pf.g"
|
||||
_ttype = IPV6;
|
||||
#line 802 "PFCfgLexer.cpp"
|
||||
}
|
||||
#line 802 "pf.g"
|
||||
_ttype = IPV4;
|
||||
#line 763 "PFCfgLexer.cpp"
|
||||
}
|
||||
}
|
||||
else {
|
||||
bool synPredMatched108 = false;
|
||||
if ((((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ )) && (true) && (true))) {
|
||||
int _m108 = mark();
|
||||
synPredMatched108 = true;
|
||||
bool synPredMatched127 = false;
|
||||
if ((((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ )) && (_tokenSet_2.member(LA(2))) && (_tokenSet_2.member(LA(3))))) {
|
||||
int _m127 = mark();
|
||||
synPredMatched127 = true;
|
||||
inputState->guessing++;
|
||||
try {
|
||||
{
|
||||
mDIGIT(false);
|
||||
}
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& pe) {
|
||||
synPredMatched108 = false;
|
||||
}
|
||||
rewind(_m108);
|
||||
inputState->guessing--;
|
||||
}
|
||||
if ( synPredMatched108 ) {
|
||||
{
|
||||
bool synPredMatched117 = false;
|
||||
if ((((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ )) && (_tokenSet_4.member(LA(2))) && (_tokenSet_4.member(LA(3))))) {
|
||||
int _m117 = mark();
|
||||
synPredMatched117 = true;
|
||||
inputState->guessing++;
|
||||
try {
|
||||
{
|
||||
{ // ( ... )+
|
||||
int _cnt112=0;
|
||||
for (;;) {
|
||||
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
|
||||
mDIGIT(false);
|
||||
}
|
||||
else {
|
||||
if ( _cnt112>=1 ) { goto _loop112; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
|
||||
}
|
||||
|
||||
_cnt112++;
|
||||
}
|
||||
_loop112:;
|
||||
} // ( ... )+
|
||||
mDOT(false);
|
||||
{ // ( ... )+
|
||||
int _cnt114=0;
|
||||
for (;;) {
|
||||
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
|
||||
mDIGIT(false);
|
||||
}
|
||||
else {
|
||||
if ( _cnt114>=1 ) { goto _loop114; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
|
||||
}
|
||||
|
||||
_cnt114++;
|
||||
}
|
||||
_loop114:;
|
||||
} // ( ... )+
|
||||
mDOT(false);
|
||||
{ // ( ... )+
|
||||
int _cnt116=0;
|
||||
for (;;) {
|
||||
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
|
||||
mDIGIT(false);
|
||||
}
|
||||
else {
|
||||
if ( _cnt116>=1 ) { goto _loop116; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
|
||||
}
|
||||
|
||||
_cnt116++;
|
||||
}
|
||||
_loop116:;
|
||||
} // ( ... )+
|
||||
}
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& pe) {
|
||||
synPredMatched117 = false;
|
||||
}
|
||||
rewind(_m117);
|
||||
inputState->guessing--;
|
||||
}
|
||||
if ( synPredMatched117 ) {
|
||||
{
|
||||
{ // ( ... )+
|
||||
int _cnt120=0;
|
||||
for (;;) {
|
||||
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
|
||||
mDIGIT(false);
|
||||
}
|
||||
else {
|
||||
if ( _cnt120>=1 ) { goto _loop120; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
|
||||
}
|
||||
|
||||
_cnt120++;
|
||||
}
|
||||
_loop120:;
|
||||
} // ( ... )+
|
||||
mDOT(false);
|
||||
{ // ( ... )+
|
||||
int _cnt122=0;
|
||||
for (;;) {
|
||||
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
|
||||
mDIGIT(false);
|
||||
}
|
||||
else {
|
||||
if ( _cnt122>=1 ) { goto _loop122; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
|
||||
}
|
||||
|
||||
_cnt122++;
|
||||
}
|
||||
_loop122:;
|
||||
} // ( ... )+
|
||||
mDOT(false);
|
||||
{ // ( ... )+
|
||||
int _cnt124=0;
|
||||
for (;;) {
|
||||
@ -926,7 +784,7 @@ void PFCfgLexer::mNUMBER_ADDRESS_OR_WORD(bool _createToken) {
|
||||
}
|
||||
_loop124:;
|
||||
} // ( ... )+
|
||||
mDOT(false);
|
||||
match('.' /* charlit */ );
|
||||
{ // ( ... )+
|
||||
int _cnt126=0;
|
||||
for (;;) {
|
||||
@ -942,58 +800,58 @@ void PFCfgLexer::mNUMBER_ADDRESS_OR_WORD(bool _createToken) {
|
||||
_loop126:;
|
||||
} // ( ... )+
|
||||
}
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 779 "pf.g"
|
||||
_ttype = IPV4;
|
||||
#line 949 "PFCfgLexer.cpp"
|
||||
}
|
||||
}
|
||||
else {
|
||||
bool synPredMatched132 = false;
|
||||
if ((((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ )) && (_tokenSet_4.member(LA(2))) && (_tokenSet_4.member(LA(3))))) {
|
||||
int _m132 = mark();
|
||||
synPredMatched132 = true;
|
||||
inputState->guessing++;
|
||||
try {
|
||||
{
|
||||
{ // ( ... )+
|
||||
int _cnt129=0;
|
||||
for (;;) {
|
||||
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
|
||||
mDIGIT(false);
|
||||
}
|
||||
else {
|
||||
if ( _cnt129>=1 ) { goto _loop129; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
|
||||
}
|
||||
|
||||
_cnt129++;
|
||||
}
|
||||
_loop129:;
|
||||
} // ( ... )+
|
||||
mDOT(false);
|
||||
{ // ( ... )+
|
||||
int _cnt131=0;
|
||||
for (;;) {
|
||||
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
|
||||
mDIGIT(false);
|
||||
}
|
||||
else {
|
||||
if ( _cnt131>=1 ) { goto _loop131; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
|
||||
}
|
||||
|
||||
_cnt131++;
|
||||
}
|
||||
_loop131:;
|
||||
} // ( ... )+
|
||||
}
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& pe) {
|
||||
synPredMatched132 = false;
|
||||
}
|
||||
rewind(_m132);
|
||||
inputState->guessing--;
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& pe) {
|
||||
synPredMatched127 = false;
|
||||
}
|
||||
rewind(_m127);
|
||||
inputState->guessing--;
|
||||
}
|
||||
if ( synPredMatched127 ) {
|
||||
{
|
||||
{ // ( ... )+
|
||||
int _cnt130=0;
|
||||
for (;;) {
|
||||
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
|
||||
mDIGIT(false);
|
||||
}
|
||||
if ( synPredMatched132 ) {
|
||||
else {
|
||||
if ( _cnt130>=1 ) { goto _loop130; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
|
||||
}
|
||||
|
||||
_cnt130++;
|
||||
}
|
||||
_loop130:;
|
||||
} // ( ... )+
|
||||
match('.' /* charlit */ );
|
||||
{ // ( ... )+
|
||||
int _cnt132=0;
|
||||
for (;;) {
|
||||
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
|
||||
mDIGIT(false);
|
||||
}
|
||||
else {
|
||||
if ( _cnt132>=1 ) { goto _loop132; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
|
||||
}
|
||||
|
||||
_cnt132++;
|
||||
}
|
||||
_loop132:;
|
||||
} // ( ... )+
|
||||
}
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 805 "pf.g"
|
||||
_ttype = NUMBER;
|
||||
#line 846 "PFCfgLexer.cpp"
|
||||
}
|
||||
}
|
||||
else {
|
||||
bool synPredMatched138 = false;
|
||||
if ((((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ )) && ((LA(2) >= 0x30 /* '0' */ && LA(2) <= 0x3a /* ':' */ )) && ((LA(3) >= 0x30 /* '0' */ && LA(3) <= 0x3a /* ':' */ )))) {
|
||||
int _m138 = mark();
|
||||
synPredMatched138 = true;
|
||||
inputState->guessing++;
|
||||
try {
|
||||
{
|
||||
{ // ( ... )+
|
||||
int _cnt135=0;
|
||||
@ -1009,7 +867,7 @@ void PFCfgLexer::mNUMBER_ADDRESS_OR_WORD(bool _createToken) {
|
||||
}
|
||||
_loop135:;
|
||||
} // ( ... )+
|
||||
mDOT(false);
|
||||
match(':' /* charlit */ );
|
||||
{ // ( ... )+
|
||||
int _cnt137=0;
|
||||
for (;;) {
|
||||
@ -1025,284 +883,477 @@ void PFCfgLexer::mNUMBER_ADDRESS_OR_WORD(bool _createToken) {
|
||||
_loop137:;
|
||||
} // ( ... )+
|
||||
}
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 782 "pf.g"
|
||||
_ttype = NUMBER;
|
||||
#line 1032 "PFCfgLexer.cpp"
|
||||
}
|
||||
}
|
||||
else if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ )) && (true) && (true)) {
|
||||
{ // ( ... )+
|
||||
int _cnt139=0;
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& pe) {
|
||||
synPredMatched138 = false;
|
||||
}
|
||||
rewind(_m138);
|
||||
inputState->guessing--;
|
||||
}
|
||||
if ( synPredMatched138 ) {
|
||||
{
|
||||
{ // ( ... )+
|
||||
int _cnt141=0;
|
||||
for (;;) {
|
||||
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
|
||||
mDIGIT(false);
|
||||
}
|
||||
else {
|
||||
if ( _cnt141>=1 ) { goto _loop141; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
|
||||
}
|
||||
|
||||
_cnt141++;
|
||||
}
|
||||
_loop141:;
|
||||
} // ( ... )+
|
||||
match(':' /* charlit */ );
|
||||
{ // ( ... )+
|
||||
int _cnt143=0;
|
||||
for (;;) {
|
||||
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
|
||||
mDIGIT(false);
|
||||
}
|
||||
else {
|
||||
if ( _cnt143>=1 ) { goto _loop143; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
|
||||
}
|
||||
|
||||
_cnt143++;
|
||||
}
|
||||
_loop143:;
|
||||
} // ( ... )+
|
||||
}
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 808 "pf.g"
|
||||
_ttype = PORT_RANGE;
|
||||
#line 929 "PFCfgLexer.cpp"
|
||||
}
|
||||
}
|
||||
else {
|
||||
bool synPredMatched162 = false;
|
||||
if (((LA(1) == 0x3a /* ':' */ ) && (LA(2) == 0x3a /* ':' */ ) && ((LA(3) >= 0x30 /* '0' */ && LA(3) <= 0x39 /* '9' */ )))) {
|
||||
int _m162 = mark();
|
||||
synPredMatched162 = true;
|
||||
inputState->guessing++;
|
||||
try {
|
||||
{
|
||||
match(':' /* charlit */ );
|
||||
match(':' /* charlit */ );
|
||||
mNUM_HEX_4DIGIT(false);
|
||||
}
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& pe) {
|
||||
synPredMatched162 = false;
|
||||
}
|
||||
rewind(_m162);
|
||||
inputState->guessing--;
|
||||
}
|
||||
if ( synPredMatched162 ) {
|
||||
match(':' /* charlit */ );
|
||||
match(':' /* charlit */ );
|
||||
mNUM_HEX_4DIGIT(false);
|
||||
{ // ( ... )*
|
||||
for (;;) {
|
||||
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
|
||||
mDIGIT(false);
|
||||
if ((LA(1) == 0x3a /* ':' */ )) {
|
||||
match(':' /* charlit */ );
|
||||
mNUM_HEX_4DIGIT(false);
|
||||
}
|
||||
else {
|
||||
if ( _cnt139>=1 ) { goto _loop139; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
|
||||
goto _loop164;
|
||||
}
|
||||
|
||||
_cnt139++;
|
||||
}
|
||||
_loop139:;
|
||||
} // ( ... )+
|
||||
_loop164:;
|
||||
} // ( ... )*
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 784 "pf.g"
|
||||
_ttype = INT_CONST;
|
||||
#line 1053 "PFCfgLexer.cpp"
|
||||
#line 828 "pf.g"
|
||||
_ttype = IPV6;
|
||||
#line 971 "PFCfgLexer.cpp"
|
||||
}
|
||||
}
|
||||
else {
|
||||
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ((_tokenSet_5.member(LA(1))) && (true) && (true)) {
|
||||
{
|
||||
switch ( LA(1)) {
|
||||
case 0x61 /* 'a' */ :
|
||||
case 0x62 /* 'b' */ :
|
||||
case 0x63 /* 'c' */ :
|
||||
case 0x64 /* 'd' */ :
|
||||
case 0x65 /* 'e' */ :
|
||||
case 0x66 /* 'f' */ :
|
||||
case 0x67 /* 'g' */ :
|
||||
case 0x68 /* 'h' */ :
|
||||
case 0x69 /* 'i' */ :
|
||||
case 0x6a /* 'j' */ :
|
||||
case 0x6b /* 'k' */ :
|
||||
case 0x6c /* 'l' */ :
|
||||
case 0x6d /* 'm' */ :
|
||||
case 0x6e /* 'n' */ :
|
||||
case 0x6f /* 'o' */ :
|
||||
case 0x70 /* 'p' */ :
|
||||
case 0x71 /* 'q' */ :
|
||||
case 0x72 /* 'r' */ :
|
||||
case 0x73 /* 's' */ :
|
||||
case 0x74 /* 't' */ :
|
||||
case 0x75 /* 'u' */ :
|
||||
case 0x76 /* 'v' */ :
|
||||
case 0x77 /* 'w' */ :
|
||||
case 0x78 /* 'x' */ :
|
||||
case 0x79 /* 'y' */ :
|
||||
case 0x7a /* 'z' */ :
|
||||
{
|
||||
matchRange('a','z');
|
||||
break;
|
||||
}
|
||||
case 0x41 /* 'A' */ :
|
||||
case 0x42 /* 'B' */ :
|
||||
case 0x43 /* 'C' */ :
|
||||
case 0x44 /* 'D' */ :
|
||||
case 0x45 /* 'E' */ :
|
||||
case 0x46 /* 'F' */ :
|
||||
case 0x47 /* 'G' */ :
|
||||
case 0x48 /* 'H' */ :
|
||||
case 0x49 /* 'I' */ :
|
||||
case 0x4a /* 'J' */ :
|
||||
case 0x4b /* 'K' */ :
|
||||
case 0x4c /* 'L' */ :
|
||||
case 0x4d /* 'M' */ :
|
||||
case 0x4e /* 'N' */ :
|
||||
case 0x4f /* 'O' */ :
|
||||
case 0x50 /* 'P' */ :
|
||||
case 0x51 /* 'Q' */ :
|
||||
case 0x52 /* 'R' */ :
|
||||
case 0x53 /* 'S' */ :
|
||||
case 0x54 /* 'T' */ :
|
||||
case 0x55 /* 'U' */ :
|
||||
case 0x56 /* 'V' */ :
|
||||
case 0x57 /* 'W' */ :
|
||||
case 0x58 /* 'X' */ :
|
||||
case 0x59 /* 'Y' */ :
|
||||
case 0x5a /* 'Z' */ :
|
||||
{
|
||||
matchRange('A','Z');
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
|
||||
}
|
||||
}
|
||||
}
|
||||
{ // ( ... )*
|
||||
for (;;) {
|
||||
switch ( LA(1)) {
|
||||
case 0x24 /* '$' */ :
|
||||
{
|
||||
match('$' /* charlit */ );
|
||||
break;
|
||||
}
|
||||
case 0x25 /* '%' */ :
|
||||
{
|
||||
match('%' /* charlit */ );
|
||||
break;
|
||||
}
|
||||
case 0x26 /* '&' */ :
|
||||
{
|
||||
match('&' /* charlit */ );
|
||||
break;
|
||||
}
|
||||
case 0x30 /* '0' */ :
|
||||
case 0x31 /* '1' */ :
|
||||
case 0x32 /* '2' */ :
|
||||
case 0x33 /* '3' */ :
|
||||
case 0x34 /* '4' */ :
|
||||
case 0x35 /* '5' */ :
|
||||
case 0x36 /* '6' */ :
|
||||
case 0x37 /* '7' */ :
|
||||
case 0x38 /* '8' */ :
|
||||
case 0x39 /* '9' */ :
|
||||
{
|
||||
matchRange('0','9');
|
||||
break;
|
||||
}
|
||||
case 0x3b /* ';' */ :
|
||||
{
|
||||
match(';' /* charlit */ );
|
||||
break;
|
||||
}
|
||||
case 0x3f /* '?' */ :
|
||||
{
|
||||
match('?' /* charlit */ );
|
||||
break;
|
||||
}
|
||||
case 0x40 /* '@' */ :
|
||||
{
|
||||
match('@' /* charlit */ );
|
||||
break;
|
||||
}
|
||||
case 0x41 /* 'A' */ :
|
||||
case 0x42 /* 'B' */ :
|
||||
case 0x43 /* 'C' */ :
|
||||
case 0x44 /* 'D' */ :
|
||||
case 0x45 /* 'E' */ :
|
||||
case 0x46 /* 'F' */ :
|
||||
case 0x47 /* 'G' */ :
|
||||
case 0x48 /* 'H' */ :
|
||||
case 0x49 /* 'I' */ :
|
||||
case 0x4a /* 'J' */ :
|
||||
case 0x4b /* 'K' */ :
|
||||
case 0x4c /* 'L' */ :
|
||||
case 0x4d /* 'M' */ :
|
||||
case 0x4e /* 'N' */ :
|
||||
case 0x4f /* 'O' */ :
|
||||
case 0x50 /* 'P' */ :
|
||||
case 0x51 /* 'Q' */ :
|
||||
case 0x52 /* 'R' */ :
|
||||
case 0x53 /* 'S' */ :
|
||||
case 0x54 /* 'T' */ :
|
||||
case 0x55 /* 'U' */ :
|
||||
case 0x56 /* 'V' */ :
|
||||
case 0x57 /* 'W' */ :
|
||||
case 0x58 /* 'X' */ :
|
||||
case 0x59 /* 'Y' */ :
|
||||
case 0x5a /* 'Z' */ :
|
||||
{
|
||||
matchRange('A','Z');
|
||||
break;
|
||||
}
|
||||
case 0x5c /* '\\' */ :
|
||||
{
|
||||
match('\\' /* charlit */ );
|
||||
break;
|
||||
}
|
||||
case 0x5e /* '^' */ :
|
||||
{
|
||||
match('^' /* charlit */ );
|
||||
break;
|
||||
}
|
||||
case 0x5f /* '_' */ :
|
||||
{
|
||||
match('_' /* charlit */ );
|
||||
break;
|
||||
}
|
||||
case 0x60 /* '`' */ :
|
||||
{
|
||||
match('`' /* charlit */ );
|
||||
break;
|
||||
}
|
||||
case 0x61 /* 'a' */ :
|
||||
case 0x62 /* 'b' */ :
|
||||
case 0x63 /* 'c' */ :
|
||||
case 0x64 /* 'd' */ :
|
||||
case 0x65 /* 'e' */ :
|
||||
case 0x66 /* 'f' */ :
|
||||
case 0x67 /* 'g' */ :
|
||||
case 0x68 /* 'h' */ :
|
||||
case 0x69 /* 'i' */ :
|
||||
case 0x6a /* 'j' */ :
|
||||
case 0x6b /* 'k' */ :
|
||||
case 0x6c /* 'l' */ :
|
||||
case 0x6d /* 'm' */ :
|
||||
case 0x6e /* 'n' */ :
|
||||
case 0x6f /* 'o' */ :
|
||||
case 0x70 /* 'p' */ :
|
||||
case 0x71 /* 'q' */ :
|
||||
case 0x72 /* 'r' */ :
|
||||
case 0x73 /* 's' */ :
|
||||
case 0x74 /* 't' */ :
|
||||
case 0x75 /* 'u' */ :
|
||||
case 0x76 /* 'v' */ :
|
||||
case 0x77 /* 'w' */ :
|
||||
case 0x78 /* 'x' */ :
|
||||
case 0x79 /* 'y' */ :
|
||||
case 0x7a /* 'z' */ :
|
||||
{
|
||||
matchRange('a','z');
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
goto _loop154;
|
||||
}
|
||||
}
|
||||
}
|
||||
_loop154:;
|
||||
} // ( ... )*
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 801 "pf.g"
|
||||
_ttype = WORD;
|
||||
#line 1269 "PFCfgLexer.cpp"
|
||||
}
|
||||
}
|
||||
else {
|
||||
bool synPredMatched147 = false;
|
||||
if ((((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ )) && ((LA(2) >= 0x61 /* 'a' */ && LA(2) <= 0x66 /* 'f' */ )))) {
|
||||
int _m147 = mark();
|
||||
synPredMatched147 = true;
|
||||
inputState->guessing++;
|
||||
try {
|
||||
{
|
||||
mNUM_HEX_4DIGIT(false);
|
||||
match(':' /* charlit */ );
|
||||
}
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& pe) {
|
||||
synPredMatched147 = false;
|
||||
}
|
||||
rewind(_m147);
|
||||
inputState->guessing--;
|
||||
}
|
||||
if ( synPredMatched147 ) {
|
||||
{
|
||||
bool synPredMatched152 = false;
|
||||
if ((((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ )) && ((LA(2) >= 0x61 /* 'a' */ && LA(2) <= 0x66 /* 'f' */ )) && ((LA(3) >= 0x30 /* '0' */ && LA(3) <= 0x3a /* ':' */ )))) {
|
||||
int _m152 = mark();
|
||||
synPredMatched152 = true;
|
||||
inputState->guessing++;
|
||||
try {
|
||||
{
|
||||
{ // ( ... )+
|
||||
int _cnt151=0;
|
||||
for (;;) {
|
||||
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
|
||||
mNUM_HEX_4DIGIT(false);
|
||||
match(':' /* charlit */ );
|
||||
}
|
||||
else {
|
||||
if ( _cnt151>=1 ) { goto _loop151; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
|
||||
}
|
||||
|
||||
_cnt151++;
|
||||
}
|
||||
_loop151:;
|
||||
} // ( ... )+
|
||||
match(':' /* charlit */ );
|
||||
}
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& pe) {
|
||||
synPredMatched152 = false;
|
||||
}
|
||||
rewind(_m152);
|
||||
inputState->guessing--;
|
||||
}
|
||||
if ( synPredMatched152 ) {
|
||||
{
|
||||
{ // ( ... )+
|
||||
int _cnt155=0;
|
||||
for (;;) {
|
||||
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
|
||||
mNUM_HEX_4DIGIT(false);
|
||||
match(':' /* charlit */ );
|
||||
}
|
||||
else {
|
||||
if ( _cnt155>=1 ) { goto _loop155; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
|
||||
}
|
||||
|
||||
_cnt155++;
|
||||
}
|
||||
_loop155:;
|
||||
} // ( ... )+
|
||||
match(':' /* charlit */ );
|
||||
{
|
||||
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
|
||||
mNUM_HEX_4DIGIT(false);
|
||||
{ // ( ... )*
|
||||
for (;;) {
|
||||
if ((LA(1) == 0x3a /* ':' */ )) {
|
||||
match(':' /* charlit */ );
|
||||
mNUM_HEX_4DIGIT(false);
|
||||
}
|
||||
else {
|
||||
goto _loop158;
|
||||
}
|
||||
|
||||
}
|
||||
_loop158:;
|
||||
} // ( ... )*
|
||||
}
|
||||
else {
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 819 "pf.g"
|
||||
_ttype = IPV6;
|
||||
#line 1068 "PFCfgLexer.cpp"
|
||||
}
|
||||
}
|
||||
else if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ )) && ((LA(2) >= 0x61 /* 'a' */ && LA(2) <= 0x66 /* 'f' */ )) && ((LA(3) >= 0x30 /* '0' */ && LA(3) <= 0x3a /* ':' */ ))) {
|
||||
mNUM_HEX_4DIGIT(false);
|
||||
{ // ( ... )+
|
||||
int _cnt160=0;
|
||||
for (;;) {
|
||||
if ((LA(1) == 0x3a /* ':' */ )) {
|
||||
match(':' /* charlit */ );
|
||||
mNUM_HEX_4DIGIT(false);
|
||||
}
|
||||
else {
|
||||
if ( _cnt160>=1 ) { goto _loop160; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
|
||||
}
|
||||
|
||||
_cnt160++;
|
||||
}
|
||||
_loop160:;
|
||||
} // ( ... )+
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 822 "pf.g"
|
||||
_ttype = IPV6;
|
||||
#line 1091 "PFCfgLexer.cpp"
|
||||
}
|
||||
}
|
||||
else {
|
||||
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
|
||||
}
|
||||
|
||||
}
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 824 "pf.g"
|
||||
_ttype = IPV6;
|
||||
#line 1102 "PFCfgLexer.cpp"
|
||||
}
|
||||
}
|
||||
else if ((LA(1) == 0x3a /* ':' */ ) && (LA(2) == 0x3a /* ':' */ ) && (true)) {
|
||||
match(':' /* charlit */ );
|
||||
match(':' /* charlit */ );
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 831 "pf.g"
|
||||
_ttype = IPV6;
|
||||
#line 1111 "PFCfgLexer.cpp"
|
||||
}
|
||||
}
|
||||
else if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ )) && (true) && (true)) {
|
||||
{ // ( ... )+
|
||||
int _cnt145=0;
|
||||
for (;;) {
|
||||
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
|
||||
mDIGIT(false);
|
||||
}
|
||||
else {
|
||||
if ( _cnt145>=1 ) { goto _loop145; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
|
||||
}
|
||||
|
||||
_cnt145++;
|
||||
}
|
||||
_loop145:;
|
||||
} // ( ... )+
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 810 "pf.g"
|
||||
_ttype = INT_CONST;
|
||||
#line 1132 "PFCfgLexer.cpp"
|
||||
}
|
||||
}
|
||||
else if ((LA(1) == 0x3a /* ':' */ ) && (true)) {
|
||||
match(':' /* charlit */ );
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 834 "pf.g"
|
||||
_ttype = COLON;
|
||||
#line 1140 "PFCfgLexer.cpp"
|
||||
}
|
||||
}
|
||||
else if ((_tokenSet_3.member(LA(1)))) {
|
||||
{
|
||||
switch ( LA(1)) {
|
||||
case 0x61 /* 'a' */ :
|
||||
case 0x62 /* 'b' */ :
|
||||
case 0x63 /* 'c' */ :
|
||||
case 0x64 /* 'd' */ :
|
||||
case 0x65 /* 'e' */ :
|
||||
case 0x66 /* 'f' */ :
|
||||
case 0x67 /* 'g' */ :
|
||||
case 0x68 /* 'h' */ :
|
||||
case 0x69 /* 'i' */ :
|
||||
case 0x6a /* 'j' */ :
|
||||
case 0x6b /* 'k' */ :
|
||||
case 0x6c /* 'l' */ :
|
||||
case 0x6d /* 'm' */ :
|
||||
case 0x6e /* 'n' */ :
|
||||
case 0x6f /* 'o' */ :
|
||||
case 0x70 /* 'p' */ :
|
||||
case 0x71 /* 'q' */ :
|
||||
case 0x72 /* 'r' */ :
|
||||
case 0x73 /* 's' */ :
|
||||
case 0x74 /* 't' */ :
|
||||
case 0x75 /* 'u' */ :
|
||||
case 0x76 /* 'v' */ :
|
||||
case 0x77 /* 'w' */ :
|
||||
case 0x78 /* 'x' */ :
|
||||
case 0x79 /* 'y' */ :
|
||||
case 0x7a /* 'z' */ :
|
||||
{
|
||||
matchRange('a','z');
|
||||
break;
|
||||
}
|
||||
case 0x41 /* 'A' */ :
|
||||
case 0x42 /* 'B' */ :
|
||||
case 0x43 /* 'C' */ :
|
||||
case 0x44 /* 'D' */ :
|
||||
case 0x45 /* 'E' */ :
|
||||
case 0x46 /* 'F' */ :
|
||||
case 0x47 /* 'G' */ :
|
||||
case 0x48 /* 'H' */ :
|
||||
case 0x49 /* 'I' */ :
|
||||
case 0x4a /* 'J' */ :
|
||||
case 0x4b /* 'K' */ :
|
||||
case 0x4c /* 'L' */ :
|
||||
case 0x4d /* 'M' */ :
|
||||
case 0x4e /* 'N' */ :
|
||||
case 0x4f /* 'O' */ :
|
||||
case 0x50 /* 'P' */ :
|
||||
case 0x51 /* 'Q' */ :
|
||||
case 0x52 /* 'R' */ :
|
||||
case 0x53 /* 'S' */ :
|
||||
case 0x54 /* 'T' */ :
|
||||
case 0x55 /* 'U' */ :
|
||||
case 0x56 /* 'V' */ :
|
||||
case 0x57 /* 'W' */ :
|
||||
case 0x58 /* 'X' */ :
|
||||
case 0x59 /* 'Y' */ :
|
||||
case 0x5a /* 'Z' */ :
|
||||
{
|
||||
matchRange('A','Z');
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
|
||||
}
|
||||
}
|
||||
}
|
||||
{ // ( ... )*
|
||||
for (;;) {
|
||||
switch ( LA(1)) {
|
||||
case 0x24 /* '$' */ :
|
||||
{
|
||||
match('$' /* charlit */ );
|
||||
break;
|
||||
}
|
||||
case 0x25 /* '%' */ :
|
||||
{
|
||||
match('%' /* charlit */ );
|
||||
break;
|
||||
}
|
||||
case 0x26 /* '&' */ :
|
||||
{
|
||||
match('&' /* charlit */ );
|
||||
break;
|
||||
}
|
||||
case 0x30 /* '0' */ :
|
||||
case 0x31 /* '1' */ :
|
||||
case 0x32 /* '2' */ :
|
||||
case 0x33 /* '3' */ :
|
||||
case 0x34 /* '4' */ :
|
||||
case 0x35 /* '5' */ :
|
||||
case 0x36 /* '6' */ :
|
||||
case 0x37 /* '7' */ :
|
||||
case 0x38 /* '8' */ :
|
||||
case 0x39 /* '9' */ :
|
||||
{
|
||||
matchRange('0','9');
|
||||
break;
|
||||
}
|
||||
case 0x3b /* ';' */ :
|
||||
{
|
||||
match(';' /* charlit */ );
|
||||
break;
|
||||
}
|
||||
case 0x3f /* '?' */ :
|
||||
{
|
||||
match('?' /* charlit */ );
|
||||
break;
|
||||
}
|
||||
case 0x40 /* '@' */ :
|
||||
{
|
||||
match('@' /* charlit */ );
|
||||
break;
|
||||
}
|
||||
case 0x41 /* 'A' */ :
|
||||
case 0x42 /* 'B' */ :
|
||||
case 0x43 /* 'C' */ :
|
||||
case 0x44 /* 'D' */ :
|
||||
case 0x45 /* 'E' */ :
|
||||
case 0x46 /* 'F' */ :
|
||||
case 0x47 /* 'G' */ :
|
||||
case 0x48 /* 'H' */ :
|
||||
case 0x49 /* 'I' */ :
|
||||
case 0x4a /* 'J' */ :
|
||||
case 0x4b /* 'K' */ :
|
||||
case 0x4c /* 'L' */ :
|
||||
case 0x4d /* 'M' */ :
|
||||
case 0x4e /* 'N' */ :
|
||||
case 0x4f /* 'O' */ :
|
||||
case 0x50 /* 'P' */ :
|
||||
case 0x51 /* 'Q' */ :
|
||||
case 0x52 /* 'R' */ :
|
||||
case 0x53 /* 'S' */ :
|
||||
case 0x54 /* 'T' */ :
|
||||
case 0x55 /* 'U' */ :
|
||||
case 0x56 /* 'V' */ :
|
||||
case 0x57 /* 'W' */ :
|
||||
case 0x58 /* 'X' */ :
|
||||
case 0x59 /* 'Y' */ :
|
||||
case 0x5a /* 'Z' */ :
|
||||
{
|
||||
matchRange('A','Z');
|
||||
break;
|
||||
}
|
||||
case 0x5c /* '\\' */ :
|
||||
{
|
||||
match('\\' /* charlit */ );
|
||||
break;
|
||||
}
|
||||
case 0x5e /* '^' */ :
|
||||
{
|
||||
match('^' /* charlit */ );
|
||||
break;
|
||||
}
|
||||
case 0x5f /* '_' */ :
|
||||
{
|
||||
match('_' /* charlit */ );
|
||||
break;
|
||||
}
|
||||
case 0x60 /* '`' */ :
|
||||
{
|
||||
match('`' /* charlit */ );
|
||||
break;
|
||||
}
|
||||
case 0x61 /* 'a' */ :
|
||||
case 0x62 /* 'b' */ :
|
||||
case 0x63 /* 'c' */ :
|
||||
case 0x64 /* 'd' */ :
|
||||
case 0x65 /* 'e' */ :
|
||||
case 0x66 /* 'f' */ :
|
||||
case 0x67 /* 'g' */ :
|
||||
case 0x68 /* 'h' */ :
|
||||
case 0x69 /* 'i' */ :
|
||||
case 0x6a /* 'j' */ :
|
||||
case 0x6b /* 'k' */ :
|
||||
case 0x6c /* 'l' */ :
|
||||
case 0x6d /* 'm' */ :
|
||||
case 0x6e /* 'n' */ :
|
||||
case 0x6f /* 'o' */ :
|
||||
case 0x70 /* 'p' */ :
|
||||
case 0x71 /* 'q' */ :
|
||||
case 0x72 /* 'r' */ :
|
||||
case 0x73 /* 's' */ :
|
||||
case 0x74 /* 't' */ :
|
||||
case 0x75 /* 'u' */ :
|
||||
case 0x76 /* 'v' */ :
|
||||
case 0x77 /* 'w' */ :
|
||||
case 0x78 /* 'x' */ :
|
||||
case 0x79 /* 'y' */ :
|
||||
case 0x7a /* 'z' */ :
|
||||
{
|
||||
matchRange('a','z');
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
goto _loop167;
|
||||
}
|
||||
}
|
||||
}
|
||||
_loop167:;
|
||||
} // ( ... )*
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 845 "pf.g"
|
||||
_ttype = WORD;
|
||||
#line 1350 "PFCfgLexer.cpp"
|
||||
}
|
||||
}
|
||||
else {
|
||||
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
|
||||
}
|
||||
}
|
||||
}
|
||||
if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
|
||||
_token = makeToken(_ttype);
|
||||
_token->setText(text.substr(_begin, text.length()-_begin));
|
||||
}
|
||||
_returnToken = _token;
|
||||
_saveIndex=0;
|
||||
}
|
||||
|
||||
void PFCfgLexer::mDOT(bool _createToken) {
|
||||
Tracer traceInOut(this, "mDOT");
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = DOT;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
|
||||
match('.' /* charlit */ );
|
||||
if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
|
||||
_token = makeToken(_ttype);
|
||||
_token->setText(text.substr(_begin, text.length()-_begin));
|
||||
}
|
||||
_returnToken = _token;
|
||||
_saveIndex=0;
|
||||
}
|
||||
|
||||
void PFCfgLexer::mCOLON(bool _createToken) {
|
||||
Tracer traceInOut(this, "mCOLON");
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = COLON;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
|
||||
match(':' /* charlit */ );
|
||||
}}}}
|
||||
_ttype = testLiteralsTable(_ttype);
|
||||
if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
|
||||
_token = makeToken(_ttype);
|
||||
_token->setText(text.substr(_begin, text.length()-_begin));
|
||||
@ -1312,7 +1363,6 @@ void PFCfgLexer::mCOLON(bool _createToken) {
|
||||
}
|
||||
|
||||
void PFCfgLexer::mSTRING(bool _createToken) {
|
||||
Tracer traceInOut(this, "mSTRING");
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = STRING;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
@ -1320,15 +1370,15 @@ void PFCfgLexer::mSTRING(bool _createToken) {
|
||||
match('\"' /* charlit */ );
|
||||
{ // ( ... )*
|
||||
for (;;) {
|
||||
if ((_tokenSet_6.member(LA(1)))) {
|
||||
if ((_tokenSet_4.member(LA(1)))) {
|
||||
matchNot('\"' /* charlit */ );
|
||||
}
|
||||
else {
|
||||
goto _loop157;
|
||||
goto _loop170;
|
||||
}
|
||||
|
||||
}
|
||||
_loop157:;
|
||||
_loop170:;
|
||||
} // ( ... )*
|
||||
match('\"' /* charlit */ );
|
||||
if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
|
||||
@ -1340,7 +1390,6 @@ void PFCfgLexer::mSTRING(bool _createToken) {
|
||||
}
|
||||
|
||||
void PFCfgLexer::mPIPE_CHAR(bool _createToken) {
|
||||
Tracer traceInOut(this, "mPIPE_CHAR");
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = PIPE_CHAR;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
@ -1355,7 +1404,6 @@ void PFCfgLexer::mPIPE_CHAR(bool _createToken) {
|
||||
}
|
||||
|
||||
void PFCfgLexer::mNUMBER_SIGN(bool _createToken) {
|
||||
Tracer traceInOut(this, "mNUMBER_SIGN");
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = NUMBER_SIGN;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
@ -1370,7 +1418,6 @@ void PFCfgLexer::mNUMBER_SIGN(bool _createToken) {
|
||||
}
|
||||
|
||||
void PFCfgLexer::mPERCENT(bool _createToken) {
|
||||
Tracer traceInOut(this, "mPERCENT");
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = PERCENT;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
@ -1385,7 +1432,6 @@ void PFCfgLexer::mPERCENT(bool _createToken) {
|
||||
}
|
||||
|
||||
void PFCfgLexer::mAMPERSAND(bool _createToken) {
|
||||
Tracer traceInOut(this, "mAMPERSAND");
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = AMPERSAND;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
@ -1400,7 +1446,6 @@ void PFCfgLexer::mAMPERSAND(bool _createToken) {
|
||||
}
|
||||
|
||||
void PFCfgLexer::mAPOSTROPHE(bool _createToken) {
|
||||
Tracer traceInOut(this, "mAPOSTROPHE");
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = APOSTROPHE;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
@ -1415,7 +1460,6 @@ void PFCfgLexer::mAPOSTROPHE(bool _createToken) {
|
||||
}
|
||||
|
||||
void PFCfgLexer::mSTAR(bool _createToken) {
|
||||
Tracer traceInOut(this, "mSTAR");
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = STAR;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
@ -1430,7 +1474,6 @@ void PFCfgLexer::mSTAR(bool _createToken) {
|
||||
}
|
||||
|
||||
void PFCfgLexer::mPLUS(bool _createToken) {
|
||||
Tracer traceInOut(this, "mPLUS");
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = PLUS;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
@ -1445,7 +1488,6 @@ void PFCfgLexer::mPLUS(bool _createToken) {
|
||||
}
|
||||
|
||||
void PFCfgLexer::mCOMMA(bool _createToken) {
|
||||
Tracer traceInOut(this, "mCOMMA");
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = COMMA;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
@ -1460,7 +1502,6 @@ void PFCfgLexer::mCOMMA(bool _createToken) {
|
||||
}
|
||||
|
||||
void PFCfgLexer::mMINUS(bool _createToken) {
|
||||
Tracer traceInOut(this, "mMINUS");
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = MINUS;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
@ -1474,8 +1515,21 @@ void PFCfgLexer::mMINUS(bool _createToken) {
|
||||
_saveIndex=0;
|
||||
}
|
||||
|
||||
void PFCfgLexer::mDOT(bool _createToken) {
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = DOT;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
|
||||
match('.' /* charlit */ );
|
||||
if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
|
||||
_token = makeToken(_ttype);
|
||||
_token->setText(text.substr(_begin, text.length()-_begin));
|
||||
}
|
||||
_returnToken = _token;
|
||||
_saveIndex=0;
|
||||
}
|
||||
|
||||
void PFCfgLexer::mSLASH(bool _createToken) {
|
||||
Tracer traceInOut(this, "mSLASH");
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = SLASH;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
@ -1490,7 +1544,6 @@ void PFCfgLexer::mSLASH(bool _createToken) {
|
||||
}
|
||||
|
||||
void PFCfgLexer::mSEMICOLON(bool _createToken) {
|
||||
Tracer traceInOut(this, "mSEMICOLON");
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = SEMICOLON;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
@ -1505,7 +1558,6 @@ void PFCfgLexer::mSEMICOLON(bool _createToken) {
|
||||
}
|
||||
|
||||
void PFCfgLexer::mEQUAL(bool _createToken) {
|
||||
Tracer traceInOut(this, "mEQUAL");
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = EQUAL;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
@ -1520,7 +1572,6 @@ void PFCfgLexer::mEQUAL(bool _createToken) {
|
||||
}
|
||||
|
||||
void PFCfgLexer::mQUESTION(bool _createToken) {
|
||||
Tracer traceInOut(this, "mQUESTION");
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = QUESTION;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
@ -1535,7 +1586,6 @@ void PFCfgLexer::mQUESTION(bool _createToken) {
|
||||
}
|
||||
|
||||
void PFCfgLexer::mCOMMERCIAL_AT(bool _createToken) {
|
||||
Tracer traceInOut(this, "mCOMMERCIAL_AT");
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = COMMERCIAL_AT;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
@ -1550,7 +1600,6 @@ void PFCfgLexer::mCOMMERCIAL_AT(bool _createToken) {
|
||||
}
|
||||
|
||||
void PFCfgLexer::mOPENING_PAREN(bool _createToken) {
|
||||
Tracer traceInOut(this, "mOPENING_PAREN");
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = OPENING_PAREN;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
@ -1565,7 +1614,6 @@ void PFCfgLexer::mOPENING_PAREN(bool _createToken) {
|
||||
}
|
||||
|
||||
void PFCfgLexer::mCLOSING_PAREN(bool _createToken) {
|
||||
Tracer traceInOut(this, "mCLOSING_PAREN");
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = CLOSING_PAREN;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
@ -1580,7 +1628,6 @@ void PFCfgLexer::mCLOSING_PAREN(bool _createToken) {
|
||||
}
|
||||
|
||||
void PFCfgLexer::mOPENING_SQUARE(bool _createToken) {
|
||||
Tracer traceInOut(this, "mOPENING_SQUARE");
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = OPENING_SQUARE;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
@ -1595,7 +1642,6 @@ void PFCfgLexer::mOPENING_SQUARE(bool _createToken) {
|
||||
}
|
||||
|
||||
void PFCfgLexer::mCLOSING_SQUARE(bool _createToken) {
|
||||
Tracer traceInOut(this, "mCLOSING_SQUARE");
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = CLOSING_SQUARE;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
@ -1610,7 +1656,6 @@ void PFCfgLexer::mCLOSING_SQUARE(bool _createToken) {
|
||||
}
|
||||
|
||||
void PFCfgLexer::mOPENING_BRACE(bool _createToken) {
|
||||
Tracer traceInOut(this, "mOPENING_BRACE");
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = OPENING_BRACE;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
@ -1625,7 +1670,6 @@ void PFCfgLexer::mOPENING_BRACE(bool _createToken) {
|
||||
}
|
||||
|
||||
void PFCfgLexer::mCLOSING_BRACE(bool _createToken) {
|
||||
Tracer traceInOut(this, "mCLOSING_BRACE");
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = CLOSING_BRACE;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
@ -1640,7 +1684,6 @@ void PFCfgLexer::mCLOSING_BRACE(bool _createToken) {
|
||||
}
|
||||
|
||||
void PFCfgLexer::mCARET(bool _createToken) {
|
||||
Tracer traceInOut(this, "mCARET");
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = CARET;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
@ -1655,7 +1698,6 @@ void PFCfgLexer::mCARET(bool _createToken) {
|
||||
}
|
||||
|
||||
void PFCfgLexer::mUNDERLINE(bool _createToken) {
|
||||
Tracer traceInOut(this, "mUNDERLINE");
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = UNDERLINE;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
@ -1670,7 +1712,6 @@ void PFCfgLexer::mUNDERLINE(bool _createToken) {
|
||||
}
|
||||
|
||||
void PFCfgLexer::mTILDE(bool _createToken) {
|
||||
Tracer traceInOut(this, "mTILDE");
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = TILDE;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
@ -1685,7 +1726,6 @@ void PFCfgLexer::mTILDE(bool _createToken) {
|
||||
}
|
||||
|
||||
void PFCfgLexer::mEXLAMATION(bool _createToken) {
|
||||
Tracer traceInOut(this, "mEXLAMATION");
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = EXLAMATION;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
@ -1700,7 +1740,6 @@ void PFCfgLexer::mEXLAMATION(bool _createToken) {
|
||||
}
|
||||
|
||||
void PFCfgLexer::mLESS_THAN(bool _createToken) {
|
||||
Tracer traceInOut(this, "mLESS_THAN");
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = LESS_THAN;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
@ -1715,7 +1754,6 @@ void PFCfgLexer::mLESS_THAN(bool _createToken) {
|
||||
}
|
||||
|
||||
void PFCfgLexer::mGREATER_THAN(bool _createToken) {
|
||||
Tracer traceInOut(this, "mGREATER_THAN");
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = GREATER_THAN;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
@ -1739,26 +1777,20 @@ const unsigned long PFCfgLexer::_tokenSet_1_data_[] = { 4294958072UL, 4294967295
|
||||
// 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f ! \" # $ %
|
||||
// & \' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G
|
||||
// H I J K L M N O P Q R S T U V W X Y Z [ 0x5c ] ^ _ ` a b c d e f g h
|
||||
// i j k l m n o p q r s t u v w x y z
|
||||
// i j k l m n o p q r s t u v w x y z { | } ~
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet PFCfgLexer::_tokenSet_1(_tokenSet_1_data_,16);
|
||||
const unsigned long PFCfgLexer::_tokenSet_2_data_[] = { 0UL, 67043328UL, 0UL, 126UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// 0 1 2 3 4 5 6 7 8 9 a b c d e f
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet PFCfgLexer::_tokenSet_2(_tokenSet_2_data_,10);
|
||||
const unsigned long PFCfgLexer::_tokenSet_3_data_[] = { 0UL, 134152192UL, 0UL, 126UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// 0 1 2 3 4 5 6 7 8 9 : a b c d e f
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet PFCfgLexer::_tokenSet_3(_tokenSet_3_data_,10);
|
||||
const unsigned long PFCfgLexer::_tokenSet_4_data_[] = { 0UL, 67059712UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
const unsigned long PFCfgLexer::_tokenSet_2_data_[] = { 0UL, 67059712UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// . 0 1 2 3 4 5 6 7 8 9
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet PFCfgLexer::_tokenSet_4(_tokenSet_4_data_,10);
|
||||
const unsigned long PFCfgLexer::_tokenSet_5_data_[] = { 0UL, 0UL, 134217726UL, 134217726UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet PFCfgLexer::_tokenSet_2(_tokenSet_2_data_,10);
|
||||
const unsigned long PFCfgLexer::_tokenSet_3_data_[] = { 0UL, 0UL, 134217726UL, 134217726UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h
|
||||
// i j k l m n o p q r s t u v w x y z
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet PFCfgLexer::_tokenSet_5(_tokenSet_5_data_,10);
|
||||
const unsigned long PFCfgLexer::_tokenSet_6_data_[] = { 4294967288UL, 4294967291UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet PFCfgLexer::_tokenSet_3(_tokenSet_3_data_,10);
|
||||
const unsigned long PFCfgLexer::_tokenSet_4_data_[] = { 4294967288UL, 4294967291UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10 0x11 0x12 0x13
|
||||
// 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f ! # $
|
||||
// % & \' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F
|
||||
// G H I J K L M N O P Q R S T U V W X Y Z [ 0x5c ] ^ _ ` a b c d e f g
|
||||
// h i j k l m n o p q r s t u v w x y z
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet PFCfgLexer::_tokenSet_6(_tokenSet_6_data_,16);
|
||||
// h i j k l m n o p q r s t u v w x y z { | } ~
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet PFCfgLexer::_tokenSet_4(_tokenSet_4_data_,16);
|
||||
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
|
||||
#line 11 "PFCfgLexer.hpp"
|
||||
#include <antlr/config.hpp>
|
||||
/* $ANTLR 2.7.7 (20090306): "pf.g" -> "PFCfgLexer.hpp"$ */
|
||||
/* $ANTLR 2.7.7 (20100319): "pf.g" -> "PFCfgLexer.hpp"$ */
|
||||
#include <antlr/CommonToken.hpp>
|
||||
#include <antlr/InputBuffer.hpp>
|
||||
#include <antlr/BitSet.hpp>
|
||||
@ -54,11 +54,12 @@ public:
|
||||
protected: void mHEX_CONST(bool _createToken);
|
||||
protected: void mNUMBER(bool _createToken);
|
||||
protected: void mNEG_INT_CONST(bool _createToken);
|
||||
protected: void mCOLON(bool _createToken);
|
||||
protected: void mHEX_DIGIT(bool _createToken);
|
||||
protected: void mDIGIT(bool _createToken);
|
||||
protected: void mHEXDIGIT(bool _createToken);
|
||||
protected: void mNUM_3DIGIT(bool _createToken);
|
||||
protected: void mNUM_HEX_4DIGIT(bool _createToken);
|
||||
public: void mNUMBER_ADDRESS_OR_WORD(bool _createToken);
|
||||
public: void mDOT(bool _createToken);
|
||||
public: void mCOLON(bool _createToken);
|
||||
public: void mSTRING(bool _createToken);
|
||||
public: void mPIPE_CHAR(bool _createToken);
|
||||
public: void mNUMBER_SIGN(bool _createToken);
|
||||
@ -69,6 +70,7 @@ public:
|
||||
public: void mPLUS(bool _createToken);
|
||||
public: void mCOMMA(bool _createToken);
|
||||
public: void mMINUS(bool _createToken);
|
||||
public: void mDOT(bool _createToken);
|
||||
public: void mSLASH(bool _createToken);
|
||||
public: void mSEMICOLON(bool _createToken);
|
||||
public: void mEQUAL(bool _createToken);
|
||||
@ -98,10 +100,6 @@ private:
|
||||
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_3;
|
||||
static const unsigned long _tokenSet_4_data_[];
|
||||
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_4;
|
||||
static const unsigned long _tokenSet_5_data_[];
|
||||
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_5;
|
||||
static const unsigned long _tokenSet_6_data_[];
|
||||
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_6;
|
||||
};
|
||||
|
||||
#endif /*INC_PFCfgLexer_hpp_*/
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
/* $ANTLR 2.7.7 (20090306): "pf.g" -> "PFCfgParser.cpp"$ */
|
||||
/* $ANTLR 2.7.7 (20100319): "pf.g" -> "PFCfgParser.cpp"$ */
|
||||
#line 42 "pf.g"
|
||||
|
||||
// gets inserted before the antlr generated includes in the cpp
|
||||
@ -61,6 +61,11 @@ void PFCfgParser::cfgfile() {
|
||||
altq_command();
|
||||
break;
|
||||
}
|
||||
case ANTISPOOF:
|
||||
{
|
||||
antispoof_command();
|
||||
break;
|
||||
}
|
||||
case QUEUE:
|
||||
{
|
||||
queue_command();
|
||||
@ -150,13 +155,13 @@ void PFCfgParser::macro_definition() {
|
||||
try { // for error handling
|
||||
match(WORD);
|
||||
match(EQUAL);
|
||||
#line 149 "pf.g"
|
||||
#line 151 "pf.g"
|
||||
|
||||
importer->clear();
|
||||
importer->setCurrentLineNumber(LT(0)->getLine());
|
||||
consumeUntil(NEWLINE);
|
||||
|
||||
#line 160 "PFCfgParser.cpp"
|
||||
#line 165 "PFCfgParser.cpp"
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
reportError(ex);
|
||||
@ -169,7 +174,7 @@ void PFCfgParser::altq_command() {
|
||||
|
||||
try { // for error handling
|
||||
match(ALTQ);
|
||||
#line 158 "pf.g"
|
||||
#line 171 "pf.g"
|
||||
|
||||
importer->clear();
|
||||
importer->setCurrentLineNumber(LT(0)->getLine());
|
||||
@ -177,7 +182,28 @@ void PFCfgParser::altq_command() {
|
||||
QString("Warning: import of 'altq' commands is not supported."));
|
||||
consumeUntil(NEWLINE);
|
||||
|
||||
#line 181 "PFCfgParser.cpp"
|
||||
#line 186 "PFCfgParser.cpp"
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
reportError(ex);
|
||||
recover(ex,_tokenSet_0);
|
||||
}
|
||||
}
|
||||
|
||||
void PFCfgParser::antispoof_command() {
|
||||
Tracer traceInOut(this, "antispoof_command");
|
||||
|
||||
try { // for error handling
|
||||
match(ANTISPOOF);
|
||||
#line 160 "pf.g"
|
||||
|
||||
importer->clear();
|
||||
importer->setCurrentLineNumber(LT(0)->getLine());
|
||||
importer->addMessageToLog(
|
||||
QString("Warning: import of 'antispoof' commands has not been implemented yet."));
|
||||
consumeUntil(NEWLINE);
|
||||
|
||||
#line 207 "PFCfgParser.cpp"
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
reportError(ex);
|
||||
@ -190,7 +216,7 @@ void PFCfgParser::queue_command() {
|
||||
|
||||
try { // for error handling
|
||||
match(QUEUE);
|
||||
#line 169 "pf.g"
|
||||
#line 182 "pf.g"
|
||||
|
||||
importer->clear();
|
||||
importer->setCurrentLineNumber(LT(0)->getLine());
|
||||
@ -198,7 +224,7 @@ void PFCfgParser::queue_command() {
|
||||
QString("Warning: import of 'queue' commands is not supported."));
|
||||
consumeUntil(NEWLINE);
|
||||
|
||||
#line 202 "PFCfgParser.cpp"
|
||||
#line 228 "PFCfgParser.cpp"
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
reportError(ex);
|
||||
@ -211,7 +237,7 @@ void PFCfgParser::set_command() {
|
||||
|
||||
try { // for error handling
|
||||
match(SET);
|
||||
#line 180 "pf.g"
|
||||
#line 193 "pf.g"
|
||||
|
||||
importer->clear();
|
||||
importer->setCurrentLineNumber(LT(0)->getLine());
|
||||
@ -219,7 +245,7 @@ void PFCfgParser::set_command() {
|
||||
QString("Warning: import of 'set' commands has not been implemented yet."));
|
||||
consumeUntil(NEWLINE);
|
||||
|
||||
#line 223 "PFCfgParser.cpp"
|
||||
#line 249 "PFCfgParser.cpp"
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
reportError(ex);
|
||||
@ -232,7 +258,7 @@ void PFCfgParser::scrub_command() {
|
||||
|
||||
try { // for error handling
|
||||
match(SCRUB);
|
||||
#line 191 "pf.g"
|
||||
#line 204 "pf.g"
|
||||
|
||||
importer->clear();
|
||||
importer->setCurrentLineNumber(LT(0)->getLine());
|
||||
@ -240,7 +266,7 @@ void PFCfgParser::scrub_command() {
|
||||
QString("Warning: import of 'scrub' commands has not been implemented yet."));
|
||||
consumeUntil(NEWLINE);
|
||||
|
||||
#line 244 "PFCfgParser.cpp"
|
||||
#line 270 "PFCfgParser.cpp"
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
reportError(ex);
|
||||
@ -253,7 +279,7 @@ void PFCfgParser::nat_command() {
|
||||
|
||||
try { // for error handling
|
||||
match(NAT);
|
||||
#line 202 "pf.g"
|
||||
#line 215 "pf.g"
|
||||
|
||||
importer->clear();
|
||||
importer->setCurrentLineNumber(LT(0)->getLine());
|
||||
@ -261,7 +287,7 @@ void PFCfgParser::nat_command() {
|
||||
QString("Warning: import of 'nat' commands has not been implemented yet."));
|
||||
consumeUntil(NEWLINE);
|
||||
|
||||
#line 265 "PFCfgParser.cpp"
|
||||
#line 291 "PFCfgParser.cpp"
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
reportError(ex);
|
||||
@ -274,7 +300,7 @@ void PFCfgParser::rdr_command() {
|
||||
|
||||
try { // for error handling
|
||||
match(RDR);
|
||||
#line 224 "pf.g"
|
||||
#line 237 "pf.g"
|
||||
|
||||
importer->clear();
|
||||
importer->setCurrentLineNumber(LT(0)->getLine());
|
||||
@ -282,7 +308,7 @@ void PFCfgParser::rdr_command() {
|
||||
QString("Warning: import of 'rdr' commands has not been implemented yet."));
|
||||
consumeUntil(NEWLINE);
|
||||
|
||||
#line 286 "PFCfgParser.cpp"
|
||||
#line 312 "PFCfgParser.cpp"
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
reportError(ex);
|
||||
@ -295,7 +321,7 @@ void PFCfgParser::binat_command() {
|
||||
|
||||
try { // for error handling
|
||||
match(BINAT);
|
||||
#line 213 "pf.g"
|
||||
#line 226 "pf.g"
|
||||
|
||||
importer->clear();
|
||||
importer->setCurrentLineNumber(LT(0)->getLine());
|
||||
@ -303,7 +329,7 @@ void PFCfgParser::binat_command() {
|
||||
QString("Warning: import of 'binat' commands is not supported."));
|
||||
consumeUntil(NEWLINE);
|
||||
|
||||
#line 307 "PFCfgParser.cpp"
|
||||
#line 333 "PFCfgParser.cpp"
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
reportError(ex);
|
||||
@ -316,7 +342,7 @@ void PFCfgParser::pass_command() {
|
||||
|
||||
try { // for error handling
|
||||
match(PASS);
|
||||
#line 258 "pf.g"
|
||||
#line 271 "pf.g"
|
||||
|
||||
importer->clear();
|
||||
importer->setCurrentLineNumber(LT(0)->getLine());
|
||||
@ -324,16 +350,16 @@ void PFCfgParser::pass_command() {
|
||||
importer->action = "pass";
|
||||
*dbg << LT(1)->getLine() << ":" << " pass ";
|
||||
|
||||
#line 328 "PFCfgParser.cpp"
|
||||
#line 354 "PFCfgParser.cpp"
|
||||
rule_extended();
|
||||
match(NEWLINE);
|
||||
#line 266 "pf.g"
|
||||
#line 279 "pf.g"
|
||||
|
||||
importer->setInterfaceAndDirectionForRuleSet(
|
||||
"", importer->iface, importer->direction);
|
||||
importer->pushRule();
|
||||
|
||||
#line 337 "PFCfgParser.cpp"
|
||||
#line 363 "PFCfgParser.cpp"
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
reportError(ex);
|
||||
@ -346,7 +372,7 @@ void PFCfgParser::block_command() {
|
||||
|
||||
try { // for error handling
|
||||
match(BLOCK);
|
||||
#line 274 "pf.g"
|
||||
#line 287 "pf.g"
|
||||
|
||||
importer->clear();
|
||||
importer->setCurrentLineNumber(LT(0)->getLine());
|
||||
@ -354,16 +380,16 @@ void PFCfgParser::block_command() {
|
||||
importer->action = "block";
|
||||
*dbg << LT(1)->getLine() << ":" << " block ";
|
||||
|
||||
#line 358 "PFCfgParser.cpp"
|
||||
#line 384 "PFCfgParser.cpp"
|
||||
rule_extended();
|
||||
match(NEWLINE);
|
||||
#line 282 "pf.g"
|
||||
#line 295 "pf.g"
|
||||
|
||||
importer->setInterfaceAndDirectionForRuleSet(
|
||||
"", importer->iface, importer->direction);
|
||||
importer->pushRule();
|
||||
|
||||
#line 367 "PFCfgParser.cpp"
|
||||
#line 393 "PFCfgParser.cpp"
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
reportError(ex);
|
||||
@ -376,7 +402,7 @@ void PFCfgParser::timeout_command() {
|
||||
|
||||
try { // for error handling
|
||||
match(TIMEOUT);
|
||||
#line 235 "pf.g"
|
||||
#line 248 "pf.g"
|
||||
|
||||
importer->clear();
|
||||
importer->setCurrentLineNumber(LT(0)->getLine());
|
||||
@ -384,7 +410,7 @@ void PFCfgParser::timeout_command() {
|
||||
QString("Warning: import of 'timeout' commands has not been implemented yet."));
|
||||
consumeUntil(NEWLINE);
|
||||
|
||||
#line 388 "PFCfgParser.cpp"
|
||||
#line 414 "PFCfgParser.cpp"
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
reportError(ex);
|
||||
@ -397,13 +423,13 @@ void PFCfgParser::unknown_command() {
|
||||
|
||||
try { // for error handling
|
||||
match(WORD);
|
||||
#line 247 "pf.g"
|
||||
#line 260 "pf.g"
|
||||
|
||||
importer->clear();
|
||||
importer->setCurrentLineNumber(LT(0)->getLine());
|
||||
consumeUntil(NEWLINE);
|
||||
|
||||
#line 407 "PFCfgParser.cpp"
|
||||
#line 433 "PFCfgParser.cpp"
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
reportError(ex);
|
||||
@ -580,11 +606,11 @@ void PFCfgParser::direction() {
|
||||
}
|
||||
}
|
||||
}
|
||||
#line 303 "pf.g"
|
||||
#line 316 "pf.g"
|
||||
|
||||
importer->direction = LT(0)->getText();
|
||||
|
||||
#line 588 "PFCfgParser.cpp"
|
||||
#line 614 "PFCfgParser.cpp"
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
reportError(ex);
|
||||
@ -598,11 +624,11 @@ void PFCfgParser::logging() {
|
||||
try { // for error handling
|
||||
match(LOG);
|
||||
logopts();
|
||||
#line 309 "pf.g"
|
||||
#line 322 "pf.g"
|
||||
|
||||
importer->logging = true;
|
||||
|
||||
#line 606 "PFCfgParser.cpp"
|
||||
#line 632 "PFCfgParser.cpp"
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
reportError(ex);
|
||||
@ -615,11 +641,11 @@ void PFCfgParser::quick() {
|
||||
|
||||
try { // for error handling
|
||||
match(QUICK);
|
||||
#line 326 "pf.g"
|
||||
#line 339 "pf.g"
|
||||
|
||||
importer->quick = true;
|
||||
|
||||
#line 623 "PFCfgParser.cpp"
|
||||
#line 649 "PFCfgParser.cpp"
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
reportError(ex);
|
||||
@ -633,12 +659,12 @@ void PFCfgParser::intrface() {
|
||||
try { // for error handling
|
||||
match(ON);
|
||||
match(WORD);
|
||||
#line 332 "pf.g"
|
||||
#line 345 "pf.g"
|
||||
|
||||
importer->iface = LT(0)->getText();
|
||||
importer->newInterface(importer->iface);
|
||||
|
||||
#line 642 "PFCfgParser.cpp"
|
||||
#line 668 "PFCfgParser.cpp"
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
reportError(ex);
|
||||
@ -659,11 +685,11 @@ void PFCfgParser::address_family() {
|
||||
case INET6:
|
||||
{
|
||||
match(INET6);
|
||||
#line 339 "pf.g"
|
||||
#line 352 "pf.g"
|
||||
|
||||
importer->address_family = LT(0)->getText();
|
||||
|
||||
#line 667 "PFCfgParser.cpp"
|
||||
#line 693 "PFCfgParser.cpp"
|
||||
break;
|
||||
}
|
||||
default:
|
||||
@ -883,11 +909,11 @@ void PFCfgParser::filteropts() {
|
||||
filteropt();
|
||||
}
|
||||
else {
|
||||
goto _loop65;
|
||||
goto _loop66;
|
||||
}
|
||||
|
||||
}
|
||||
_loop65:;
|
||||
_loop66:;
|
||||
} // ( ... )*
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
@ -908,11 +934,11 @@ void PFCfgParser::logopts() {
|
||||
logopt();
|
||||
}
|
||||
else {
|
||||
goto _loop29;
|
||||
goto _loop30;
|
||||
}
|
||||
|
||||
}
|
||||
_loop29:;
|
||||
_loop30:;
|
||||
} // ( ... )*
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
@ -1046,11 +1072,11 @@ void PFCfgParser::proto_name() {
|
||||
}
|
||||
}
|
||||
}
|
||||
#line 356 "pf.g"
|
||||
#line 369 "pf.g"
|
||||
|
||||
importer->proto_list.push_back(LT(0)->getText());
|
||||
|
||||
#line 1054 "PFCfgParser.cpp"
|
||||
#line 1080 "PFCfgParser.cpp"
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
reportError(ex);
|
||||
@ -1063,11 +1089,11 @@ void PFCfgParser::proto_number() {
|
||||
|
||||
try { // for error handling
|
||||
match(INT_CONST);
|
||||
#line 362 "pf.g"
|
||||
#line 375 "pf.g"
|
||||
|
||||
importer->proto_list.push_back(LT(0)->getText());
|
||||
|
||||
#line 1071 "PFCfgParser.cpp"
|
||||
#line 1097 "PFCfgParser.cpp"
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
reportError(ex);
|
||||
@ -1088,11 +1114,11 @@ void PFCfgParser::proto_list() {
|
||||
protospec();
|
||||
}
|
||||
else {
|
||||
goto _loop41;
|
||||
goto _loop42;
|
||||
}
|
||||
|
||||
}
|
||||
_loop41:;
|
||||
_loop42:;
|
||||
} // ( ... )*
|
||||
match(CLOSING_BRACE);
|
||||
}
|
||||
@ -1111,23 +1137,23 @@ void PFCfgParser::src_hosts_part() {
|
||||
case ANY:
|
||||
{
|
||||
match(ANY);
|
||||
#line 397 "pf.g"
|
||||
#line 410 "pf.g"
|
||||
|
||||
importer->tmp_group.push_back(
|
||||
std::pair<std::string, std::string>("0.0.0.0", "0.0.0.0"));
|
||||
|
||||
#line 1120 "PFCfgParser.cpp"
|
||||
#line 1146 "PFCfgParser.cpp"
|
||||
break;
|
||||
}
|
||||
case SELF:
|
||||
{
|
||||
match(SELF);
|
||||
#line 403 "pf.g"
|
||||
#line 416 "pf.g"
|
||||
|
||||
importer->tmp_group.push_back(
|
||||
std::pair<std::string, std::string>("self", "255.255.255.255"));
|
||||
|
||||
#line 1131 "PFCfgParser.cpp"
|
||||
#line 1157 "PFCfgParser.cpp"
|
||||
break;
|
||||
}
|
||||
case WORD:
|
||||
@ -1149,13 +1175,13 @@ void PFCfgParser::src_hosts_part() {
|
||||
}
|
||||
}
|
||||
}
|
||||
#line 412 "pf.g"
|
||||
#line 425 "pf.g"
|
||||
|
||||
importer->src_neg = importer->tmp_neg;
|
||||
importer->src_group.splice(importer->src_group.begin(),
|
||||
importer->tmp_group);
|
||||
|
||||
#line 1159 "PFCfgParser.cpp"
|
||||
#line 1185 "PFCfgParser.cpp"
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
reportError(ex);
|
||||
@ -1169,10 +1195,10 @@ void PFCfgParser::src_port_part() {
|
||||
try { // for error handling
|
||||
match(PORT);
|
||||
{
|
||||
if ((_tokenSet_12.member(LA(1))) && (LA(2) == WORD || LA(2) == TO || LA(2) == INT_CONST)) {
|
||||
if ((_tokenSet_12.member(LA(1))) && (_tokenSet_13.member(LA(2)))) {
|
||||
unary_op();
|
||||
}
|
||||
else if ((LA(1) == WORD || LA(1) == INT_CONST) && ((LA(2) >= EXCEPT_RANGE && LA(2) <= COLON))) {
|
||||
else if ((LA(1) == WORD || LA(1) == INT_CONST || LA(1) == PORT_RANGE) && ((LA(2) >= EXCEPT_RANGE && LA(2) <= COLON))) {
|
||||
binary_op();
|
||||
}
|
||||
else if ((LA(1) == OPENING_BRACE)) {
|
||||
@ -1183,16 +1209,16 @@ void PFCfgParser::src_port_part() {
|
||||
}
|
||||
|
||||
}
|
||||
#line 540 "pf.g"
|
||||
#line 553 "pf.g"
|
||||
|
||||
importer->src_port_group.splice(importer->src_port_group.begin(),
|
||||
importer->tmp_port_group);
|
||||
|
||||
#line 1192 "PFCfgParser.cpp"
|
||||
#line 1218 "PFCfgParser.cpp"
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
reportError(ex);
|
||||
recover(ex,_tokenSet_13);
|
||||
recover(ex,_tokenSet_14);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1205,23 +1231,23 @@ void PFCfgParser::dst_hosts_part() {
|
||||
case ANY:
|
||||
{
|
||||
match(ANY);
|
||||
#line 422 "pf.g"
|
||||
#line 435 "pf.g"
|
||||
|
||||
importer->tmp_group.push_back(
|
||||
std::pair<std::string, std::string>("0.0.0.0", "0.0.0.0"));
|
||||
|
||||
#line 1214 "PFCfgParser.cpp"
|
||||
#line 1240 "PFCfgParser.cpp"
|
||||
break;
|
||||
}
|
||||
case SELF:
|
||||
{
|
||||
match(SELF);
|
||||
#line 428 "pf.g"
|
||||
#line 441 "pf.g"
|
||||
|
||||
importer->tmp_group.push_back(
|
||||
std::pair<std::string, std::string>("self", "255.255.255.255"));
|
||||
|
||||
#line 1225 "PFCfgParser.cpp"
|
||||
#line 1251 "PFCfgParser.cpp"
|
||||
break;
|
||||
}
|
||||
case WORD:
|
||||
@ -1243,17 +1269,17 @@ void PFCfgParser::dst_hosts_part() {
|
||||
}
|
||||
}
|
||||
}
|
||||
#line 437 "pf.g"
|
||||
#line 450 "pf.g"
|
||||
|
||||
importer->dst_neg = importer->tmp_neg;
|
||||
importer->dst_group.splice(importer->src_group.begin(),
|
||||
importer->tmp_group);
|
||||
|
||||
#line 1253 "PFCfgParser.cpp"
|
||||
#line 1279 "PFCfgParser.cpp"
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
reportError(ex);
|
||||
recover(ex,_tokenSet_14);
|
||||
recover(ex,_tokenSet_15);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1263,10 +1289,10 @@ void PFCfgParser::dst_port_part() {
|
||||
try { // for error handling
|
||||
match(PORT);
|
||||
{
|
||||
if ((_tokenSet_12.member(LA(1))) && (_tokenSet_15.member(LA(2)))) {
|
||||
if ((_tokenSet_12.member(LA(1))) && (_tokenSet_16.member(LA(2)))) {
|
||||
unary_op();
|
||||
}
|
||||
else if ((LA(1) == WORD || LA(1) == INT_CONST) && ((LA(2) >= EXCEPT_RANGE && LA(2) <= COLON))) {
|
||||
else if ((LA(1) == WORD || LA(1) == INT_CONST || LA(1) == PORT_RANGE) && ((LA(2) >= EXCEPT_RANGE && LA(2) <= COLON))) {
|
||||
binary_op();
|
||||
}
|
||||
else if ((LA(1) == OPENING_BRACE)) {
|
||||
@ -1277,12 +1303,12 @@ void PFCfgParser::dst_port_part() {
|
||||
}
|
||||
|
||||
}
|
||||
#line 548 "pf.g"
|
||||
#line 561 "pf.g"
|
||||
|
||||
importer->dst_port_group.splice(importer->dst_port_group.begin(),
|
||||
importer->tmp_port_group);
|
||||
|
||||
#line 1286 "PFCfgParser.cpp"
|
||||
#line 1312 "PFCfgParser.cpp"
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
reportError(ex);
|
||||
@ -1303,11 +1329,11 @@ void PFCfgParser::host() {
|
||||
case EXCLAMATION:
|
||||
{
|
||||
match(EXCLAMATION);
|
||||
#line 448 "pf.g"
|
||||
#line 461 "pf.g"
|
||||
|
||||
importer->tmp_neg = true;
|
||||
|
||||
#line 1311 "PFCfgParser.cpp"
|
||||
#line 1337 "PFCfgParser.cpp"
|
||||
break;
|
||||
}
|
||||
case WORD:
|
||||
@ -1393,7 +1419,7 @@ void PFCfgParser::host() {
|
||||
}
|
||||
}
|
||||
}
|
||||
#line 454 "pf.g"
|
||||
#line 467 "pf.g"
|
||||
|
||||
if (v6)
|
||||
{
|
||||
@ -1410,20 +1436,20 @@ void PFCfgParser::host() {
|
||||
std::pair<std::string, std::string>(addr, netm));
|
||||
}
|
||||
|
||||
#line 1414 "PFCfgParser.cpp"
|
||||
#line 1440 "PFCfgParser.cpp"
|
||||
break;
|
||||
}
|
||||
case WORD:
|
||||
{
|
||||
match(WORD);
|
||||
#line 472 "pf.g"
|
||||
#line 485 "pf.g"
|
||||
|
||||
// This should be an interface name
|
||||
importer->tmp_group.push_back(
|
||||
std::pair<std::string, std::string>(
|
||||
LT(0)->getText(), "255.255.255.255"));
|
||||
|
||||
#line 1427 "PFCfgParser.cpp"
|
||||
#line 1453 "PFCfgParser.cpp"
|
||||
break;
|
||||
}
|
||||
default:
|
||||
@ -1435,7 +1461,7 @@ void PFCfgParser::host() {
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
reportError(ex);
|
||||
recover(ex,_tokenSet_16);
|
||||
recover(ex,_tokenSet_17);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1452,17 +1478,17 @@ void PFCfgParser::host_list() {
|
||||
host();
|
||||
}
|
||||
else {
|
||||
goto _loop62;
|
||||
goto _loop63;
|
||||
}
|
||||
|
||||
}
|
||||
_loop62:;
|
||||
_loop63:;
|
||||
} // ( ... )*
|
||||
match(CLOSING_BRACE);
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
reportError(ex);
|
||||
recover(ex,_tokenSet_17);
|
||||
recover(ex,_tokenSet_18);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1513,7 +1539,7 @@ void PFCfgParser::filteropt() {
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
reportError(ex);
|
||||
recover(ex,_tokenSet_18);
|
||||
recover(ex,_tokenSet_19);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1549,16 +1575,16 @@ void PFCfgParser::state() {
|
||||
}
|
||||
}
|
||||
}
|
||||
#line 515 "pf.g"
|
||||
#line 528 "pf.g"
|
||||
|
||||
importer->state_op = LT(0)->getText();
|
||||
|
||||
#line 1557 "PFCfgParser.cpp"
|
||||
#line 1583 "PFCfgParser.cpp"
|
||||
match(STATE);
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
reportError(ex);
|
||||
recover(ex,_tokenSet_19);
|
||||
recover(ex,_tokenSet_20);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1572,44 +1598,44 @@ void PFCfgParser::queue() {
|
||||
case WORD:
|
||||
{
|
||||
match(WORD);
|
||||
#line 524 "pf.g"
|
||||
#line 537 "pf.g"
|
||||
importer->queue += LT(0)->getText();
|
||||
#line 1578 "PFCfgParser.cpp"
|
||||
#line 1604 "PFCfgParser.cpp"
|
||||
break;
|
||||
}
|
||||
case OPENING_PAREN:
|
||||
{
|
||||
match(OPENING_PAREN);
|
||||
#line 526 "pf.g"
|
||||
#line 539 "pf.g"
|
||||
importer->queue += "(";
|
||||
#line 1586 "PFCfgParser.cpp"
|
||||
#line 1612 "PFCfgParser.cpp"
|
||||
match(WORD);
|
||||
#line 527 "pf.g"
|
||||
#line 540 "pf.g"
|
||||
importer->queue += LT(0)->getText();
|
||||
#line 1590 "PFCfgParser.cpp"
|
||||
#line 1616 "PFCfgParser.cpp"
|
||||
{ // ( ... )*
|
||||
for (;;) {
|
||||
if ((LA(1) == COMMA)) {
|
||||
match(COMMA);
|
||||
#line 529 "pf.g"
|
||||
#line 542 "pf.g"
|
||||
importer->queue += ",";
|
||||
#line 1597 "PFCfgParser.cpp"
|
||||
#line 1623 "PFCfgParser.cpp"
|
||||
match(WORD);
|
||||
#line 530 "pf.g"
|
||||
#line 543 "pf.g"
|
||||
importer->queue += LT(0)->getText();
|
||||
#line 1601 "PFCfgParser.cpp"
|
||||
#line 1627 "PFCfgParser.cpp"
|
||||
}
|
||||
else {
|
||||
goto _loop74;
|
||||
goto _loop75;
|
||||
}
|
||||
|
||||
}
|
||||
_loop74:;
|
||||
_loop75:;
|
||||
} // ( ... )*
|
||||
match(CLOSING_PAREN);
|
||||
#line 532 "pf.g"
|
||||
#line 545 "pf.g"
|
||||
importer->queue += ")";
|
||||
#line 1613 "PFCfgParser.cpp"
|
||||
#line 1639 "PFCfgParser.cpp"
|
||||
break;
|
||||
}
|
||||
default:
|
||||
@ -1621,7 +1647,7 @@ void PFCfgParser::queue() {
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
reportError(ex);
|
||||
recover(ex,_tokenSet_18);
|
||||
recover(ex,_tokenSet_19);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1629,11 +1655,11 @@ void PFCfgParser::unary_op() {
|
||||
Tracer traceInOut(this, "unary_op");
|
||||
|
||||
try { // for error handling
|
||||
#line 555 "pf.g"
|
||||
#line 568 "pf.g"
|
||||
|
||||
std::string op = "=";
|
||||
|
||||
#line 1637 "PFCfgParser.cpp"
|
||||
#line 1663 "PFCfgParser.cpp"
|
||||
{
|
||||
switch ( LA(1)) {
|
||||
case EQUAL:
|
||||
@ -1681,15 +1707,16 @@ void PFCfgParser::unary_op() {
|
||||
}
|
||||
}
|
||||
}
|
||||
#line 572 "pf.g"
|
||||
#line 585 "pf.g"
|
||||
|
||||
op = LT(0)->getText();
|
||||
|
||||
#line 1689 "PFCfgParser.cpp"
|
||||
#line 1715 "PFCfgParser.cpp"
|
||||
break;
|
||||
}
|
||||
case WORD:
|
||||
case INT_CONST:
|
||||
case PORT_RANGE:
|
||||
{
|
||||
break;
|
||||
}
|
||||
@ -1700,18 +1727,18 @@ void PFCfgParser::unary_op() {
|
||||
}
|
||||
}
|
||||
port_def();
|
||||
#line 577 "pf.g"
|
||||
#line 590 "pf.g"
|
||||
|
||||
std::vector<std::string> tuple;
|
||||
tuple.push_back(op);
|
||||
tuple.push_back(importer->tmp_port_def);
|
||||
importer->tmp_port_group.push_back(tuple);
|
||||
|
||||
#line 1711 "PFCfgParser.cpp"
|
||||
#line 1738 "PFCfgParser.cpp"
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
reportError(ex);
|
||||
recover(ex,_tokenSet_20);
|
||||
recover(ex,_tokenSet_21);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1719,19 +1746,19 @@ void PFCfgParser::binary_op() {
|
||||
Tracer traceInOut(this, "binary_op");
|
||||
|
||||
try { // for error handling
|
||||
#line 586 "pf.g"
|
||||
#line 599 "pf.g"
|
||||
|
||||
std::string op;
|
||||
std::string arg1;
|
||||
std::vector<std::string> tuple;
|
||||
|
||||
#line 1729 "PFCfgParser.cpp"
|
||||
#line 1756 "PFCfgParser.cpp"
|
||||
port_def();
|
||||
#line 592 "pf.g"
|
||||
#line 605 "pf.g"
|
||||
|
||||
arg1 = importer->tmp_port_def;
|
||||
|
||||
#line 1735 "PFCfgParser.cpp"
|
||||
#line 1762 "PFCfgParser.cpp"
|
||||
{
|
||||
switch ( LA(1)) {
|
||||
case EXCEPT_RANGE:
|
||||
@ -1755,24 +1782,24 @@ void PFCfgParser::binary_op() {
|
||||
}
|
||||
}
|
||||
}
|
||||
#line 602 "pf.g"
|
||||
#line 615 "pf.g"
|
||||
|
||||
op = LT(0)->getText();
|
||||
|
||||
#line 1763 "PFCfgParser.cpp"
|
||||
#line 1790 "PFCfgParser.cpp"
|
||||
port_def();
|
||||
#line 606 "pf.g"
|
||||
#line 619 "pf.g"
|
||||
|
||||
tuple.push_back(op);
|
||||
tuple.push_back(arg1);
|
||||
tuple.push_back(importer->tmp_port_def);
|
||||
importer->tmp_port_group.push_back(tuple);
|
||||
|
||||
#line 1772 "PFCfgParser.cpp"
|
||||
#line 1799 "PFCfgParser.cpp"
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
reportError(ex);
|
||||
recover(ex,_tokenSet_20);
|
||||
recover(ex,_tokenSet_21);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1782,10 +1809,10 @@ void PFCfgParser::op_list() {
|
||||
try { // for error handling
|
||||
match(OPENING_BRACE);
|
||||
{
|
||||
if ((_tokenSet_12.member(LA(1))) && (_tokenSet_21.member(LA(2)))) {
|
||||
if ((_tokenSet_12.member(LA(1))) && (_tokenSet_22.member(LA(2)))) {
|
||||
unary_op();
|
||||
}
|
||||
else if ((LA(1) == WORD || LA(1) == INT_CONST) && ((LA(2) >= EXCEPT_RANGE && LA(2) <= COLON))) {
|
||||
else if ((LA(1) == WORD || LA(1) == INT_CONST || LA(1) == PORT_RANGE) && ((LA(2) >= EXCEPT_RANGE && LA(2) <= COLON))) {
|
||||
binary_op();
|
||||
}
|
||||
else {
|
||||
@ -1798,10 +1825,10 @@ void PFCfgParser::op_list() {
|
||||
if ((LA(1) == COMMA)) {
|
||||
match(COMMA);
|
||||
{
|
||||
if ((_tokenSet_12.member(LA(1))) && (_tokenSet_21.member(LA(2)))) {
|
||||
if ((_tokenSet_12.member(LA(1))) && (_tokenSet_22.member(LA(2)))) {
|
||||
unary_op();
|
||||
}
|
||||
else if ((LA(1) == WORD || LA(1) == INT_CONST) && ((LA(2) >= EXCEPT_RANGE && LA(2) <= COLON))) {
|
||||
else if ((LA(1) == WORD || LA(1) == INT_CONST || LA(1) == PORT_RANGE) && ((LA(2) >= EXCEPT_RANGE && LA(2) <= COLON))) {
|
||||
binary_op();
|
||||
}
|
||||
else {
|
||||
@ -1811,17 +1838,17 @@ void PFCfgParser::op_list() {
|
||||
}
|
||||
}
|
||||
else {
|
||||
goto _loop90;
|
||||
goto _loop91;
|
||||
}
|
||||
|
||||
}
|
||||
_loop90:;
|
||||
_loop91:;
|
||||
} // ( ... )*
|
||||
match(CLOSING_BRACE);
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
reportError(ex);
|
||||
recover(ex,_tokenSet_22);
|
||||
recover(ex,_tokenSet_23);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1841,21 +1868,26 @@ void PFCfgParser::port_def() {
|
||||
match(INT_CONST);
|
||||
break;
|
||||
}
|
||||
case PORT_RANGE:
|
||||
{
|
||||
match(PORT_RANGE);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
|
||||
}
|
||||
}
|
||||
}
|
||||
#line 616 "pf.g"
|
||||
#line 629 "pf.g"
|
||||
|
||||
importer->tmp_port_def = LT(0)->getText();
|
||||
|
||||
#line 1855 "PFCfgParser.cpp"
|
||||
#line 1887 "PFCfgParser.cpp"
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
reportError(ex);
|
||||
recover(ex,_tokenSet_23);
|
||||
recover(ex,_tokenSet_24);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1871,6 +1903,7 @@ const char* PFCfgParser::tokenNames[] = {
|
||||
"LINE_COMMENT",
|
||||
"WORD",
|
||||
"EQUAL",
|
||||
"\"antispoof\"",
|
||||
"\"altq\"",
|
||||
"\"queue\"",
|
||||
"\"set\"",
|
||||
@ -1935,6 +1968,7 @@ const char* PFCfgParser::tokenNames[] = {
|
||||
"\"<>\"",
|
||||
"\"><\"",
|
||||
"COLON",
|
||||
"PORT_RANGE",
|
||||
"\"exit\"",
|
||||
"\"quit\"",
|
||||
"\"interface\"",
|
||||
@ -1964,8 +1998,10 @@ const char* PFCfgParser::tokenNames[] = {
|
||||
"HEX_CONST",
|
||||
"NUMBER",
|
||||
"NEG_INT_CONST",
|
||||
"HEX_DIGIT",
|
||||
"DIGIT",
|
||||
"HEXDIGIT",
|
||||
"NUM_3DIGIT",
|
||||
"NUM_HEX_4DIGIT",
|
||||
"NUMBER_ADDRESS_OR_WORD",
|
||||
"STRING",
|
||||
"PIPE_CHAR",
|
||||
@ -1989,9 +2025,9 @@ const char* PFCfgParser::tokenNames[] = {
|
||||
0
|
||||
};
|
||||
|
||||
const unsigned long PFCfgParser::_tokenSet_0_data_[] = { 262002UL, 0UL, 0UL, 0UL };
|
||||
// EOF NEWLINE LINE_COMMENT WORD "altq" "queue" "set" "scrub" "nat" "binat"
|
||||
// "rdr" "timeout" "pass" "block"
|
||||
const unsigned long PFCfgParser::_tokenSet_0_data_[] = { 524146UL, 0UL, 0UL, 0UL };
|
||||
// EOF NEWLINE LINE_COMMENT WORD "antispoof" "altq" "queue" "set" "scrub"
|
||||
// "nat" "binat" "rdr" "timeout" "pass" "block"
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet PFCfgParser::_tokenSet_0(_tokenSet_0_data_,4);
|
||||
const unsigned long PFCfgParser::_tokenSet_1_data_[] = { 2UL, 0UL, 0UL, 0UL };
|
||||
// EOF
|
||||
@ -1999,70 +2035,74 @@ const ANTLR_USE_NAMESPACE(antlr)BitSet PFCfgParser::_tokenSet_1(_tokenSet_1_data
|
||||
const unsigned long PFCfgParser::_tokenSet_2_data_[] = { 16UL, 0UL, 0UL, 0UL };
|
||||
// NEWLINE
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet PFCfgParser::_tokenSet_2(_tokenSet_2_data_,4);
|
||||
const unsigned long PFCfgParser::_tokenSet_3_data_[] = { 1062207504UL, 131072UL, 0UL, 0UL };
|
||||
const unsigned long PFCfgParser::_tokenSet_3_data_[] = { 2124414992UL, 262144UL, 0UL, 0UL };
|
||||
// NEWLINE "log" ALL "to" "quick" "on" "inet" "inet6" "proto" "from"
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet PFCfgParser::_tokenSet_3(_tokenSet_3_data_,4);
|
||||
const unsigned long PFCfgParser::_tokenSet_4_data_[] = { 1061158928UL, 131072UL, 0UL, 0UL };
|
||||
const unsigned long PFCfgParser::_tokenSet_4_data_[] = { 2122317840UL, 262144UL, 0UL, 0UL };
|
||||
// NEWLINE ALL "to" "quick" "on" "inet" "inet6" "proto" "from"
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet PFCfgParser::_tokenSet_4(_tokenSet_4_data_,4);
|
||||
const unsigned long PFCfgParser::_tokenSet_5_data_[] = { 1027604496UL, 131072UL, 0UL, 0UL };
|
||||
const unsigned long PFCfgParser::_tokenSet_5_data_[] = { 2055208976UL, 262144UL, 0UL, 0UL };
|
||||
// NEWLINE ALL "to" "on" "inet" "inet6" "proto" "from"
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet PFCfgParser::_tokenSet_5(_tokenSet_5_data_,4);
|
||||
const unsigned long PFCfgParser::_tokenSet_6_data_[] = { 960495632UL, 131072UL, 0UL, 0UL };
|
||||
const unsigned long PFCfgParser::_tokenSet_6_data_[] = { 1920991248UL, 262144UL, 0UL, 0UL };
|
||||
// NEWLINE ALL "to" "inet" "inet6" "proto" "from"
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet PFCfgParser::_tokenSet_6(_tokenSet_6_data_,4);
|
||||
const unsigned long PFCfgParser::_tokenSet_7_data_[] = { 557842432UL, 131072UL, 0UL, 0UL };
|
||||
const unsigned long PFCfgParser::_tokenSet_7_data_[] = { 1115684864UL, 262144UL, 0UL, 0UL };
|
||||
// ALL "to" "proto" "from"
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet PFCfgParser::_tokenSet_7(_tokenSet_7_data_,4);
|
||||
const unsigned long PFCfgParser::_tokenSet_8_data_[] = { 23068672UL, 196608UL, 0UL, 0UL };
|
||||
const unsigned long PFCfgParser::_tokenSet_8_data_[] = { 46137344UL, 393216UL, 0UL, 0UL };
|
||||
// COMMA ALL "to" CLOSING_BRACE "from"
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet PFCfgParser::_tokenSet_8(_tokenSet_8_data_,4);
|
||||
const unsigned long PFCfgParser::_tokenSet_9_data_[] = { 2097680UL, 251658240UL, 0UL, 0UL };
|
||||
const unsigned long PFCfgParser::_tokenSet_9_data_[] = { 4195344UL, 503316480UL, 0UL, 0UL };
|
||||
// NEWLINE "queue" COMMA "no" "keep" "modulate" "synproxy"
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet PFCfgParser::_tokenSet_9(_tokenSet_9_data_,4);
|
||||
const unsigned long PFCfgParser::_tokenSet_10_data_[] = { 1063256080UL, 131072UL, 0UL, 0UL };
|
||||
const unsigned long PFCfgParser::_tokenSet_10_data_[] = { 2126512144UL, 262144UL, 0UL, 0UL };
|
||||
// NEWLINE COMMA ALL "to" "quick" "on" "inet" "inet6" "proto" "from"
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet PFCfgParser::_tokenSet_10(_tokenSet_10_data_,4);
|
||||
const unsigned long PFCfgParser::_tokenSet_11_data_[] = { 16777216UL, 2147483648UL, 0UL, 0UL };
|
||||
const unsigned long PFCfgParser::_tokenSet_11_data_[] = { 33554432UL, 0UL, 1UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// "to" "port"
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet PFCfgParser::_tokenSet_11(_tokenSet_11_data_,4);
|
||||
const unsigned long PFCfgParser::_tokenSet_12_data_[] = { 192UL, 16384UL, 31UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// WORD EQUAL INT_CONST "!=" LESS_THAN "<=" GREATER_THAN ">="
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet PFCfgParser::_tokenSet_11(_tokenSet_11_data_,8);
|
||||
const unsigned long PFCfgParser::_tokenSet_12_data_[] = { 192UL, 32768UL, 574UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// WORD EQUAL INT_CONST "!=" LESS_THAN "<=" GREATER_THAN ">=" PORT_RANGE
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet PFCfgParser::_tokenSet_12(_tokenSet_12_data_,8);
|
||||
const unsigned long PFCfgParser::_tokenSet_13_data_[] = { 16777216UL, 0UL, 0UL, 0UL };
|
||||
const unsigned long PFCfgParser::_tokenSet_13_data_[] = { 33554496UL, 32768UL, 512UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// WORD "to" INT_CONST PORT_RANGE
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet PFCfgParser::_tokenSet_13(_tokenSet_13_data_,8);
|
||||
const unsigned long PFCfgParser::_tokenSet_14_data_[] = { 33554432UL, 0UL, 0UL, 0UL };
|
||||
// "to"
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet PFCfgParser::_tokenSet_13(_tokenSet_13_data_,4);
|
||||
const unsigned long PFCfgParser::_tokenSet_14_data_[] = { 2097680UL, 2399141888UL, 0UL, 0UL };
|
||||
// NEWLINE "queue" COMMA "no" "keep" "modulate" "synproxy" "port"
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet PFCfgParser::_tokenSet_14(_tokenSet_14_data_,4);
|
||||
const unsigned long PFCfgParser::_tokenSet_15_data_[] = { 2097744UL, 251674624UL, 0UL, 0UL };
|
||||
const unsigned long PFCfgParser::_tokenSet_15_data_[] = { 4195344UL, 503316480UL, 1UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// NEWLINE "queue" COMMA "no" "keep" "modulate" "synproxy" "port"
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet PFCfgParser::_tokenSet_15(_tokenSet_15_data_,8);
|
||||
const unsigned long PFCfgParser::_tokenSet_16_data_[] = { 4195408UL, 503349248UL, 512UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// NEWLINE WORD "queue" COMMA INT_CONST "no" "keep" "modulate" "synproxy"
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet PFCfgParser::_tokenSet_15(_tokenSet_15_data_,4);
|
||||
const unsigned long PFCfgParser::_tokenSet_16_data_[] = { 18874896UL, 2399207424UL, 0UL, 0UL };
|
||||
// PORT_RANGE
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet PFCfgParser::_tokenSet_16(_tokenSet_16_data_,8);
|
||||
const unsigned long PFCfgParser::_tokenSet_17_data_[] = { 37749776UL, 503447552UL, 1UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// NEWLINE "queue" COMMA "to" CLOSING_BRACE "no" "keep" "modulate" "synproxy"
|
||||
// "port"
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet PFCfgParser::_tokenSet_16(_tokenSet_16_data_,4);
|
||||
const unsigned long PFCfgParser::_tokenSet_17_data_[] = { 18874896UL, 2399141888UL, 0UL, 0UL };
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet PFCfgParser::_tokenSet_17(_tokenSet_17_data_,8);
|
||||
const unsigned long PFCfgParser::_tokenSet_18_data_[] = { 37749776UL, 503316480UL, 1UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// NEWLINE "queue" COMMA "to" "no" "keep" "modulate" "synproxy" "port"
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet PFCfgParser::_tokenSet_17(_tokenSet_17_data_,4);
|
||||
const unsigned long PFCfgParser::_tokenSet_18_data_[] = { 2097168UL, 0UL, 0UL, 0UL };
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet PFCfgParser::_tokenSet_18(_tokenSet_18_data_,8);
|
||||
const unsigned long PFCfgParser::_tokenSet_19_data_[] = { 4194320UL, 0UL, 0UL, 0UL };
|
||||
// NEWLINE COMMA
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet PFCfgParser::_tokenSet_18(_tokenSet_18_data_,4);
|
||||
const unsigned long PFCfgParser::_tokenSet_19_data_[] = { 2097680UL, 0UL, 0UL, 0UL };
|
||||
// NEWLINE "queue" COMMA
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet PFCfgParser::_tokenSet_19(_tokenSet_19_data_,4);
|
||||
const unsigned long PFCfgParser::_tokenSet_20_data_[] = { 18874896UL, 251723776UL, 0UL, 0UL };
|
||||
// NEWLINE "queue" COMMA "to" CLOSING_BRACE "no" "keep" "modulate" "synproxy"
|
||||
const unsigned long PFCfgParser::_tokenSet_20_data_[] = { 4195344UL, 0UL, 0UL, 0UL };
|
||||
// NEWLINE "queue" COMMA
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet PFCfgParser::_tokenSet_20(_tokenSet_20_data_,4);
|
||||
const unsigned long PFCfgParser::_tokenSet_21_data_[] = { 2097216UL, 81920UL, 0UL, 0UL };
|
||||
// WORD COMMA INT_CONST CLOSING_BRACE
|
||||
const unsigned long PFCfgParser::_tokenSet_21_data_[] = { 37749776UL, 503447552UL, 0UL, 0UL };
|
||||
// NEWLINE "queue" COMMA "to" CLOSING_BRACE "no" "keep" "modulate" "synproxy"
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet PFCfgParser::_tokenSet_21(_tokenSet_21_data_,4);
|
||||
const unsigned long PFCfgParser::_tokenSet_22_data_[] = { 18874896UL, 251658240UL, 0UL, 0UL };
|
||||
const unsigned long PFCfgParser::_tokenSet_22_data_[] = { 4194368UL, 163840UL, 512UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// WORD COMMA INT_CONST CLOSING_BRACE PORT_RANGE
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet PFCfgParser::_tokenSet_22(_tokenSet_22_data_,8);
|
||||
const unsigned long PFCfgParser::_tokenSet_23_data_[] = { 37749776UL, 503316480UL, 0UL, 0UL };
|
||||
// NEWLINE "queue" COMMA "to" "no" "keep" "modulate" "synproxy"
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet PFCfgParser::_tokenSet_22(_tokenSet_22_data_,4);
|
||||
const unsigned long PFCfgParser::_tokenSet_23_data_[] = { 18874896UL, 251723776UL, 224UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet PFCfgParser::_tokenSet_23(_tokenSet_23_data_,4);
|
||||
const unsigned long PFCfgParser::_tokenSet_24_data_[] = { 37749776UL, 503447552UL, 448UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// NEWLINE "queue" COMMA "to" CLOSING_BRACE "no" "keep" "modulate" "synproxy"
|
||||
// "<>" "><" COLON
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet PFCfgParser::_tokenSet_23(_tokenSet_23_data_,8);
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet PFCfgParser::_tokenSet_24(_tokenSet_24_data_,8);
|
||||
|
||||
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
|
||||
#line 11 "PFCfgParser.hpp"
|
||||
#include <antlr/config.hpp>
|
||||
/* $ANTLR 2.7.7 (20090306): "pf.g" -> "PFCfgParser.hpp"$ */
|
||||
/* $ANTLR 2.7.7 (20100319): "pf.g" -> "PFCfgParser.hpp"$ */
|
||||
#include <antlr/TokenStream.hpp>
|
||||
#include <antlr/TokenBuffer.hpp>
|
||||
#include "PFCfgParserTokenTypes.hpp"
|
||||
@ -92,6 +92,7 @@ public:
|
||||
public: void comment();
|
||||
public: void macro_definition();
|
||||
public: void altq_command();
|
||||
public: void antispoof_command();
|
||||
public: void queue_command();
|
||||
public: void set_command();
|
||||
public: void scrub_command();
|
||||
@ -140,10 +141,10 @@ protected:
|
||||
private:
|
||||
static const char* tokenNames[];
|
||||
#ifndef NO_STATIC_CONSTS
|
||||
static const int NUM_TOKENS = 123;
|
||||
static const int NUM_TOKENS = 127;
|
||||
#else
|
||||
enum {
|
||||
NUM_TOKENS = 123
|
||||
NUM_TOKENS = 127
|
||||
};
|
||||
#endif
|
||||
|
||||
@ -195,6 +196,8 @@ private:
|
||||
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_22;
|
||||
static const unsigned long _tokenSet_23_data_[];
|
||||
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_23;
|
||||
static const unsigned long _tokenSet_24_data_[];
|
||||
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_24;
|
||||
};
|
||||
|
||||
#endif /*INC_PFCfgParser_hpp_*/
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
#ifndef INC_PFCfgParserTokenTypes_hpp_
|
||||
#define INC_PFCfgParserTokenTypes_hpp_
|
||||
|
||||
/* $ANTLR 2.7.7 (20090306): "pf.g" -> "PFCfgParserTokenTypes.hpp"$ */
|
||||
/* $ANTLR 2.7.7 (20100319): "pf.g" -> "PFCfgParserTokenTypes.hpp"$ */
|
||||
|
||||
#ifndef CUSTOM_API
|
||||
# define CUSTOM_API
|
||||
@ -16,121 +16,125 @@ struct CUSTOM_API PFCfgParserTokenTypes {
|
||||
LINE_COMMENT = 5,
|
||||
WORD = 6,
|
||||
EQUAL = 7,
|
||||
ALTQ = 8,
|
||||
QUEUE = 9,
|
||||
SET = 10,
|
||||
SCRUB = 11,
|
||||
NAT = 12,
|
||||
BINAT = 13,
|
||||
RDR = 14,
|
||||
TIMEOUT = 15,
|
||||
PASS = 16,
|
||||
BLOCK = 17,
|
||||
IN = 18,
|
||||
OUT = 19,
|
||||
LOG = 20,
|
||||
COMMA = 21,
|
||||
ALL = 22,
|
||||
USER = 23,
|
||||
TO = 24,
|
||||
QUICK = 25,
|
||||
ON = 26,
|
||||
INET = 27,
|
||||
INET6 = 28,
|
||||
PROTO = 29,
|
||||
IP = 30,
|
||||
ICMP = 31,
|
||||
IGMP = 32,
|
||||
TCP = 33,
|
||||
UDP = 34,
|
||||
RDP = 35,
|
||||
RSVP = 36,
|
||||
GRE = 37,
|
||||
ESP = 38,
|
||||
AH = 39,
|
||||
EIGRP = 40,
|
||||
OSPF = 41,
|
||||
IPIP = 42,
|
||||
VRRP = 43,
|
||||
L2TP = 44,
|
||||
ISIS = 45,
|
||||
INT_CONST = 46,
|
||||
OPENING_BRACE = 47,
|
||||
CLOSING_BRACE = 48,
|
||||
FROM = 49,
|
||||
ANY = 50,
|
||||
SELF = 51,
|
||||
EXCLAMATION = 52,
|
||||
IPV4 = 53,
|
||||
IPV6 = 54,
|
||||
SLASH = 55,
|
||||
NO = 56,
|
||||
KEEP = 57,
|
||||
MODULATE = 58,
|
||||
SYNPROXY = 59,
|
||||
STATE = 60,
|
||||
OPENING_PAREN = 61,
|
||||
CLOSING_PAREN = 62,
|
||||
PORT = 63,
|
||||
NOT_EQUAL = 64,
|
||||
LESS_THAN = 65,
|
||||
LESS_OR_EQUAL_THAN = 66,
|
||||
GREATER_THAN = 67,
|
||||
GREATER_OR_EQUAL_THAN = 68,
|
||||
EXCEPT_RANGE = 69,
|
||||
INSIDE_RANGE = 70,
|
||||
COLON = 71,
|
||||
EXIT = 72,
|
||||
QUIT = 73,
|
||||
INTRFACE = 74,
|
||||
ICMP6 = 75,
|
||||
IGRP = 76,
|
||||
IPSEC = 77,
|
||||
NOS = 78,
|
||||
PCP = 79,
|
||||
PIM = 80,
|
||||
PPTP = 81,
|
||||
RIP = 82,
|
||||
SNP = 83,
|
||||
HOST = 84,
|
||||
RANGE = 85,
|
||||
LOG_LEVEL_ALERTS = 86,
|
||||
LOG_LEVEL_CRITICAL = 87,
|
||||
LOG_LEVEL_DEBUGGING = 88,
|
||||
LOG_LEVEL_EMERGENCIES = 89,
|
||||
LOG_LEVEL_ERRORS = 90,
|
||||
LOG_LEVEL_INFORMATIONAL = 91,
|
||||
LOG_LEVEL_NOTIFICATIONS = 92,
|
||||
LOG_LEVEL_WARNINGS = 93,
|
||||
LOG_LEVEL_DISABLE = 94,
|
||||
LOG_LEVEL_INACTIVE = 95,
|
||||
TRANSLATE_TO = 96,
|
||||
Whitespace = 97,
|
||||
HEX_CONST = 98,
|
||||
NUMBER = 99,
|
||||
NEG_INT_CONST = 100,
|
||||
DIGIT = 101,
|
||||
HEXDIGIT = 102,
|
||||
NUMBER_ADDRESS_OR_WORD = 103,
|
||||
STRING = 104,
|
||||
PIPE_CHAR = 105,
|
||||
NUMBER_SIGN = 106,
|
||||
PERCENT = 107,
|
||||
AMPERSAND = 108,
|
||||
APOSTROPHE = 109,
|
||||
STAR = 110,
|
||||
PLUS = 111,
|
||||
MINUS = 112,
|
||||
DOT = 113,
|
||||
SEMICOLON = 114,
|
||||
QUESTION = 115,
|
||||
COMMERCIAL_AT = 116,
|
||||
OPENING_SQUARE = 117,
|
||||
CLOSING_SQUARE = 118,
|
||||
CARET = 119,
|
||||
UNDERLINE = 120,
|
||||
TILDE = 121,
|
||||
EXLAMATION = 122,
|
||||
ANTISPOOF = 8,
|
||||
ALTQ = 9,
|
||||
QUEUE = 10,
|
||||
SET = 11,
|
||||
SCRUB = 12,
|
||||
NAT = 13,
|
||||
BINAT = 14,
|
||||
RDR = 15,
|
||||
TIMEOUT = 16,
|
||||
PASS = 17,
|
||||
BLOCK = 18,
|
||||
IN = 19,
|
||||
OUT = 20,
|
||||
LOG = 21,
|
||||
COMMA = 22,
|
||||
ALL = 23,
|
||||
USER = 24,
|
||||
TO = 25,
|
||||
QUICK = 26,
|
||||
ON = 27,
|
||||
INET = 28,
|
||||
INET6 = 29,
|
||||
PROTO = 30,
|
||||
IP = 31,
|
||||
ICMP = 32,
|
||||
IGMP = 33,
|
||||
TCP = 34,
|
||||
UDP = 35,
|
||||
RDP = 36,
|
||||
RSVP = 37,
|
||||
GRE = 38,
|
||||
ESP = 39,
|
||||
AH = 40,
|
||||
EIGRP = 41,
|
||||
OSPF = 42,
|
||||
IPIP = 43,
|
||||
VRRP = 44,
|
||||
L2TP = 45,
|
||||
ISIS = 46,
|
||||
INT_CONST = 47,
|
||||
OPENING_BRACE = 48,
|
||||
CLOSING_BRACE = 49,
|
||||
FROM = 50,
|
||||
ANY = 51,
|
||||
SELF = 52,
|
||||
EXCLAMATION = 53,
|
||||
IPV4 = 54,
|
||||
IPV6 = 55,
|
||||
SLASH = 56,
|
||||
NO = 57,
|
||||
KEEP = 58,
|
||||
MODULATE = 59,
|
||||
SYNPROXY = 60,
|
||||
STATE = 61,
|
||||
OPENING_PAREN = 62,
|
||||
CLOSING_PAREN = 63,
|
||||
PORT = 64,
|
||||
NOT_EQUAL = 65,
|
||||
LESS_THAN = 66,
|
||||
LESS_OR_EQUAL_THAN = 67,
|
||||
GREATER_THAN = 68,
|
||||
GREATER_OR_EQUAL_THAN = 69,
|
||||
EXCEPT_RANGE = 70,
|
||||
INSIDE_RANGE = 71,
|
||||
COLON = 72,
|
||||
PORT_RANGE = 73,
|
||||
EXIT = 74,
|
||||
QUIT = 75,
|
||||
INTRFACE = 76,
|
||||
ICMP6 = 77,
|
||||
IGRP = 78,
|
||||
IPSEC = 79,
|
||||
NOS = 80,
|
||||
PCP = 81,
|
||||
PIM = 82,
|
||||
PPTP = 83,
|
||||
RIP = 84,
|
||||
SNP = 85,
|
||||
HOST = 86,
|
||||
RANGE = 87,
|
||||
LOG_LEVEL_ALERTS = 88,
|
||||
LOG_LEVEL_CRITICAL = 89,
|
||||
LOG_LEVEL_DEBUGGING = 90,
|
||||
LOG_LEVEL_EMERGENCIES = 91,
|
||||
LOG_LEVEL_ERRORS = 92,
|
||||
LOG_LEVEL_INFORMATIONAL = 93,
|
||||
LOG_LEVEL_NOTIFICATIONS = 94,
|
||||
LOG_LEVEL_WARNINGS = 95,
|
||||
LOG_LEVEL_DISABLE = 96,
|
||||
LOG_LEVEL_INACTIVE = 97,
|
||||
TRANSLATE_TO = 98,
|
||||
Whitespace = 99,
|
||||
HEX_CONST = 100,
|
||||
NUMBER = 101,
|
||||
NEG_INT_CONST = 102,
|
||||
HEX_DIGIT = 103,
|
||||
DIGIT = 104,
|
||||
NUM_3DIGIT = 105,
|
||||
NUM_HEX_4DIGIT = 106,
|
||||
NUMBER_ADDRESS_OR_WORD = 107,
|
||||
STRING = 108,
|
||||
PIPE_CHAR = 109,
|
||||
NUMBER_SIGN = 110,
|
||||
PERCENT = 111,
|
||||
AMPERSAND = 112,
|
||||
APOSTROPHE = 113,
|
||||
STAR = 114,
|
||||
PLUS = 115,
|
||||
MINUS = 116,
|
||||
DOT = 117,
|
||||
SEMICOLON = 118,
|
||||
QUESTION = 119,
|
||||
COMMERCIAL_AT = 120,
|
||||
OPENING_SQUARE = 121,
|
||||
CLOSING_SQUARE = 122,
|
||||
CARET = 123,
|
||||
UNDERLINE = 124,
|
||||
TILDE = 125,
|
||||
EXLAMATION = 126,
|
||||
NULL_TREE_LOOKAHEAD = 3
|
||||
};
|
||||
#ifdef __cplusplus
|
||||
|
||||
@ -1,121 +1,125 @@
|
||||
// $ANTLR 2.7.7 (20090306): pf.g -> PFCfgParserTokenTypes.txt$
|
||||
// $ANTLR 2.7.7 (20100319): pf.g -> PFCfgParserTokenTypes.txt$
|
||||
PFCfgParser // output token vocab name
|
||||
NEWLINE=4
|
||||
LINE_COMMENT=5
|
||||
WORD=6
|
||||
EQUAL=7
|
||||
ALTQ="altq"=8
|
||||
QUEUE="queue"=9
|
||||
SET="set"=10
|
||||
SCRUB="scrub"=11
|
||||
NAT="nat"=12
|
||||
BINAT="binat"=13
|
||||
RDR="rdr"=14
|
||||
TIMEOUT="timeout"=15
|
||||
PASS="pass"=16
|
||||
BLOCK="block"=17
|
||||
IN="in"=18
|
||||
OUT="out"=19
|
||||
LOG="log"=20
|
||||
COMMA=21
|
||||
ALL=22
|
||||
USER=23
|
||||
TO="to"=24
|
||||
QUICK="quick"=25
|
||||
ON="on"=26
|
||||
INET="inet"=27
|
||||
INET6="inet6"=28
|
||||
PROTO="proto"=29
|
||||
IP="ip"=30
|
||||
ICMP="icmp"=31
|
||||
IGMP="igmp"=32
|
||||
TCP="tcp"=33
|
||||
UDP="udp"=34
|
||||
RDP="rdp"=35
|
||||
RSVP="rsvp"=36
|
||||
GRE="gre"=37
|
||||
ESP="esp"=38
|
||||
AH="ah"=39
|
||||
EIGRP="eigrp"=40
|
||||
OSPF="ospf"=41
|
||||
IPIP="ipip"=42
|
||||
VRRP="vrrp"=43
|
||||
L2TP="l2tp"=44
|
||||
ISIS="isis"=45
|
||||
INT_CONST=46
|
||||
OPENING_BRACE=47
|
||||
CLOSING_BRACE=48
|
||||
FROM="from"=49
|
||||
ANY="any"=50
|
||||
SELF=51
|
||||
EXCLAMATION=52
|
||||
IPV4=53
|
||||
IPV6=54
|
||||
SLASH=55
|
||||
NO="no"=56
|
||||
KEEP="keep"=57
|
||||
MODULATE="modulate"=58
|
||||
SYNPROXY="synproxy"=59
|
||||
STATE="state"=60
|
||||
OPENING_PAREN=61
|
||||
CLOSING_PAREN=62
|
||||
PORT="port"=63
|
||||
NOT_EQUAL="!="=64
|
||||
LESS_THAN=65
|
||||
LESS_OR_EQUAL_THAN="<="=66
|
||||
GREATER_THAN=67
|
||||
GREATER_OR_EQUAL_THAN=">="=68
|
||||
EXCEPT_RANGE="<>"=69
|
||||
INSIDE_RANGE="><"=70
|
||||
COLON=71
|
||||
EXIT="exit"=72
|
||||
QUIT="quit"=73
|
||||
INTRFACE="interface"=74
|
||||
ICMP6="icmp6"=75
|
||||
IGRP="igrp"=76
|
||||
IPSEC="ipsec"=77
|
||||
NOS="nos"=78
|
||||
PCP="pcp"=79
|
||||
PIM="pim"=80
|
||||
PPTP="pptp"=81
|
||||
RIP="rip"=82
|
||||
SNP="snp"=83
|
||||
HOST="host"=84
|
||||
RANGE="range"=85
|
||||
LOG_LEVEL_ALERTS="alerts"=86
|
||||
LOG_LEVEL_CRITICAL="critical"=87
|
||||
LOG_LEVEL_DEBUGGING="debugging"=88
|
||||
LOG_LEVEL_EMERGENCIES="emergencies"=89
|
||||
LOG_LEVEL_ERRORS="errors"=90
|
||||
LOG_LEVEL_INFORMATIONAL="informational"=91
|
||||
LOG_LEVEL_NOTIFICATIONS="notifications"=92
|
||||
LOG_LEVEL_WARNINGS="warnings"=93
|
||||
LOG_LEVEL_DISABLE="disable"=94
|
||||
LOG_LEVEL_INACTIVE="inactive"=95
|
||||
TRANSLATE_TO="->"=96
|
||||
Whitespace=97
|
||||
HEX_CONST=98
|
||||
NUMBER=99
|
||||
NEG_INT_CONST=100
|
||||
DIGIT=101
|
||||
HEXDIGIT=102
|
||||
NUMBER_ADDRESS_OR_WORD=103
|
||||
STRING=104
|
||||
PIPE_CHAR=105
|
||||
NUMBER_SIGN=106
|
||||
PERCENT=107
|
||||
AMPERSAND=108
|
||||
APOSTROPHE=109
|
||||
STAR=110
|
||||
PLUS=111
|
||||
MINUS=112
|
||||
DOT=113
|
||||
SEMICOLON=114
|
||||
QUESTION=115
|
||||
COMMERCIAL_AT=116
|
||||
OPENING_SQUARE=117
|
||||
CLOSING_SQUARE=118
|
||||
CARET=119
|
||||
UNDERLINE=120
|
||||
TILDE=121
|
||||
EXLAMATION=122
|
||||
ANTISPOOF="antispoof"=8
|
||||
ALTQ="altq"=9
|
||||
QUEUE="queue"=10
|
||||
SET="set"=11
|
||||
SCRUB="scrub"=12
|
||||
NAT="nat"=13
|
||||
BINAT="binat"=14
|
||||
RDR="rdr"=15
|
||||
TIMEOUT="timeout"=16
|
||||
PASS="pass"=17
|
||||
BLOCK="block"=18
|
||||
IN="in"=19
|
||||
OUT="out"=20
|
||||
LOG="log"=21
|
||||
COMMA=22
|
||||
ALL=23
|
||||
USER=24
|
||||
TO="to"=25
|
||||
QUICK="quick"=26
|
||||
ON="on"=27
|
||||
INET="inet"=28
|
||||
INET6="inet6"=29
|
||||
PROTO="proto"=30
|
||||
IP="ip"=31
|
||||
ICMP="icmp"=32
|
||||
IGMP="igmp"=33
|
||||
TCP="tcp"=34
|
||||
UDP="udp"=35
|
||||
RDP="rdp"=36
|
||||
RSVP="rsvp"=37
|
||||
GRE="gre"=38
|
||||
ESP="esp"=39
|
||||
AH="ah"=40
|
||||
EIGRP="eigrp"=41
|
||||
OSPF="ospf"=42
|
||||
IPIP="ipip"=43
|
||||
VRRP="vrrp"=44
|
||||
L2TP="l2tp"=45
|
||||
ISIS="isis"=46
|
||||
INT_CONST=47
|
||||
OPENING_BRACE=48
|
||||
CLOSING_BRACE=49
|
||||
FROM="from"=50
|
||||
ANY="any"=51
|
||||
SELF=52
|
||||
EXCLAMATION=53
|
||||
IPV4=54
|
||||
IPV6=55
|
||||
SLASH=56
|
||||
NO="no"=57
|
||||
KEEP="keep"=58
|
||||
MODULATE="modulate"=59
|
||||
SYNPROXY="synproxy"=60
|
||||
STATE="state"=61
|
||||
OPENING_PAREN=62
|
||||
CLOSING_PAREN=63
|
||||
PORT="port"=64
|
||||
NOT_EQUAL="!="=65
|
||||
LESS_THAN=66
|
||||
LESS_OR_EQUAL_THAN="<="=67
|
||||
GREATER_THAN=68
|
||||
GREATER_OR_EQUAL_THAN=">="=69
|
||||
EXCEPT_RANGE="<>"=70
|
||||
INSIDE_RANGE="><"=71
|
||||
COLON=72
|
||||
PORT_RANGE=73
|
||||
EXIT="exit"=74
|
||||
QUIT="quit"=75
|
||||
INTRFACE="interface"=76
|
||||
ICMP6="icmp6"=77
|
||||
IGRP="igrp"=78
|
||||
IPSEC="ipsec"=79
|
||||
NOS="nos"=80
|
||||
PCP="pcp"=81
|
||||
PIM="pim"=82
|
||||
PPTP="pptp"=83
|
||||
RIP="rip"=84
|
||||
SNP="snp"=85
|
||||
HOST="host"=86
|
||||
RANGE="range"=87
|
||||
LOG_LEVEL_ALERTS="alerts"=88
|
||||
LOG_LEVEL_CRITICAL="critical"=89
|
||||
LOG_LEVEL_DEBUGGING="debugging"=90
|
||||
LOG_LEVEL_EMERGENCIES="emergencies"=91
|
||||
LOG_LEVEL_ERRORS="errors"=92
|
||||
LOG_LEVEL_INFORMATIONAL="informational"=93
|
||||
LOG_LEVEL_NOTIFICATIONS="notifications"=94
|
||||
LOG_LEVEL_WARNINGS="warnings"=95
|
||||
LOG_LEVEL_DISABLE="disable"=96
|
||||
LOG_LEVEL_INACTIVE="inactive"=97
|
||||
TRANSLATE_TO="->"=98
|
||||
Whitespace=99
|
||||
HEX_CONST=100
|
||||
NUMBER=101
|
||||
NEG_INT_CONST=102
|
||||
HEX_DIGIT=103
|
||||
DIGIT=104
|
||||
NUM_3DIGIT=105
|
||||
NUM_HEX_4DIGIT=106
|
||||
NUMBER_ADDRESS_OR_WORD=107
|
||||
STRING=108
|
||||
PIPE_CHAR=109
|
||||
NUMBER_SIGN=110
|
||||
PERCENT=111
|
||||
AMPERSAND=112
|
||||
APOSTROPHE=113
|
||||
STAR=114
|
||||
PLUS=115
|
||||
MINUS=116
|
||||
DOT=117
|
||||
SEMICOLON=118
|
||||
QUESTION=119
|
||||
COMMERCIAL_AT=120
|
||||
OPENING_SQUARE=121
|
||||
CLOSING_SQUARE=122
|
||||
CARET=123
|
||||
UNDERLINE=124
|
||||
TILDE=125
|
||||
EXLAMATION=126
|
||||
|
||||
111
src/parsers/pf.g
111
src/parsers/pf.g
@ -116,6 +116,8 @@ cfgfile :
|
||||
macro_definition
|
||||
|
|
||||
altq_command
|
||||
|
|
||||
antispoof_command
|
||||
|
|
||||
queue_command
|
||||
|
|
||||
@ -153,6 +155,17 @@ macro_definition : WORD EQUAL
|
||||
}
|
||||
;
|
||||
|
||||
//****************************************************************
|
||||
antispoof_command : ANTISPOOF
|
||||
{
|
||||
importer->clear();
|
||||
importer->setCurrentLineNumber(LT(0)->getLine());
|
||||
importer->addMessageToLog(
|
||||
QString("Warning: import of 'antispoof' commands has not been implemented yet."));
|
||||
consumeUntil(NEWLINE);
|
||||
}
|
||||
;
|
||||
|
||||
//****************************************************************
|
||||
altq_command : ALTQ
|
||||
{
|
||||
@ -612,7 +625,7 @@ binary_op :
|
||||
;
|
||||
|
||||
port_def :
|
||||
( WORD | INT_CONST )
|
||||
( WORD | INT_CONST | PORT_RANGE )
|
||||
{
|
||||
importer->tmp_port_def = LT(0)->getText();
|
||||
}
|
||||
@ -717,6 +730,8 @@ tokens
|
||||
TIMEOUT = "timeout";
|
||||
|
||||
ALTQ = "altq";
|
||||
ANTISPOOF = "antispoof";
|
||||
|
||||
SET = "set";
|
||||
SCRUB = "scrub";
|
||||
NAT = "nat";
|
||||
@ -742,7 +757,7 @@ tokens
|
||||
LINE_COMMENT : "#" (~('\r' | '\n'))* NEWLINE ;
|
||||
|
||||
Whitespace : ( '\003'..'\010' | '\t' | '\013' | '\f' | '\016'.. '\037' | '\177'..'\377' | ' ' )
|
||||
{ _ttype = ANTLR_USE_NAMESPACE(antlr)Token::SKIP; } ;
|
||||
{ $setType(ANTLR_USE_NAMESPACE(antlr)Token::SKIP); } ;
|
||||
|
||||
|
||||
//COMMENT_START : '!' ;
|
||||
@ -761,45 +776,73 @@ NUMBER:;
|
||||
protected
|
||||
NEG_INT_CONST:;
|
||||
|
||||
protected
|
||||
COLON : ;
|
||||
|
||||
protected
|
||||
HEX_DIGIT : '0'..'9' 'a'..'f' ;
|
||||
|
||||
protected
|
||||
DIGIT : '0'..'9' ;
|
||||
|
||||
protected
|
||||
HEXDIGIT : 'a'..'f' ;
|
||||
NUM_3DIGIT: ('1'..'9') (('0'..'9') ('0'..'9')?)? ;
|
||||
|
||||
protected
|
||||
NUM_HEX_4DIGIT: HEX_DIGIT ((HEX_DIGIT) ((HEX_DIGIT) (HEX_DIGIT)?)?)? ;
|
||||
|
||||
|
||||
NUMBER_ADDRESS_OR_WORD
|
||||
options {
|
||||
testLiterals = true;
|
||||
}
|
||||
:
|
||||
( NUM_3DIGIT '.' NUM_3DIGIT '.' ) =>
|
||||
(NUM_3DIGIT '.' NUM_3DIGIT '.' NUM_3DIGIT '.' NUM_3DIGIT)
|
||||
{ $setType(IPV4); }
|
||||
|
|
||||
( (DIGIT)+ '.' (DIGIT)+ )=> ( (DIGIT)+ '.' (DIGIT)+ )
|
||||
{ $setType(NUMBER); }
|
||||
|
|
||||
( (DIGIT)+ ':' (DIGIT)+ )=> ( (DIGIT)+ ':' (DIGIT)+ )
|
||||
{ $setType(PORT_RANGE); }
|
||||
|
|
||||
( DIGIT )+ { $setType(INT_CONST); }
|
||||
|
||||
// IPv6 RULE
|
||||
| (NUM_HEX_4DIGIT ':')=>
|
||||
(
|
||||
((NUM_HEX_4DIGIT ':')+ ':')=>
|
||||
(
|
||||
(NUM_HEX_4DIGIT ':')+ ':'
|
||||
(NUM_HEX_4DIGIT (':' NUM_HEX_4DIGIT)*)?
|
||||
) { $setType(IPV6); }
|
||||
|
||||
NUMBER_ADDRESS_OR_WORD :
|
||||
(
|
||||
( DIGIT ) =>
|
||||
(
|
||||
( (DIGIT)+ DOT (DIGIT)+ DOT (DIGIT)+ ) =>
|
||||
( (DIGIT)+ DOT (DIGIT)+ DOT (DIGIT)+ DOT (DIGIT)+ )
|
||||
{ _ttype = IPV4; }
|
||||
|
|
||||
( (DIGIT)+ DOT (DIGIT)+ )=> ( (DIGIT)+ DOT (DIGIT)+ )
|
||||
{ _ttype = NUMBER; }
|
||||
|
|
||||
( DIGIT )+ { _ttype = INT_CONST; }
|
||||
)
|
||||
|
|
||||
( ( 'a'..'f' | '0'..'9' )+ COLON ) =>
|
||||
(
|
||||
(
|
||||
( 'a'..'f' | '0'..'9' )+
|
||||
( COLON ( 'a'..'f' | '0'..'9' )* )+
|
||||
)
|
||||
{ _ttype = IPV6; }
|
||||
)
|
||||
|
|
||||
// making sure ',' '(' ')' '=' '<' '>' '-' '+' are not part of WORD
|
||||
// do not start WORD with '$' since we expand macros in PFImporterRun using regex.
|
||||
( 'a'..'z' | 'A'..'Z' )
|
||||
( '$' | '%' | '&' | '0'..'9' | ';' |
|
||||
'?' | '@' | 'A'..'Z' | '\\' | '^' | '_' | '`' | 'a'..'z' )*
|
||||
{ _ttype = WORD; }
|
||||
)
|
||||
| NUM_HEX_4DIGIT (':' NUM_HEX_4DIGIT)+
|
||||
{ $setType(IPV6); }
|
||||
|
||||
) { $setType(IPV6); }
|
||||
|
||||
| (':' ':' NUM_HEX_4DIGIT)=>
|
||||
':' ':' NUM_HEX_4DIGIT (':' NUM_HEX_4DIGIT)*
|
||||
{ $setType(IPV6); }
|
||||
|
||||
| ':' ':'
|
||||
{ $setType(IPV6); }
|
||||
|
||||
| ':'
|
||||
{ $setType(COLON); }
|
||||
|
||||
|
|
||||
|
||||
// making sure ',' '(' ')' '=' '<' '>' '-' '+' are not part of WORD do
|
||||
// not start WORD with '$' since we expand macros in PFImporterRun
|
||||
// using regex.
|
||||
|
||||
( 'a'..'z' | 'A'..'Z' )
|
||||
( '$' | '%' | '&' | '0'..'9' | ';' |
|
||||
'?' | '@' | 'A'..'Z' | '\\' | '^' | '_' | '`' | 'a'..'z' )*
|
||||
{ $setType(WORD); }
|
||||
;
|
||||
|
||||
STRING : '"' (~'"')* '"';
|
||||
@ -817,7 +860,7 @@ MINUS : '-' ;
|
||||
DOT : '.' ;
|
||||
SLASH : '/' ;
|
||||
|
||||
COLON : ':' ;
|
||||
// COLON : ':' ;
|
||||
SEMICOLON : ';' ;
|
||||
EQUAL : '=' ;
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user