Class ParserUtils


  • public final class ParserUtils
    extends java.lang.Object
    Utility methods that act on a SimpleParser and parse Smithy grammar productions.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static void consumeIdentifier​(SimpleParser parser)
      Expects and skips over a Smithy identifier production.
      static void consumeNamespace​(SimpleParser parser)
      Expects and consumes a valid Smithy shape ID namespace.
      static boolean isAlphabetic​(char c)
      Returns true if the given character is an alphabetic character A-Z, a-z.
      static boolean isAlphabetic​(int c)
      Returns true if the given character is an alphabetic character A-Z, a-z.
      static boolean isDigit​(char c)
      Returns true if the given value is a digit 0-9.
      static boolean isDigit​(int c)
      Returns true if the given value is a digit 0-9.
      static boolean isIdentifierStart​(char c)
      Returns true if the given character is allowed to start an identifier.
      static boolean isIdentifierStart​(int c)
      Returns true if the given character is allowed to start an identifier.
      static boolean isValidIdentifierCharacter​(char c)
      Returns true if the given character is allowed in an identifier.
      static boolean isValidIdentifierCharacter​(int c)
      Returns true if the given character is allowed in an identifier.
      static java.lang.String parseIdentifier​(SimpleParser parser)
      Expects and returns a parsed Smithy identifier production.
      static java.lang.String parseNumber​(SimpleParser parser)
      Parses a Smithy number production into a string.
      static java.lang.String parseRootShapeId​(SimpleParser parser)
      Expects and returns a parsed absolute Smithy Shape ID that does not include a member.
      static java.lang.String parseShapeId​(SimpleParser parser)
      Expects and returns a parsed relative or absolute Smithy Shape ID.
      • Methods inherited from class java.lang.Object

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

      • parseNumber

        public static java.lang.String parseNumber​(SimpleParser parser)
        Parses a Smithy number production into a string.
        -?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?
        Parameters:
        parser - Parser to consume tokens from.
        Returns:
        Returns the parsed number lexeme.
      • parseIdentifier

        public static java.lang.String parseIdentifier​(SimpleParser parser)
        Expects and returns a parsed Smithy identifier production.
        Parameters:
        parser - Parser to consume tokens from.
        Returns:
        Returns the parsed identifier.
      • parseRootShapeId

        public static java.lang.String parseRootShapeId​(SimpleParser parser)
        Expects and returns a parsed absolute Smithy Shape ID that does not include a member.
        Parameters:
        parser - Parser to consume tokens from.
        Returns:
        Returns the parsed Shape ID as a string.
      • parseShapeId

        public static java.lang.String parseShapeId​(SimpleParser parser)
        Expects and returns a parsed relative or absolute Smithy Shape ID.
        Parameters:
        parser - Parser to consume tokens from.
        Returns:
        Returns the parsed Shape ID as a string.
      • consumeNamespace

        public static void consumeNamespace​(SimpleParser parser)
        Expects and consumes a valid Smithy shape ID namespace.
        Parameters:
        parser - Parser to consume tokens from.
      • consumeIdentifier

        public static void consumeIdentifier​(SimpleParser parser)
        Expects and skips over a Smithy identifier production.
             identifier       = identifier_start *identifier_chars
             identifier_start = *"_" ALPHA
             identifier_chars = ALPHA / DIGIT / "_"
         
        Parameters:
        parser - Parser to consume tokens from.
      • isValidIdentifierCharacter

        public static boolean isValidIdentifierCharacter​(char c)
        Returns true if the given character is allowed in an identifier.
        Parameters:
        c - Character to check.
        Returns:
        Returns true if the character is allowed in an identifier.
      • isValidIdentifierCharacter

        public static boolean isValidIdentifierCharacter​(int c)
        Returns true if the given character is allowed in an identifier.
        Parameters:
        c - Character to check.
        Returns:
        Returns true if the character is allowed in an identifier.
      • isIdentifierStart

        public static boolean isIdentifierStart​(char c)
        Returns true if the given character is allowed to start an identifier.
        Parameters:
        c - Character to check.
        Returns:
        Returns true if the character can start an identifier.
      • isIdentifierStart

        public static boolean isIdentifierStart​(int c)
        Returns true if the given character is allowed to start an identifier.
        Parameters:
        c - Character to check.
        Returns:
        Returns true if the character can start an identifier.
      • isDigit

        public static boolean isDigit​(char c)
        Returns true if the given value is a digit 0-9.
        Parameters:
        c - Character to check.
        Returns:
        Returns true if the character is a digit.
      • isDigit

        public static boolean isDigit​(int c)
        Returns true if the given value is a digit 0-9.
        Parameters:
        c - Character to check.
        Returns:
        Returns true if the character is a digit.
      • isAlphabetic

        public static boolean isAlphabetic​(char c)
        Returns true if the given character is an alphabetic character A-Z, a-z. This is a stricter version of Character.isAlphabetic(int).
        Parameters:
        c - Character to check.
        Returns:
        Returns true if the character is an alphabetic character.
      • isAlphabetic

        public static boolean isAlphabetic​(int c)
        Returns true if the given character is an alphabetic character A-Z, a-z. This is a stricter version of Character.isAlphabetic(int).
        Parameters:
        c - Character to check.
        Returns:
        Returns true if the character is an alphabetic character.