gnu.ecmascript

Class Parser


public class Parser
extends java.lang.Object

Field Summary

static Expression[]
emptyArgs
static Expression
eofExpr
int
errors

Constructor Summary

Parser(InPort port)

Method Summary

Expression
buildLoop(Expression init, Expression test, Expression incr, Expression body)
String
getIdentifier()
void
getSemicolon()
Skip an explicit or implicit semicolon.
Object
getToken()
static void
main(String[] args)
Expression
makeCallExpression(Expression exp, Expression[] args)
Expression
makeNewExpression(Expression exp, Expression[] args)
Expression
makePropertyAccessor(Expression exp, Expression prop)
Expression[]
parseArguments()
Expression
parseAssignmentExpression()
Expression
parseBinaryExpression(int prio)
Expression
parseBlock()
Expression
parseConditionalExpression()
Expression
parseExpression()
Expression
parseFunctionDefinition()
Expression
parseIfStatement()
Expression
parseLeftHandSideExpression()
Expression
parsePostfixExpression()
Expression
parsePrimaryExpression()
Expression
parseStatement()
Expression
parseUnaryExpression()
Expression
parseWhileStatement()
Object
peekToken()
Return the next non-whitespace token from the lexer.
Object
peekTokenOrLine()
Return the next token from the lexer.
void
skipToken()
Expression
syntaxError(String message)

Field Details

emptyArgs

public static final Expression[] emptyArgs

eofExpr

public static Expression eofExpr

errors

public int errors

Constructor Details

Parser

public Parser(InPort port)

Method Details

buildLoop

public Expression buildLoop(Expression init,
                            Expression test,
                            Expression incr,
                            Expression body)

getIdentifier

public String getIdentifier()
            throws java.io.IOException,
                   SyntaxException

getSemicolon

public void getSemicolon()
            throws java.io.IOException,
                   SyntaxException
Skip an explicit or implicit semicolon.

getToken

public Object getToken()
            throws java.io.IOException,
                   SyntaxException

main

public static void main(String[] args)

makeCallExpression

public Expression makeCallExpression(Expression exp,
                                     Expression[] args)

makeNewExpression

public Expression makeNewExpression(Expression exp,
                                    Expression[] args)

makePropertyAccessor

public Expression makePropertyAccessor(Expression exp,
                                       Expression prop)

parseArguments

public Expression[] parseArguments()
            throws java.io.IOException,
                   SyntaxException

parseAssignmentExpression

public Expression parseAssignmentExpression()
            throws java.io.IOException,
                   SyntaxException

parseBinaryExpression

public Expression parseBinaryExpression(int prio)
            throws java.io.IOException,
                   SyntaxException

parseBlock

public Expression parseBlock()
            throws java.io.IOException,
                   SyntaxException

parseConditionalExpression

public Expression parseConditionalExpression()
            throws java.io.IOException,
                   SyntaxException

parseExpression

public Expression parseExpression()
            throws java.io.IOException,
                   SyntaxException

parseFunctionDefinition

public Expression parseFunctionDefinition()
            throws java.io.IOException,
                   SyntaxException

parseIfStatement

public Expression parseIfStatement()
            throws java.io.IOException,
                   SyntaxException

parseLeftHandSideExpression

public Expression parseLeftHandSideExpression()
            throws java.io.IOException,
                   SyntaxException

parsePostfixExpression

public Expression parsePostfixExpression()
            throws java.io.IOException,
                   SyntaxException

parsePrimaryExpression

public Expression parsePrimaryExpression()
            throws java.io.IOException,
                   SyntaxException

parseStatement

public Expression parseStatement()
            throws java.io.IOException,
                   SyntaxException

parseUnaryExpression

public Expression parseUnaryExpression()
            throws java.io.IOException,
                   SyntaxException

parseWhileStatement

public Expression parseWhileStatement()
            throws java.io.IOException,
                   SyntaxException

peekToken

public Object peekToken()
            throws java.io.IOException,
                   SyntaxException
Return the next non-whitespace token from the lexer. LineTerminators are skipped until a non-eolToken is found.

peekTokenOrLine

public Object peekTokenOrLine()
            throws java.io.IOException,
                   SyntaxException
Return the next token from the lexer. A LineTerminator is considered a token.

skipToken

public final void skipToken()

syntaxError

public Expression syntaxError(String message)