parser
Class Parser

java.lang.Object
  extended by parser.Parser
All Implemented Interfaces:
ParserConstants

public class Parser
extends java.lang.Object
implements ParserConstants

A class for performing syntactic analysis


Field Summary
 Token jj_nt
          Next token.
 Token token
          Current token.
 ParserTokenManager token_source
          Generated Token Manager.
 
Fields inherited from interface parser.ParserConstants
AND, ASSIGN, BREAK, CLASS, COMMA, DECR, DEFAULT, DIGIT, DIVIDE, DOT, ELSE, EOF, EQ, EXTENDS, FALSE, FOR, GE, GT, IDENTIFIER, IF, INCR, INSTANCEOF, INTCONST, LBRACE, LE, LETTER, LPAREN, LSQBRACE, LT, MINUS, MODULUS, MULTI_LINE_COMMENT, NE, NEW, NOT, OR, PLUS, RBRACE, RETURN, RPAREN, RSQBRACE, SEMICOLON, SINGLE_LINE_COMMENT, STRINGCONST, TIMES, tokenImage, TRUE, WHILE
 
Constructor Summary
Parser(java.io.InputStream stream)
          Constructor with InputStream.
Parser(java.io.InputStream stream, java.lang.String encoding)
          Constructor with InputStream and supplied encoding
Parser(ParserTokenManager tm)
          Constructor with generated Token Manager.
Parser(java.io.Reader stream)
          Constructor.
Parser(java.lang.String[] filenames, boolean debug)
          Parser constructor
 
Method Summary
 void disable_tracing()
          Disable tracing.
 void enable_tracing()
          Enable tracing.
 ParseException generateParseException()
          Generate ParseException.
 Token getNextToken()
          Get the next Token.
 Token getToken(int index)
          Get the specific Token.
 Program Goal()
           
 Program parse()
          Parse the program
 Expr Parse11Expr()
           
 BlockStmt ParseBlockStmt()
           
 BreakStmt ParseBreakStmt()
           
 Class_ ParseClass()
           
 ConstBooleanExpr ParseConstBooleanExpr()
           
 ConstIntExpr ParseConstIntExpr()
           
 ConstStringExpr ParseConstStringExpr()
           
 DeclStmt ParseDeclStmt()
           
 Expr ParseExpr()
           
 Expr ParseExpr1()
           
 Expr ParseExpr10()
           
 Expr ParseExpr11()
           
 Expr ParseExpr2()
           
 Expr ParseExpr3()
           
 Expr ParseExpr4()
           
 Expr ParseExpr5()
           
 Expr ParseExpr6()
           
 Expr ParseExpr7()
           
 Expr ParseExpr8()
           
 Expr ParseExpr9()
           
 ExprList ParseExprList()
           
 ExprStmt ParseExprStmt()
           
 Field ParseField(java.lang.String type, java.lang.String name, int line)
           
 Formal ParseFormal()
           
 ForStmt ParseForStmt()
           
 java.lang.String ParseIdentifier()
           
 IfStmt ParseIfStmt()
           
 Member ParseMember()
           
 Member ParseMemberAux(java.lang.String type, java.lang.String name, int line)
           
 Method ParseMethod(java.lang.String returnType, java.lang.String name, int line)
           
 Expr ParseNewExpr()
           
 Expr ParseNewExprAux(java.lang.String id, int line)
           
 ReturnStmt ParseReturnStmt()
           
 Stmt ParseStmt()
           
 java.lang.String ParseType()
           
 Expr ParseVarExpr()
           
 WhileStmt ParseWhileStmt()
           
 void ReInit(java.io.InputStream stream)
          Reinitialise.
 void ReInit(java.io.InputStream stream, java.lang.String encoding)
          Reinitialise.
 void ReInit(ParserTokenManager tm)
          Reinitialise.
 void ReInit(java.io.Reader stream)
          Reinitialise.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

token_source

public ParserTokenManager token_source
Generated Token Manager.


token

public Token token
Current token.


jj_nt

public Token jj_nt
Next token.

Constructor Detail

Parser

public Parser(java.lang.String[] filenames,
              boolean debug)
Parser constructor

Parameters:
filenames - array of filenames for the source files
debug - flag indicating whether debugging is enabled

Parser

public Parser(java.io.InputStream stream)
Constructor with InputStream.


Parser

public Parser(java.io.InputStream stream,
              java.lang.String encoding)
Constructor with InputStream and supplied encoding


Parser

public Parser(java.io.Reader stream)
Constructor.


Parser

public Parser(ParserTokenManager tm)
Constructor with generated Token Manager.

Method Detail

parse

public Program parse()
Parse the program

Returns:
parsed program as an AST (abstract syntax tree)

Goal

public final Program Goal()
                   throws ParseException
Throws:
ParseException

ParseClass

public final Class_ ParseClass()
                        throws ParseException
Throws:
ParseException

ParseMember

public final Member ParseMember()
                         throws ParseException
Throws:
ParseException

ParseMemberAux

public final Member ParseMemberAux(java.lang.String type,
                                   java.lang.String name,
                                   int line)
                            throws ParseException
Throws:
ParseException

ParseField

public final Field ParseField(java.lang.String type,
                              java.lang.String name,
                              int line)
                       throws ParseException
Throws:
ParseException

ParseMethod

public final Method ParseMethod(java.lang.String returnType,
                                java.lang.String name,
                                int line)
                         throws ParseException
Throws:
ParseException

ParseFormal

public final Formal ParseFormal()
                         throws ParseException
Throws:
ParseException

ParseStmt

public final Stmt ParseStmt()
                     throws ParseException
Throws:
ParseException

ParseBlockStmt

public final BlockStmt ParseBlockStmt()
                               throws ParseException
Throws:
ParseException

ParseDeclStmt

public final DeclStmt ParseDeclStmt()
                             throws ParseException
Throws:
ParseException

ParseWhileStmt

public final WhileStmt ParseWhileStmt()
                               throws ParseException
Throws:
ParseException

ParseForStmt

public final ForStmt ParseForStmt()
                           throws ParseException
Throws:
ParseException

ParseBreakStmt

public final BreakStmt ParseBreakStmt()
                               throws ParseException
Throws:
ParseException

ParseIfStmt

public final IfStmt ParseIfStmt()
                         throws ParseException
Throws:
ParseException

ParseExprStmt

public final ExprStmt ParseExprStmt()
                             throws ParseException
Throws:
ParseException

ParseReturnStmt

public final ReturnStmt ParseReturnStmt()
                                 throws ParseException
Throws:
ParseException

ParseExpr

public final Expr ParseExpr()
                     throws ParseException
Throws:
ParseException

ParseExpr1

public final Expr ParseExpr1()
                      throws ParseException
Throws:
ParseException

ParseExpr2

public final Expr ParseExpr2()
                      throws ParseException
Throws:
ParseException

ParseExpr3

public final Expr ParseExpr3()
                      throws ParseException
Throws:
ParseException

ParseExpr4

public final Expr ParseExpr4()
                      throws ParseException
Throws:
ParseException

ParseExpr5

public final Expr ParseExpr5()
                      throws ParseException
Throws:
ParseException

ParseExpr6

public final Expr ParseExpr6()
                      throws ParseException
Throws:
ParseException

ParseExpr7

public final Expr ParseExpr7()
                      throws ParseException
Throws:
ParseException

ParseExpr8

public final Expr ParseExpr8()
                      throws ParseException
Throws:
ParseException

ParseExpr9

public final Expr ParseExpr9()
                      throws ParseException
Throws:
ParseException

ParseExpr10

public final Expr ParseExpr10()
                       throws ParseException
Throws:
ParseException

Parse11Expr

public final Expr Parse11Expr()
                       throws ParseException
Throws:
ParseException

ParseExpr11

public final Expr ParseExpr11()
                       throws ParseException
Throws:
ParseException

ParseNewExpr

public final Expr ParseNewExpr()
                        throws ParseException
Throws:
ParseException

ParseNewExprAux

public final Expr ParseNewExprAux(java.lang.String id,
                                  int line)
                           throws ParseException
Throws:
ParseException

ParseVarExpr

public final Expr ParseVarExpr()
                        throws ParseException
Throws:
ParseException

ParseConstBooleanExpr

public final ConstBooleanExpr ParseConstBooleanExpr()
                                             throws ParseException
Throws:
ParseException

ParseConstIntExpr

public final ConstIntExpr ParseConstIntExpr()
                                     throws ParseException
Throws:
ParseException

ParseConstStringExpr

public final ConstStringExpr ParseConstStringExpr()
                                           throws ParseException
Throws:
ParseException

ParseIdentifier

public final java.lang.String ParseIdentifier()
                                       throws ParseException
Throws:
ParseException

ParseType

public final java.lang.String ParseType()
                                 throws ParseException
Throws:
ParseException

ParseExprList

public final ExprList ParseExprList()
                             throws ParseException
Throws:
ParseException

ReInit

public void ReInit(java.io.InputStream stream)
Reinitialise.


ReInit

public void ReInit(java.io.InputStream stream,
                   java.lang.String encoding)
Reinitialise.


ReInit

public void ReInit(java.io.Reader stream)
Reinitialise.


ReInit

public void ReInit(ParserTokenManager tm)
Reinitialise.


getNextToken

public final Token getNextToken()
Get the next Token.


getToken

public final Token getToken(int index)
Get the specific Token.


generateParseException

public ParseException generateParseException()
Generate ParseException.


enable_tracing

public final void enable_tracing()
Enable tracing.


disable_tracing

public final void disable_tracing()
Disable tracing.