summaryrefslogtreecommitdiffstats
path: root/languages/pascal/PascalParser.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'languages/pascal/PascalParser.hpp')
-rw-r--r--languages/pascal/PascalParser.hpp422
1 files changed, 422 insertions, 0 deletions
diff --git a/languages/pascal/PascalParser.hpp b/languages/pascal/PascalParser.hpp
new file mode 100644
index 00000000..d37d76c5
--- /dev/null
+++ b/languages/pascal/PascalParser.hpp
@@ -0,0 +1,422 @@
+#ifndef INC_PascalParser_hpp_
+#define INC_PascalParser_hpp_
+
+#line 29 "pascal.g"
+
+ #include "problemreporter.h"
+ #include "PascalAST.hpp"
+
+ #include <qlistview.h>
+ #include <kdebug.h>
+
+ #define SET_POSITION(ast,t)\
+ { \
+ RefPascalAST(ast)->setLine( t->getLine() );\
+ RefPascalAST(ast)->setColumn( t->getColumn() ); \
+ }
+
+#line 19 "PascalParser.hpp"
+#include <antlr/config.hpp>
+/* $ANTLR 2.7.7 (20061129): "pascal.g" -> "PascalParser.hpp"$ */
+#include <antlr/TokenStream.hpp>
+#include <antlr/TokenBuffer.hpp>
+#include "PascalTokenTypes.hpp"
+#include <antlr/LLkParser.hpp>
+
+class CUSTOM_API PascalParser : public ANTLR_USE_NAMESPACE(antlr)LLkParser, public PascalTokenTypes
+{
+#line 90 "pascal.g"
+
+private:
+ unsigned int m_numberOfErrors;
+ ProblemReporter* m_problemReporter;
+
+public:
+ void resetErrors() { m_numberOfErrors = 0; }
+ unsigned int numberOfErrors() const { return m_numberOfErrors; }
+ void setProblemReporter( ProblemReporter* r ) { m_problemReporter = r; }
+
+ void reportError( const ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex ){
+ m_problemReporter->reportError( ex.getMessage().c_str(),
+ ex.getFilename().c_str(),
+ ex.getLine(),
+ ex.getColumn() );
+ ++m_numberOfErrors;
+ }
+
+ void reportError( const ANTLR_USE_NAMESPACE(std)string& errorMessage ){
+ m_problemReporter->reportError( errorMessage.c_str(),
+ getFilename().c_str(),
+ LT(1)->getLine(),
+ LT(1)->getColumn() );
+ ++m_numberOfErrors;
+ }
+
+ void reportMessage( const ANTLR_USE_NAMESPACE(std)string& message ){
+ m_problemReporter->reportMessage( message.c_str(),
+ getFilename().c_str(),
+ LT(1)->getLine(),
+ LT(1)->getColumn() );
+ }
+#line 30 "PascalParser.hpp"
+public:
+ void initializeASTFactory( ANTLR_USE_NAMESPACE(antlr)ASTFactory& factory );
+protected:
+ PascalParser(ANTLR_USE_NAMESPACE(antlr)TokenBuffer& tokenBuf, int k);
+public:
+ PascalParser(ANTLR_USE_NAMESPACE(antlr)TokenBuffer& tokenBuf);
+protected:
+ PascalParser(ANTLR_USE_NAMESPACE(antlr)TokenStream& lexer, int k);
+public:
+ PascalParser(ANTLR_USE_NAMESPACE(antlr)TokenStream& lexer);
+ PascalParser(const ANTLR_USE_NAMESPACE(antlr)ParserSharedInputState& state);
+ int getNumTokens() const
+ {
+ return PascalParser::NUM_TOKENS;
+ }
+ const char* getTokenName( int type ) const
+ {
+ if( type > getNumTokens() ) return 0;
+ return PascalParser::tokenNames[type];
+ }
+ const char* const* getTokenNames() const
+ {
+ return PascalParser::tokenNames;
+ }
+ public: void compilationUnit();
+ public: void program();
+ public: void library();
+ public: void unit();
+ public: void programHeading();
+ public: void usesClause();
+ public: void block();
+ public: void identifier();
+ public: void libraryBlock();
+ public: void exportsClause();
+ public: void declarationPart();
+ public: void statementPart();
+ public: void exportsList();
+ public: void exportsEntry();
+ public: void integerConstant();
+ public: void stringConstant();
+ public: void identifierList();
+ public: void interfacePart();
+ public: void implementationPart();
+ public: void initializationPart();
+ public: void finalizationPart();
+ public: void realizationPart();
+ public: void constantDeclarationPart();
+ public: void typeDeclarationPart();
+ public: void procedureHeadersPart();
+ public: void statement();
+ public: void labelDeclarationPart();
+ public: void resourcestringDeclarationPart();
+ public: void variableDeclarationPart();
+ public: void procedureAndFunctionDeclarationPart();
+ public: void label();
+ public: void constantDeclaration();
+ public: void typedConstantDeclaration();
+ public: void stringConstantDeclaration();
+ public: void string();
+ public: void typeDeclaration();
+ public: void variableDeclaration();
+ public: void type();
+ public: void procedureAndFunctionDeclaration();
+ public: void procedureDeclaration();
+ public: void functionDeclaration();
+ public: void constructorDeclaration();
+ public: void destructorDeclaration();
+ public: void compoundStatement();
+ public: void procedureHeader();
+ public: void subroutineBlock();
+ public: void functionHeader();
+ public: void qualifiedMethodIdentifier();
+ public: void formalParameterList();
+ public: void modifiers();
+ public: void externalDirective();
+ public: void functionHeaderEnding();
+ public: void parameterDeclaration();
+ public: void valueParameter();
+ public: void variableParameter();
+ public: void constantParameter();
+ public: void untypedParameterPart();
+ public: void callModifiers();
+ public: void expression();
+ public: void typedConstant();
+ public: void constant();
+ public: void recordConstant();
+ public: void arrayConstant();
+ public: void proceduralConstant();
+ public: void addressConstant();
+ public: void simpleType();
+ public: void subrangeTypeOrTypeIdentifier();
+ public: void enumeratedType();
+ public: void stringType();
+ public: void structuredType();
+ public: void pointerType();
+ public: void proceduralType();
+ public: void ordinalType();
+ public: void realType();
+ public: void typeIdentifier();
+ public: void subrangeType();
+ public: void assignedEnumList();
+ public: void unsignedInteger();
+ public: void arrayType();
+ public: void recordType();
+ public: void objectType();
+ public: void classType();
+ public: void setType();
+ public: void fileType();
+ public: void arrayIndexType();
+ public: void arraySubrangeType();
+ public: void fieldList();
+ public: void fixedField();
+ public: void variantPart();
+ public: void variant();
+ public: void proceduralTypePart1();
+ public: void heritage();
+ public: void componentList();
+ public: void objectVisibilitySpecifier();
+ public: void fieldDefinition();
+ public: void methodDefinition();
+ public: void constructorHeader();
+ public: void destructorHeader();
+ public: void methodDirectives();
+ public: void classComponentList();
+ public: void classVisibilitySpecifier();
+ public: void classMethodDefinition();
+ public: void propertyDefinition();
+ public: void classMethodDirectives();
+ public: void directiveVariants();
+ public: void propertyInterface();
+ public: void propertySpecifiers();
+ public: void propertyParameterList();
+ public: void readSpecifier();
+ public: void writeSpecifier();
+ public: void defaultSpecifier();
+ public: void fieldOrMethod();
+ public: void simpleExpression();
+ public: void expressionSign();
+ public: void term();
+ public: void factor();
+ public: void identifierOrValueTypecastOrFunctionCall();
+ public: void unsignedConstant();
+ public: void setConstructor();
+ public: void addressFactor();
+ public: void expressions();
+ public: void functionCall();
+ public: void actualParameterList();
+ public: void setGroup();
+ public: void valueTypecast();
+ public: void simpleStatement();
+ public: void structuredStatement();
+ public: void assignmentStatement();
+ public: void procedureStatement();
+ public: void gotoStatement();
+ public: void raiseStatement();
+ public: void identifierOrArrayIdentifier();
+ public: void assignmentOperator();
+ public: void repetitiveStatement();
+ public: void conditionalStatement();
+ public: void exceptionStatement();
+ public: void withStatement();
+ public: void ifStatement();
+ public: void caseStatement();
+ public: void forStatement();
+ public: void repeatStatement();
+ public: void whileStatement();
+ public: void caseListElement();
+ public: void constList();
+ public: void forList();
+ public: void initialValue();
+ public: void finalValue();
+ public: void recordVariableList();
+ public: void variable();
+ public: void operatorDefinition();
+ public: void assignmentOperatorDefinition();
+ public: void arithmeticOperatorDefinition();
+ public: void comparisonOperatorDefinition();
+ public: void tryStatement();
+ public: void statements();
+ public: void exceptOrFinallyPart();
+ public: void exceptionHandlers();
+ public: void exceptionHandler();
+ public: void sign();
+ public: void constantChr();
+ public: void unsignedNumber();
+ public: void unsignedReal();
+public:
+ ANTLR_USE_NAMESPACE(antlr)RefAST getAST()
+ {
+ return ANTLR_USE_NAMESPACE(antlr)RefAST(returnAST);
+ }
+
+protected:
+ RefPascalAST returnAST;
+private:
+ static const char* tokenNames[];
+#ifndef NO_STATIC_CONSTS
+ static const int NUM_TOKENS = 190;
+#else
+ enum {
+ NUM_TOKENS = 190
+ };
+#endif
+
+ static const unsigned long _tokenSet_0_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_0;
+ static const unsigned long _tokenSet_1_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_1;
+ static const unsigned long _tokenSet_2_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_2;
+ static const unsigned long _tokenSet_3_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_3;
+ static const unsigned long _tokenSet_4_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_4;
+ static const unsigned long _tokenSet_5_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_5;
+ static const unsigned long _tokenSet_6_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_6;
+ static const unsigned long _tokenSet_7_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_7;
+ static const unsigned long _tokenSet_8_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_8;
+ static const unsigned long _tokenSet_9_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_9;
+ static const unsigned long _tokenSet_10_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_10;
+ static const unsigned long _tokenSet_11_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_11;
+ static const unsigned long _tokenSet_12_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_12;
+ static const unsigned long _tokenSet_13_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_13;
+ static const unsigned long _tokenSet_14_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_14;
+ static const unsigned long _tokenSet_15_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_15;
+ static const unsigned long _tokenSet_16_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_16;
+ static const unsigned long _tokenSet_17_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_17;
+ static const unsigned long _tokenSet_18_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_18;
+ static const unsigned long _tokenSet_19_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_19;
+ static const unsigned long _tokenSet_20_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_20;
+ static const unsigned long _tokenSet_21_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_21;
+ static const unsigned long _tokenSet_22_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_22;
+ static const unsigned long _tokenSet_23_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_23;
+ static const unsigned long _tokenSet_24_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_24;
+ static const unsigned long _tokenSet_25_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_25;
+ static const unsigned long _tokenSet_26_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_26;
+ static const unsigned long _tokenSet_27_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_27;
+ static const unsigned long _tokenSet_28_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_28;
+ static const unsigned long _tokenSet_29_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_29;
+ static const unsigned long _tokenSet_30_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_30;
+ static const unsigned long _tokenSet_31_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_31;
+ static const unsigned long _tokenSet_32_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_32;
+ static const unsigned long _tokenSet_33_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_33;
+ static const unsigned long _tokenSet_34_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_34;
+ static const unsigned long _tokenSet_35_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_35;
+ static const unsigned long _tokenSet_36_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_36;
+ static const unsigned long _tokenSet_37_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_37;
+ static const unsigned long _tokenSet_38_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_38;
+ static const unsigned long _tokenSet_39_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_39;
+ static const unsigned long _tokenSet_40_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_40;
+ static const unsigned long _tokenSet_41_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_41;
+ static const unsigned long _tokenSet_42_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_42;
+ static const unsigned long _tokenSet_43_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_43;
+ static const unsigned long _tokenSet_44_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_44;
+ static const unsigned long _tokenSet_45_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_45;
+ static const unsigned long _tokenSet_46_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_46;
+ static const unsigned long _tokenSet_47_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_47;
+ static const unsigned long _tokenSet_48_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_48;
+ static const unsigned long _tokenSet_49_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_49;
+ static const unsigned long _tokenSet_50_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_50;
+ static const unsigned long _tokenSet_51_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_51;
+ static const unsigned long _tokenSet_52_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_52;
+ static const unsigned long _tokenSet_53_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_53;
+ static const unsigned long _tokenSet_54_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_54;
+ static const unsigned long _tokenSet_55_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_55;
+ static const unsigned long _tokenSet_56_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_56;
+ static const unsigned long _tokenSet_57_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_57;
+ static const unsigned long _tokenSet_58_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_58;
+ static const unsigned long _tokenSet_59_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_59;
+ static const unsigned long _tokenSet_60_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_60;
+ static const unsigned long _tokenSet_61_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_61;
+ static const unsigned long _tokenSet_62_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_62;
+ static const unsigned long _tokenSet_63_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_63;
+ static const unsigned long _tokenSet_64_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_64;
+ static const unsigned long _tokenSet_65_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_65;
+ static const unsigned long _tokenSet_66_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_66;
+ static const unsigned long _tokenSet_67_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_67;
+ static const unsigned long _tokenSet_68_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_68;
+ static const unsigned long _tokenSet_69_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_69;
+ static const unsigned long _tokenSet_70_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_70;
+ static const unsigned long _tokenSet_71_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_71;
+ static const unsigned long _tokenSet_72_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_72;
+ static const unsigned long _tokenSet_73_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_73;
+ static const unsigned long _tokenSet_74_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_74;
+ static const unsigned long _tokenSet_75_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_75;
+ static const unsigned long _tokenSet_76_data_[];
+ static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_76;
+};
+
+#endif /*INC_PascalParser_hpp_*/