Class Token

    • Field Detail

      • NULL

        public static final Token NULL
      • EOF

        public static final Token EOF
    • Constructor Detail

      • Token

        public Token​(int type,
                     String text,
                     int startLine,
                     int startColumn)
        Initializes the Token with the specified information.
    • Method Detail

      • dup

        public Token dup()
        Returns a copy of this Token.
      • getMeaning

        public int getMeaning()
        Returns the meaning of this node. If the node isEmpty(), returns the type of Token.NULL.
        Overrides:
        getMeaning in class CSTNode
      • setMeaning

        public CSTNode setMeaning​(int meaning)
        Sets the meaning for this node (and its root Token). Not valid if the node isEmpty(). Returns this token, for convenience.
        Overrides:
        setMeaning in class CSTNode
      • getType

        public int getType()
        Returns the actual type of the node. If the node isEmpty(), returns the type of Token.NULL.
        Overrides:
        getType in class CSTNode
      • size

        public int size()
        Returns the number of elements in the node (including root).
        Specified by:
        size in class CSTNode
      • get

        public CSTNode get​(int index)
        Returns the specified element, or null.
        Specified by:
        get in class CSTNode
      • getRoot

        public Token getRoot()
        Returns the root of the node. By convention, all nodes have a Token as the first element (or root), which indicates the type of the node. May return null if the node isEmpty().
        Specified by:
        getRoot in class CSTNode
      • getRootText

        public String getRootText()
        Returns the text of the root node. Uses getRoot(true) to get the root, so you will only receive null in return if the root token returns it.
        Overrides:
        getRootText in class CSTNode
      • getText

        public String getText()
        Returns the text of the token. Equivalent to getRootText() when called directly.
      • setText

        public void setText​(String text)
        Not advisable, but if you need to adjust the token's text, this will do it.
      • getStartLine

        public int getStartLine()
        Returns the starting line of the node. Returns -1 if not known.
        Overrides:
        getStartLine in class CSTNode
      • getStartColumn

        public int getStartColumn()
        Returns the starting column of the node. Returns -1 if not known.
        Overrides:
        getStartColumn in class CSTNode
      • asReduction

        public Reduction asReduction()
        Creates a Reduction from this token. Returns self if the node is already a Reduction.
        Specified by:
        asReduction in class CSTNode
      • asReduction

        public Reduction asReduction​(CSTNode second)
        Creates a Reduction from this token, adding the supplied node as the second element.
      • asReduction

        public Reduction asReduction​(CSTNode second,
                                     CSTNode third)
        Creates a Reduction from this token, adding the supplied nodes as the second and third element, respectively.
      • asReduction

        public Reduction asReduction​(CSTNode second,
                                     CSTNode third,
                                     CSTNode fourth)
        Creates a Reduction from this token, adding the supplied nodes as the second, third, and fourth element, respectively.
      • newKeyword

        public static Token newKeyword​(String text,
                                       int startLine,
                                       int startColumn)
        Creates a token that represents a keyword. Returns null if the specified text isn't a keyword.
      • newString

        public static Token newString​(String text,
                                      int startLine,
                                      int startColumn)
        Creates a token that represents a double-quoted string.
      • newIdentifier

        public static Token newIdentifier​(String text,
                                          int startLine,
                                          int startColumn)
        Creates a token that represents an identifier.
      • newInteger

        public static Token newInteger​(String text,
                                       int startLine,
                                       int startColumn)
        Creates a token that represents an integer.
      • newDecimal

        public static Token newDecimal​(String text,
                                       int startLine,
                                       int startColumn)
        Creates a token that represents a decimal number.
      • newSymbol

        public static Token newSymbol​(int type,
                                      int startLine,
                                      int startColumn)
        Creates a token that represents a symbol, using a library for the text.
      • newSymbol

        public static Token newSymbol​(String type,
                                      int startLine,
                                      int startColumn)
        Creates a token that represents a symbol, using a library for the type.
      • newPlaceholder

        public static Token newPlaceholder​(int type)
        Creates a token with the specified meaning.