gnu.ecmascript

Class Parser

public class Parser extends Object

Field Summary
static Expression[]emptyArgs
static ExpressioneofExpr
interrors
Constructor Summary
Parser(InPort port)
Method Summary
ExpressionbuildLoop(Expression init, Expression test, Expression incr, Expression body)
StringgetIdentifier()
voidgetSemicolon()
Skip an explicit or implicit semicolon.
ObjectgetToken()
static voidmain(String[] args)
ExpressionmakeCallExpression(Expression exp, Expression[] args)
ExpressionmakeNewExpression(Expression exp, Expression[] args)
ExpressionmakePropertyAccessor(Expression exp, Expression prop)
Expression[]parseArguments()
ExpressionparseAssignmentExpression()
ExpressionparseBinaryExpression(int prio)
ExpressionparseBlock()
ExpressionparseConditionalExpression()
ExpressionparseExpression()
ExpressionparseFunctionDefinition()
ExpressionparseIfStatement()
ExpressionparseLeftHandSideExpression()
ExpressionparsePostfixExpression()
ExpressionparsePrimaryExpression()
ExpressionparseStatement()
ExpressionparseUnaryExpression()
ExpressionparseWhileStatement()
ObjectpeekToken()
Return the next non-whitespace token from the lexer.
ObjectpeekTokenOrLine()
Return the next token from the lexer.
voidskipToken()
ExpressionsyntaxError(String message)

Field Detail

emptyArgs

public static final Expression[] emptyArgs

eofExpr

public static Expression eofExpr

errors

public int errors

Constructor Detail

Parser

public Parser(InPort port)

Method Detail

buildLoop

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

getIdentifier

public String getIdentifier()

getSemicolon

public void getSemicolon()
Skip an explicit or implicit semicolon.

getToken

public Object getToken()

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()

parseAssignmentExpression

public Expression parseAssignmentExpression()

parseBinaryExpression

public Expression parseBinaryExpression(int prio)

parseBlock

public Expression parseBlock()

parseConditionalExpression

public Expression parseConditionalExpression()

parseExpression

public Expression parseExpression()

parseFunctionDefinition

public Expression parseFunctionDefinition()

parseIfStatement

public Expression parseIfStatement()

parseLeftHandSideExpression

public Expression parseLeftHandSideExpression()

parsePostfixExpression

public Expression parsePostfixExpression()

parsePrimaryExpression

public Expression parsePrimaryExpression()

parseStatement

public Expression parseStatement()

parseUnaryExpression

public Expression parseUnaryExpression()

parseWhileStatement

public Expression parseWhileStatement()

peekToken

public Object peekToken()
Return the next non-whitespace token from the lexer. LineTerminators are skipped until a non-eolToken is found.

peekTokenOrLine

public Object peekTokenOrLine()
Return the next token from the lexer. A LineTerminator is considered a token.

skipToken

public final void skipToken()

syntaxError

public Expression syntaxError(String message)