00001
#ifndef INC_JavaRecognizer_hpp_
00002
#define INC_JavaRecognizer_hpp_
00003
00004
#line 2 "java.g"
00005
00006
#include "driver.h"
00007
#include "JavaAST.hpp"
00008
00009
#include <qlistview.h>
00010
#include <kdebug.h>
00011
00012 #define SET_POSITION(ast,t)\
00013
{ \
00014
RefJavaAST(ast)->setLine( t->getLine() );\
00015
RefJavaAST(ast)->setColumn( t->getColumn() ); \
00016
}
00017
00018
#line 19 "JavaRecognizer.hpp"
00019
#include <antlr/config.hpp>
00020
00021
#include <antlr/TokenStream.hpp>
00022
#include <antlr/TokenBuffer.hpp>
00023
#include "JavaTokenTypes.hpp"
00024
#include <antlr/LLkParser.hpp>
00025
00142 class JavaRecognizer :
public ANTLR_USE_NAMESPACE(antlr)
LLkParser,
public JavaTokenTypes
00143 {
00144
#line 154 "java.g"
00145
00146
private:
00147 Driver*
m_driver;
00148
00149
public:
00150 void setDriver(
Driver* d ) {
m_driver = d; }
00151 void setFileName(
const QString& fileName ) {
m_driver->
currentFileName() = fileName; }
00152
00153 void reportError(
const ANTLR_USE_NAMESPACE(antlr)
RecognitionException& ex ){
00154
m_driver->
addProblem(
m_driver->
currentFileName(),
Problem( QString::fromLocal8Bit(ex.getMessage().c_str()), ex.getLine(), ex.getColumn()) );
00155 }
00156
00157 void reportError(
const ANTLR_USE_NAMESPACE(std)string& errorMessage ){
00158
m_driver->
addProblem(
m_driver->
currentFileName(),
Problem( QString::fromLocal8Bit(errorMessage.c_str()), LT(1)->getLine(), LT(1)->getColumn()) );
00159 }
00160
00161 void reportMessage(
const ANTLR_USE_NAMESPACE(std)string& message ){
00162
m_driver->
addProblem(
m_driver->
currentFileName(),
Problem( QString::fromLocal8Bit(
message.c_str()), LT(1)->getLine(), LT(1)->getColumn()) );
00163 }
00164
#line 142 "JavaRecognizer.hpp"
00165
public:
00166
void initializeASTFactory(
ANTLR_USE_NAMESPACE(antlr)
ASTFactory& factory );
00167
protected:
00168
JavaRecognizer(
ANTLR_USE_NAMESPACE(antlr)
TokenBuffer& tokenBuf,
int k);
00169
public:
00170
JavaRecognizer(
ANTLR_USE_NAMESPACE(antlr)
TokenBuffer& tokenBuf);
00171
protected:
00172
JavaRecognizer(
ANTLR_USE_NAMESPACE(antlr)
TokenStream& lexer,
int k);
00173
public:
00174
JavaRecognizer(
ANTLR_USE_NAMESPACE(antlr)
TokenStream& lexer);
00175
JavaRecognizer(
const ANTLR_USE_NAMESPACE(antlr)
ParserSharedInputState& state);
00176 int getNumTokens()
const
00177
{
00178
return JavaRecognizer::NUM_TOKENS;
00179 }
00180 const char*
getTokenName(
int type )
const
00181
{
00182
if( type >
getNumTokens() )
return 0;
00183
return JavaRecognizer::tokenNames[type];
00184 }
00185 const char*
const*
getTokenNames()
const
00186
{
00187
return JavaRecognizer::tokenNames;
00188 }
00189
public:
void compilationUnit();
00190
public:
void packageDefinition();
00191
public:
void importDefinition();
00192
public:
void typeDefinition();
00193
public:
void identifier();
00194
public:
void identifierStar();
00195
public:
void modifiers();
00196
public:
void classDefinition(
00197 RefJavaAST modifiers
00198 );
00199
public:
void interfaceDefinition(
00200 RefJavaAST modifiers
00201 );
00202
public:
void declaration();
00203
public:
void typeSpec(
00204
bool addImagNode
00205 );
00206
public:
void variableDefinitions(
00207 RefJavaAST mods, RefJavaAST t
00208 );
00209
public:
void classTypeSpec(
00210
bool addImagNode
00211 );
00212
public:
void builtInTypeSpec(
00213
bool addImagNode
00214 );
00215
public:
void builtInType();
00216
public:
void type();
00217
public:
void modifier();
00218
public:
void superClassClause();
00219
public:
void implementsClause();
00220
public:
void classBlock();
00221
public:
void interfaceExtends();
00222
public:
void field();
00223
public:
void ctorHead();
00224
public:
void constructorBody();
00225
public:
void parameterDeclarationList();
00226
public:
void declaratorBrackets(
00227 RefJavaAST typ
00228 );
00229
public:
void throwsClause();
00230
public:
void compoundStatement();
00231
public:
void explicitConstructorInvocation();
00232
public:
void statement();
00233
public:
void argList();
00234
public:
void variableDeclarator(
00235 RefJavaAST mods, RefJavaAST t
00236 );
00237
public:
void varInitializer();
00238
public:
void initializer();
00239
public:
void arrayInitializer();
00240
public:
void expression();
00241
public:
void parameterDeclaration();
00242
public:
void parameterModifier();
00243
public:
void forInit();
00244
public:
void forCond();
00245
public:
void forIter();
00246
public:
void casesGroup();
00247
public:
void tryBlock();
00248
public:
void aCase();
00249
public:
void caseSList();
00250
public:
void expressionList();
00251
public:
void handler();
00252
public:
void finallyClause();
00253
public:
void assignmentExpression();
00254
public:
void conditionalExpression();
00255
public:
void logicalOrExpression();
00256
public:
void logicalAndExpression();
00257
public:
void inclusiveOrExpression();
00258
public:
void exclusiveOrExpression();
00259
public:
void andExpression();
00260
public:
void equalityExpression();
00261
public:
void relationalExpression();
00262
public:
void shiftExpression();
00263
public:
void additiveExpression();
00264
public:
void multiplicativeExpression();
00265
public:
void unaryExpression();
00266
public:
void unaryExpressionNotPlusMinus();
00267
public:
void postfixExpression();
00268
public:
void primaryExpression();
00269
public:
void newExpression();
00270
public:
void identPrimary();
00271
public:
void constant();
00272
public:
void newArrayDeclarator();
00273
public:
00274
RefJavaAST getAST();
00275
00276
protected:
00277 RefJavaAST returnAST;
00278
private:
00279
static const char*
tokenNames[];
00280
#ifndef NO_STATIC_CONSTS
00281 static const int NUM_TOKENS = 152;
00282
#else
00283
enum {
00284
NUM_TOKENS = 152
00285 };
00286
#endif
00287
00288
static const unsigned long _tokenSet_0_data_[];
00289
static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_0;
00290 static const
unsigned long _tokenSet_1_data_[];
00291 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_1;
00292 static const
unsigned long _tokenSet_2_data_[];
00293 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_2;
00294 static const
unsigned long _tokenSet_3_data_[];
00295 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_3;
00296 static const
unsigned long _tokenSet_4_data_[];
00297 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_4;
00298 static const
unsigned long _tokenSet_5_data_[];
00299 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_5;
00300 static const
unsigned long _tokenSet_6_data_[];
00301 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_6;
00302 static const
unsigned long _tokenSet_7_data_[];
00303 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_7;
00304 static const
unsigned long _tokenSet_8_data_[];
00305 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_8;
00306 static const
unsigned long _tokenSet_9_data_[];
00307 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_9;
00308 static const
unsigned long _tokenSet_10_data_[];
00309 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_10;
00310 static const
unsigned long _tokenSet_11_data_[];
00311 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_11;
00312 static const
unsigned long _tokenSet_12_data_[];
00313 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_12;
00314 static const
unsigned long _tokenSet_13_data_[];
00315 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_13;
00316 static const
unsigned long _tokenSet_14_data_[];
00317 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_14;
00318 static const
unsigned long _tokenSet_15_data_[];
00319 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_15;
00320 static const
unsigned long _tokenSet_16_data_[];
00321 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_16;
00322 static const
unsigned long _tokenSet_17_data_[];
00323 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_17;
00324 static const
unsigned long _tokenSet_18_data_[];
00325 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_18;
00326 static const
unsigned long _tokenSet_19_data_[];
00327 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_19;
00328 static const
unsigned long _tokenSet_20_data_[];
00329 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_20;
00330 static const
unsigned long _tokenSet_21_data_[];
00331 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_21;
00332 static const
unsigned long _tokenSet_22_data_[];
00333 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_22;
00334 static const
unsigned long _tokenSet_23_data_[];
00335 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_23;
00336 static const
unsigned long _tokenSet_24_data_[];
00337 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_24;
00338 static const
unsigned long _tokenSet_25_data_[];
00339 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_25;
00340 static const
unsigned long _tokenSet_26_data_[];
00341 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_26;
00342 static const
unsigned long _tokenSet_27_data_[];
00343 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_27;
00344 static const
unsigned long _tokenSet_28_data_[];
00345 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_28;
00346 static const
unsigned long _tokenSet_29_data_[];
00347 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_29;
00348 static const
unsigned long _tokenSet_30_data_[];
00349 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_30;
00350 static const
unsigned long _tokenSet_31_data_[];
00351 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_31;
00352 static const
unsigned long _tokenSet_32_data_[];
00353 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_32;
00354 static const
unsigned long _tokenSet_33_data_[];
00355 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_33;
00356 static const
unsigned long _tokenSet_34_data_[];
00357 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_34;
00358 static const
unsigned long _tokenSet_35_data_[];
00359 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_35;
00360 static const
unsigned long _tokenSet_36_data_[];
00361 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_36;
00362 static const
unsigned long _tokenSet_37_data_[];
00363 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_37;
00364 static const
unsigned long _tokenSet_38_data_[];
00365 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_38;
00366 static const
unsigned long _tokenSet_39_data_[];
00367 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_39;
00368 static const
unsigned long _tokenSet_40_data_[];
00369 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_40;
00370 static const
unsigned long _tokenSet_41_data_[];
00371 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_41;
00372 static const
unsigned long _tokenSet_42_data_[];
00373 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_42;
00374 static const
unsigned long _tokenSet_43_data_[];
00375 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_43;
00376 static const
unsigned long _tokenSet_44_data_[];
00377 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_44;
00378 static const
unsigned long _tokenSet_45_data_[];
00379 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_45;
00380 static const
unsigned long _tokenSet_46_data_[];
00381 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_46;
00382 static const
unsigned long _tokenSet_47_data_[];
00383 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_47;
00384 static const
unsigned long _tokenSet_48_data_[];
00385 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_48;
00386 static const
unsigned long _tokenSet_49_data_[];
00387 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_49;
00388 static const
unsigned long _tokenSet_50_data_[];
00389 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_50;
00390 static const
unsigned long _tokenSet_51_data_[];
00391 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_51;
00392 static const
unsigned long _tokenSet_52_data_[];
00393 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_52;
00394 static const
unsigned long _tokenSet_53_data_[];
00395 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_53;
00396 static const
unsigned long _tokenSet_54_data_[];
00397 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_54;
00398 static const
unsigned long _tokenSet_55_data_[];
00399 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_55;
00400 static const
unsigned long _tokenSet_56_data_[];
00401 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_56;
00402 static const
unsigned long _tokenSet_57_data_[];
00403 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_57;
00404 static const
unsigned long _tokenSet_58_data_[];
00405 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_58;
00406 static const
unsigned long _tokenSet_59_data_[];
00407 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_59;
00408 static const
unsigned long _tokenSet_60_data_[];
00409 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_60;
00410 static const
unsigned long _tokenSet_61_data_[];
00411 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_61;
00412 static const
unsigned long _tokenSet_62_data_[];
00413 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_62;
00414 static const
unsigned long _tokenSet_63_data_[];
00415 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_63;
00416 static const
unsigned long _tokenSet_64_data_[];
00417 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_64;
00418 static const
unsigned long _tokenSet_65_data_[];
00419 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_65;
00420 static const
unsigned long _tokenSet_66_data_[];
00421 static const ANTLR_USE_NAMESPACE(antlr)
BitSet _tokenSet_66;
00422 };
00423
00424 #endif