Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes

antlr.TreeParser Class Reference

Inheritance diagram for antlr.TreeParser:
PascalTreeParserSuper SymtabPhase

List of all members.

Public Member Functions

 TreeParser ()
AST getAST ()
ASTFactory getASTFactory ()
String getTokenName (int num)
String[] getTokenNames ()
void match (AST t, BitSet b) throws MismatchedTokenException
void reportError (RecognitionException ex)
void reportError (String s)
void reportWarning (String s)
void setASTFactory (ASTFactory f)
void setASTNodeType (String nodeType)
void setASTNodeClass (String nodeType)
void traceIndent ()
void traceIn (String rname, AST t)
void traceOut (String rname, AST t)

Static Public Member Functions

static void panic ()

Static Public Attributes

static ASTNULLType ASTNULL = new ASTNULLType()

Protected Member Functions

void match (AST t, int ttype) throws MismatchedTokenException
void matchNot (AST t, int ttype) throws MismatchedTokenException

Protected Attributes

AST _retTree
TreeParserSharedInputState inputState
String[] tokenNames
AST returnAST
ASTFactory astFactory = new ASTFactory()
int traceDepth = 0

Constructor & Destructor Documentation

antlr.TreeParser.TreeParser (  ) 

Member Function Documentation

AST antlr.TreeParser.getAST (  ) 

Get the AST return value squirreled away in the parser

References antlr.TreeParser.returnAST.

ASTFactory antlr.TreeParser.getASTFactory (  ) 
String antlr.TreeParser.getTokenName ( int  num  ) 
String [] antlr.TreeParser.getTokenNames (  ) 
void antlr.TreeParser.match ( AST  t,
int  ttype 
) throws MismatchedTokenException [protected]

References antlr.TreeParser.ASTNULL, antlr.TreeParser.getTokenNames(), and antlr.ASTNULLType.getType().

Referenced by SymtabPhase.arrayType(), PascalTreeParserSuper.arrayType(), SymtabPhase.assignmentStatement(), PascalTreeParserSuper.assignmentStatement(), SymtabPhase.block(), PascalTreeParserSuper.block(), SymtabPhase.caseListElement(), PascalTreeParserSuper.caseListElement(), SymtabPhase.caseStatement(), PascalTreeParserSuper.caseStatement(), SymtabPhase.constant(), PascalTreeParserSuper.constant(), SymtabPhase.constantDefinition(), PascalTreeParserSuper.constantDefinition(), SymtabPhase.constantDefinitionPart(), PascalTreeParserSuper.constantDefinitionPart(), SymtabPhase.constList(), PascalTreeParserSuper.constList(), SymtabPhase.element(), PascalTreeParserSuper.element(), SymtabPhase.expression(), PascalTreeParserSuper.expression(), SymtabPhase.fieldList(), PascalTreeParserSuper.fieldList(), SymtabPhase.fileType(), PascalTreeParserSuper.fileType(), SymtabPhase.forList(), PascalTreeParserSuper.forList(), SymtabPhase.formalParameterList(), PascalTreeParserSuper.formalParameterList(), SymtabPhase.formalParameterSection(), PascalTreeParserSuper.formalParameterSection(), SymtabPhase.forStatement(), PascalTreeParserSuper.forStatement(), SymtabPhase.functionDeclaration(), PascalTreeParserSuper.functionDeclaration(), SymtabPhase.functionDesignator(), PascalTreeParserSuper.functionDesignator(), SymtabPhase.gotoStatement(), PascalTreeParserSuper.gotoStatement(), SymtabPhase.identifier(), PascalTreeParserSuper.identifier(), SymtabPhase.identifierList(), PascalTreeParserSuper.identifierList(), SymtabPhase.ifStatement(), PascalTreeParserSuper.ifStatement(), SymtabPhase.label(), PascalTreeParserSuper.label(), SymtabPhase.labelDeclarationPart(), PascalTreeParserSuper.labelDeclarationPart(), SymtabPhase.parameterGroup(), PascalTreeParserSuper.parameterGroup(), SymtabPhase.parameterList(), PascalTreeParserSuper.parameterList(), SymtabPhase.procedureDeclaration(), PascalTreeParserSuper.procedureDeclaration(), SymtabPhase.procedureStatement(), PascalTreeParserSuper.procedureStatement(), SymtabPhase.programHeading(), PascalTreeParserSuper.programHeading(), SymtabPhase.recordSection(), PascalTreeParserSuper.recordSection(), SymtabPhase.recordType(), PascalTreeParserSuper.recordType(), SymtabPhase.repeatStatement(), PascalTreeParserSuper.repeatStatement(), SymtabPhase.set(), PascalTreeParserSuper.set(), SymtabPhase.setType(), PascalTreeParserSuper.setType(), SymtabPhase.statement(), PascalTreeParserSuper.statement(), SymtabPhase.statements(), PascalTreeParserSuper.statements(), SymtabPhase.string(), PascalTreeParserSuper.string(), SymtabPhase.structuredType(), PascalTreeParserSuper.structuredType(), SymtabPhase.tag(), PascalTreeParserSuper.tag(), SymtabPhase.type(), PascalTreeParserSuper.type(), SymtabPhase.typeDefinition(), PascalTreeParserSuper.typeDefinition(), SymtabPhase.typeDefinitionPart(), PascalTreeParserSuper.typeDefinitionPart(), SymtabPhase.typeIdentifier(), PascalTreeParserSuper.typeIdentifier(), SymtabPhase.typeList(), PascalTreeParserSuper.typeList(), SymtabPhase.usesUnitsPart(), PascalTreeParserSuper.usesUnitsPart(), SymtabPhase.variable(), PascalTreeParserSuper.variable(), SymtabPhase.variableDeclaration(), PascalTreeParserSuper.variableDeclaration(), SymtabPhase.variableDeclarationPart(), PascalTreeParserSuper.variableDeclarationPart(), SymtabPhase.variant(), PascalTreeParserSuper.variant(), SymtabPhase.variantPart(), PascalTreeParserSuper.variantPart(), SymtabPhase.whileStatement(), PascalTreeParserSuper.whileStatement(), SymtabPhase.withStatement(), and PascalTreeParserSuper.withStatement().

void antlr.TreeParser.match ( AST  t,
BitSet  b 
) throws MismatchedTokenException

Make sure current lookahead symbol matches the given set Throw an exception upon mismatch, which is catch by either the error handler or by the syntactic predicate.

References antlr.TreeParser.ASTNULL, and antlr.TreeParser.getTokenNames().

void antlr.TreeParser.matchNot ( AST  t,
int  ttype 
) throws MismatchedTokenException [protected]
static void antlr.TreeParser.panic (  )  [static]
Deprecated:
as of 2.7.2. This method calls System.exit() and writes directly to stderr, which is usually not appropriate when a parser is embedded into a larger application. Since the method is static, it cannot be overridden to avoid these problems. ANTLR no longer uses this method internally or in generated code.
void antlr.TreeParser.reportError ( RecognitionException  ex  ) 

Parser error-reporting function can be overridden in subclass

References antlr.RecognitionException.toString().

Referenced by SymtabPhase.actualParameter(), PascalTreeParserSuper.actualParameter(), SymtabPhase.arrayType(), PascalTreeParserSuper.arrayType(), SymtabPhase.assignmentStatement(), PascalTreeParserSuper.assignmentStatement(), SymtabPhase.block(), PascalTreeParserSuper.block(), SymtabPhase.caseListElement(), PascalTreeParserSuper.caseListElement(), SymtabPhase.caseStatement(), PascalTreeParserSuper.caseStatement(), SymtabPhase.compoundStatement(), PascalTreeParserSuper.compoundStatement(), SymtabPhase.conditionalStatement(), PascalTreeParserSuper.conditionalStatement(), SymtabPhase.constant(), PascalTreeParserSuper.constant(), SymtabPhase.constantDefinition(), PascalTreeParserSuper.constantDefinition(), SymtabPhase.constantDefinitionPart(), PascalTreeParserSuper.constantDefinitionPart(), SymtabPhase.constList(), PascalTreeParserSuper.constList(), SymtabPhase.element(), PascalTreeParserSuper.element(), SymtabPhase.expression(), PascalTreeParserSuper.expression(), SymtabPhase.fieldList(), PascalTreeParserSuper.fieldList(), SymtabPhase.fileType(), PascalTreeParserSuper.fileType(), SymtabPhase.finalValue(), PascalTreeParserSuper.finalValue(), SymtabPhase.fixedPart(), PascalTreeParserSuper.fixedPart(), SymtabPhase.forList(), PascalTreeParserSuper.forList(), SymtabPhase.formalParameterList(), PascalTreeParserSuper.formalParameterList(), SymtabPhase.formalParameterSection(), PascalTreeParserSuper.formalParameterSection(), SymtabPhase.forStatement(), PascalTreeParserSuper.forStatement(), SymtabPhase.functionDeclaration(), PascalTreeParserSuper.functionDeclaration(), SymtabPhase.functionDesignator(), PascalTreeParserSuper.functionDesignator(), SymtabPhase.gotoStatement(), PascalTreeParserSuper.gotoStatement(), SymtabPhase.identifier(), PascalTreeParserSuper.identifier(), SymtabPhase.identifierList(), PascalTreeParserSuper.identifierList(), SymtabPhase.ifStatement(), PascalTreeParserSuper.ifStatement(), SymtabPhase.initialValue(), PascalTreeParserSuper.initialValue(), SymtabPhase.label(), PascalTreeParserSuper.label(), SymtabPhase.labelDeclarationPart(), PascalTreeParserSuper.labelDeclarationPart(), SymtabPhase.parameterGroup(), PascalTreeParserSuper.parameterGroup(), SymtabPhase.parameterList(), PascalTreeParserSuper.parameterList(), SymtabPhase.procedureAndFunctionDeclarationPart(), PascalTreeParserSuper.procedureAndFunctionDeclarationPart(), SymtabPhase.procedureDeclaration(), PascalTreeParserSuper.procedureDeclaration(), SymtabPhase.procedureOrFunctionDeclaration(), PascalTreeParserSuper.procedureOrFunctionDeclaration(), SymtabPhase.procedureStatement(), PascalTreeParserSuper.procedureStatement(), SymtabPhase.program(), PascalTreeParserSuper.program(), SymtabPhase.programHeading(), PascalTreeParserSuper.programHeading(), SymtabPhase.recordSection(), PascalTreeParserSuper.recordSection(), SymtabPhase.recordType(), PascalTreeParserSuper.recordType(), SymtabPhase.recordVariableList(), PascalTreeParserSuper.recordVariableList(), SymtabPhase.repeatStatement(), PascalTreeParserSuper.repeatStatement(), SymtabPhase.repetetiveStatement(), PascalTreeParserSuper.repetetiveStatement(), SymtabPhase.resultType(), PascalTreeParserSuper.resultType(), SymtabPhase.set(), PascalTreeParserSuper.set(), SymtabPhase.setType(), PascalTreeParserSuper.setType(), SymtabPhase.simpleStatement(), PascalTreeParserSuper.simpleStatement(), SymtabPhase.statement(), PascalTreeParserSuper.statement(), SymtabPhase.statements(), PascalTreeParserSuper.statements(), SymtabPhase.string(), PascalTreeParserSuper.string(), SymtabPhase.structuredStatement(), PascalTreeParserSuper.structuredStatement(), SymtabPhase.structuredType(), PascalTreeParserSuper.structuredType(), SymtabPhase.tag(), PascalTreeParserSuper.tag(), SymtabPhase.type(), PascalTreeParserSuper.type(), SymtabPhase.typeDefinition(), PascalTreeParserSuper.typeDefinition(), SymtabPhase.typeDefinitionPart(), PascalTreeParserSuper.typeDefinitionPart(), SymtabPhase.typeIdentifier(), PascalTreeParserSuper.typeIdentifier(), SymtabPhase.typeList(), PascalTreeParserSuper.typeList(), SymtabPhase.unlabelledStatement(), PascalTreeParserSuper.unlabelledStatement(), SymtabPhase.unpackedStructuredType(), PascalTreeParserSuper.unpackedStructuredType(), SymtabPhase.usesUnitsPart(), PascalTreeParserSuper.usesUnitsPart(), SymtabPhase.variable(), PascalTreeParserSuper.variable(), SymtabPhase.variableDeclaration(), PascalTreeParserSuper.variableDeclaration(), SymtabPhase.variableDeclarationPart(), PascalTreeParserSuper.variableDeclarationPart(), SymtabPhase.variant(), PascalTreeParserSuper.variant(), SymtabPhase.variantPart(), PascalTreeParserSuper.variantPart(), SymtabPhase.whileStatement(), PascalTreeParserSuper.whileStatement(), SymtabPhase.withStatement(), and PascalTreeParserSuper.withStatement().

void antlr.TreeParser.reportError ( String  s  ) 

Parser error-reporting function can be overridden in subclass

void antlr.TreeParser.reportWarning ( String  s  ) 

Parser warning-reporting function can be overridden in subclass

void antlr.TreeParser.setASTFactory ( ASTFactory  f  ) 

Specify an object with support code (shared by Parser and TreeParser. Normally, the programmer does not play with this, using setASTNodeType instead.

References antlr.TreeParser.astFactory.

void antlr.TreeParser.setASTNodeClass ( String  nodeType  ) 

Specify the type of node to create during tree building

References antlr.TreeParser.astFactory, and antlr.ASTFactory.setASTNodeType().

Referenced by PascalParser.parseFile(), and antlr.TreeParser.setASTNodeType().

void antlr.TreeParser.setASTNodeType ( String  nodeType  ) 

Specify the type of node to create during tree building.

Deprecated:
since 2.7.2

References antlr.TreeParser.setASTNodeClass().

void antlr.TreeParser.traceIndent (  ) 

Member Data Documentation

Where did this rule leave off parsing; avoids a return parameter

Referenced by SymtabPhase.actualParameter(), PascalTreeParserSuper.actualParameter(), SymtabPhase.arrayType(), PascalTreeParserSuper.arrayType(), SymtabPhase.assignmentStatement(), PascalTreeParserSuper.assignmentStatement(), SymtabPhase.block(), PascalTreeParserSuper.block(), SymtabPhase.caseListElement(), PascalTreeParserSuper.caseListElement(), SymtabPhase.caseStatement(), PascalTreeParserSuper.caseStatement(), SymtabPhase.compoundStatement(), PascalTreeParserSuper.compoundStatement(), SymtabPhase.conditionalStatement(), PascalTreeParserSuper.conditionalStatement(), SymtabPhase.constant(), PascalTreeParserSuper.constant(), SymtabPhase.constantDefinition(), PascalTreeParserSuper.constantDefinition(), SymtabPhase.constantDefinitionPart(), PascalTreeParserSuper.constantDefinitionPart(), SymtabPhase.constList(), PascalTreeParserSuper.constList(), SymtabPhase.element(), PascalTreeParserSuper.element(), SymtabPhase.expression(), PascalTreeParserSuper.expression(), SymtabPhase.fieldList(), PascalTreeParserSuper.fieldList(), SymtabPhase.fileType(), PascalTreeParserSuper.fileType(), SymtabPhase.finalValue(), PascalTreeParserSuper.finalValue(), SymtabPhase.fixedPart(), PascalTreeParserSuper.fixedPart(), SymtabPhase.forList(), PascalTreeParserSuper.forList(), SymtabPhase.formalParameterList(), PascalTreeParserSuper.formalParameterList(), SymtabPhase.formalParameterSection(), PascalTreeParserSuper.formalParameterSection(), SymtabPhase.forStatement(), PascalTreeParserSuper.forStatement(), SymtabPhase.functionDeclaration(), PascalTreeParserSuper.functionDeclaration(), SymtabPhase.functionDesignator(), PascalTreeParserSuper.functionDesignator(), SymtabPhase.gotoStatement(), PascalTreeParserSuper.gotoStatement(), SymtabPhase.identifier(), PascalTreeParserSuper.identifier(), SymtabPhase.identifierList(), PascalTreeParserSuper.identifierList(), SymtabPhase.ifStatement(), PascalTreeParserSuper.ifStatement(), SymtabPhase.initialValue(), PascalTreeParserSuper.initialValue(), SymtabPhase.label(), PascalTreeParserSuper.label(), SymtabPhase.labelDeclarationPart(), PascalTreeParserSuper.labelDeclarationPart(), SymtabPhase.parameterGroup(), PascalTreeParserSuper.parameterGroup(), SymtabPhase.parameterList(), PascalTreeParserSuper.parameterList(), SymtabPhase.procedureAndFunctionDeclarationPart(), PascalTreeParserSuper.procedureAndFunctionDeclarationPart(), SymtabPhase.procedureDeclaration(), PascalTreeParserSuper.procedureDeclaration(), SymtabPhase.procedureOrFunctionDeclaration(), PascalTreeParserSuper.procedureOrFunctionDeclaration(), SymtabPhase.procedureStatement(), PascalTreeParserSuper.procedureStatement(), SymtabPhase.program(), PascalTreeParserSuper.program(), SymtabPhase.programHeading(), PascalTreeParserSuper.programHeading(), SymtabPhase.recordSection(), PascalTreeParserSuper.recordSection(), SymtabPhase.recordType(), PascalTreeParserSuper.recordType(), SymtabPhase.recordVariableList(), PascalTreeParserSuper.recordVariableList(), SymtabPhase.repeatStatement(), PascalTreeParserSuper.repeatStatement(), SymtabPhase.repetetiveStatement(), PascalTreeParserSuper.repetetiveStatement(), SymtabPhase.resultType(), PascalTreeParserSuper.resultType(), SymtabPhase.set(), PascalTreeParserSuper.set(), SymtabPhase.setType(), PascalTreeParserSuper.setType(), SymtabPhase.simpleStatement(), PascalTreeParserSuper.simpleStatement(), SymtabPhase.statement(), PascalTreeParserSuper.statement(), SymtabPhase.statements(), PascalTreeParserSuper.statements(), SymtabPhase.string(), PascalTreeParserSuper.string(), SymtabPhase.structuredStatement(), PascalTreeParserSuper.structuredStatement(), SymtabPhase.structuredType(), PascalTreeParserSuper.structuredType(), SymtabPhase.tag(), PascalTreeParserSuper.tag(), SymtabPhase.type(), PascalTreeParserSuper.type(), SymtabPhase.typeDefinition(), PascalTreeParserSuper.typeDefinition(), SymtabPhase.typeDefinitionPart(), PascalTreeParserSuper.typeDefinitionPart(), SymtabPhase.typeIdentifier(), PascalTreeParserSuper.typeIdentifier(), SymtabPhase.typeList(), PascalTreeParserSuper.typeList(), SymtabPhase.unlabelledStatement(), PascalTreeParserSuper.unlabelledStatement(), SymtabPhase.unpackedStructuredType(), PascalTreeParserSuper.unpackedStructuredType(), SymtabPhase.usesUnitsPart(), PascalTreeParserSuper.usesUnitsPart(), SymtabPhase.variable(), PascalTreeParserSuper.variable(), SymtabPhase.variableDeclaration(), PascalTreeParserSuper.variableDeclaration(), SymtabPhase.variableDeclarationPart(), PascalTreeParserSuper.variableDeclarationPart(), SymtabPhase.variant(), PascalTreeParserSuper.variant(), SymtabPhase.variantPart(), PascalTreeParserSuper.variantPart(), SymtabPhase.whileStatement(), PascalTreeParserSuper.whileStatement(), SymtabPhase.withStatement(), and PascalTreeParserSuper.withStatement().

AST support code; parser and treeparser delegate to this object

Referenced by antlr.TreeParser.getASTFactory(), antlr.TreeParser.setASTFactory(), and antlr.TreeParser.setASTNodeClass().

The AST Null object; the parsing cursor is set to this when it is found to be null. This way, we can test the token type of a node without having to have tests for null everywhere.

Referenced by SymtabPhase.block(), PascalTreeParserSuper.block(), SymtabPhase.caseStatement(), PascalTreeParserSuper.caseStatement(), SymtabPhase.conditionalStatement(), PascalTreeParserSuper.conditionalStatement(), SymtabPhase.constant(), PascalTreeParserSuper.constant(), SymtabPhase.constantDefinition(), SymtabPhase.constantDefinitionPart(), PascalTreeParserSuper.constantDefinitionPart(), SymtabPhase.constList(), PascalTreeParserSuper.constList(), SymtabPhase.element(), PascalTreeParserSuper.element(), SymtabPhase.expression(), PascalTreeParserSuper.expression(), SymtabPhase.fieldList(), PascalTreeParserSuper.fieldList(), SymtabPhase.fileType(), PascalTreeParserSuper.fileType(), SymtabPhase.fixedPart(), PascalTreeParserSuper.fixedPart(), SymtabPhase.forList(), PascalTreeParserSuper.forList(), SymtabPhase.formalParameterList(), PascalTreeParserSuper.formalParameterList(), SymtabPhase.formalParameterSection(), PascalTreeParserSuper.formalParameterSection(), SymtabPhase.functionDeclaration(), PascalTreeParserSuper.functionDeclaration(), SymtabPhase.functionDesignator(), PascalTreeParserSuper.functionDesignator(), SymtabPhase.identifierList(), PascalTreeParserSuper.identifierList(), SymtabPhase.ifStatement(), PascalTreeParserSuper.ifStatement(), SymtabPhase.labelDeclarationPart(), PascalTreeParserSuper.labelDeclarationPart(), antlr.TreeParser.match(), antlr.TreeParser.matchNot(), SymtabPhase.parameterGroup(), SymtabPhase.parameterList(), PascalTreeParserSuper.parameterList(), SymtabPhase.procedureDeclaration(), PascalTreeParserSuper.procedureDeclaration(), SymtabPhase.procedureOrFunctionDeclaration(), PascalTreeParserSuper.procedureOrFunctionDeclaration(), SymtabPhase.procedureStatement(), PascalTreeParserSuper.procedureStatement(), SymtabPhase.programHeading(), PascalTreeParserSuper.programHeading(), SymtabPhase.recordVariableList(), PascalTreeParserSuper.recordVariableList(), SymtabPhase.repetetiveStatement(), PascalTreeParserSuper.repetetiveStatement(), SymtabPhase.set(), PascalTreeParserSuper.set(), SymtabPhase.simpleStatement(), PascalTreeParserSuper.simpleStatement(), SymtabPhase.statement(), PascalTreeParserSuper.statement(), SymtabPhase.statements(), PascalTreeParserSuper.statements(), SymtabPhase.structuredStatement(), PascalTreeParserSuper.structuredStatement(), SymtabPhase.structuredType(), PascalTreeParserSuper.structuredType(), SymtabPhase.tag(), PascalTreeParserSuper.tag(), SymtabPhase.type(), PascalTreeParserSuper.type(), SymtabPhase.typeDefinition(), PascalTreeParserSuper.typeDefinition(), SymtabPhase.typeDefinitionPart(), PascalTreeParserSuper.typeDefinitionPart(), SymtabPhase.typeIdentifier(), PascalTreeParserSuper.typeIdentifier(), SymtabPhase.typeList(), PascalTreeParserSuper.typeList(), SymtabPhase.unlabelledStatement(), PascalTreeParserSuper.unlabelledStatement(), SymtabPhase.unpackedStructuredType(), PascalTreeParserSuper.unpackedStructuredType(), SymtabPhase.usesUnitsPart(), SymtabPhase.variable(), PascalTreeParserSuper.variable(), SymtabPhase.variableDeclaration(), SymtabPhase.variableDeclarationPart(), PascalTreeParserSuper.variableDeclarationPart(), SymtabPhase.variantPart(), and PascalTreeParserSuper.variantPart().

guessing nesting level; guessing==0 implies not guessing Nesting level of registered handlers

Referenced by antlr.TreeParser.traceIn(), antlr.TreeParser.traceOut(), and antlr.TreeParser.TreeParser().

AST return value for a rule is squirreled away here

Referenced by antlr.TreeParser.getAST().

int antlr.TreeParser.traceDepth = 0 [protected]

Used to keep track of indentdepth for traceIn/Out

Referenced by antlr.TreeParser.traceIn(), antlr.TreeParser.traceIndent(), and antlr.TreeParser.traceOut().


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Enumerations Properties