Class ParserUtils
java.lang.Object
software.amazon.smithy.model.loader.ParserUtils
Utility methods that act on a
SimpleParser
and parse
Smithy grammar productions.-
Method Summary
Modifier and TypeMethodDescriptionstatic 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 String
parseIdentifier
(SimpleParser parser) Expects and returns a parsed Smithy identifier production.static String
parseNumber
(SimpleParser parser) Parses a Smithy number production into a string.static String
parseRootShapeId
(SimpleParser parser) Expects and returns a parsed absolute Smithy Shape ID that does not include a member.static String
parseShapeId
(SimpleParser parser) Expects and returns a parsed relative or absolute Smithy Shape ID.
-
Method Details
-
parseNumber
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
Expects and returns a parsed Smithy identifier production.- Parameters:
parser
- Parser to consume tokens from.- Returns:
- Returns the parsed identifier.
-
parseRootShapeId
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
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
Expects and consumes a valid Smithy shape ID namespace.- Parameters:
parser
- Parser to consume tokens from.
-
consumeIdentifier
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 ofCharacter.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 ofCharacter.isAlphabetic(int)
.- Parameters:
c
- Character to check.- Returns:
- Returns true if the character is an alphabetic character.
-