mirror of
https://github.com/fwbuilder/fwbuilder
synced 2026-03-22 11:17:31 +01:00
2008-12-03 Vadim Kurland <vadim@vk.crocodile.org>
* iosacl.g (certificate): fixed bug #2334007: "Problem parsing Cisco config". Parser now recognizes IOS configuration lines "certificate", "ip community-list", "controller ... description". These lines are recognized and ignored, they should not stop parser from processing the rest of the configuration. * ipt.cpp (main): fixed bug #2378672: "fwb 3.0.2 build 676 iptables script is not executable". Generated .fw file should have executable permissions.
This commit is contained in:
parent
aee10d10e9
commit
b193a80e3c
@ -1,3 +1,16 @@
|
||||
2008-12-03 Vadim Kurland <vadim@vk.crocodile.org>
|
||||
|
||||
* iosacl.g (certificate): fixed bug #2334007: "Problem parsing
|
||||
Cisco config". Parser now recognizes IOS configuration lines
|
||||
"certificate", "ip community-list", "controller
|
||||
... description". These lines are recognized and ignored, they
|
||||
should not stop parser from processing the rest of the
|
||||
configuration.
|
||||
|
||||
* ipt.cpp (main): fixed bug #2378672: "fwb 3.0.2 build 676
|
||||
iptables script is not executable". Generated .fw file should have
|
||||
executable permissions.
|
||||
|
||||
2008-12-02 Vadim Kurland <vadim@vk.crocodile.org>
|
||||
|
||||
* FWObjectDatabase_tree_ops.cpp (recursivelyCopySubtree): (change
|
||||
|
||||
@ -255,9 +255,16 @@ void Importer::addInterfaceAddress(const std::string &a,
|
||||
|
||||
void Importer::addInterfaceComment(const std::string &descr)
|
||||
{
|
||||
assert(current_interface!=NULL);
|
||||
current_interface->setComment(descr);
|
||||
*logger << "Interface comment: " << descr << "\n";
|
||||
// current_interface can be NULL if parser encountered command
|
||||
// that looked like interface description but in reality was
|
||||
// description of something else. For example this happens when
|
||||
// it finds command "description" under "controller" in Cisco router
|
||||
// configuration.
|
||||
if (current_interface!=NULL)
|
||||
{
|
||||
current_interface->setComment(descr);
|
||||
*logger << "Interface comment: " << descr << "\n";
|
||||
}
|
||||
}
|
||||
|
||||
void Importer::addRuleComment(const std::string &comm)
|
||||
@ -274,9 +281,6 @@ UnidirectionalRuleSet* Importer::checkUnidirRuleSet(
|
||||
|
||||
UnidirectionalRuleSet* Importer::getUnidirRuleSet(const std::string &ruleset_name)
|
||||
{
|
||||
if (fwbdebug)
|
||||
qDebug("Importer::getUnidirRuleSet %s", ruleset_name.c_str());
|
||||
|
||||
UnidirectionalRuleSet *rs = all_rulesets[ruleset_name];
|
||||
if (rs==NULL)
|
||||
{
|
||||
@ -315,10 +319,6 @@ void Importer::setInterfaceAndDirectionForRuleSet(const std::string &ruleset_nam
|
||||
const std::string &_intf_name,
|
||||
const std::string &_dir)
|
||||
{
|
||||
if (fwbdebug)
|
||||
qDebug("Importer::setInterfaceAndDirectionForRuleSet %s",
|
||||
ruleset_name.c_str());
|
||||
|
||||
UnidirectionalRuleSet *rs = getUnidirRuleSet(ruleset_name);
|
||||
std::string intf;
|
||||
if ( !_intf_name.empty()) intf = _intf_name;
|
||||
@ -342,8 +342,6 @@ void Importer::setInterfaceAndDirectionForRuleSet(const std::string &ruleset_nam
|
||||
|
||||
void Importer::newUnidirRuleSet(const std::string &ruleset_name)
|
||||
{
|
||||
if (fwbdebug) qDebug("Importer::newUnidirRuleSet %s",
|
||||
ruleset_name.c_str());
|
||||
current_ruleset = getUnidirRuleSet(ruleset_name); // creates if new
|
||||
*logger << "Ruleset: " << ruleset_name << "\n";
|
||||
}
|
||||
|
||||
@ -91,7 +91,7 @@ protected:
|
||||
|
||||
std::string platform;
|
||||
|
||||
libfwbuilder::Interface* current_interface;
|
||||
libfwbuilder::Interface* current_interface;
|
||||
|
||||
// map : ruleset name : ruleset
|
||||
// in case of IOS ACls or PIX policy ruleset name == acl name
|
||||
|
||||
@ -1158,7 +1158,10 @@ _("Dynamic interface %s should not have an IP address object attached to it. Thi
|
||||
fw_str << script_buffer;
|
||||
fw_file.close();
|
||||
fw_file.setPermissions(QFile::ReadOwner | QFile::WriteOwner |
|
||||
QFile::ReadGroup | QFile::ReadOther);
|
||||
QFile::ReadGroup | QFile::ReadOther |
|
||||
QFile::ExeOwner |
|
||||
QFile::ExeGroup |
|
||||
QFile::ExeOther );
|
||||
}
|
||||
|
||||
cout << _(" Compiled successfully") << std::endl << flush;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
/* $ANTLR 2.7.4: "iosacl.g" -> "IOSCfgLexer.cpp"$ */
|
||||
/* $ANTLR 2.7.6 (20070910): "iosacl.g" -> "IOSCfgLexer.cpp"$ */
|
||||
#line 42 "iosacl.g"
|
||||
|
||||
// gets inserted before the antlr generated includes in the cpp
|
||||
@ -46,38 +46,42 @@ IOSCfgLexer::IOSCfgLexer(const ANTLR_USE_NAMESPACE(antlr)LexerSharedInputState&
|
||||
|
||||
void IOSCfgLexer::initLiterals()
|
||||
{
|
||||
literals["host"] = 24;
|
||||
literals["log"] = 27;
|
||||
literals["access-list"] = 11;
|
||||
literals["interface"] = 33;
|
||||
literals["remark"] = 35;
|
||||
literals["exit"] = 40;
|
||||
literals["udp"] = 18;
|
||||
literals["tcp"] = 17;
|
||||
literals["eq"] = 19;
|
||||
literals["host"] = 27;
|
||||
literals["log"] = 30;
|
||||
literals["access-list"] = 14;
|
||||
literals["interface"] = 37;
|
||||
literals["remark"] = 39;
|
||||
literals["fragments"] = 33;
|
||||
literals["exit"] = 44;
|
||||
literals["udp"] = 21;
|
||||
literals["tcp"] = 20;
|
||||
literals["eq"] = 22;
|
||||
literals["ip"] = 5;
|
||||
literals["access-group"] = 37;
|
||||
literals["time-range"] = 31;
|
||||
literals["version"] = 7;
|
||||
literals["icmp"] = 16;
|
||||
literals["description"] = 34;
|
||||
literals["secondary"] = 39;
|
||||
literals["lt"] = 21;
|
||||
literals["range"] = 23;
|
||||
literals["log-input"] = 28;
|
||||
literals["standard"] = 42;
|
||||
literals["gt"] = 20;
|
||||
literals["permit"] = 14;
|
||||
literals["extended"] = 13;
|
||||
literals["address"] = 38;
|
||||
literals["established"] = 29;
|
||||
literals["neq"] = 22;
|
||||
literals["vlan"] = 32;
|
||||
literals["any"] = 26;
|
||||
literals["deny"] = 15;
|
||||
literals["shutdown"] = 36;
|
||||
literals["hostname"] = 9;
|
||||
literals["fragments"] = 30;
|
||||
literals["version"] = 10;
|
||||
literals["icmp"] = 19;
|
||||
literals["description"] = 38;
|
||||
literals["permit"] = 17;
|
||||
literals["lt"] = 24;
|
||||
literals["standard"] = 46;
|
||||
literals["log-input"] = 31;
|
||||
literals["range"] = 26;
|
||||
literals["gt"] = 23;
|
||||
literals["secondary"] = 43;
|
||||
literals["extended"] = 16;
|
||||
literals["address"] = 42;
|
||||
literals["established"] = 32;
|
||||
literals["community-list"] = 7;
|
||||
literals["neq"] = 25;
|
||||
literals["quit"] = 6;
|
||||
literals["vlan"] = 35;
|
||||
literals["time-range"] = 34;
|
||||
literals["any"] = 29;
|
||||
literals["deny"] = 18;
|
||||
literals["access-group"] = 41;
|
||||
literals["shutdown"] = 40;
|
||||
literals["hostname"] = 12;
|
||||
literals["controller"] = 36;
|
||||
literals["certificate"] = 9;
|
||||
}
|
||||
|
||||
ANTLR_USE_NAMESPACE(antlr)RefToken IOSCfgLexer::nextToken()
|
||||
@ -181,12 +185,18 @@ ANTLR_USE_NAMESPACE(antlr)RefToken IOSCfgLexer::nextToken()
|
||||
theRetToken=_returnToken;
|
||||
break;
|
||||
}
|
||||
case 0x22 /* '"' */ :
|
||||
case 0x22 /* '\"' */ :
|
||||
{
|
||||
mSTRING(true);
|
||||
theRetToken=_returnToken;
|
||||
break;
|
||||
}
|
||||
case 0x7c /* '|' */ :
|
||||
{
|
||||
mPIPE_CHAR(true);
|
||||
theRetToken=_returnToken;
|
||||
break;
|
||||
}
|
||||
case 0x23 /* '#' */ :
|
||||
{
|
||||
mNUMBER_SIGN(true);
|
||||
@ -373,9 +383,9 @@ tryAgain:;
|
||||
}
|
||||
|
||||
void IOSCfgLexer::mLINE_COMMENT(bool _createToken) {
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length();
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = LINE_COMMENT;
|
||||
int _saveIndex;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
|
||||
match("!");
|
||||
{ // ( ... )*
|
||||
@ -386,11 +396,11 @@ void IOSCfgLexer::mLINE_COMMENT(bool _createToken) {
|
||||
}
|
||||
}
|
||||
else {
|
||||
goto _loop79;
|
||||
goto _loop83;
|
||||
}
|
||||
|
||||
}
|
||||
_loop79:;
|
||||
_loop83:;
|
||||
} // ( ... )*
|
||||
mNEWLINE(false);
|
||||
if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
|
||||
@ -402,19 +412,19 @@ void IOSCfgLexer::mLINE_COMMENT(bool _createToken) {
|
||||
}
|
||||
|
||||
void IOSCfgLexer::mNEWLINE(bool _createToken) {
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length();
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = NEWLINE;
|
||||
int _saveIndex;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
|
||||
{
|
||||
if ((LA(1) == 0xd /* '\r' */ ) && (LA(2) == 0xa /* '\n' */ )) {
|
||||
match("\r\n");
|
||||
}
|
||||
else if ((LA(1) == 0xd /* '\r' */ ) && (true)) {
|
||||
match('\r');
|
||||
match('\r' /* charlit */ );
|
||||
}
|
||||
else if ((LA(1) == 0xa /* '\n' */ )) {
|
||||
match('\n');
|
||||
match('\n' /* charlit */ );
|
||||
}
|
||||
else {
|
||||
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
|
||||
@ -422,9 +432,9 @@ void IOSCfgLexer::mNEWLINE(bool _createToken) {
|
||||
|
||||
}
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 656 "iosacl.g"
|
||||
#line 698 "iosacl.g"
|
||||
newline();
|
||||
#line 428 "IOSCfgLexer.cpp"
|
||||
#line 438 "IOSCfgLexer.cpp"
|
||||
}
|
||||
if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
|
||||
_token = makeToken(_ttype);
|
||||
@ -435,9 +445,9 @@ void IOSCfgLexer::mNEWLINE(bool _createToken) {
|
||||
}
|
||||
|
||||
void IOSCfgLexer::mWhitespace(bool _createToken) {
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length();
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = Whitespace;
|
||||
int _saveIndex;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
|
||||
{
|
||||
switch ( LA(1)) {
|
||||
@ -453,17 +463,17 @@ void IOSCfgLexer::mWhitespace(bool _createToken) {
|
||||
}
|
||||
case 0x9 /* '\t' */ :
|
||||
{
|
||||
match('\t');
|
||||
match('\t' /* charlit */ );
|
||||
break;
|
||||
}
|
||||
case 0xb /* '\13' */ :
|
||||
{
|
||||
match('\13');
|
||||
match('\13' /* charlit */ );
|
||||
break;
|
||||
}
|
||||
case 0xc /* '\14' */ :
|
||||
{
|
||||
match('\14');
|
||||
match('\14' /* charlit */ );
|
||||
break;
|
||||
}
|
||||
case 0xe /* '\16' */ :
|
||||
@ -490,12 +500,12 @@ void IOSCfgLexer::mWhitespace(bool _createToken) {
|
||||
}
|
||||
case 0x20 /* ' ' */ :
|
||||
{
|
||||
match(' ');
|
||||
match(' ' /* charlit */ );
|
||||
break;
|
||||
}
|
||||
default:
|
||||
if (((LA(1) >= 0x7f && LA(1) <= 0xff))) {
|
||||
matchRange('\177',static_cast<unsigned char>(255));
|
||||
matchRange('\177',static_cast<unsigned char>('\377'));
|
||||
}
|
||||
else {
|
||||
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());
|
||||
@ -503,9 +513,9 @@ void IOSCfgLexer::mWhitespace(bool _createToken) {
|
||||
}
|
||||
}
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 651 "iosacl.g"
|
||||
#line 693 "iosacl.g"
|
||||
_ttype = ANTLR_USE_NAMESPACE(antlr)Token::SKIP;
|
||||
#line 509 "IOSCfgLexer.cpp"
|
||||
#line 519 "IOSCfgLexer.cpp"
|
||||
}
|
||||
if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
|
||||
_token = makeToken(_ttype);
|
||||
@ -516,9 +526,9 @@ void IOSCfgLexer::mWhitespace(bool _createToken) {
|
||||
}
|
||||
|
||||
void IOSCfgLexer::mINT_CONST(bool _createToken) {
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length();
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = INT_CONST;
|
||||
int _saveIndex;
|
||||
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);
|
||||
@ -529,9 +539,9 @@ void IOSCfgLexer::mINT_CONST(bool _createToken) {
|
||||
}
|
||||
|
||||
void IOSCfgLexer::mHEX_CONST(bool _createToken) {
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length();
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = HEX_CONST;
|
||||
int _saveIndex;
|
||||
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);
|
||||
@ -542,9 +552,9 @@ void IOSCfgLexer::mHEX_CONST(bool _createToken) {
|
||||
}
|
||||
|
||||
void IOSCfgLexer::mNEG_INT_CONST(bool _createToken) {
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length();
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = NEG_INT_CONST;
|
||||
int _saveIndex;
|
||||
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);
|
||||
@ -555,9 +565,9 @@ void IOSCfgLexer::mNEG_INT_CONST(bool _createToken) {
|
||||
}
|
||||
|
||||
void IOSCfgLexer::mDIGIT(bool _createToken) {
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length();
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = DIGIT;
|
||||
int _saveIndex;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
|
||||
matchRange('0','9');
|
||||
if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
|
||||
@ -569,9 +579,9 @@ void IOSCfgLexer::mDIGIT(bool _createToken) {
|
||||
}
|
||||
|
||||
void IOSCfgLexer::mHEXDIGIT(bool _createToken) {
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length();
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = HEXDIGIT;
|
||||
int _saveIndex;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
|
||||
switch ( LA(1)) {
|
||||
case 0x30 /* '0' */ :
|
||||
@ -612,49 +622,19 @@ void IOSCfgLexer::mHEXDIGIT(bool _createToken) {
|
||||
}
|
||||
|
||||
void IOSCfgLexer::mNUMBER(bool _createToken) {
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length();
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = NUMBER;
|
||||
int _saveIndex;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
|
||||
{
|
||||
bool synPredMatched98 = false;
|
||||
bool synPredMatched102 = false;
|
||||
if ((((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ )) && (_tokenSet_2.member(LA(2))) && (_tokenSet_2.member(LA(3))) && (_tokenSet_2.member(LA(4))) && (_tokenSet_2.member(LA(5))) && (_tokenSet_2.member(LA(6))) && (_tokenSet_2.member(LA(7))) && (true) && (true) && (true))) {
|
||||
int _m98 = mark();
|
||||
synPredMatched98 = true;
|
||||
int _m102 = mark();
|
||||
synPredMatched102 = true;
|
||||
inputState->guessing++;
|
||||
try {
|
||||
{
|
||||
{ // ( ... )+
|
||||
int _cnt93=0;
|
||||
for (;;) {
|
||||
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
|
||||
mDIGIT(false);
|
||||
}
|
||||
else {
|
||||
if ( _cnt93>=1 ) { goto _loop93; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
|
||||
}
|
||||
|
||||
_cnt93++;
|
||||
}
|
||||
_loop93:;
|
||||
} // ( ... )+
|
||||
mDOT(false);
|
||||
{ // ( ... )+
|
||||
int _cnt95=0;
|
||||
for (;;) {
|
||||
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
|
||||
mDIGIT(false);
|
||||
}
|
||||
else {
|
||||
if ( _cnt95>=1 ) { goto _loop95; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
|
||||
}
|
||||
|
||||
_cnt95++;
|
||||
}
|
||||
_loop95:;
|
||||
} // ( ... )+
|
||||
mDOT(false);
|
||||
{ // ( ... )+
|
||||
int _cnt97=0;
|
||||
for (;;) {
|
||||
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
|
||||
@ -668,47 +648,47 @@ void IOSCfgLexer::mNUMBER(bool _createToken) {
|
||||
}
|
||||
_loop97:;
|
||||
} // ( ... )+
|
||||
mDOT(false);
|
||||
{ // ( ... )+
|
||||
int _cnt99=0;
|
||||
for (;;) {
|
||||
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
|
||||
mDIGIT(false);
|
||||
}
|
||||
else {
|
||||
if ( _cnt99>=1 ) { goto _loop99; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
|
||||
}
|
||||
|
||||
_cnt99++;
|
||||
}
|
||||
_loop99:;
|
||||
} // ( ... )+
|
||||
mDOT(false);
|
||||
{ // ( ... )+
|
||||
int _cnt101=0;
|
||||
for (;;) {
|
||||
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
|
||||
mDIGIT(false);
|
||||
}
|
||||
else {
|
||||
if ( _cnt101>=1 ) { goto _loop101; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
|
||||
}
|
||||
|
||||
_cnt101++;
|
||||
}
|
||||
_loop101:;
|
||||
} // ( ... )+
|
||||
}
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& pe) {
|
||||
synPredMatched98 = false;
|
||||
synPredMatched102 = false;
|
||||
}
|
||||
rewind(_m98);
|
||||
rewind(_m102);
|
||||
inputState->guessing--;
|
||||
}
|
||||
if ( synPredMatched98 ) {
|
||||
if ( synPredMatched102 ) {
|
||||
{
|
||||
{ // ( ... )+
|
||||
int _cnt101=0;
|
||||
for (;;) {
|
||||
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
|
||||
mDIGIT(false);
|
||||
}
|
||||
else {
|
||||
if ( _cnt101>=1 ) { goto _loop101; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
|
||||
}
|
||||
|
||||
_cnt101++;
|
||||
}
|
||||
_loop101:;
|
||||
} // ( ... )+
|
||||
mDOT(false);
|
||||
{ // ( ... )+
|
||||
int _cnt103=0;
|
||||
for (;;) {
|
||||
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
|
||||
mDIGIT(false);
|
||||
}
|
||||
else {
|
||||
if ( _cnt103>=1 ) { goto _loop103; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
|
||||
}
|
||||
|
||||
_cnt103++;
|
||||
}
|
||||
_loop103:;
|
||||
} // ( ... )+
|
||||
mDOT(false);
|
||||
{ // ( ... )+
|
||||
int _cnt105=0;
|
||||
for (;;) {
|
||||
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
|
||||
@ -737,117 +717,90 @@ void IOSCfgLexer::mNUMBER(bool _createToken) {
|
||||
}
|
||||
_loop107:;
|
||||
} // ( ... )+
|
||||
mDOT(false);
|
||||
{ // ( ... )+
|
||||
int _cnt109=0;
|
||||
for (;;) {
|
||||
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
|
||||
mDIGIT(false);
|
||||
}
|
||||
else {
|
||||
if ( _cnt109>=1 ) { goto _loop109; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
|
||||
}
|
||||
|
||||
_cnt109++;
|
||||
}
|
||||
_loop109:;
|
||||
} // ( ... )+
|
||||
mDOT(false);
|
||||
{ // ( ... )+
|
||||
int _cnt111=0;
|
||||
for (;;) {
|
||||
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
|
||||
mDIGIT(false);
|
||||
}
|
||||
else {
|
||||
if ( _cnt111>=1 ) { goto _loop111; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
|
||||
}
|
||||
|
||||
_cnt111++;
|
||||
}
|
||||
_loop111:;
|
||||
} // ( ... )+
|
||||
}
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 676 "iosacl.g"
|
||||
#line 718 "iosacl.g"
|
||||
_ttype = IPV4;
|
||||
#line 745 "IOSCfgLexer.cpp"
|
||||
#line 755 "IOSCfgLexer.cpp"
|
||||
}
|
||||
}
|
||||
else {
|
||||
bool synPredMatched113 = false;
|
||||
bool synPredMatched117 = false;
|
||||
if ((((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ )) && (_tokenSet_2.member(LA(2))) && (_tokenSet_2.member(LA(3))) && (true) && (true) && (true) && (true) && (true) && (true) && (true))) {
|
||||
int _m113 = mark();
|
||||
synPredMatched113 = true;
|
||||
int _m117 = mark();
|
||||
synPredMatched117 = true;
|
||||
inputState->guessing++;
|
||||
try {
|
||||
{
|
||||
{ // ( ... )+
|
||||
int _cnt110=0;
|
||||
int _cnt114=0;
|
||||
for (;;) {
|
||||
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
|
||||
mDIGIT(false);
|
||||
}
|
||||
else {
|
||||
if ( _cnt110>=1 ) { goto _loop110; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
|
||||
if ( _cnt114>=1 ) { goto _loop114; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
|
||||
}
|
||||
|
||||
_cnt110++;
|
||||
_cnt114++;
|
||||
}
|
||||
_loop110:;
|
||||
_loop114:;
|
||||
} // ( ... )+
|
||||
mDOT(false);
|
||||
{ // ( ... )+
|
||||
int _cnt112=0;
|
||||
int _cnt116=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());}
|
||||
if ( _cnt116>=1 ) { goto _loop116; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
|
||||
}
|
||||
|
||||
_cnt112++;
|
||||
_cnt116++;
|
||||
}
|
||||
_loop112:;
|
||||
_loop116:;
|
||||
} // ( ... )+
|
||||
}
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& pe) {
|
||||
synPredMatched113 = false;
|
||||
synPredMatched117 = false;
|
||||
}
|
||||
rewind(_m113);
|
||||
rewind(_m117);
|
||||
inputState->guessing--;
|
||||
}
|
||||
if ( synPredMatched113 ) {
|
||||
if ( synPredMatched117 ) {
|
||||
{
|
||||
{ // ( ... )+
|
||||
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:;
|
||||
} // ( ... )+
|
||||
mDOT(false);
|
||||
{ // ( ... )+
|
||||
int _cnt118=0;
|
||||
for (;;) {
|
||||
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
|
||||
mDIGIT(false);
|
||||
}
|
||||
else {
|
||||
if ( _cnt118>=1 ) { goto _loop118; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
|
||||
}
|
||||
|
||||
_cnt118++;
|
||||
}
|
||||
_loop118:;
|
||||
} // ( ... )+
|
||||
}
|
||||
}
|
||||
else if ((LA(1) == 0x30 /* '0' */ ) && (LA(2) == 0x78 /* 'x' */ )) {
|
||||
{
|
||||
match('0');
|
||||
match('x');
|
||||
{ // ( ... )+
|
||||
int _cnt123=0;
|
||||
for (;;) {
|
||||
if ((_tokenSet_3.member(LA(1)))) {
|
||||
mHEXDIGIT(false);
|
||||
}
|
||||
else {
|
||||
if ( _cnt123>=1 ) { goto _loop123; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
|
||||
}
|
||||
|
||||
_cnt123++;
|
||||
}
|
||||
_loop123:;
|
||||
} // ( ... )+
|
||||
}
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 682 "iosacl.g"
|
||||
_ttype = HEX_CONST;
|
||||
#line 848 "IOSCfgLexer.cpp"
|
||||
}
|
||||
}
|
||||
else if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ )) && (true) && (true) && (true) && (true) && (true) && (true) && (true) && (true) && (true)) {
|
||||
{ // ( ... )+
|
||||
int _cnt120=0;
|
||||
for (;;) {
|
||||
@ -862,10 +815,67 @@ void IOSCfgLexer::mNUMBER(bool _createToken) {
|
||||
}
|
||||
_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:;
|
||||
} // ( ... )+
|
||||
}
|
||||
}
|
||||
else if ((LA(1) == 0x30 /* '0' */ ) && (LA(2) == 0x78 /* 'x' */ )) {
|
||||
{
|
||||
match('0' /* charlit */ );
|
||||
match('x' /* charlit */ );
|
||||
{ // ( ... )+
|
||||
int _cnt127=0;
|
||||
for (;;) {
|
||||
if ((_tokenSet_3.member(LA(1)))) {
|
||||
mHEXDIGIT(false);
|
||||
}
|
||||
else {
|
||||
if ( _cnt127>=1 ) { goto _loop127; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
|
||||
}
|
||||
|
||||
_cnt127++;
|
||||
}
|
||||
_loop127:;
|
||||
} // ( ... )+
|
||||
}
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 680 "iosacl.g"
|
||||
#line 724 "iosacl.g"
|
||||
_ttype = HEX_CONST;
|
||||
#line 858 "IOSCfgLexer.cpp"
|
||||
}
|
||||
}
|
||||
else if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ )) && (true) && (true) && (true) && (true) && (true) && (true) && (true) && (true) && (true)) {
|
||||
{ // ( ... )+
|
||||
int _cnt124=0;
|
||||
for (;;) {
|
||||
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
|
||||
mDIGIT(false);
|
||||
}
|
||||
else {
|
||||
if ( _cnt124>=1 ) { goto _loop124; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
|
||||
}
|
||||
|
||||
_cnt124++;
|
||||
}
|
||||
_loop124:;
|
||||
} // ( ... )+
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 722 "iosacl.g"
|
||||
_ttype = INT_CONST;
|
||||
#line 869 "IOSCfgLexer.cpp"
|
||||
#line 879 "IOSCfgLexer.cpp"
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -882,11 +892,11 @@ void IOSCfgLexer::mNUMBER(bool _createToken) {
|
||||
}
|
||||
|
||||
void IOSCfgLexer::mDOT(bool _createToken) {
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length();
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = DOT;
|
||||
int _saveIndex;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
|
||||
match('.');
|
||||
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));
|
||||
@ -896,9 +906,9 @@ void IOSCfgLexer::mDOT(bool _createToken) {
|
||||
}
|
||||
|
||||
void IOSCfgLexer::mWORD(bool _createToken) {
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length();
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = WORD;
|
||||
int _saveIndex;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
|
||||
{
|
||||
switch ( LA(1)) {
|
||||
@ -964,7 +974,7 @@ void IOSCfgLexer::mWORD(bool _createToken) {
|
||||
}
|
||||
case 0x24 /* '$' */ :
|
||||
{
|
||||
match('$');
|
||||
match('$' /* charlit */ );
|
||||
break;
|
||||
}
|
||||
default:
|
||||
@ -977,7 +987,7 @@ void IOSCfgLexer::mWORD(bool _createToken) {
|
||||
for (;;) {
|
||||
switch ( LA(1)) {
|
||||
case 0x21 /* '!' */ :
|
||||
case 0x22 /* '"' */ :
|
||||
case 0x22 /* '\"' */ :
|
||||
case 0x23 /* '#' */ :
|
||||
case 0x24 /* '$' */ :
|
||||
case 0x25 /* '%' */ :
|
||||
@ -1011,37 +1021,37 @@ void IOSCfgLexer::mWORD(bool _createToken) {
|
||||
}
|
||||
case 0x3a /* ':' */ :
|
||||
{
|
||||
match(':');
|
||||
match(':' /* charlit */ );
|
||||
break;
|
||||
}
|
||||
case 0x3b /* ';' */ :
|
||||
{
|
||||
match(';');
|
||||
match(';' /* charlit */ );
|
||||
break;
|
||||
}
|
||||
case 0x3c /* '<' */ :
|
||||
{
|
||||
match('<');
|
||||
match('<' /* charlit */ );
|
||||
break;
|
||||
}
|
||||
case 0x3d /* '=' */ :
|
||||
{
|
||||
match('=');
|
||||
match('=' /* charlit */ );
|
||||
break;
|
||||
}
|
||||
case 0x3e /* '>' */ :
|
||||
{
|
||||
match('>');
|
||||
match('>' /* charlit */ );
|
||||
break;
|
||||
}
|
||||
case 0x3f /* '?' */ :
|
||||
{
|
||||
match('?');
|
||||
match('?' /* charlit */ );
|
||||
break;
|
||||
}
|
||||
case 0x40 /* '@' */ :
|
||||
{
|
||||
match('@');
|
||||
match('@' /* charlit */ );
|
||||
break;
|
||||
}
|
||||
case 0x41 /* 'A' */ :
|
||||
@ -1076,22 +1086,22 @@ void IOSCfgLexer::mWORD(bool _createToken) {
|
||||
}
|
||||
case 0x5c /* '\\' */ :
|
||||
{
|
||||
match('\\');
|
||||
match('\\' /* charlit */ );
|
||||
break;
|
||||
}
|
||||
case 0x5e /* '^' */ :
|
||||
{
|
||||
match('^');
|
||||
match('^' /* charlit */ );
|
||||
break;
|
||||
}
|
||||
case 0x5f /* '_' */ :
|
||||
{
|
||||
match('_');
|
||||
match('_' /* charlit */ );
|
||||
break;
|
||||
}
|
||||
case 0x60 /* '`' */ :
|
||||
{
|
||||
match('`');
|
||||
match('`' /* charlit */ );
|
||||
break;
|
||||
}
|
||||
case 0x61 /* 'a' */ :
|
||||
@ -1126,11 +1136,11 @@ void IOSCfgLexer::mWORD(bool _createToken) {
|
||||
}
|
||||
default:
|
||||
{
|
||||
goto _loop127;
|
||||
goto _loop131;
|
||||
}
|
||||
}
|
||||
}
|
||||
_loop127:;
|
||||
_loop131:;
|
||||
} // ( ... )*
|
||||
if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
|
||||
_token = makeToken(_ttype);
|
||||
@ -1141,24 +1151,38 @@ void IOSCfgLexer::mWORD(bool _createToken) {
|
||||
}
|
||||
|
||||
void IOSCfgLexer::mSTRING(bool _createToken) {
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length();
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = STRING;
|
||||
int _saveIndex;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
|
||||
match('"');
|
||||
match('\"' /* charlit */ );
|
||||
{ // ( ... )*
|
||||
for (;;) {
|
||||
if ((_tokenSet_4.member(LA(1)))) {
|
||||
matchNot('"');
|
||||
matchNot('\"' /* charlit */ );
|
||||
}
|
||||
else {
|
||||
goto _loop130;
|
||||
goto _loop134;
|
||||
}
|
||||
|
||||
}
|
||||
_loop130:;
|
||||
_loop134:;
|
||||
} // ( ... )*
|
||||
match('"');
|
||||
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 IOSCfgLexer::mPIPE_CHAR(bool _createToken) {
|
||||
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;
|
||||
|
||||
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));
|
||||
@ -1168,11 +1192,11 @@ void IOSCfgLexer::mSTRING(bool _createToken) {
|
||||
}
|
||||
|
||||
void IOSCfgLexer::mNUMBER_SIGN(bool _createToken) {
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length();
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = NUMBER_SIGN;
|
||||
int _saveIndex;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
|
||||
match('#');
|
||||
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));
|
||||
@ -1182,11 +1206,11 @@ void IOSCfgLexer::mNUMBER_SIGN(bool _createToken) {
|
||||
}
|
||||
|
||||
void IOSCfgLexer::mPERCENT(bool _createToken) {
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length();
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = PERCENT;
|
||||
int _saveIndex;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
|
||||
match('%');
|
||||
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));
|
||||
@ -1196,11 +1220,11 @@ void IOSCfgLexer::mPERCENT(bool _createToken) {
|
||||
}
|
||||
|
||||
void IOSCfgLexer::mAMPERSAND(bool _createToken) {
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length();
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = AMPERSAND;
|
||||
int _saveIndex;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
|
||||
match('&');
|
||||
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));
|
||||
@ -1210,11 +1234,11 @@ void IOSCfgLexer::mAMPERSAND(bool _createToken) {
|
||||
}
|
||||
|
||||
void IOSCfgLexer::mAPOSTROPHE(bool _createToken) {
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length();
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = APOSTROPHE;
|
||||
int _saveIndex;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
|
||||
match('\'');
|
||||
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));
|
||||
@ -1224,11 +1248,11 @@ void IOSCfgLexer::mAPOSTROPHE(bool _createToken) {
|
||||
}
|
||||
|
||||
void IOSCfgLexer::mOPENING_PAREN(bool _createToken) {
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length();
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = OPENING_PAREN;
|
||||
int _saveIndex;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
|
||||
match('(');
|
||||
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));
|
||||
@ -1238,11 +1262,11 @@ void IOSCfgLexer::mOPENING_PAREN(bool _createToken) {
|
||||
}
|
||||
|
||||
void IOSCfgLexer::mCLOSING_PAREN(bool _createToken) {
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length();
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = CLOSING_PAREN;
|
||||
int _saveIndex;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
|
||||
match(')');
|
||||
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));
|
||||
@ -1252,11 +1276,11 @@ void IOSCfgLexer::mCLOSING_PAREN(bool _createToken) {
|
||||
}
|
||||
|
||||
void IOSCfgLexer::mSTAR(bool _createToken) {
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length();
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = STAR;
|
||||
int _saveIndex;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
|
||||
match('*');
|
||||
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));
|
||||
@ -1266,11 +1290,11 @@ void IOSCfgLexer::mSTAR(bool _createToken) {
|
||||
}
|
||||
|
||||
void IOSCfgLexer::mPLUS(bool _createToken) {
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length();
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = PLUS;
|
||||
int _saveIndex;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
|
||||
match('+');
|
||||
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));
|
||||
@ -1280,11 +1304,11 @@ void IOSCfgLexer::mPLUS(bool _createToken) {
|
||||
}
|
||||
|
||||
void IOSCfgLexer::mCOMMA(bool _createToken) {
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length();
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = COMMA;
|
||||
int _saveIndex;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
|
||||
match(',');
|
||||
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));
|
||||
@ -1294,11 +1318,11 @@ void IOSCfgLexer::mCOMMA(bool _createToken) {
|
||||
}
|
||||
|
||||
void IOSCfgLexer::mMINUS(bool _createToken) {
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length();
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = MINUS;
|
||||
int _saveIndex;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
|
||||
match('-');
|
||||
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));
|
||||
@ -1308,11 +1332,11 @@ void IOSCfgLexer::mMINUS(bool _createToken) {
|
||||
}
|
||||
|
||||
void IOSCfgLexer::mSLASH(bool _createToken) {
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length();
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = SLASH;
|
||||
int _saveIndex;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
|
||||
match('/');
|
||||
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));
|
||||
@ -1322,11 +1346,11 @@ void IOSCfgLexer::mSLASH(bool _createToken) {
|
||||
}
|
||||
|
||||
void IOSCfgLexer::mCOLON(bool _createToken) {
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length();
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = COLON;
|
||||
int _saveIndex;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
|
||||
match(':');
|
||||
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));
|
||||
@ -1336,11 +1360,11 @@ void IOSCfgLexer::mCOLON(bool _createToken) {
|
||||
}
|
||||
|
||||
void IOSCfgLexer::mSEMICOLON(bool _createToken) {
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length();
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = SEMICOLON;
|
||||
int _saveIndex;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
|
||||
match(';');
|
||||
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));
|
||||
@ -1350,11 +1374,11 @@ void IOSCfgLexer::mSEMICOLON(bool _createToken) {
|
||||
}
|
||||
|
||||
void IOSCfgLexer::mLESS_THAN(bool _createToken) {
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length();
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = LESS_THAN;
|
||||
int _saveIndex;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
|
||||
match('<');
|
||||
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));
|
||||
@ -1364,11 +1388,11 @@ void IOSCfgLexer::mLESS_THAN(bool _createToken) {
|
||||
}
|
||||
|
||||
void IOSCfgLexer::mEQUALS(bool _createToken) {
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length();
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = EQUALS;
|
||||
int _saveIndex;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
|
||||
match('=');
|
||||
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));
|
||||
@ -1378,11 +1402,11 @@ void IOSCfgLexer::mEQUALS(bool _createToken) {
|
||||
}
|
||||
|
||||
void IOSCfgLexer::mGREATER_THAN(bool _createToken) {
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length();
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = GREATER_THAN;
|
||||
int _saveIndex;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
|
||||
match('>');
|
||||
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));
|
||||
@ -1392,11 +1416,11 @@ void IOSCfgLexer::mGREATER_THAN(bool _createToken) {
|
||||
}
|
||||
|
||||
void IOSCfgLexer::mQUESTION(bool _createToken) {
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length();
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = QUESTION;
|
||||
int _saveIndex;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
|
||||
match('?');
|
||||
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));
|
||||
@ -1406,11 +1430,11 @@ void IOSCfgLexer::mQUESTION(bool _createToken) {
|
||||
}
|
||||
|
||||
void IOSCfgLexer::mCOMMERCIAL_AT(bool _createToken) {
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length();
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = COMMERCIAL_AT;
|
||||
int _saveIndex;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
|
||||
match('@');
|
||||
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));
|
||||
@ -1420,11 +1444,11 @@ void IOSCfgLexer::mCOMMERCIAL_AT(bool _createToken) {
|
||||
}
|
||||
|
||||
void IOSCfgLexer::mOPENING_SQUARE(bool _createToken) {
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length();
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = OPENING_SQUARE;
|
||||
int _saveIndex;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
|
||||
match('[');
|
||||
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));
|
||||
@ -1434,11 +1458,11 @@ void IOSCfgLexer::mOPENING_SQUARE(bool _createToken) {
|
||||
}
|
||||
|
||||
void IOSCfgLexer::mCLOSING_SQUARE(bool _createToken) {
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length();
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = CLOSING_SQUARE;
|
||||
int _saveIndex;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
|
||||
match(']');
|
||||
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));
|
||||
@ -1448,11 +1472,11 @@ void IOSCfgLexer::mCLOSING_SQUARE(bool _createToken) {
|
||||
}
|
||||
|
||||
void IOSCfgLexer::mCARET(bool _createToken) {
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length();
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = CARET;
|
||||
int _saveIndex;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
|
||||
match('^');
|
||||
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));
|
||||
@ -1462,11 +1486,11 @@ void IOSCfgLexer::mCARET(bool _createToken) {
|
||||
}
|
||||
|
||||
void IOSCfgLexer::mUNDERLINE(bool _createToken) {
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length();
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = UNDERLINE;
|
||||
int _saveIndex;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
|
||||
match('_');
|
||||
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));
|
||||
@ -1476,11 +1500,11 @@ void IOSCfgLexer::mUNDERLINE(bool _createToken) {
|
||||
}
|
||||
|
||||
void IOSCfgLexer::mOPENING_BRACE(bool _createToken) {
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length();
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = OPENING_BRACE;
|
||||
int _saveIndex;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
|
||||
match('{');
|
||||
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));
|
||||
@ -1490,11 +1514,11 @@ void IOSCfgLexer::mOPENING_BRACE(bool _createToken) {
|
||||
}
|
||||
|
||||
void IOSCfgLexer::mCLOSING_BRACE(bool _createToken) {
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length();
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = CLOSING_BRACE;
|
||||
int _saveIndex;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
|
||||
match('}');
|
||||
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));
|
||||
@ -1504,11 +1528,11 @@ void IOSCfgLexer::mCLOSING_BRACE(bool _createToken) {
|
||||
}
|
||||
|
||||
void IOSCfgLexer::mTILDE(bool _createToken) {
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length();
|
||||
int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length();
|
||||
_ttype = TILDE;
|
||||
int _saveIndex;
|
||||
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
|
||||
|
||||
match('~');
|
||||
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));
|
||||
@ -1524,9 +1548,9 @@ const unsigned long IOSCfgLexer::_tokenSet_0_data_[] = { 4294958072UL, 1UL, 0UL,
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet IOSCfgLexer::_tokenSet_0(_tokenSet_0_data_,16);
|
||||
const unsigned long IOSCfgLexer::_tokenSet_1_data_[] = { 4294958072UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xb 0xc 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
|
||||
// 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
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet IOSCfgLexer::_tokenSet_1(_tokenSet_1_data_,16);
|
||||
const unsigned long IOSCfgLexer::_tokenSet_2_data_[] = { 0UL, 67059712UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
|
||||
// . 0 1 2 3 4 5 6 7 8 9
|
||||
@ -1538,6 +1562,6 @@ const unsigned long IOSCfgLexer::_tokenSet_4_data_[] = { 4294967288UL, 429496729
|
||||
// 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
|
||||
// G H I J K L M N
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet IOSCfgLexer::_tokenSet_4(_tokenSet_4_data_,16);
|
||||
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
|
||||
#line 10 "IOSCfgLexer.hpp"
|
||||
#include <antlr/config.hpp>
|
||||
/* $ANTLR 2.7.4: "iosacl.g" -> "IOSCfgLexer.hpp"$ */
|
||||
/* $ANTLR 2.7.6 (20070910): "iosacl.g" -> "IOSCfgLexer.hpp"$ */
|
||||
#include <antlr/CommonToken.hpp>
|
||||
#include <antlr/InputBuffer.hpp>
|
||||
#include <antlr/BitSet.hpp>
|
||||
@ -58,6 +58,7 @@ public:
|
||||
public: void mDOT(bool _createToken);
|
||||
public: void mWORD(bool _createToken);
|
||||
public: void mSTRING(bool _createToken);
|
||||
public: void mPIPE_CHAR(bool _createToken);
|
||||
public: void mNUMBER_SIGN(bool _createToken);
|
||||
public: void mPERCENT(bool _createToken);
|
||||
public: void mAMPERSAND(bool _createToken);
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
/* $ANTLR 2.7.4: "iosacl.g" -> "IOSCfgParser.cpp"$ */
|
||||
/* $ANTLR 2.7.6 (20070910): "iosacl.g" -> "IOSCfgParser.cpp"$ */
|
||||
#line 42 "iosacl.g"
|
||||
|
||||
// gets inserted before the antlr generated includes in the cpp
|
||||
@ -78,6 +78,11 @@ void IOSCfgParser::cfgfile() {
|
||||
intrface();
|
||||
break;
|
||||
}
|
||||
case CONTROLLER:
|
||||
{
|
||||
controller();
|
||||
break;
|
||||
}
|
||||
case VLAN:
|
||||
{
|
||||
vlan();
|
||||
@ -103,6 +108,16 @@ void IOSCfgParser::cfgfile() {
|
||||
shutdown();
|
||||
break;
|
||||
}
|
||||
case CERTIFICATE:
|
||||
{
|
||||
certificate();
|
||||
break;
|
||||
}
|
||||
case QUIT:
|
||||
{
|
||||
quit();
|
||||
break;
|
||||
}
|
||||
case WORD:
|
||||
{
|
||||
unknown_command();
|
||||
@ -126,8 +141,7 @@ void IOSCfgParser::cfgfile() {
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
consume();
|
||||
consumeUntil(_tokenSet_0);
|
||||
recover(ex,_tokenSet_0);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@ -142,8 +156,7 @@ void IOSCfgParser::comment() {
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
consume();
|
||||
consumeUntil(_tokenSet_1);
|
||||
recover(ex,_tokenSet_1);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@ -158,18 +171,17 @@ void IOSCfgParser::version() {
|
||||
v = LT(1);
|
||||
match(NUMBER);
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 126 "iosacl.g"
|
||||
#line 154 "iosacl.g"
|
||||
|
||||
*dbg << "VERSION " << v->getText() << std::endl;
|
||||
|
||||
#line 166 "IOSCfgParser.cpp"
|
||||
#line 179 "IOSCfgParser.cpp"
|
||||
}
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
consume();
|
||||
consumeUntil(_tokenSet_2);
|
||||
recover(ex,_tokenSet_2);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@ -199,21 +211,20 @@ void IOSCfgParser::hostname() {
|
||||
}
|
||||
}
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 133 "iosacl.g"
|
||||
#line 161 "iosacl.g"
|
||||
|
||||
importer->setHostName( LT(0)->getText() );
|
||||
*dbg << "HOSTNAME "
|
||||
<< "LT0=" << LT(0)->getText()
|
||||
<< std::endl;
|
||||
|
||||
#line 210 "IOSCfgParser.cpp"
|
||||
#line 222 "IOSCfgParser.cpp"
|
||||
}
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
consume();
|
||||
consumeUntil(_tokenSet_2);
|
||||
recover(ex,_tokenSet_2);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@ -237,6 +248,11 @@ void IOSCfgParser::ip_commands() {
|
||||
interface_known_ip_commands();
|
||||
break;
|
||||
}
|
||||
case COMMUNITY_LIST:
|
||||
{
|
||||
community_list_command();
|
||||
break;
|
||||
}
|
||||
case WORD:
|
||||
{
|
||||
unknown_command();
|
||||
@ -252,8 +268,7 @@ void IOSCfgParser::ip_commands() {
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
consume();
|
||||
consumeUntil(_tokenSet_2);
|
||||
recover(ex,_tokenSet_2);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@ -268,21 +283,43 @@ void IOSCfgParser::intrface() {
|
||||
in = LT(1);
|
||||
match(WORD);
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 443 "iosacl.g"
|
||||
#line 480 "iosacl.g"
|
||||
|
||||
importer->newInterface( in->getText() );
|
||||
*dbg << in->getLine() << ":"
|
||||
<< " INTRFACE: " << in->getText() << std::endl;
|
||||
|
||||
#line 278 "IOSCfgParser.cpp"
|
||||
#line 293 "IOSCfgParser.cpp"
|
||||
}
|
||||
match(NEWLINE);
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
consume();
|
||||
consumeUntil(_tokenSet_2);
|
||||
recover(ex,_tokenSet_2);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void IOSCfgParser::controller() {
|
||||
|
||||
try { // for error handling
|
||||
match(CONTROLLER);
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 471 "iosacl.g"
|
||||
|
||||
importer->clearCurrentInterface();
|
||||
consumeUntil(NEWLINE);
|
||||
|
||||
#line 317 "IOSCfgParser.cpp"
|
||||
}
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
recover(ex,_tokenSet_2);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@ -312,19 +349,18 @@ void IOSCfgParser::vlan() {
|
||||
}
|
||||
}
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 434 "iosacl.g"
|
||||
#line 462 "iosacl.g"
|
||||
|
||||
importer->clearCurrentInterface();
|
||||
consumeUntil(NEWLINE);
|
||||
|
||||
#line 321 "IOSCfgParser.cpp"
|
||||
#line 358 "IOSCfgParser.cpp"
|
||||
}
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
consume();
|
||||
consumeUntil(_tokenSet_2);
|
||||
recover(ex,_tokenSet_2);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@ -339,13 +375,13 @@ void IOSCfgParser::access_list_commands() {
|
||||
acl_num = LT(1);
|
||||
match(INT_CONST);
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 148 "iosacl.g"
|
||||
#line 176 "iosacl.g"
|
||||
|
||||
importer->newUnidirRuleSet( std::string("acl_") + acl_num->getText() );
|
||||
*dbg << acl_num->getLine() << ":"
|
||||
<< " ACL #" << acl_num->getText() << " ";
|
||||
|
||||
#line 349 "IOSCfgParser.cpp"
|
||||
#line 385 "IOSCfgParser.cpp"
|
||||
}
|
||||
{
|
||||
if ((LA(1) == PERMIT) && (LA(2) == IPV4 || LA(2) == ANY)) {
|
||||
@ -372,8 +408,7 @@ void IOSCfgParser::access_list_commands() {
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
consume();
|
||||
consumeUntil(_tokenSet_2);
|
||||
recover(ex,_tokenSet_2);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@ -388,8 +423,7 @@ void IOSCfgParser::exit() {
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
consume();
|
||||
consumeUntil(_tokenSet_2);
|
||||
recover(ex,_tokenSet_2);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@ -401,7 +435,7 @@ void IOSCfgParser::description() {
|
||||
try { // for error handling
|
||||
match(DESCRIPTION);
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 454 "iosacl.g"
|
||||
#line 491 "iosacl.g"
|
||||
|
||||
*dbg << LT(1)->getLine() << ":";
|
||||
std::string descr;
|
||||
@ -411,17 +445,16 @@ void IOSCfgParser::description() {
|
||||
consume();
|
||||
}
|
||||
importer->addInterfaceComment( descr );
|
||||
*dbg << " INTERFACE DESCRIPTION " << descr << std::endl;
|
||||
*dbg << " DESCRIPTION " << descr << std::endl;
|
||||
//consumeUntil(NEWLINE);
|
||||
|
||||
#line 418 "IOSCfgParser.cpp"
|
||||
#line 452 "IOSCfgParser.cpp"
|
||||
}
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
consume();
|
||||
consumeUntil(_tokenSet_2);
|
||||
recover(ex,_tokenSet_2);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@ -433,19 +466,64 @@ void IOSCfgParser::shutdown() {
|
||||
try { // for error handling
|
||||
match(SHUTDOWN);
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 487 "iosacl.g"
|
||||
#line 524 "iosacl.g"
|
||||
|
||||
*dbg<< LT(1)->getLine() << ":"
|
||||
<< " INTERFACE SHUTDOWN " << std::endl;
|
||||
|
||||
#line 442 "IOSCfgParser.cpp"
|
||||
#line 475 "IOSCfgParser.cpp"
|
||||
}
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
consume();
|
||||
consumeUntil(_tokenSet_2);
|
||||
recover(ex,_tokenSet_2);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void IOSCfgParser::certificate() {
|
||||
|
||||
try { // for error handling
|
||||
match(CERTIFICATE);
|
||||
match(WORD);
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 146 "iosacl.g"
|
||||
|
||||
consumeUntil(NEWLINE);
|
||||
consumeUntil(QUIT);
|
||||
|
||||
#line 499 "IOSCfgParser.cpp"
|
||||
}
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
recover(ex,_tokenSet_2);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void IOSCfgParser::quit() {
|
||||
|
||||
try { // for error handling
|
||||
match(QUIT);
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 125 "iosacl.g"
|
||||
|
||||
consumeUntil(NEWLINE);
|
||||
|
||||
#line 521 "IOSCfgParser.cpp"
|
||||
}
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
recover(ex,_tokenSet_2);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@ -457,18 +535,17 @@ void IOSCfgParser::unknown_command() {
|
||||
try { // for error handling
|
||||
match(WORD);
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 119 "iosacl.g"
|
||||
#line 139 "iosacl.g"
|
||||
|
||||
consumeUntil(NEWLINE);
|
||||
|
||||
#line 465 "IOSCfgParser.cpp"
|
||||
#line 543 "IOSCfgParser.cpp"
|
||||
}
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
consume();
|
||||
consumeUntil(_tokenSet_2);
|
||||
recover(ex,_tokenSet_2);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@ -484,17 +561,17 @@ void IOSCfgParser::ip_access_list_ext() {
|
||||
name = LT(1);
|
||||
match(WORD);
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 169 "iosacl.g"
|
||||
#line 197 "iosacl.g"
|
||||
|
||||
importer->newUnidirRuleSet( name->getText() );
|
||||
*dbg << name->getLine() << ":"
|
||||
<< " ACL ext " << name->getText() << std::endl;
|
||||
|
||||
#line 494 "IOSCfgParser.cpp"
|
||||
#line 571 "IOSCfgParser.cpp"
|
||||
}
|
||||
match(NEWLINE);
|
||||
{ // ( ... )+
|
||||
int _cnt14=0;
|
||||
int _cnt17=0;
|
||||
for (;;) {
|
||||
switch ( LA(1)) {
|
||||
case PERMIT:
|
||||
@ -520,27 +597,26 @@ void IOSCfgParser::ip_access_list_ext() {
|
||||
match(NEWLINE);
|
||||
}
|
||||
else {
|
||||
if ( _cnt14>=1 ) { goto _loop14; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());}
|
||||
if ( _cnt17>=1 ) { goto _loop17; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());}
|
||||
}
|
||||
}
|
||||
_cnt14++;
|
||||
_cnt17++;
|
||||
}
|
||||
_loop14:;
|
||||
_loop17:;
|
||||
} // ( ... )+
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 186 "iosacl.g"
|
||||
#line 214 "iosacl.g"
|
||||
|
||||
*dbg << LT(0)->getLine() << ":"
|
||||
<< " ACL end" << std::endl << std::endl;
|
||||
|
||||
#line 537 "IOSCfgParser.cpp"
|
||||
#line 614 "IOSCfgParser.cpp"
|
||||
}
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
consume();
|
||||
consumeUntil(_tokenSet_2);
|
||||
recover(ex,_tokenSet_2);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@ -570,8 +646,29 @@ void IOSCfgParser::interface_known_ip_commands() {
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
consume();
|
||||
consumeUntil(_tokenSet_2);
|
||||
recover(ex,_tokenSet_2);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void IOSCfgParser::community_list_command() {
|
||||
|
||||
try { // for error handling
|
||||
match(COMMUNITY_LIST);
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 132 "iosacl.g"
|
||||
|
||||
consumeUntil(NEWLINE);
|
||||
|
||||
#line 666 "IOSCfgParser.cpp"
|
||||
}
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
recover(ex,_tokenSet_2);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@ -583,29 +680,28 @@ void IOSCfgParser::permit_std() {
|
||||
try { // for error handling
|
||||
match(PERMIT);
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 219 "iosacl.g"
|
||||
#line 247 "iosacl.g"
|
||||
|
||||
importer->newPolicyRule();
|
||||
importer->action = "permit";
|
||||
*dbg << LT(1)->getLine() << ":" << " permit ";
|
||||
|
||||
#line 593 "IOSCfgParser.cpp"
|
||||
#line 690 "IOSCfgParser.cpp"
|
||||
}
|
||||
rule_std();
|
||||
match(NEWLINE);
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 225 "iosacl.g"
|
||||
#line 253 "iosacl.g"
|
||||
|
||||
importer->pushRule();
|
||||
|
||||
#line 602 "IOSCfgParser.cpp"
|
||||
#line 699 "IOSCfgParser.cpp"
|
||||
}
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
consume();
|
||||
consumeUntil(_tokenSet_2);
|
||||
recover(ex,_tokenSet_2);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@ -617,29 +713,28 @@ void IOSCfgParser::deny_std() {
|
||||
try { // for error handling
|
||||
match(DENY);
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 231 "iosacl.g"
|
||||
#line 259 "iosacl.g"
|
||||
|
||||
importer->newPolicyRule();
|
||||
importer->action = "deny";
|
||||
*dbg << LT(1)->getLine() << ":" << " deny ";
|
||||
|
||||
#line 627 "IOSCfgParser.cpp"
|
||||
#line 723 "IOSCfgParser.cpp"
|
||||
}
|
||||
rule_std();
|
||||
match(NEWLINE);
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 237 "iosacl.g"
|
||||
#line 265 "iosacl.g"
|
||||
|
||||
importer->pushRule();
|
||||
|
||||
#line 636 "IOSCfgParser.cpp"
|
||||
#line 732 "IOSCfgParser.cpp"
|
||||
}
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
consume();
|
||||
consumeUntil(_tokenSet_2);
|
||||
recover(ex,_tokenSet_2);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@ -651,29 +746,28 @@ void IOSCfgParser::permit_ext() {
|
||||
try { // for error handling
|
||||
match(PERMIT);
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 194 "iosacl.g"
|
||||
#line 222 "iosacl.g"
|
||||
|
||||
importer->newPolicyRule();
|
||||
importer->action = "permit";
|
||||
*dbg << LT(1)->getLine() << ":" << " permit ";
|
||||
|
||||
#line 661 "IOSCfgParser.cpp"
|
||||
#line 756 "IOSCfgParser.cpp"
|
||||
}
|
||||
rule_ext();
|
||||
match(NEWLINE);
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 200 "iosacl.g"
|
||||
#line 228 "iosacl.g"
|
||||
|
||||
importer->pushRule();
|
||||
|
||||
#line 670 "IOSCfgParser.cpp"
|
||||
#line 765 "IOSCfgParser.cpp"
|
||||
}
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
consume();
|
||||
consumeUntil(_tokenSet_1);
|
||||
recover(ex,_tokenSet_1);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@ -685,29 +779,28 @@ void IOSCfgParser::deny_ext() {
|
||||
try { // for error handling
|
||||
match(DENY);
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 206 "iosacl.g"
|
||||
#line 234 "iosacl.g"
|
||||
|
||||
importer->newPolicyRule();
|
||||
importer->action = "deny";
|
||||
*dbg << LT(1)->getLine() << ":" << " deny ";
|
||||
|
||||
#line 695 "IOSCfgParser.cpp"
|
||||
#line 789 "IOSCfgParser.cpp"
|
||||
}
|
||||
rule_ext();
|
||||
match(NEWLINE);
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 212 "iosacl.g"
|
||||
#line 240 "iosacl.g"
|
||||
|
||||
importer->pushRule();
|
||||
|
||||
#line 704 "IOSCfgParser.cpp"
|
||||
#line 798 "IOSCfgParser.cpp"
|
||||
}
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
consume();
|
||||
consumeUntil(_tokenSet_1);
|
||||
recover(ex,_tokenSet_1);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@ -719,7 +812,7 @@ void IOSCfgParser::remark() {
|
||||
try { // for error handling
|
||||
match(REMARK);
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 472 "iosacl.g"
|
||||
#line 509 "iosacl.g"
|
||||
|
||||
*dbg << LT(1)->getLine() << ":";
|
||||
std::string rem;
|
||||
@ -732,14 +825,13 @@ void IOSCfgParser::remark() {
|
||||
*dbg << " REMARK " << rem << std::endl;
|
||||
//consumeUntil(NEWLINE);
|
||||
|
||||
#line 736 "IOSCfgParser.cpp"
|
||||
#line 829 "IOSCfgParser.cpp"
|
||||
}
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
consume();
|
||||
consumeUntil(_tokenSet_1);
|
||||
recover(ex,_tokenSet_1);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@ -757,15 +849,15 @@ void IOSCfgParser::rule_ext() {
|
||||
ip_protocols();
|
||||
hostaddr_ext();
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 247 "iosacl.g"
|
||||
#line 275 "iosacl.g"
|
||||
importer->SaveTmpAddrToSrc(); *dbg << "(src) ";
|
||||
#line 763 "IOSCfgParser.cpp"
|
||||
#line 855 "IOSCfgParser.cpp"
|
||||
}
|
||||
hostaddr_ext();
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 248 "iosacl.g"
|
||||
#line 276 "iosacl.g"
|
||||
importer->SaveTmpAddrToDst(); *dbg << "(dst) ";
|
||||
#line 769 "IOSCfgParser.cpp"
|
||||
#line 861 "IOSCfgParser.cpp"
|
||||
}
|
||||
{
|
||||
switch ( LA(1)) {
|
||||
@ -830,24 +922,24 @@ void IOSCfgParser::rule_ext() {
|
||||
{
|
||||
match(ICMP);
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 254 "iosacl.g"
|
||||
#line 282 "iosacl.g"
|
||||
|
||||
importer->protocol = LT(0)->getText();
|
||||
*dbg << "protocol " << LT(0)->getText() << " ";
|
||||
|
||||
#line 839 "IOSCfgParser.cpp"
|
||||
#line 931 "IOSCfgParser.cpp"
|
||||
}
|
||||
hostaddr_ext();
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 258 "iosacl.g"
|
||||
#line 286 "iosacl.g"
|
||||
importer->SaveTmpAddrToSrc(); *dbg << "(src) ";
|
||||
#line 845 "IOSCfgParser.cpp"
|
||||
#line 937 "IOSCfgParser.cpp"
|
||||
}
|
||||
hostaddr_ext();
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 259 "iosacl.g"
|
||||
#line 287 "iosacl.g"
|
||||
importer->SaveTmpAddrToDst(); *dbg << "(dst) ";
|
||||
#line 851 "IOSCfgParser.cpp"
|
||||
#line 943 "IOSCfgParser.cpp"
|
||||
}
|
||||
{
|
||||
switch ( LA(1)) {
|
||||
@ -952,18 +1044,18 @@ void IOSCfgParser::rule_ext() {
|
||||
}
|
||||
}
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 266 "iosacl.g"
|
||||
#line 294 "iosacl.g"
|
||||
|
||||
importer->protocol = LT(0)->getText();
|
||||
*dbg << "protocol " << LT(0)->getText() << " ";
|
||||
|
||||
#line 961 "IOSCfgParser.cpp"
|
||||
#line 1053 "IOSCfgParser.cpp"
|
||||
}
|
||||
hostaddr_ext();
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 270 "iosacl.g"
|
||||
#line 298 "iosacl.g"
|
||||
importer->SaveTmpAddrToSrc(); *dbg << "(src) ";
|
||||
#line 967 "IOSCfgParser.cpp"
|
||||
#line 1059 "IOSCfgParser.cpp"
|
||||
}
|
||||
{
|
||||
switch ( LA(1)) {
|
||||
@ -975,9 +1067,9 @@ void IOSCfgParser::rule_ext() {
|
||||
{
|
||||
xoperator();
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 271 "iosacl.g"
|
||||
#line 299 "iosacl.g"
|
||||
importer->SaveTmpPortToSrc();
|
||||
#line 981 "IOSCfgParser.cpp"
|
||||
#line 1073 "IOSCfgParser.cpp"
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -995,9 +1087,9 @@ void IOSCfgParser::rule_ext() {
|
||||
}
|
||||
hostaddr_ext();
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 272 "iosacl.g"
|
||||
#line 300 "iosacl.g"
|
||||
importer->SaveTmpAddrToDst(); *dbg << "(dst) ";
|
||||
#line 1001 "IOSCfgParser.cpp"
|
||||
#line 1093 "IOSCfgParser.cpp"
|
||||
}
|
||||
{
|
||||
switch ( LA(1)) {
|
||||
@ -1009,9 +1101,9 @@ void IOSCfgParser::rule_ext() {
|
||||
{
|
||||
xoperator();
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 273 "iosacl.g"
|
||||
#line 301 "iosacl.g"
|
||||
importer->SaveTmpPortToDst();
|
||||
#line 1015 "IOSCfgParser.cpp"
|
||||
#line 1107 "IOSCfgParser.cpp"
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -1117,18 +1209,17 @@ void IOSCfgParser::rule_ext() {
|
||||
}
|
||||
}
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 279 "iosacl.g"
|
||||
#line 307 "iosacl.g"
|
||||
|
||||
*dbg << std::endl;
|
||||
|
||||
#line 1125 "IOSCfgParser.cpp"
|
||||
#line 1217 "IOSCfgParser.cpp"
|
||||
}
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
consume();
|
||||
consumeUntil(_tokenSet_4);
|
||||
recover(ex,_tokenSet_4);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@ -1141,9 +1232,9 @@ void IOSCfgParser::rule_std() {
|
||||
{
|
||||
hostaddr_std();
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 287 "iosacl.g"
|
||||
#line 315 "iosacl.g"
|
||||
importer->SaveTmpAddrToSrc(); *dbg << "(std) ";
|
||||
#line 1147 "IOSCfgParser.cpp"
|
||||
#line 1238 "IOSCfgParser.cpp"
|
||||
}
|
||||
{
|
||||
switch ( LA(1)) {
|
||||
@ -1165,18 +1256,17 @@ void IOSCfgParser::rule_std() {
|
||||
}
|
||||
}
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 290 "iosacl.g"
|
||||
#line 318 "iosacl.g"
|
||||
|
||||
*dbg << std::endl;
|
||||
|
||||
#line 1173 "IOSCfgParser.cpp"
|
||||
#line 1264 "IOSCfgParser.cpp"
|
||||
}
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
consume();
|
||||
consumeUntil(_tokenSet_4);
|
||||
recover(ex,_tokenSet_4);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@ -1205,19 +1295,18 @@ void IOSCfgParser::ip_protocols() {
|
||||
}
|
||||
}
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 298 "iosacl.g"
|
||||
#line 326 "iosacl.g"
|
||||
|
||||
importer->protocol = LT(0)->getText();
|
||||
*dbg << "protocol " << LT(0)->getText() << " ";
|
||||
|
||||
#line 1214 "IOSCfgParser.cpp"
|
||||
#line 1304 "IOSCfgParser.cpp"
|
||||
}
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
consume();
|
||||
consumeUntil(_tokenSet_5);
|
||||
recover(ex,_tokenSet_5);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@ -1239,13 +1328,13 @@ void IOSCfgParser::hostaddr_ext() {
|
||||
match(IPV4);
|
||||
}
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 350 "iosacl.g"
|
||||
#line 378 "iosacl.g"
|
||||
|
||||
importer->tmp_a = h->getText();
|
||||
importer->tmp_nm = "0.0.0.0";
|
||||
*dbg << h->getText() << "/0.0.0.0";
|
||||
|
||||
#line 1249 "IOSCfgParser.cpp"
|
||||
#line 1338 "IOSCfgParser.cpp"
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -1258,13 +1347,13 @@ void IOSCfgParser::hostaddr_ext() {
|
||||
match(IPV4);
|
||||
}
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 357 "iosacl.g"
|
||||
#line 385 "iosacl.g"
|
||||
|
||||
importer->tmp_a = a->getText();
|
||||
importer->tmp_nm = m->getText();
|
||||
*dbg << a->getText() << "/" << m->getText();
|
||||
|
||||
#line 1268 "IOSCfgParser.cpp"
|
||||
#line 1357 "IOSCfgParser.cpp"
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -1272,13 +1361,13 @@ void IOSCfgParser::hostaddr_ext() {
|
||||
{
|
||||
match(ANY);
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 364 "iosacl.g"
|
||||
#line 392 "iosacl.g"
|
||||
|
||||
importer->tmp_a = "0.0.0.0";
|
||||
importer->tmp_nm = "0.0.0.0";
|
||||
*dbg << "0.0.0.0/0.0.0.0";
|
||||
|
||||
#line 1282 "IOSCfgParser.cpp"
|
||||
#line 1371 "IOSCfgParser.cpp"
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -1291,8 +1380,7 @@ void IOSCfgParser::hostaddr_ext() {
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
consume();
|
||||
consumeUntil(_tokenSet_6);
|
||||
recover(ex,_tokenSet_6);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@ -1307,19 +1395,18 @@ void IOSCfgParser::time_range() {
|
||||
tr_name = LT(1);
|
||||
match(WORD);
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 416 "iosacl.g"
|
||||
#line 444 "iosacl.g"
|
||||
|
||||
importer->time_range_name = tr_name->getText();
|
||||
*dbg << "time_range " << tr_name->getText() << " ";
|
||||
|
||||
#line 1316 "IOSCfgParser.cpp"
|
||||
#line 1404 "IOSCfgParser.cpp"
|
||||
}
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
consume();
|
||||
consumeUntil(_tokenSet_7);
|
||||
recover(ex,_tokenSet_7);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@ -1331,19 +1418,18 @@ void IOSCfgParser::fragments() {
|
||||
try { // for error handling
|
||||
match(FRAGMENTS);
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 409 "iosacl.g"
|
||||
#line 437 "iosacl.g"
|
||||
|
||||
importer->fragments = true;
|
||||
*dbg << "fragments ";
|
||||
|
||||
#line 1340 "IOSCfgParser.cpp"
|
||||
#line 1427 "IOSCfgParser.cpp"
|
||||
}
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
consume();
|
||||
consumeUntil(_tokenSet_8);
|
||||
recover(ex,_tokenSet_8);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@ -1372,19 +1458,18 @@ void IOSCfgParser::log() {
|
||||
}
|
||||
}
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 395 "iosacl.g"
|
||||
#line 423 "iosacl.g"
|
||||
|
||||
importer->logging = true;
|
||||
*dbg << "logging ";
|
||||
|
||||
#line 1381 "IOSCfgParser.cpp"
|
||||
#line 1467 "IOSCfgParser.cpp"
|
||||
}
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
consume();
|
||||
consumeUntil(_tokenSet_4);
|
||||
recover(ex,_tokenSet_4);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@ -1408,7 +1493,7 @@ void IOSCfgParser::icmp_spec() {
|
||||
match(INT_CONST);
|
||||
}
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 306 "iosacl.g"
|
||||
#line 334 "iosacl.g"
|
||||
|
||||
importer->icmp_type = icmp_type->getText();
|
||||
importer->icmp_code = icmp_code->getText();
|
||||
@ -1416,7 +1501,7 @@ void IOSCfgParser::icmp_spec() {
|
||||
*dbg << icmp_type->getText() << " "
|
||||
<< icmp_code->getText() << " ";
|
||||
|
||||
#line 1420 "IOSCfgParser.cpp"
|
||||
#line 1505 "IOSCfgParser.cpp"
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -1425,12 +1510,12 @@ void IOSCfgParser::icmp_spec() {
|
||||
icmp_word = LT(1);
|
||||
match(WORD);
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 315 "iosacl.g"
|
||||
#line 343 "iosacl.g"
|
||||
|
||||
importer->icmp_spec = icmp_word->getText();
|
||||
*dbg << icmp_word->getText() << " ";
|
||||
|
||||
#line 1434 "IOSCfgParser.cpp"
|
||||
#line 1519 "IOSCfgParser.cpp"
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -1444,8 +1529,7 @@ void IOSCfgParser::icmp_spec() {
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
consume();
|
||||
consumeUntil(_tokenSet_9);
|
||||
recover(ex,_tokenSet_9);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@ -1478,8 +1562,7 @@ void IOSCfgParser::xoperator() {
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
consume();
|
||||
consumeUntil(_tokenSet_10);
|
||||
recover(ex,_tokenSet_10);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@ -1491,19 +1574,18 @@ void IOSCfgParser::established() {
|
||||
try { // for error handling
|
||||
match(ESTABLISHED);
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 402 "iosacl.g"
|
||||
#line 430 "iosacl.g"
|
||||
|
||||
importer->established = true;
|
||||
*dbg << "established ";
|
||||
|
||||
#line 1500 "IOSCfgParser.cpp"
|
||||
#line 1583 "IOSCfgParser.cpp"
|
||||
}
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
consume();
|
||||
consumeUntil(_tokenSet_9);
|
||||
recover(ex,_tokenSet_9);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@ -1522,13 +1604,13 @@ void IOSCfgParser::hostaddr_std() {
|
||||
match(IPV4);
|
||||
}
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 373 "iosacl.g"
|
||||
#line 401 "iosacl.g"
|
||||
|
||||
importer->tmp_a = h->getText();
|
||||
importer->tmp_nm = "0.0.0.0";
|
||||
*dbg << h->getText() << "/0.0.0.0";
|
||||
|
||||
#line 1532 "IOSCfgParser.cpp"
|
||||
#line 1614 "IOSCfgParser.cpp"
|
||||
}
|
||||
}
|
||||
else if ((LA(1) == IPV4) && (LA(2) == IPV4)) {
|
||||
@ -1539,25 +1621,25 @@ void IOSCfgParser::hostaddr_std() {
|
||||
match(IPV4);
|
||||
}
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 380 "iosacl.g"
|
||||
#line 408 "iosacl.g"
|
||||
|
||||
importer->tmp_a = a->getText();
|
||||
importer->tmp_nm = m->getText();
|
||||
*dbg << a->getText() << "/" << m->getText();
|
||||
|
||||
#line 1549 "IOSCfgParser.cpp"
|
||||
#line 1631 "IOSCfgParser.cpp"
|
||||
}
|
||||
}
|
||||
else if ((LA(1) == ANY)) {
|
||||
match(ANY);
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 387 "iosacl.g"
|
||||
#line 415 "iosacl.g"
|
||||
|
||||
importer->tmp_a = "0.0.0.0";
|
||||
importer->tmp_nm = "0.0.0.0";
|
||||
*dbg << "0.0.0.0/0.0.0.0";
|
||||
|
||||
#line 1561 "IOSCfgParser.cpp"
|
||||
#line 1643 "IOSCfgParser.cpp"
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -1568,8 +1650,7 @@ void IOSCfgParser::hostaddr_std() {
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
consume();
|
||||
consumeUntil(_tokenSet_8);
|
||||
recover(ex,_tokenSet_8);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@ -1608,20 +1689,19 @@ void IOSCfgParser::single_port_op() {
|
||||
}
|
||||
}
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 326 "iosacl.g"
|
||||
#line 354 "iosacl.g"
|
||||
|
||||
importer->tmp_port_op = LT(0)->getText();
|
||||
*dbg << LT(0)->getText() << " ";
|
||||
|
||||
#line 1617 "IOSCfgParser.cpp"
|
||||
#line 1698 "IOSCfgParser.cpp"
|
||||
}
|
||||
port_spec();
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
consume();
|
||||
consumeUntil(_tokenSet_10);
|
||||
recover(ex,_tokenSet_10);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@ -1633,12 +1713,12 @@ void IOSCfgParser::port_range() {
|
||||
try { // for error handling
|
||||
match(P_RANGE);
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 334 "iosacl.g"
|
||||
#line 362 "iosacl.g"
|
||||
|
||||
importer->tmp_port_op = LT(0)->getText();
|
||||
*dbg << LT(0)->getText() << " ";
|
||||
|
||||
#line 1642 "IOSCfgParser.cpp"
|
||||
#line 1722 "IOSCfgParser.cpp"
|
||||
}
|
||||
port_spec();
|
||||
port_spec();
|
||||
@ -1646,8 +1726,7 @@ void IOSCfgParser::port_range() {
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
consume();
|
||||
consumeUntil(_tokenSet_10);
|
||||
recover(ex,_tokenSet_10);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@ -1676,19 +1755,18 @@ void IOSCfgParser::port_spec() {
|
||||
}
|
||||
}
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 342 "iosacl.g"
|
||||
#line 370 "iosacl.g"
|
||||
|
||||
importer->tmp_port_spec += (std::string(" ") + LT(0)->getText());
|
||||
*dbg << LT(0)->getText() << " ";
|
||||
|
||||
#line 1685 "IOSCfgParser.cpp"
|
||||
#line 1764 "IOSCfgParser.cpp"
|
||||
}
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
consume();
|
||||
consumeUntil(_tokenSet_11);
|
||||
recover(ex,_tokenSet_11);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@ -1706,7 +1784,7 @@ void IOSCfgParser::access_group_by_name() {
|
||||
dir = LT(1);
|
||||
match(WORD);
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 513 "iosacl.g"
|
||||
#line 550 "iosacl.g"
|
||||
|
||||
importer->setInterfaceAndDirectionForRuleSet(
|
||||
acln->getText(),
|
||||
@ -1716,14 +1794,13 @@ void IOSCfgParser::access_group_by_name() {
|
||||
<< " INTRFACE: ACL '" << acln->getText() << "'"
|
||||
<< " " << dir->getText() << std::endl;
|
||||
|
||||
#line 1720 "IOSCfgParser.cpp"
|
||||
#line 1798 "IOSCfgParser.cpp"
|
||||
}
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
consume();
|
||||
consumeUntil(_tokenSet_4);
|
||||
recover(ex,_tokenSet_4);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@ -1741,7 +1818,7 @@ void IOSCfgParser::access_group_by_number() {
|
||||
dir = LT(1);
|
||||
match(WORD);
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 528 "iosacl.g"
|
||||
#line 565 "iosacl.g"
|
||||
|
||||
importer->setInterfaceAndDirectionForRuleSet(
|
||||
std::string("acl_") + acln->getText(),
|
||||
@ -1751,14 +1828,13 @@ void IOSCfgParser::access_group_by_number() {
|
||||
<< " INTRFACE: ACL '" << acln->getText() << "'"
|
||||
<< " " << dir->getText() << std::endl;
|
||||
|
||||
#line 1755 "IOSCfgParser.cpp"
|
||||
#line 1832 "IOSCfgParser.cpp"
|
||||
}
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
consume();
|
||||
consumeUntil(_tokenSet_4);
|
||||
recover(ex,_tokenSet_4);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@ -1795,7 +1871,7 @@ void IOSCfgParser::intf_address() {
|
||||
}
|
||||
}
|
||||
if ( inputState->guessing==0 ) {
|
||||
#line 540 "iosacl.g"
|
||||
#line 577 "iosacl.g"
|
||||
|
||||
importer->addInterfaceAddress(a->getText(), m->getText());
|
||||
*dbg << LT(1)->getLine() << ":"
|
||||
@ -1807,14 +1883,13 @@ void IOSCfgParser::intf_address() {
|
||||
}
|
||||
*dbg << std::endl;
|
||||
|
||||
#line 1811 "IOSCfgParser.cpp"
|
||||
#line 1887 "IOSCfgParser.cpp"
|
||||
}
|
||||
}
|
||||
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
|
||||
if( inputState->guessing == 0 ) {
|
||||
reportError(ex);
|
||||
consume();
|
||||
consumeUntil(_tokenSet_4);
|
||||
recover(ex,_tokenSet_4);
|
||||
} else {
|
||||
throw;
|
||||
}
|
||||
@ -1831,7 +1906,10 @@ const char* IOSCfgParser::tokenNames[] = {
|
||||
"NULL_TREE_LOOKAHEAD",
|
||||
"NEWLINE",
|
||||
"\"ip\"",
|
||||
"\"quit\"",
|
||||
"\"community-list\"",
|
||||
"WORD",
|
||||
"\"certificate\"",
|
||||
"\"version\"",
|
||||
"NUMBER",
|
||||
"\"hostname\"",
|
||||
@ -1858,6 +1936,7 @@ const char* IOSCfgParser::tokenNames[] = {
|
||||
"\"fragments\"",
|
||||
"\"time-range\"",
|
||||
"\"vlan\"",
|
||||
"\"controller\"",
|
||||
"\"interface\"",
|
||||
"\"description\"",
|
||||
"\"remark\"",
|
||||
@ -1873,6 +1952,7 @@ const char* IOSCfgParser::tokenNames[] = {
|
||||
"NEG_INT_CONST",
|
||||
"DIGIT",
|
||||
"HEXDIGIT",
|
||||
"PIPE_CHAR",
|
||||
"NUMBER_SIGN",
|
||||
"PERCENT",
|
||||
"AMPERSAND",
|
||||
@ -1905,41 +1985,42 @@ const char* IOSCfgParser::tokenNames[] = {
|
||||
const unsigned long IOSCfgParser::_tokenSet_0_data_[] = { 2UL, 0UL, 0UL, 0UL };
|
||||
// EOF
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet IOSCfgParser::_tokenSet_0(_tokenSet_0_data_,4);
|
||||
const unsigned long IOSCfgParser::_tokenSet_1_data_[] = { 51954UL, 799UL, 0UL, 0UL };
|
||||
// EOF NEWLINE "ip" WORD "version" "hostname" "access-list" "permit" "deny"
|
||||
// "vlan" "interface" "description" "remark" "shutdown" "exit" LINE_COMMENT
|
||||
const unsigned long IOSCfgParser::_tokenSet_1_data_[] = { 415602UL, 12792UL, 0UL, 0UL };
|
||||
// EOF NEWLINE "ip" "quit" WORD "certificate" "version" "hostname" "access-list"
|
||||
// "permit" "deny" "vlan" "controller" "interface" "description" "remark"
|
||||
// "shutdown" "exit" LINE_COMMENT
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet IOSCfgParser::_tokenSet_1(_tokenSet_1_data_,4);
|
||||
const unsigned long IOSCfgParser::_tokenSet_2_data_[] = { 2802UL, 791UL, 0UL, 0UL };
|
||||
// EOF NEWLINE "ip" WORD "version" "hostname" "access-list" "vlan" "interface"
|
||||
// "description" "shutdown" "exit" LINE_COMMENT
|
||||
const unsigned long IOSCfgParser::_tokenSet_2_data_[] = { 22386UL, 12664UL, 0UL, 0UL };
|
||||
// EOF NEWLINE "ip" "quit" WORD "certificate" "version" "hostname" "access-list"
|
||||
// "vlan" "controller" "interface" "description" "shutdown" "exit" LINE_COMMENT
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet IOSCfgParser::_tokenSet_2(_tokenSet_2_data_,4);
|
||||
const unsigned long IOSCfgParser::_tokenSet_3_data_[] = { 458848UL, 0UL, 0UL, 0UL };
|
||||
const unsigned long IOSCfgParser::_tokenSet_3_data_[] = { 3670304UL, 0UL, 0UL, 0UL };
|
||||
// "ip" WORD "icmp" "tcp" "udp"
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet IOSCfgParser::_tokenSet_3(_tokenSet_3_data_,4);
|
||||
const unsigned long IOSCfgParser::_tokenSet_4_data_[] = { 16UL, 0UL, 0UL, 0UL };
|
||||
// NEWLINE
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet IOSCfgParser::_tokenSet_4(_tokenSet_4_data_,4);
|
||||
const unsigned long IOSCfgParser::_tokenSet_5_data_[] = { 117440512UL, 0UL, 0UL, 0UL };
|
||||
const unsigned long IOSCfgParser::_tokenSet_5_data_[] = { 939524096UL, 0UL, 0UL, 0UL };
|
||||
// "host" IPV4 "any"
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet IOSCfgParser::_tokenSet_5(_tokenSet_5_data_,4);
|
||||
const unsigned long IOSCfgParser::_tokenSet_6_data_[] = { 4294447184UL, 0UL, 0UL, 0UL };
|
||||
const unsigned long IOSCfgParser::_tokenSet_6_data_[] = { 4290806032UL, 7UL, 0UL, 0UL };
|
||||
// NEWLINE WORD INT_CONST "eq" "gt" "lt" "neq" "range" "host" IPV4 "any"
|
||||
// "log" "log-input" "established" "fragments" "time-range"
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet IOSCfgParser::_tokenSet_6(_tokenSet_6_data_,4);
|
||||
const unsigned long IOSCfgParser::_tokenSet_7_data_[] = { 1476395024UL, 0UL, 0UL, 0UL };
|
||||
const unsigned long IOSCfgParser::_tokenSet_7_data_[] = { 3221225488UL, 2UL, 0UL, 0UL };
|
||||
// NEWLINE "log" "log-input" "fragments"
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet IOSCfgParser::_tokenSet_7(_tokenSet_7_data_,4);
|
||||
const unsigned long IOSCfgParser::_tokenSet_8_data_[] = { 402653200UL, 0UL, 0UL, 0UL };
|
||||
const unsigned long IOSCfgParser::_tokenSet_8_data_[] = { 3221225488UL, 0UL, 0UL, 0UL };
|
||||
// NEWLINE "log" "log-input"
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet IOSCfgParser::_tokenSet_8(_tokenSet_8_data_,4);
|
||||
const unsigned long IOSCfgParser::_tokenSet_9_data_[] = { 3623878672UL, 0UL, 0UL, 0UL };
|
||||
const unsigned long IOSCfgParser::_tokenSet_9_data_[] = { 3221225488UL, 6UL, 0UL, 0UL };
|
||||
// NEWLINE "log" "log-input" "fragments" "time-range"
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet IOSCfgParser::_tokenSet_9(_tokenSet_9_data_,4);
|
||||
const unsigned long IOSCfgParser::_tokenSet_10_data_[] = { 4278190096UL, 0UL, 0UL, 0UL };
|
||||
const unsigned long IOSCfgParser::_tokenSet_10_data_[] = { 4160749584UL, 7UL, 0UL, 0UL };
|
||||
// NEWLINE "host" IPV4 "any" "log" "log-input" "established" "fragments"
|
||||
// "time-range"
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet IOSCfgParser::_tokenSet_10(_tokenSet_10_data_,4);
|
||||
const unsigned long IOSCfgParser::_tokenSet_11_data_[] = { 4278194256UL, 0UL, 0UL, 0UL };
|
||||
const unsigned long IOSCfgParser::_tokenSet_11_data_[] = { 4160782608UL, 7UL, 0UL, 0UL };
|
||||
// NEWLINE WORD INT_CONST "host" IPV4 "any" "log" "log-input" "established"
|
||||
// "fragments" "time-range"
|
||||
const ANTLR_USE_NAMESPACE(antlr)BitSet IOSCfgParser::_tokenSet_11(_tokenSet_11_data_,4);
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
|
||||
#line 10 "IOSCfgParser.hpp"
|
||||
#include <antlr/config.hpp>
|
||||
/* $ANTLR 2.7.4: "iosacl.g" -> "IOSCfgParser.hpp"$ */
|
||||
/* $ANTLR 2.7.6 (20070910): "iosacl.g" -> "IOSCfgParser.hpp"$ */
|
||||
#include <antlr/TokenStream.hpp>
|
||||
#include <antlr/TokenBuffer.hpp>
|
||||
#include "IOSCfgParserTokenTypes.hpp"
|
||||
@ -71,14 +71,18 @@ public:
|
||||
public: void hostname();
|
||||
public: void ip_commands();
|
||||
public: void intrface();
|
||||
public: void controller();
|
||||
public: void vlan();
|
||||
public: void access_list_commands();
|
||||
public: void exit();
|
||||
public: void description();
|
||||
public: void shutdown();
|
||||
public: void certificate();
|
||||
public: void quit();
|
||||
public: void unknown_command();
|
||||
public: void ip_access_list_ext();
|
||||
public: void interface_known_ip_commands();
|
||||
public: void community_list_command();
|
||||
public: void permit_std();
|
||||
public: void deny_std();
|
||||
public: void permit_ext();
|
||||
@ -112,10 +116,10 @@ protected:
|
||||
private:
|
||||
static const char* tokenNames[];
|
||||
#ifndef NO_STATIC_CONSTS
|
||||
static const int NUM_TOKENS = 74;
|
||||
static const int NUM_TOKENS = 79;
|
||||
#else
|
||||
enum {
|
||||
NUM_TOKENS = 74
|
||||
NUM_TOKENS = 79
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
#ifndef INC_IOSCfgParserTokenTypes_hpp_
|
||||
#define INC_IOSCfgParserTokenTypes_hpp_
|
||||
|
||||
/* $ANTLR 2.7.4: "iosacl.g" -> "IOSCfgParserTokenTypes.hpp"$ */
|
||||
/* $ANTLR 2.7.6 (20070910): "iosacl.g" -> "IOSCfgParserTokenTypes.hpp"$ */
|
||||
|
||||
#ifndef CUSTOM_API
|
||||
# define CUSTOM_API
|
||||
@ -14,74 +14,79 @@ struct CUSTOM_API IOSCfgParserTokenTypes {
|
||||
EOF_ = 1,
|
||||
NEWLINE = 4,
|
||||
IP = 5,
|
||||
WORD = 6,
|
||||
IOSVERSION = 7,
|
||||
NUMBER = 8,
|
||||
HOSTNAME = 9,
|
||||
STRING = 10,
|
||||
ACCESS_LIST = 11,
|
||||
INT_CONST = 12,
|
||||
EXTENDED = 13,
|
||||
PERMIT = 14,
|
||||
DENY = 15,
|
||||
ICMP = 16,
|
||||
TCP = 17,
|
||||
UDP = 18,
|
||||
P_EQ = 19,
|
||||
P_GT = 20,
|
||||
P_LT = 21,
|
||||
P_NEQ = 22,
|
||||
P_RANGE = 23,
|
||||
HOST = 24,
|
||||
IPV4 = 25,
|
||||
ANY = 26,
|
||||
LOG = 27,
|
||||
LOG_INPUT = 28,
|
||||
ESTABLISHED = 29,
|
||||
FRAGMENTS = 30,
|
||||
TIME_RANGE = 31,
|
||||
VLAN = 32,
|
||||
INTRFACE = 33,
|
||||
DESCRIPTION = 34,
|
||||
REMARK = 35,
|
||||
SHUTDOWN = 36,
|
||||
ACCESS_GROUP = 37,
|
||||
ADDRESS = 38,
|
||||
SECONDARY = 39,
|
||||
EXIT = 40,
|
||||
LINE_COMMENT = 41,
|
||||
STANDARD = 42,
|
||||
Whitespace = 43,
|
||||
HEX_CONST = 44,
|
||||
NEG_INT_CONST = 45,
|
||||
DIGIT = 46,
|
||||
HEXDIGIT = 47,
|
||||
NUMBER_SIGN = 48,
|
||||
PERCENT = 49,
|
||||
AMPERSAND = 50,
|
||||
APOSTROPHE = 51,
|
||||
OPENING_PAREN = 52,
|
||||
CLOSING_PAREN = 53,
|
||||
STAR = 54,
|
||||
PLUS = 55,
|
||||
COMMA = 56,
|
||||
MINUS = 57,
|
||||
DOT = 58,
|
||||
SLASH = 59,
|
||||
COLON = 60,
|
||||
SEMICOLON = 61,
|
||||
LESS_THAN = 62,
|
||||
EQUALS = 63,
|
||||
GREATER_THAN = 64,
|
||||
QUESTION = 65,
|
||||
COMMERCIAL_AT = 66,
|
||||
OPENING_SQUARE = 67,
|
||||
CLOSING_SQUARE = 68,
|
||||
CARET = 69,
|
||||
UNDERLINE = 70,
|
||||
OPENING_BRACE = 71,
|
||||
CLOSING_BRACE = 72,
|
||||
TILDE = 73,
|
||||
QUIT = 6,
|
||||
COMMUNITY_LIST = 7,
|
||||
WORD = 8,
|
||||
CERTIFICATE = 9,
|
||||
IOSVERSION = 10,
|
||||
NUMBER = 11,
|
||||
HOSTNAME = 12,
|
||||
STRING = 13,
|
||||
ACCESS_LIST = 14,
|
||||
INT_CONST = 15,
|
||||
EXTENDED = 16,
|
||||
PERMIT = 17,
|
||||
DENY = 18,
|
||||
ICMP = 19,
|
||||
TCP = 20,
|
||||
UDP = 21,
|
||||
P_EQ = 22,
|
||||
P_GT = 23,
|
||||
P_LT = 24,
|
||||
P_NEQ = 25,
|
||||
P_RANGE = 26,
|
||||
HOST = 27,
|
||||
IPV4 = 28,
|
||||
ANY = 29,
|
||||
LOG = 30,
|
||||
LOG_INPUT = 31,
|
||||
ESTABLISHED = 32,
|
||||
FRAGMENTS = 33,
|
||||
TIME_RANGE = 34,
|
||||
VLAN = 35,
|
||||
CONTROLLER = 36,
|
||||
INTRFACE = 37,
|
||||
DESCRIPTION = 38,
|
||||
REMARK = 39,
|
||||
SHUTDOWN = 40,
|
||||
ACCESS_GROUP = 41,
|
||||
ADDRESS = 42,
|
||||
SECONDARY = 43,
|
||||
EXIT = 44,
|
||||
LINE_COMMENT = 45,
|
||||
STANDARD = 46,
|
||||
Whitespace = 47,
|
||||
HEX_CONST = 48,
|
||||
NEG_INT_CONST = 49,
|
||||
DIGIT = 50,
|
||||
HEXDIGIT = 51,
|
||||
PIPE_CHAR = 52,
|
||||
NUMBER_SIGN = 53,
|
||||
PERCENT = 54,
|
||||
AMPERSAND = 55,
|
||||
APOSTROPHE = 56,
|
||||
OPENING_PAREN = 57,
|
||||
CLOSING_PAREN = 58,
|
||||
STAR = 59,
|
||||
PLUS = 60,
|
||||
COMMA = 61,
|
||||
MINUS = 62,
|
||||
DOT = 63,
|
||||
SLASH = 64,
|
||||
COLON = 65,
|
||||
SEMICOLON = 66,
|
||||
LESS_THAN = 67,
|
||||
EQUALS = 68,
|
||||
GREATER_THAN = 69,
|
||||
QUESTION = 70,
|
||||
COMMERCIAL_AT = 71,
|
||||
OPENING_SQUARE = 72,
|
||||
CLOSING_SQUARE = 73,
|
||||
CARET = 74,
|
||||
UNDERLINE = 75,
|
||||
OPENING_BRACE = 76,
|
||||
CLOSING_BRACE = 77,
|
||||
TILDE = 78,
|
||||
NULL_TREE_LOOKAHEAD = 3
|
||||
};
|
||||
#ifdef __cplusplus
|
||||
|
||||
@ -92,6 +92,8 @@ cfgfile :
|
||||
ip_commands
|
||||
|
|
||||
intrface
|
||||
|
|
||||
controller
|
||||
|
|
||||
vlan
|
||||
|
|
||||
@ -103,6 +105,10 @@ cfgfile :
|
||||
|
|
||||
shutdown
|
||||
|
|
||||
certificate
|
||||
|
|
||||
quit
|
||||
|
|
||||
unknown_command
|
||||
|
|
||||
NEWLINE
|
||||
@ -111,7 +117,21 @@ cfgfile :
|
||||
|
||||
//****************************************************************
|
||||
|
||||
ip_commands : IP ( ip_access_list_ext | interface_known_ip_commands | unknown_command )
|
||||
ip_commands : IP ( ip_access_list_ext | interface_known_ip_commands | community_list_command | unknown_command )
|
||||
;
|
||||
|
||||
//****************************************************************
|
||||
quit : QUIT
|
||||
{
|
||||
consumeUntil(NEWLINE);
|
||||
}
|
||||
;
|
||||
|
||||
//****************************************************************
|
||||
community_list_command : COMMUNITY_LIST
|
||||
{
|
||||
consumeUntil(NEWLINE);
|
||||
}
|
||||
;
|
||||
|
||||
//****************************************************************
|
||||
@ -121,6 +141,14 @@ unknown_command : WORD
|
||||
}
|
||||
;
|
||||
|
||||
//****************************************************************
|
||||
certificate : CERTIFICATE WORD
|
||||
{
|
||||
consumeUntil(NEWLINE);
|
||||
consumeUntil(QUIT);
|
||||
}
|
||||
;
|
||||
|
||||
//****************************************************************
|
||||
version : IOSVERSION v:NUMBER
|
||||
{
|
||||
@ -439,6 +467,15 @@ vlan : VLAN (WORD | INT_CONST )
|
||||
|
||||
//****************************************************************
|
||||
|
||||
controller : CONTROLLER
|
||||
{
|
||||
importer->clearCurrentInterface();
|
||||
consumeUntil(NEWLINE);
|
||||
}
|
||||
;
|
||||
|
||||
//****************************************************************
|
||||
|
||||
intrface : INTRFACE in:WORD
|
||||
{
|
||||
importer->newInterface( in->getText() );
|
||||
@ -460,7 +497,7 @@ description : DESCRIPTION
|
||||
consume();
|
||||
}
|
||||
importer->addInterfaceComment( descr );
|
||||
*dbg << " INTERFACE DESCRIPTION " << descr << std::endl;
|
||||
*dbg << " DESCRIPTION " << descr << std::endl;
|
||||
//consumeUntil(NEWLINE);
|
||||
}
|
||||
;
|
||||
@ -585,11 +622,14 @@ options {
|
||||
tokens
|
||||
{
|
||||
EXIT = "exit";
|
||||
QUIT = "quit";
|
||||
|
||||
IOSVERSION = "version";
|
||||
HOSTNAME = "hostname";
|
||||
CERTIFICATE = "certificate";
|
||||
|
||||
INTRFACE = "interface";
|
||||
CONTROLLER = "controller";
|
||||
DESCRIPTION = "description";
|
||||
REMARK = "remark";
|
||||
SHUTDOWN = "shutdown";
|
||||
@ -602,6 +642,8 @@ tokens
|
||||
ADDRESS = "address";
|
||||
SECONDARY = "secondary";
|
||||
|
||||
COMMUNITY_LIST = "community-list";
|
||||
|
||||
PERMIT = "permit";
|
||||
DENY = "deny";
|
||||
|
||||
@ -683,13 +725,13 @@ NUMBER :
|
||||
)
|
||||
;
|
||||
|
||||
WORD : ( 'a'..'z' | 'A'..'Z' | '$' ) ( '!'..'/' | '0'..'9' | ':' | ';' | '<' | '=' | '>' | '?' | '@' | 'A'..'Z' | '\\' | '^' | '_' | '`' | 'a'..'z' )*
|
||||
WORD : ( 'a'..'z' | 'A'..'Z' | '$' ) ( '!'..'/' | '0'..'9' | ':' | ';' | '<' | '=' | '>' | '?' | '@' | 'A'..'Z' | '\\' | '^' | '_' | '`' | 'a'..'z' )*
|
||||
;
|
||||
|
||||
STRING : '"' (~'"')* '"';
|
||||
|
||||
|
||||
|
||||
PIPE_CHAR : '|';
|
||||
NUMBER_SIGN : '#' ;
|
||||
// DOLLAR : '$' ;
|
||||
PERCENT : '%' ;
|
||||
|
||||
@ -54,6 +54,14 @@ crypto map real 10 ipsec-isakmp
|
||||
set transform-set pix-transform
|
||||
match address 144
|
||||
!
|
||||
! See bug 2334007 for "certificate"
|
||||
! https://sourceforge.net/tracker2/?func=detail&aid=2334007&group_id=5314&atid=1070394
|
||||
!
|
||||
certificate self-signed 01
|
||||
30820254 308201BD A0030201 02020101 300D0609 2A864886 F70D0101 04050030
|
||||
E7CF84EC 9FED5F77 EBE589EF 832F6AC3 DFFE3FD8 5F73C105
|
||||
quit
|
||||
!
|
||||
call rsvp-sync
|
||||
!
|
||||
!
|
||||
@ -86,6 +94,12 @@ module ContentSwitchingModule 3
|
||||
slb-policy BBTEST
|
||||
inservice
|
||||
!
|
||||
! See bug 2334007 for "controller" with "description"
|
||||
! https://sourceforge.net/tracker2/?func=detail&aid=2334007&group_id=5314&atid=1070394
|
||||
!
|
||||
controller T3 2/0
|
||||
description Any description will crash the parser
|
||||
!
|
||||
!
|
||||
interface FastEthernet0/0
|
||||
ip address 192.168.100.100 255.255.255.0 secondary
|
||||
@ -145,6 +159,12 @@ ip community-list standard AS65530.INTERNAL permit 65532:10100
|
||||
ip community-list expanded ASFOO permit _65533:10200_
|
||||
ip community-list expanded ASFOO.CUST permit _65532:103.._
|
||||
ip community-list expanded TEST99 permit 65532:102.* 65533:.*
|
||||
!
|
||||
! See bug 2334007 for problems with commands using character "|"
|
||||
! https://sourceforge.net/tracker2/?func=detail&aid=2334007&group_id=5314&atid=1070394
|
||||
!
|
||||
ip community-list expanded Test2 permit ^65063:1[8-9][0-9]|65063:20[0-9]$
|
||||
!
|
||||
ip as-path access-list 10 permit ^1239_
|
||||
ip as-path access-list 10 permit .*
|
||||
ip flow-export source Loopback0
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user