edu.wpi.ebob.model.parser
Class Parser

java.lang.Object
  extended by edu.wpi.ebob.model.parser.Parser

public class Parser
extends java.lang.Object

Author:
Liam Morley

Field Summary
private  ObjectBench bench
           
private  IClassManager cm
           
private  Token ct
           
private  java.util.Stack stack
           
private  java.util.Iterator tokens
           
 
Constructor Summary
Parser()
           
 
Method Summary
private  void additiveExpr()
          AdditiveExpr = MultExpr (AddOp MultExpr)*
private  void argList()
          ArgList = AdditiveExpr (, AdditiveExpr)*
private  void assertCondition(boolean condition, java.lang.String msg)
           
private  void assertCondition(TokenType expectedTokenType)
           
private  IObject getObject(Token token)
           
private  void multiplicativeExpr()
          MultExpr = UnaryExpr (MultOp UnaryExpr)*
private  void newExpr()
          NewExpr = new (Type LPAR ArgList RPAR | Type[] { ArgList })
private  Token nextToken()
           
 IObject parse(java.util.Collection tokens)
           
private  void performInfixOp(TokenType type)
           
private  void performPrefixOp(TokenType type)
           
private  void postfixExpr()
          PostfixExpr = PrimaryExpr (.
private  void primaryExpr()
          PrimaryExpr = IdentPrimary | Constant | true | false | null | NewExpr | LPAR AdditiveExpr RPAR
private  void unaryExpr()
          UnaryExpr = (BoolOp | AddOp)? PostfixExpr
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ct

private Token ct

tokens

private java.util.Iterator tokens

stack

private java.util.Stack stack

cm

private IClassManager cm

bench

private ObjectBench bench
Constructor Detail

Parser

public Parser()
Method Detail

parse

public IObject parse(java.util.Collection tokens)
              throws ParserException
Throws:
ParserException

additiveExpr

private void additiveExpr()
                   throws ParserException
AdditiveExpr = MultExpr (AddOp MultExpr)*

Throws:
ParserException

multiplicativeExpr

private void multiplicativeExpr()
                         throws ParserException
MultExpr = UnaryExpr (MultOp UnaryExpr)*

Throws:
ParserException

unaryExpr

private void unaryExpr()
                throws ParserException
UnaryExpr = (BoolOp | AddOp)? PostfixExpr

Throws:
ParserException

postfixExpr

private void postfixExpr()
                  throws ParserException
PostfixExpr = PrimaryExpr (. Identifier ( LPAR ArgList RPAR)?)? | NewExpr

Throws:
ParserException

primaryExpr

private void primaryExpr()
                  throws ParserException
PrimaryExpr = IdentPrimary | Constant | true | false | null | NewExpr | LPAR AdditiveExpr RPAR

Throws:
ParserException

newExpr

private void newExpr()
              throws ParserException
NewExpr = new (Type LPAR ArgList RPAR | Type[] { ArgList })

Throws:
ParserException

argList

private void argList()
              throws ParserException
ArgList = AdditiveExpr (, AdditiveExpr)*

Throws:
ParserException

nextToken

private Token nextToken()

assertCondition

private void assertCondition(boolean condition,
                             java.lang.String msg)
                      throws ParserException
Throws:
ParserException

assertCondition

private void assertCondition(TokenType expectedTokenType)
                      throws ParserException
Throws:
ParserException

getObject

private IObject getObject(Token token)
                   throws ParserException
Throws:
ParserException

performInfixOp

private void performInfixOp(TokenType type)
                     throws ParserException
Throws:
ParserException

performPrefixOp

private void performPrefixOp(TokenType type)
                      throws ParserException
Throws:
ParserException