Package com.stuffwithstuff.magpie.parser

Examples of com.stuffwithstuff.magpie.parser.Token


        type = TokenType.BOOL;
        value = true;
      }
    }
   
    Token token = new Token(currentPosition(), type, mRead, value);
   
    mStartLine = mLine;
    mStartCol = mCol;
    mRead = "";
   
View Full Code Here


    Position position = getPosition(token);
    TokenType type = convertTokenType(token.getField("tokenType"));
    String text = getString(token, "text");
    Object value = token.getField("value").getValue();
   
    return new Token(position, type, text, value);
  }
View Full Code Here

  }

  @Override
  public Token readToken() {
    while (true) {
      Token token = consume();
     
      if (token.is(TokenType.DOC_COMMENT)) {
        // Collapse successive doc comments into a single token. Given:
        //
        //  /// Line 1.
        //  /// Line 2.
        //
        // The Lexer will generate DOC_COMMENT, LINE, DOC_COMMENT, LINE. This
        // collapses that into a single multi-line comment.
        while (match(TokenType.LINE, TokenType.DOC_COMMENT)) {
          token = new Token(token.getPosition().union(last(1).getPosition()),
              TokenType.DOC_COMMENT, token.getText() + "\n" + last(1).getText(),
              token.getString() + "\n" + last(1).getString());
        }
      }
     
      return token;
    }
View Full Code Here

  }

  @Override
  public Token readToken() {
    while (true) {
      Token token = mTokens.readToken();
     
      switch (token.getType()) {
      case WHITESPACE:
      case BLOCK_COMMENT:
      case LINE_COMMENT:
        // Ignore non-semantic tokens.
        continue;
View Full Code Here

      Term.set(Term.ForeColor.GRAY);
      System.out.print(prompt);
      Term.restoreColor();

      while (true) {
        Token token = lexer.readToken();
        if (token.getType() == TokenType.EOF) break;

        switch (token.getType()) {
        case LEFT_PAREN:
        case RIGHT_PAREN:
        case LEFT_BRACKET:
        case RIGHT_BRACKET:
        case LEFT_BRACE:
        case RIGHT_BRACE:
        case BACKTICK:
        case COMMA:
        case EQ:
          Term.set(Term.ForeColor.GRAY);
          break;
       
        // Identifiers.
        case NAME:
          /*
          if (token.isKeyword("this") ||
              token.isKeyword("nothing") ||
              token.isKeyword("it")) {
            // special identifiers
            Term.set(ForeColor.LIGHT_BLUE);
            // TODO(bob): Fix this once we have token types for the reserved words.
          } else if (repl.isKeyword(token.getString())) {
            Term.set(ForeColor.CYAN);
          } else {
           */
            Term.set(ForeColor.WHITE);
            /*
          }
          */
          break;
         
        case FIELD:
          Term.set(Term.ForeColor.GRAY);
          break;
 
        // literals
        case BOOL:
        case INT:
          Term.set(Term.ForeColor.LIGHT_BLUE);
          break;
         
        case DOUBLE:
        case STRING:
          Term.set(Term.ForeColor.YELLOW);
          break;
        
        case BLOCK_COMMENT:
        case DOC_COMMENT:
        case LINE_COMMENT:
          Term.set(Term.ForeColor.GRAY);
          break;
         
        default:
          Term.restoreColor();
        }
       
        System.out.print(token.getText());
      }
    } catch(ParseException ex) {
      // Do nothing, just eat it.
    }
   
View Full Code Here

TOP

Related Classes of com.stuffwithstuff.magpie.parser.Token

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.