private static void addKeyToken(Token token) { KEYMAP.put(token.getImage(), token); }
private static void addKeyToken(Token token) { KEYMAP.put(token.getImage(), token); }
private static void addKeyToken(Token token) { KEYMAP.put(token.getImage(), token); }
case DOT: consumeToken(); String name = consumeToken(IDENTIFIER).getImage(); AstDot dot = createAstDot(v, name, lvalue); if (token.getSymbol() == LPAREN && context.isEnabled(METHOD_INVOCATIONS)) {
/** * nonliteral := <IDENTIFIER> | function | <LPAREN> expr <RPAREN> * function := (<IDENTIFIER> <COLON>)? <IDENTIFIER> <LPAREN> list? <RPAREN> */ protected AstNode nonliteral() throws ScanException, ParseException { AstNode v = null; switch (token.getSymbol()) { case IDENTIFIER: String name = consumeToken().getImage(); if (token.getSymbol() == COLON && lookahead(0).getSymbol() == IDENTIFIER && lookahead(1).getSymbol() == LPAREN) { // ns:f(...) consumeToken(); name += ":" + token.getImage(); consumeToken(); } if (token.getSymbol() == LPAREN) { // function v = function(name, params()); } else { // identifier v = identifier(name); } break; case LPAREN: consumeToken(); v = expr(true); consumeToken(RPAREN); v = new AstNested(v); break; } return v; }
/** * throw exception */ protected void fail(String expected) throws ParseException { throw new ParseException(position, "'" + token.getImage() + "'", expected); }
/** * text := <TEXT> */ protected AstNode text() throws ScanException, ParseException { AstNode v = null; if (token.getSymbol() == TEXT) { v = new AstText(token.getImage()); consumeToken(); } return v; }
case DOT: consumeToken(); String name = consumeToken(IDENTIFIER).getImage(); AstDot dot = createAstDot(v, name, lvalue); if (token.getSymbol() == LPAREN && context.isEnabled(METHOD_INVOCATIONS)) {
case DOT: consumeToken(); String name = consumeToken(IDENTIFIER).getImage(); AstDot dot = createAstDot(v, name, lvalue); if (token.getSymbol() == LPAREN && context.isEnabled(METHOD_INVOCATIONS)) {
/** * nonliteral := <IDENTIFIER> | function | <LPAREN> expr <RPAREN> * function := (<IDENTIFIER> <COLON>)? <IDENTIFIER> <LPAREN> list? <RPAREN> */ protected AstNode nonliteral() throws ScanException, ParseException { AstNode v = null; switch (token.getSymbol()) { case IDENTIFIER: String name = consumeToken().getImage(); if (token.getSymbol() == COLON && lookahead(0).getSymbol() == IDENTIFIER && lookahead(1).getSymbol() == LPAREN) { // ns:f(...) consumeToken(); name += ":" + token.getImage(); consumeToken(); } if (token.getSymbol() == LPAREN) { // function v = function(name, params()); } else { // identifier v = identifier(name); } break; case LPAREN: consumeToken(); v = expr(true); consumeToken(RPAREN); v = new AstNested(v); break; } return v; }
/** * nonliteral := <IDENTIFIER> | function | <LPAREN> expr <RPAREN> * function := (<IDENTIFIER> <COLON>)? <IDENTIFIER> <LPAREN> list? <RPAREN> */ protected AstNode nonliteral() throws ScanException, ParseException { AstNode v = null; switch (token.getSymbol()) { case IDENTIFIER: String name = consumeToken().getImage(); if (token.getSymbol() == COLON && lookahead(0).getSymbol() == IDENTIFIER && lookahead(1).getSymbol() == LPAREN) { // ns:f(...) consumeToken(); name += ":" + token.getImage(); consumeToken(); } if (token.getSymbol() == LPAREN) { // function v = function(name, params()); } else { // identifier v = identifier(name); } break; case LPAREN: consumeToken(); v = expr(true); consumeToken(RPAREN); v = new AstNested(v); break; } return v; }
/** * throw exception */ protected void fail(String expected) throws ParseException { throw new ParseException(position, "'" + token.getImage() + "'", expected); }
/** * throw exception */ protected void fail(String expected) throws ParseException { throw new ParseException(position, "'" + token.getImage() + "'", expected); }
/** * text := <TEXT> */ protected AstNode text() throws ScanException, ParseException { AstNode v = null; if (token.getSymbol() == TEXT) { v = new AstText(token.getImage()); consumeToken(); } return v; }
/** * text := <TEXT> */ protected AstNode text() throws ScanException, ParseException { AstNode v = null; if (token.getSymbol() == TEXT) { v = new AstText(token.getImage()); consumeToken(); } return v; }