CLmsConfigParser.cpp

Go to the documentation of this file.
00001 /* $ANTLR 2.7.6 (20070220): "CLmsConfig.g" -> "CLmsConfigParser.cpp"$ */
00002 #include "CLmsConfigParser.hpp"
00003 #include <antlr/NoViableAltException.hpp>
00004 #include <antlr/SemanticException.hpp>
00005 #include <antlr/ASTFactory.hpp>
00006 #line 1 "CLmsConfig.g"
00007 #line 8 "CLmsConfigParser.cpp"
00008 CLmsConfigParser::CLmsConfigParser(antlr::TokenBuffer& tokenBuf, int k)
00009 : antlr::LLkParser(tokenBuf,k)
00010 {
00011 }
00012 
00013 CLmsConfigParser::CLmsConfigParser(antlr::TokenBuffer& tokenBuf)
00014 : antlr::LLkParser(tokenBuf,10)
00015 {
00016 }
00017 
00018 CLmsConfigParser::CLmsConfigParser(antlr::TokenStream& lexer, int k)
00019 : antlr::LLkParser(lexer,k)
00020 {
00021 }
00022 
00023 CLmsConfigParser::CLmsConfigParser(antlr::TokenStream& lexer)
00024 : antlr::LLkParser(lexer,10)
00025 {
00026 }
00027 
00028 CLmsConfigParser::CLmsConfigParser(const antlr::ParserSharedInputState& state)
00029 : antlr::LLkParser(state,10)
00030 {
00031 }
00032 
00033 void CLmsConfigParser::configentry() {
00034         
00035         try {      // for error handling
00036                 {
00037                 switch ( LA(1)) {
00038                 case MUT:
00039                 {
00040                         match(MUT);
00041                         match(EQUAL);
00042                         mu=numvalue();
00043                         break;
00044                 }
00045                 case FILTERLENGTHT:
00046                 {
00047                         match(FILTERLENGTHT);
00048                         match(EQUAL);
00049                         filterlength=numvalue();
00050                         break;
00051                 }
00052                 case SHIFTT:
00053                 {
00054                         match(SHIFTT);
00055                         match(EQUAL);
00056                         shift=numvalue();
00057                         break;
00058                 }
00059                 case SECFACTORT:
00060                 {
00061                         match(SECFACTORT);
00062                         match(EQUAL);
00063                         secfactor=numvalue();
00064                         break;
00065                 }
00066                 default:
00067                 {
00068                         throw antlr::NoViableAltException(LT(1), getFilename());
00069                 }
00070                 }
00071                 }
00072         }
00073         catch (antlr::RecognitionException& ex) {
00074                 if( inputState->guessing == 0 ) {
00075                         reportError(ex);
00076                         recover(ex,_tokenSet_0);
00077                 } else {
00078                         throw;
00079                 }
00080         }
00081 }
00082 
00083 double  CLmsConfigParser::numvalue() {
00084 #line 42 "CLmsConfig.g"
00085         double r;
00086 #line 87 "CLmsConfigParser.cpp"
00087         antlr::RefToken  currvalue = antlr::nullToken;
00088         
00089         try {      // for error handling
00090                 currvalue = LT(1);
00091                 match(NUMBER);
00092                 if ( inputState->guessing==0 ) {
00093 #line 43 "CLmsConfig.g"
00094                         r = atof(currvalue->getText().c_str());
00095 #line 96 "CLmsConfigParser.cpp"
00096                 }
00097         }
00098         catch (antlr::RecognitionException& ex) {
00099                 if( inputState->guessing == 0 ) {
00100                         reportError(ex);
00101                         recover(ex,_tokenSet_0);
00102                 } else {
00103                         throw;
00104                 }
00105         }
00106         return r;
00107 }
00108 
00109 void CLmsConfigParser::configfile() {
00110 #line 36 "CLmsConfig.g"
00111         
00112         mu = -1;
00113         
00114 #line 115 "CLmsConfigParser.cpp"
00115         
00116         try {      // for error handling
00117                 { // ( ... )+
00118                 int _cnt22=0;
00119                 for (;;) {
00120                         if ((_tokenSet_1.member(LA(1)))) {
00121                                 configentry();
00122                                 {
00123                                 if ((LA(1) == COMMENT) && (_tokenSet_0.member(LA(2))) && (LA(3) == antlr::Token::EOF_TYPE || LA(3) == EQUAL || LA(3) == COMMENT) && (LA(4) == antlr::Token::EOF_TYPE || LA(4) == NUMBER || LA(4) == COMMENT) && (_tokenSet_0.member(LA(5))) && (_tokenSet_2.member(LA(6))) && (_tokenSet_3.member(LA(7))) && (_tokenSet_4.member(LA(8))) && (_tokenSet_2.member(LA(9))) && (_tokenSet_5.member(LA(10)))) {
00124                                         match(COMMENT);
00125                                 }
00126                                 else if ((_tokenSet_0.member(LA(1))) && (LA(2) == antlr::Token::EOF_TYPE || LA(2) == EQUAL || LA(2) == COMMENT) && (LA(3) == antlr::Token::EOF_TYPE || LA(3) == NUMBER || LA(3) == COMMENT) && (_tokenSet_0.member(LA(4))) && (_tokenSet_2.member(LA(5))) && (_tokenSet_3.member(LA(6))) && (_tokenSet_4.member(LA(7))) && (_tokenSet_2.member(LA(8))) && (_tokenSet_5.member(LA(9))) && (_tokenSet_5.member(LA(10)))) {
00127                                 }
00128                                 else {
00129                                         throw antlr::NoViableAltException(LT(1), getFilename());
00130                                 }
00131                                 
00132                                 }
00133                         }
00134                         else {
00135                                 if ( _cnt22>=1 ) { goto _loop22; } else {throw antlr::NoViableAltException(LT(1), getFilename());}
00136                         }
00137                         
00138                         _cnt22++;
00139                 }
00140                 _loop22:;
00141                 }  // ( ... )+
00142                 { // ( ... )*
00143                 for (;;) {
00144                         if ((LA(1) == COMMENT)) {
00145                                 match(COMMENT);
00146                         }
00147                         else {
00148                                 goto _loop24;
00149                         }
00150                         
00151                 }
00152                 _loop24:;
00153                 } // ( ... )*
00154                 match(antlr::Token::EOF_TYPE);
00155         }
00156         catch (antlr::RecognitionException& ex) {
00157                 if( inputState->guessing == 0 ) {
00158                         reportError(ex);
00159                         recover(ex,_tokenSet_6);
00160                 } else {
00161                         throw;
00162                 }
00163         }
00164 }
00165 
00166 bool  CLmsConfigParser::boolvalue() {
00167 #line 46 "CLmsConfig.g"
00168         bool r;
00169 #line 170 "CLmsConfigParser.cpp"
00170         
00171         try {      // for error handling
00172                 {
00173                 switch ( LA(1)) {
00174                 case TRUE:
00175                 {
00176                         match(TRUE);
00177                         if ( inputState->guessing==0 ) {
00178 #line 47 "CLmsConfig.g"
00179                                 r = true;
00180 #line 181 "CLmsConfigParser.cpp"
00181                         }
00182                         break;
00183                 }
00184                 case FALSE:
00185                 {
00186                         match(FALSE);
00187                         if ( inputState->guessing==0 ) {
00188 #line 47 "CLmsConfig.g"
00189                                 r = false;
00190 #line 191 "CLmsConfigParser.cpp"
00191                         }
00192                         break;
00193                 }
00194                 default:
00195                 {
00196                         throw antlr::NoViableAltException(LT(1), getFilename());
00197                 }
00198                 }
00199                 }
00200         }
00201         catch (antlr::RecognitionException& ex) {
00202                 if( inputState->guessing == 0 ) {
00203                         reportError(ex);
00204                         recover(ex,_tokenSet_6);
00205                 } else {
00206                         throw;
00207                 }
00208         }
00209         return r;
00210 }
00211 
00212 std::string  CLmsConfigParser::stringvalue() {
00213 #line 50 "CLmsConfig.g"
00214         std::string r;
00215 #line 216 "CLmsConfigParser.cpp"
00216         antlr::RefToken  currvalue = antlr::nullToken;
00217         
00218         try {      // for error handling
00219                 currvalue = LT(1);
00220                 match(STRING);
00221                 if ( inputState->guessing==0 ) {
00222 #line 51 "CLmsConfig.g"
00223                         r = currvalue->getText();
00224 #line 225 "CLmsConfigParser.cpp"
00225                 }
00226         }
00227         catch (antlr::RecognitionException& ex) {
00228                 if( inputState->guessing == 0 ) {
00229                         reportError(ex);
00230                         recover(ex,_tokenSet_6);
00231                 } else {
00232                         throw;
00233                 }
00234         }
00235         return r;
00236 }
00237 
00238 void CLmsConfigParser::initializeASTFactory( antlr::ASTFactory& )
00239 {
00240 }
00241 const char* CLmsConfigParser::tokenNames[] = {
00242         "<0>",
00243         "EOF",
00244         "<2>",
00245         "NULL_TREE_LOOKAHEAD",
00246         "MUT",
00247         "EQUAL",
00248         "NUMBER",
00249         "FILTERLENGTHT",
00250         "SHIFTT",
00251         "SECFACTORT",
00252         "COMMENT",
00253         "TRUE",
00254         "FALSE",
00255         "STRING",
00256         "WS",
00257         "NEWLINE",
00258         "REAL",
00259         "INT",
00260         "DIGIT",
00261         "CHAR",
00262         "OTHER",
00263         0
00264 };
00265 
00266 const unsigned long CLmsConfigParser::_tokenSet_0_data_[] = { 1938UL, 0UL, 0UL, 0UL };
00267 // EOF MUT FILTERLENGTHT SHIFTT SECFACTORT COMMENT 
00268 const antlr::BitSet CLmsConfigParser::_tokenSet_0(_tokenSet_0_data_,4);
00269 const unsigned long CLmsConfigParser::_tokenSet_1_data_[] = { 912UL, 0UL, 0UL, 0UL };
00270 // MUT FILTERLENGTHT SHIFTT SECFACTORT 
00271 const antlr::BitSet CLmsConfigParser::_tokenSet_1(_tokenSet_1_data_,4);
00272 const unsigned long CLmsConfigParser::_tokenSet_2_data_[] = { 1970UL, 0UL, 0UL, 0UL };
00273 // EOF MUT EQUAL FILTERLENGTHT SHIFTT SECFACTORT COMMENT 
00274 const antlr::BitSet CLmsConfigParser::_tokenSet_2(_tokenSet_2_data_,4);
00275 const unsigned long CLmsConfigParser::_tokenSet_3_data_[] = { 1122UL, 0UL, 0UL, 0UL };
00276 // EOF EQUAL NUMBER COMMENT 
00277 const antlr::BitSet CLmsConfigParser::_tokenSet_3(_tokenSet_3_data_,4);
00278 const unsigned long CLmsConfigParser::_tokenSet_4_data_[] = { 2002UL, 0UL, 0UL, 0UL };
00279 // EOF MUT NUMBER FILTERLENGTHT SHIFTT SECFACTORT COMMENT 
00280 const antlr::BitSet CLmsConfigParser::_tokenSet_4(_tokenSet_4_data_,4);
00281 const unsigned long CLmsConfigParser::_tokenSet_5_data_[] = { 2034UL, 0UL, 0UL, 0UL };
00282 // EOF MUT EQUAL NUMBER FILTERLENGTHT SHIFTT SECFACTORT COMMENT 
00283 const antlr::BitSet CLmsConfigParser::_tokenSet_5(_tokenSet_5_data_,4);
00284 const unsigned long CLmsConfigParser::_tokenSet_6_data_[] = { 2UL, 0UL, 0UL, 0UL };
00285 // EOF 
00286 const antlr::BitSet CLmsConfigParser::_tokenSet_6(_tokenSet_6_data_,4);
00287 
00288 

Generated on Thu Nov 22 13:58:25 2007 for GPLIB++ by  doxygen 1.5.1