00001
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 {
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 {
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 {
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 {
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 {
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
00268 const antlr::BitSet CLmsConfigParser::_tokenSet_0(_tokenSet_0_data_,4);
00269 const unsigned long CLmsConfigParser::_tokenSet_1_data_[] = { 912UL, 0UL, 0UL, 0UL };
00270
00271 const antlr::BitSet CLmsConfigParser::_tokenSet_1(_tokenSet_1_data_,4);
00272 const unsigned long CLmsConfigParser::_tokenSet_2_data_[] = { 1970UL, 0UL, 0UL, 0UL };
00273
00274 const antlr::BitSet CLmsConfigParser::_tokenSet_2(_tokenSet_2_data_,4);
00275 const unsigned long CLmsConfigParser::_tokenSet_3_data_[] = { 1122UL, 0UL, 0UL, 0UL };
00276
00277 const antlr::BitSet CLmsConfigParser::_tokenSet_3(_tokenSet_3_data_,4);
00278 const unsigned long CLmsConfigParser::_tokenSet_4_data_[] = { 2002UL, 0UL, 0UL, 0UL };
00279
00280 const antlr::BitSet CLmsConfigParser::_tokenSet_4(_tokenSet_4_data_,4);
00281 const unsigned long CLmsConfigParser::_tokenSet_5_data_[] = { 2034UL, 0UL, 0UL, 0UL };
00282
00283 const antlr::BitSet CLmsConfigParser::_tokenSet_5(_tokenSet_5_data_,4);
00284 const unsigned long CLmsConfigParser::_tokenSet_6_data_[] = { 2UL, 0UL, 0UL, 0UL };
00285
00286 const antlr::BitSet CLmsConfigParser::_tokenSet_6(_tokenSet_6_data_,4);
00287
00288