Package gnu.ecmascript
Class Parser
- java.lang.Object
-
- gnu.ecmascript.Parser
-
public class Parser extends Object
-
-
Field Summary
Fields Modifier and Type Field Description static Expression[]
emptyArgs
static Expression
eofExpr
int
errors
-
Constructor Summary
Constructors Constructor Description Parser(gnu.kawa.io.InPort port)
-
Method Summary
-
-
-
Field Detail
-
eofExpr
public static Expression eofExpr
-
emptyArgs
public static final Expression[] emptyArgs
-
errors
public int errors
-
-
Method Detail
-
parseConditionalExpression
public Expression parseConditionalExpression() throws IOException, SyntaxException
- Throws:
IOException
SyntaxException
-
parseAssignmentExpression
public Expression parseAssignmentExpression() throws IOException, SyntaxException
- Throws:
IOException
SyntaxException
-
parseExpression
public Expression parseExpression() throws IOException, SyntaxException
- Throws:
IOException
SyntaxException
-
peekTokenOrLine
public Object peekTokenOrLine() throws IOException, SyntaxException
Return the next token from the lexer. A LineTerminator is considered a token.- Throws:
IOException
SyntaxException
-
peekToken
public Object peekToken() throws IOException, SyntaxException
Return the next non-whitespace token from the lexer. LineTerminators are skipped until a non-eolToken is found.- Throws:
IOException
SyntaxException
-
getToken
public Object getToken() throws IOException, SyntaxException
- Throws:
IOException
SyntaxException
-
skipToken
public final void skipToken()
-
getSemicolon
public void getSemicolon() throws IOException, SyntaxException
Skip an explicit or implicit semicolon.- Throws:
IOException
SyntaxException
-
parsePrimaryExpression
public Expression parsePrimaryExpression() throws IOException, SyntaxException
- Throws:
IOException
SyntaxException
-
makePropertyAccessor
public Expression makePropertyAccessor(Expression exp, Expression prop)
-
parseArguments
public Expression[] parseArguments() throws IOException, SyntaxException
- Throws:
IOException
SyntaxException
-
makeNewExpression
public Expression makeNewExpression(Expression exp, Expression[] args)
-
makeCallExpression
public Expression makeCallExpression(Expression exp, Expression[] args)
-
getIdentifier
public String getIdentifier() throws IOException, SyntaxException
- Throws:
IOException
SyntaxException
-
parseLeftHandSideExpression
public Expression parseLeftHandSideExpression() throws IOException, SyntaxException
- Throws:
IOException
SyntaxException
-
parsePostfixExpression
public Expression parsePostfixExpression() throws IOException, SyntaxException
- Throws:
IOException
SyntaxException
-
parseUnaryExpression
public Expression parseUnaryExpression() throws IOException, SyntaxException
- Throws:
IOException
SyntaxException
-
syntaxError
public Expression syntaxError(String message)
-
parseBinaryExpression
public Expression parseBinaryExpression(int prio) throws IOException, SyntaxException
- Throws:
IOException
SyntaxException
-
parseIfStatement
public Expression parseIfStatement() throws IOException, SyntaxException
- Throws:
IOException
SyntaxException
-
buildLoop
public Expression buildLoop(Expression init, Expression test, Expression incr, Expression body)
-
parseWhileStatement
public Expression parseWhileStatement() throws IOException, SyntaxException
- Throws:
IOException
SyntaxException
-
parseFunctionDefinition
public Expression parseFunctionDefinition() throws IOException, SyntaxException
- Throws:
IOException
SyntaxException
-
parseBlock
public Expression parseBlock() throws IOException, SyntaxException
- Throws:
IOException
SyntaxException
-
parseStatement
public Expression parseStatement() throws IOException, SyntaxException
- Throws:
IOException
SyntaxException
-
main
public static void main(String[] args)
-
-