KDevelop API Documentation

PascalParser.hpp

Go to the documentation of this file.
00001 #ifndef INC_PascalParser_hpp_
00002 #define INC_PascalParser_hpp_
00003 
00004 #line 29 "pascal.g"
00005 
00006         #include "problemreporter.h"
00007         #include "PascalAST.hpp"
00008 
00009         #include <qlistview.h>
00010         #include <kdebug.h>
00011 
00012         #define SET_POSITION(ast,t)\
00013         { \
00014                 RefPascalAST(ast)->setLine( t->getLine() );\
00015                 RefPascalAST(ast)->setColumn( t->getColumn() ); \
00016         }
00017 
00018 #line 19 "PascalParser.hpp"
00019 #include <antlr/config.hpp>
00020 /* $ANTLR 2.7.2: "pascal.g" -> "PascalParser.hpp"$ */
00021 #include <antlr/TokenStream.hpp>
00022 #include <antlr/TokenBuffer.hpp>
00023 #include "PascalTokenTypes.hpp"
00024 #include <antlr/LLkParser.hpp>
00025 
00026 class PascalParser : public ANTLR_USE_NAMESPACE(antlr)LLkParser, public PascalTokenTypes
00027 {
00028 #line 90 "pascal.g"
00029 
00030 private:
00031         unsigned int m_numberOfErrors;
00032         ProblemReporter* m_problemReporter;
00033 
00034 public:
00035         void resetErrors()                              { m_numberOfErrors = 0; }
00036         unsigned int numberOfErrors() const             { return m_numberOfErrors; }
00037         void setProblemReporter( ProblemReporter* r )   { m_problemReporter = r; }
00038 
00039         void reportError( const ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex ){
00040                 m_problemReporter->reportError( ex.getMessage().c_str(),
00041                                                 ex.getFilename().c_str(),
00042                                                 ex.getLine(),
00043                                                 ex.getColumn() );
00044                 ++m_numberOfErrors;
00045         }
00046 
00047         void reportError( const ANTLR_USE_NAMESPACE(std)string& errorMessage ){
00048                 m_problemReporter->reportError( errorMessage.c_str(),
00049                                                 getFilename().c_str(),
00050                                                 LT(1)->getLine(),
00051                                                 LT(1)->getColumn() );
00052                 ++m_numberOfErrors;
00053         }
00054 
00055         void reportMessage( const ANTLR_USE_NAMESPACE(std)string& message ){
00056                 m_problemReporter->reportMessage( message.c_str(),
00057                                                 getFilename().c_str(),
00058                                                 LT(1)->getLine(),
00059                                                 LT(1)->getColumn() );
00060         }
00061 #line 30 "PascalParser.hpp"
00062 public:
00063     void initializeASTFactory( ANTLR_USE_NAMESPACE(antlr)ASTFactory& factory );
00064 protected:
00065     PascalParser(ANTLR_USE_NAMESPACE(antlr)TokenBuffer& tokenBuf, int k);
00066 public:
00067     PascalParser(ANTLR_USE_NAMESPACE(antlr)TokenBuffer& tokenBuf);
00068 protected:
00069     PascalParser(ANTLR_USE_NAMESPACE(antlr)TokenStream& lexer, int k);
00070 public:
00071     PascalParser(ANTLR_USE_NAMESPACE(antlr)TokenStream& lexer);
00072     PascalParser(const ANTLR_USE_NAMESPACE(antlr)ParserSharedInputState& state);
00073     int getNumTokens() const
00074     {
00075         return PascalParser::NUM_TOKENS;
00076     }
00077     const char* getTokenName( int type ) const
00078     {
00079         if( type > getNumTokens() ) return 0;
00080         return PascalParser::tokenNames[type];
00081     }
00082     const char* const* getTokenNames() const
00083     {
00084         return PascalParser::tokenNames;
00085     }
00086     public: void compilationUnit();
00087     public: void program();
00088     public: void library();
00089     public: void unit();
00090     public: void programHeading();
00091     public: void usesClause();
00092     public: void block();
00093     public: void identifier();
00094     public: void libraryBlock();
00095     public: void exportsClause();
00096     public: void declarationPart();
00097     public: void statementPart();
00098     public: void exportsList();
00099     public: void exportsEntry();
00100     public: void integerConstant();
00101     public: void stringConstant();
00102     public: void identifierList();
00103     public: void interfacePart();
00104     public: void implementationPart();
00105     public: void initializationPart();
00106     public: void finalizationPart();
00107     public: void realizationPart();
00108     public: void constantDeclarationPart();
00109     public: void typeDeclarationPart();
00110     public: void procedureHeadersPart();
00111     public: void statement();
00112     public: void labelDeclarationPart();
00113     public: void resourcestringDeclarationPart();
00114     public: void variableDeclarationPart();
00115     public: void procedureAndFunctionDeclarationPart();
00116     public: void label();
00117     public: void constantDeclaration();
00118     public: void typedConstantDeclaration();
00119     public: void stringConstantDeclaration();
00120     public: void string();
00121     public: void typeDeclaration();
00122     public: void variableDeclaration();
00123     public: void type();
00124     public: void procedureAndFunctionDeclaration();
00125     public: void procedureDeclaration();
00126     public: void functionDeclaration();
00127     public: void constructorDeclaration();
00128     public: void destructorDeclaration();
00129     public: void compoundStatement();
00130     public: void procedureHeader();
00131     public: void subroutineBlock();
00132     public: void functionHeader();
00133     public: void qualifiedMethodIdentifier();
00134     public: void formalParameterList();
00135     public: void modifiers();
00136     public: void externalDirective();
00137     public: void functionHeaderEnding();
00138     public: void parameterDeclaration();
00139     public: void valueParameter();
00140     public: void variableParameter();
00141     public: void constantParameter();
00142     public: void untypedParameterPart();
00143     public: void callModifiers();
00144     public: void expression();
00145     public: void typedConstant();
00146     public: void constant();
00147     public: void recordConstant();
00148     public: void arrayConstant();
00149     public: void proceduralConstant();
00150     public: void addressConstant();
00151     public: void simpleType();
00152     public: void subrangeTypeOrTypeIdentifier();
00153     public: void enumeratedType();
00154     public: void stringType();
00155     public: void structuredType();
00156     public: void pointerType();
00157     public: void proceduralType();
00158     public: void ordinalType();
00159     public: void realType();
00160     public: void typeIdentifier();
00161     public: void subrangeType();
00162     public: void assignedEnumList();
00163     public: void unsignedInteger();
00164     public: void arrayType();
00165     public: void recordType();
00166     public: void objectType();
00167     public: void classType();
00168     public: void setType();
00169     public: void fileType();
00170     public: void arrayIndexType();
00171     public: void arraySubrangeType();
00172     public: void fieldList();
00173     public: void fixedField();
00174     public: void variantPart();
00175     public: void variant();
00176     public: void proceduralTypePart1();
00177     public: void heritage();
00178     public: void componentList();
00179     public: void objectVisibilitySpecifier();
00180     public: void fieldDefinition();
00181     public: void methodDefinition();
00182     public: void constructorHeader();
00183     public: void destructorHeader();
00184     public: void methodDirectives();
00185     public: void classComponentList();
00186     public: void classVisibilitySpecifier();
00187     public: void classMethodDefinition();
00188     public: void propertyDefinition();
00189     public: void classMethodDirectives();
00190     public: void directiveVariants();
00191     public: void propertyInterface();
00192     public: void propertySpecifiers();
00193     public: void propertyParameterList();
00194     public: void readSpecifier();
00195     public: void writeSpecifier();
00196     public: void defaultSpecifier();
00197     public: void fieldOrMethod();
00198     public: void simpleExpression();
00199     public: void expressionSign();
00200     public: void term();
00201     public: void factor();
00202     public: void identifierOrValueTypecastOrFunctionCall();
00203     public: void unsignedConstant();
00204     public: void setConstructor();
00205     public: void addressFactor();
00206     public: void expressions();
00207     public: void functionCall();
00208     public: void actualParameterList();
00209     public: void setGroup();
00210     public: void valueTypecast();
00211     public: void simpleStatement();
00212     public: void structuredStatement();
00213     public: void assignmentStatement();
00214     public: void procedureStatement();
00215     public: void gotoStatement();
00216     public: void raiseStatement();
00217     public: void identifierOrArrayIdentifier();
00218     public: void assignmentOperator();
00219     public: void repetitiveStatement();
00220     public: void conditionalStatement();
00221     public: void exceptionStatement();
00222     public: void withStatement();
00223     public: void ifStatement();
00224     public: void caseStatement();
00225     public: void forStatement();
00226     public: void repeatStatement();
00227     public: void whileStatement();
00228     public: void caseListElement();
00229     public: void constList();
00230     public: void forList();
00231     public: void initialValue();
00232     public: void finalValue();
00233     public: void recordVariableList();
00234     public: void variable();
00235     public: void operatorDefinition();
00236     public: void assignmentOperatorDefinition();
00237     public: void arithmeticOperatorDefinition();
00238     public: void comparisonOperatorDefinition();
00239     public: void tryStatement();
00240     public: void statements();
00241     public: void exceptOrFinallyPart();
00242     public: void exceptionHandlers();
00243     public: void exceptionHandler();
00244     public: void sign();
00245     public: void constantChr();
00246     public: void unsignedNumber();
00247     public: void unsignedReal();
00248 public:
00249     RefPascalAST getAST();
00250     
00251 protected:
00252     RefPascalAST returnAST;
00253 private:
00254     static const char* tokenNames[];
00255 #ifndef NO_STATIC_CONSTS
00256     static const int NUM_TOKENS = 190;
00257 #else
00258     enum {
00259         NUM_TOKENS = 190
00260     };
00261 #endif
00262     
00263     static const unsigned long _tokenSet_0_data_[];
00264     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_0;
00265     static const unsigned long _tokenSet_1_data_[];
00266     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_1;
00267     static const unsigned long _tokenSet_2_data_[];
00268     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_2;
00269     static const unsigned long _tokenSet_3_data_[];
00270     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_3;
00271     static const unsigned long _tokenSet_4_data_[];
00272     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_4;
00273     static const unsigned long _tokenSet_5_data_[];
00274     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_5;
00275     static const unsigned long _tokenSet_6_data_[];
00276     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_6;
00277     static const unsigned long _tokenSet_7_data_[];
00278     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_7;
00279     static const unsigned long _tokenSet_8_data_[];
00280     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_8;
00281     static const unsigned long _tokenSet_9_data_[];
00282     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_9;
00283     static const unsigned long _tokenSet_10_data_[];
00284     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_10;
00285     static const unsigned long _tokenSet_11_data_[];
00286     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_11;
00287     static const unsigned long _tokenSet_12_data_[];
00288     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_12;
00289     static const unsigned long _tokenSet_13_data_[];
00290     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_13;
00291     static const unsigned long _tokenSet_14_data_[];
00292     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_14;
00293     static const unsigned long _tokenSet_15_data_[];
00294     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_15;
00295     static const unsigned long _tokenSet_16_data_[];
00296     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_16;
00297     static const unsigned long _tokenSet_17_data_[];
00298     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_17;
00299     static const unsigned long _tokenSet_18_data_[];
00300     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_18;
00301     static const unsigned long _tokenSet_19_data_[];
00302     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_19;
00303     static const unsigned long _tokenSet_20_data_[];
00304     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_20;
00305     static const unsigned long _tokenSet_21_data_[];
00306     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_21;
00307     static const unsigned long _tokenSet_22_data_[];
00308     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_22;
00309     static const unsigned long _tokenSet_23_data_[];
00310     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_23;
00311     static const unsigned long _tokenSet_24_data_[];
00312     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_24;
00313     static const unsigned long _tokenSet_25_data_[];
00314     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_25;
00315     static const unsigned long _tokenSet_26_data_[];
00316     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_26;
00317     static const unsigned long _tokenSet_27_data_[];
00318     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_27;
00319     static const unsigned long _tokenSet_28_data_[];
00320     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_28;
00321     static const unsigned long _tokenSet_29_data_[];
00322     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_29;
00323     static const unsigned long _tokenSet_30_data_[];
00324     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_30;
00325     static const unsigned long _tokenSet_31_data_[];
00326     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_31;
00327     static const unsigned long _tokenSet_32_data_[];
00328     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_32;
00329     static const unsigned long _tokenSet_33_data_[];
00330     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_33;
00331     static const unsigned long _tokenSet_34_data_[];
00332     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_34;
00333     static const unsigned long _tokenSet_35_data_[];
00334     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_35;
00335     static const unsigned long _tokenSet_36_data_[];
00336     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_36;
00337     static const unsigned long _tokenSet_37_data_[];
00338     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_37;
00339     static const unsigned long _tokenSet_38_data_[];
00340     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_38;
00341     static const unsigned long _tokenSet_39_data_[];
00342     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_39;
00343     static const unsigned long _tokenSet_40_data_[];
00344     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_40;
00345     static const unsigned long _tokenSet_41_data_[];
00346     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_41;
00347     static const unsigned long _tokenSet_42_data_[];
00348     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_42;
00349     static const unsigned long _tokenSet_43_data_[];
00350     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_43;
00351     static const unsigned long _tokenSet_44_data_[];
00352     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_44;
00353     static const unsigned long _tokenSet_45_data_[];
00354     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_45;
00355     static const unsigned long _tokenSet_46_data_[];
00356     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_46;
00357     static const unsigned long _tokenSet_47_data_[];
00358     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_47;
00359     static const unsigned long _tokenSet_48_data_[];
00360     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_48;
00361     static const unsigned long _tokenSet_49_data_[];
00362     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_49;
00363     static const unsigned long _tokenSet_50_data_[];
00364     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_50;
00365     static const unsigned long _tokenSet_51_data_[];
00366     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_51;
00367     static const unsigned long _tokenSet_52_data_[];
00368     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_52;
00369     static const unsigned long _tokenSet_53_data_[];
00370     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_53;
00371     static const unsigned long _tokenSet_54_data_[];
00372     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_54;
00373     static const unsigned long _tokenSet_55_data_[];
00374     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_55;
00375     static const unsigned long _tokenSet_56_data_[];
00376     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_56;
00377     static const unsigned long _tokenSet_57_data_[];
00378     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_57;
00379     static const unsigned long _tokenSet_58_data_[];
00380     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_58;
00381     static const unsigned long _tokenSet_59_data_[];
00382     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_59;
00383     static const unsigned long _tokenSet_60_data_[];
00384     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_60;
00385     static const unsigned long _tokenSet_61_data_[];
00386     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_61;
00387     static const unsigned long _tokenSet_62_data_[];
00388     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_62;
00389     static const unsigned long _tokenSet_63_data_[];
00390     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_63;
00391     static const unsigned long _tokenSet_64_data_[];
00392     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_64;
00393     static const unsigned long _tokenSet_65_data_[];
00394     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_65;
00395     static const unsigned long _tokenSet_66_data_[];
00396     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_66;
00397     static const unsigned long _tokenSet_67_data_[];
00398     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_67;
00399     static const unsigned long _tokenSet_68_data_[];
00400     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_68;
00401     static const unsigned long _tokenSet_69_data_[];
00402     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_69;
00403     static const unsigned long _tokenSet_70_data_[];
00404     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_70;
00405     static const unsigned long _tokenSet_71_data_[];
00406     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_71;
00407     static const unsigned long _tokenSet_72_data_[];
00408     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_72;
00409     static const unsigned long _tokenSet_73_data_[];
00410     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_73;
00411     static const unsigned long _tokenSet_74_data_[];
00412     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_74;
00413     static const unsigned long _tokenSet_75_data_[];
00414     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_75;
00415     static const unsigned long _tokenSet_76_data_[];
00416     static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_76;
00417 };
00418 
00419 #endif /*INC_PascalParser_hpp_*/
KDE Logo
This file is part of the documentation for KDevelop Version 3.1.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Tue Feb 22 09:22:33 2005 by doxygen 1.3.9.1 written by Dimitri van Heesch, © 1997-2003