Class Token

  • All Implemented Interfaces:
    java.io.Serializable

    
    public class Token
     implements Serializable
                        

    Describes the input token stream.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Constructor Summary

      Constructors 
      Constructor Description
      Token() No-argument constructor
      Token(int kind) Constructs a new token for the specified Image.
      Token(int kind, String image) Constructs a new token for the specified Image and Kind.
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      Object getValue() An optional attribute value of the Token.
      String toString() Returns the image.
      static Token newToken(int ofKind, String image) Returns a new Token object, by default.
      static Token newToken(int ofKind)
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Token

        Token()
        No-argument constructor
      • Token

        Token(int kind)
        Constructs a new token for the specified Image.
      • Token

        Token(int kind, String image)
        Constructs a new token for the specified Image and Kind.
    • Method Detail

      • getValue

         Object getValue()

        An optional attribute value of the Token. Tokens which are not used as syntactic sugar will often contain meaningful values that will be used later on by the compiler or interpreter. This attribute value is often different from the image. Any subclass of Token that actually wants to return a non-null value can override this method as appropriate.

      • newToken

         static Token newToken(int ofKind, String image)

        Returns a new Token object, by default. However, if you want, you can create and return subclass objects based on the value of ofKind. Simply add the cases to the switch for all those special cases. For example, if you have a subclass of Token called IDToken that you want to create if ofKind is ID, simply add something like : case MyParserConstants.ID : return new IDToken(ofKind, image); to the following switch statement. Then you can cast matchedToken variable to the appropriate type and use sit in your lexical actions.