Package gnu.ecmascript
Class Parser
- java.lang.Object
-
- gnu.ecmascript.Parser
-
public class Parser extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description static Expression[]emptyArgsstatic ExpressioneofExprinterrors
-
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 java.io.IOException, SyntaxException
- Throws:
java.io.IOExceptionSyntaxException
-
parseAssignmentExpression
public Expression parseAssignmentExpression() throws java.io.IOException, SyntaxException
- Throws:
java.io.IOExceptionSyntaxException
-
parseExpression
public Expression parseExpression() throws java.io.IOException, SyntaxException
- Throws:
java.io.IOExceptionSyntaxException
-
peekTokenOrLine
public java.lang.Object peekTokenOrLine() throws java.io.IOException, SyntaxExceptionReturn the next token from the lexer. A LineTerminator is considered a token.- Throws:
java.io.IOExceptionSyntaxException
-
peekToken
public java.lang.Object peekToken() throws java.io.IOException, SyntaxExceptionReturn the next non-whitespace token from the lexer. LineTerminators are skipped until a non-eolToken is found.- Throws:
java.io.IOExceptionSyntaxException
-
getToken
public java.lang.Object getToken() throws java.io.IOException, SyntaxException- Throws:
java.io.IOExceptionSyntaxException
-
skipToken
public final void skipToken()
-
getSemicolon
public void getSemicolon() throws java.io.IOException, SyntaxExceptionSkip an explicit or implicit semicolon.- Throws:
java.io.IOExceptionSyntaxException
-
parsePrimaryExpression
public Expression parsePrimaryExpression() throws java.io.IOException, SyntaxException
- Throws:
java.io.IOExceptionSyntaxException
-
makePropertyAccessor
public Expression makePropertyAccessor(Expression exp, Expression prop)
-
parseArguments
public Expression[] parseArguments() throws java.io.IOException, SyntaxException
- Throws:
java.io.IOExceptionSyntaxException
-
makeNewExpression
public Expression makeNewExpression(Expression exp, Expression[] args)
-
makeCallExpression
public Expression makeCallExpression(Expression exp, Expression[] args)
-
getIdentifier
public java.lang.String getIdentifier() throws java.io.IOException, SyntaxException- Throws:
java.io.IOExceptionSyntaxException
-
parseLeftHandSideExpression
public Expression parseLeftHandSideExpression() throws java.io.IOException, SyntaxException
- Throws:
java.io.IOExceptionSyntaxException
-
parsePostfixExpression
public Expression parsePostfixExpression() throws java.io.IOException, SyntaxException
- Throws:
java.io.IOExceptionSyntaxException
-
parseUnaryExpression
public Expression parseUnaryExpression() throws java.io.IOException, SyntaxException
- Throws:
java.io.IOExceptionSyntaxException
-
syntaxError
public Expression syntaxError(java.lang.String message)
-
parseBinaryExpression
public Expression parseBinaryExpression(int prio) throws java.io.IOException, SyntaxException
- Throws:
java.io.IOExceptionSyntaxException
-
parseIfStatement
public Expression parseIfStatement() throws java.io.IOException, SyntaxException
- Throws:
java.io.IOExceptionSyntaxException
-
buildLoop
public Expression buildLoop(Expression init, Expression test, Expression incr, Expression body)
-
parseWhileStatement
public Expression parseWhileStatement() throws java.io.IOException, SyntaxException
- Throws:
java.io.IOExceptionSyntaxException
-
parseFunctionDefinition
public Expression parseFunctionDefinition() throws java.io.IOException, SyntaxException
- Throws:
java.io.IOExceptionSyntaxException
-
parseBlock
public Expression parseBlock() throws java.io.IOException, SyntaxException
- Throws:
java.io.IOExceptionSyntaxException
-
parseStatement
public Expression parseStatement() throws java.io.IOException, SyntaxException
- Throws:
java.io.IOExceptionSyntaxException
-
main
public static void main(java.lang.String[] args)
-
-