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

PascalParser Class Reference

Inheritance diagram for PascalParser:
antlr.LLkParser PascalTokenTypes antlr.Parser

List of all members.

Public Member Functions

void doTreeAction (String f, AST t, String[] tokenNames)
 PascalParser (TokenBuffer tokenBuf)
 PascalParser (TokenStream lexer)
 PascalParser (ParserSharedInputState state)
final void program () throws RecognitionException, TokenStreamException
final void programHeading () throws RecognitionException, TokenStreamException
final void block () throws RecognitionException, TokenStreamException
final void identifier () throws RecognitionException, TokenStreamException
final void identifierList () throws RecognitionException, TokenStreamException
final void labelDeclarationPart () throws RecognitionException, TokenStreamException
final void constantDefinitionPart () throws RecognitionException, TokenStreamException
final void typeDefinitionPart () throws RecognitionException, TokenStreamException
final void variableDeclarationPart () throws RecognitionException, TokenStreamException
final void procedureAndFunctionDeclarationPart () throws RecognitionException, TokenStreamException
final void usesUnitsPart () throws RecognitionException, TokenStreamException
final void compoundStatement () throws RecognitionException, TokenStreamException
final void label () throws RecognitionException, TokenStreamException
final void unsignedInteger () throws RecognitionException, TokenStreamException
final void constantDefinition () throws RecognitionException, TokenStreamException
final void constant () throws RecognitionException, TokenStreamException
final void constantChr () throws RecognitionException, TokenStreamException
final void unsignedNumber () throws RecognitionException, TokenStreamException
final void sign () throws RecognitionException, TokenStreamException
final void string () throws RecognitionException, TokenStreamException
final void unsignedReal () throws RecognitionException, TokenStreamException
final void typeDefinition () throws RecognitionException, TokenStreamException
final void type () throws RecognitionException, TokenStreamException
final void functionType () throws RecognitionException, TokenStreamException
final void procedureType () throws RecognitionException, TokenStreamException
final void formalParameterList () throws RecognitionException, TokenStreamException
final void resultType () throws RecognitionException, TokenStreamException
final void simpleType () throws RecognitionException, TokenStreamException
final void structuredType () throws RecognitionException, TokenStreamException
final void pointerType () throws RecognitionException, TokenStreamException
final void scalarType () throws RecognitionException, TokenStreamException
final void subrangeType () throws RecognitionException, TokenStreamException
final void typeIdentifier () throws RecognitionException, TokenStreamException
final void stringtype () throws RecognitionException, TokenStreamException
final void unpackedStructuredType () throws RecognitionException, TokenStreamException
final void arrayType () throws RecognitionException, TokenStreamException
final void recordType () throws RecognitionException, TokenStreamException
final void setType () throws RecognitionException, TokenStreamException
final void fileType () throws RecognitionException, TokenStreamException
final void typeList () throws RecognitionException, TokenStreamException
final void componentType () throws RecognitionException, TokenStreamException
final void indexType () throws RecognitionException, TokenStreamException
final void fieldList () throws RecognitionException, TokenStreamException
final void fixedPart () throws RecognitionException, TokenStreamException
final void variantPart () throws RecognitionException, TokenStreamException
final void recordSection () throws RecognitionException, TokenStreamException
final void tag () throws RecognitionException, TokenStreamException
final void variant () throws RecognitionException, TokenStreamException
final void constList () throws RecognitionException, TokenStreamException
final void baseType () throws RecognitionException, TokenStreamException
final void variableDeclaration () throws RecognitionException, TokenStreamException
final void procedureOrFunctionDeclaration () throws RecognitionException, TokenStreamException
final void procedureDeclaration () throws RecognitionException, TokenStreamException
final void functionDeclaration () throws RecognitionException, TokenStreamException
final void formalParameterSection () throws RecognitionException, TokenStreamException
final void parameterGroup () throws RecognitionException, TokenStreamException
final void statement () throws RecognitionException, TokenStreamException
final void unlabelledStatement () throws RecognitionException, TokenStreamException
final void simpleStatement () throws RecognitionException, TokenStreamException
final void structuredStatement () throws RecognitionException, TokenStreamException
final void assignmentStatement () throws RecognitionException, TokenStreamException
final void procedureStatement () throws RecognitionException, TokenStreamException
final void gotoStatement () throws RecognitionException, TokenStreamException
final void emptyStatement () throws RecognitionException, TokenStreamException
final void variable () throws RecognitionException, TokenStreamException
final void expression () throws RecognitionException, TokenStreamException
final void simpleExpression () throws RecognitionException, TokenStreamException
final void term () throws RecognitionException, TokenStreamException
final void signedFactor () throws RecognitionException, TokenStreamException
final void factor () throws RecognitionException, TokenStreamException
final void functionDesignator () throws RecognitionException, TokenStreamException
final void unsignedConstant () throws RecognitionException, TokenStreamException
final void set () throws RecognitionException, TokenStreamException
final void parameterList () throws RecognitionException, TokenStreamException
final void actualParameter () throws RecognitionException, TokenStreamException
final void elementList () throws RecognitionException, TokenStreamException
final void element () throws RecognitionException, TokenStreamException
final void empty () throws RecognitionException, TokenStreamException
final void conditionalStatement () throws RecognitionException, TokenStreamException
final void repetetiveStatement () throws RecognitionException, TokenStreamException
final void withStatement () throws RecognitionException, TokenStreamException
final void statements () throws RecognitionException, TokenStreamException
final void ifStatement () throws RecognitionException, TokenStreamException
final void caseStatement () throws RecognitionException, TokenStreamException
final void caseListElement () throws RecognitionException, TokenStreamException
final void whileStatement () throws RecognitionException, TokenStreamException
final void repeatStatement () throws RecognitionException, TokenStreamException
final void forStatement () throws RecognitionException, TokenStreamException
final void forList () throws RecognitionException, TokenStreamException
final void initialValue () throws RecognitionException, TokenStreamException
final void finalValue () throws RecognitionException, TokenStreamException
final void recordVariableList () throws RecognitionException, TokenStreamException

Static Public Member Functions

static void doFile (File f) throws Exception
static void parseFile (String f, InputStream s) throws Exception
static void main (String[] args)

Static Public Attributes

static SymbolTable symbolTable = new SymbolTable()
static String translateFilePath
static String translateFileName
static String currentFileName
static String oldtranslateFileName
static final String[] _tokenNames
static final BitSet _tokenSet_0 = new BitSet(mk_tokenSet_0())
static final BitSet _tokenSet_1 = new BitSet(mk_tokenSet_1())
static final BitSet _tokenSet_2 = new BitSet(mk_tokenSet_2())
static final BitSet _tokenSet_3 = new BitSet(mk_tokenSet_3())
static final BitSet _tokenSet_4 = new BitSet(mk_tokenSet_4())
static final BitSet _tokenSet_5 = new BitSet(mk_tokenSet_5())
static final BitSet _tokenSet_6 = new BitSet(mk_tokenSet_6())
static final BitSet _tokenSet_7 = new BitSet(mk_tokenSet_7())
static final BitSet _tokenSet_8 = new BitSet(mk_tokenSet_8())
static final BitSet _tokenSet_9 = new BitSet(mk_tokenSet_9())
static final BitSet _tokenSet_10 = new BitSet(mk_tokenSet_10())
static final BitSet _tokenSet_11 = new BitSet(mk_tokenSet_11())
static final BitSet _tokenSet_12 = new BitSet(mk_tokenSet_12())

Protected Member Functions

 PascalParser (TokenBuffer tokenBuf, int k)
 PascalParser (TokenStream lexer, int k)
void buildTokenTypeASTClassMap ()

Static Package Attributes

static boolean showTree = true

Constructor & Destructor Documentation

PascalParser.PascalParser ( TokenBuffer  tokenBuf,
int  k 
) [protected]
PascalParser.PascalParser ( TokenBuffer  tokenBuf  ) 
PascalParser.PascalParser ( TokenStream  lexer  ) 

Member Function Documentation

void PascalParser.buildTokenTypeASTClassMap (  )  [protected]
static void PascalParser.doFile ( File  f  )  throws Exception [static]
void PascalParser.doTreeAction ( String  f,
AST  t,
String[]  tokenNames 
)
final void PascalParser.empty (  )  throws RecognitionException, TokenStreamException
final void PascalParser.emptyStatement (  )  throws RecognitionException, TokenStreamException
static void PascalParser.main ( String[]  args  )  [static]

References doFile(), and showTree.

static void PascalParser.parseFile ( String  f,
InputStream  s 
) throws Exception [static]
final void PascalParser.variable (  )  throws RecognitionException, TokenStreamException

A variable is an id with a suffix and can look like: id id[expr,...] id.id id.id[expr,...] id^ id^.id id^.id[expr,...] ...

LL has a really hard time with this construct as it's naturally left-recursive. We have to turn into a simple loop rather than recursive loop, hence, the suffixes. I keep in the same rule for easy tree construction.

References antlr.ASTFactory.addASTChild(), antlr.Parser.astFactory, PascalTokenTypes.AT, PascalTokenTypes.COMMA, antlr.ASTFactory.create(), PascalTokenTypes.DOT, expression(), antlr.Parser.getFilename(), PascalTokenTypes.IDENT, identifier(), antlr.LLkParser.LA(), PascalTokenTypes.LBRACK, PascalTokenTypes.LBRACK2, PascalTokenTypes.LT, antlr.ASTFactory.makeASTRoot(), antlr.Parser.match(), PascalTokenTypes.POINTER, PascalTokenTypes.RBRACK, PascalTokenTypes.RBRACK2, antlr.Parser.returnAST, and antlr.ASTPair.root.

Referenced by assignmentStatement(), factor(), and recordVariableList().


Member Data Documentation

final String [] PascalParser._tokenNames [static]

Referenced by PascalParser().

final BitSet PascalParser._tokenSet_0 = new BitSet(mk_tokenSet_0()) [static]
final BitSet PascalParser._tokenSet_1 = new BitSet(mk_tokenSet_1()) [static]

Referenced by simpleType().

final BitSet PascalParser._tokenSet_10 = new BitSet(mk_tokenSet_10()) [static]

Referenced by ifStatement().

final BitSet PascalParser._tokenSet_11 = new BitSet(mk_tokenSet_11()) [static]

Referenced by ifStatement().

final BitSet PascalParser._tokenSet_12 = new BitSet(mk_tokenSet_12()) [static]

Referenced by ifStatement().

final BitSet PascalParser._tokenSet_2 = new BitSet(mk_tokenSet_2()) [static]

Referenced by simpleType(), and tag().

final BitSet PascalParser._tokenSet_3 = new BitSet(mk_tokenSet_3()) [static]

Referenced by simpleType().

final BitSet PascalParser._tokenSet_4 = new BitSet(mk_tokenSet_4()) [static]

Referenced by fileType(), and variantPart().

final BitSet PascalParser._tokenSet_5 = new BitSet(mk_tokenSet_5()) [static]

Referenced by simpleStatement().

final BitSet PascalParser._tokenSet_6 = new BitSet(mk_tokenSet_6()) [static]

Referenced by simpleStatement().

final BitSet PascalParser._tokenSet_7 = new BitSet(mk_tokenSet_7()) [static]

Referenced by expression().

final BitSet PascalParser._tokenSet_8 = new BitSet(mk_tokenSet_8()) [static]

Referenced by simpleExpression().

final BitSet PascalParser._tokenSet_9 = new BitSet(mk_tokenSet_9()) [static]

Referenced by factor().

Referenced by doFile(), and parseFile().

boolean PascalParser.showTree = true [static, package]

Referenced by doTreeAction(), and main().

Overall symbol table for translator

Referenced by doFile().

Referenced by doFile().


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