KDevelop API Documentation

languages/pascal/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.0.4.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Tue Oct 19 08:01:45 2004 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003