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 voidconsumeIdentifier(software.amazon.smithy.utils.SimpleParser parser) Expects and skips over a Smithy identifier production.static voidconsumeNamespace(software.amazon.smithy.utils.SimpleParser parser) Expects and consumes a valid Smithy shape ID namespace.static booleanisAlphabetic(char c) Returns true if the given character is an alphabetic character A-Z, a-z.static booleanisDigit(char c) Returns true if the given value is a digit 0-9.static booleanisIdentifierStart(char c) Returns true if the given character is allowed to start an identifier.static booleanisValidIdentifierCharacter(char c) Returns true if the given character is allowed in an identifier.static StringparseIdentifier(software.amazon.smithy.utils.SimpleParser parser) Expects and returns a parsed Smithy identifier production.static StringparseNumber(software.amazon.smithy.utils.SimpleParser parser) Parses a Smithy number production into a string.static StringparseRootShapeId(software.amazon.smithy.utils.SimpleParser parser) Expects and returns a parsed absolute Smithy Shape ID that does not include a member.static StringparseShapeId(software.amazon.smithy.utils.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
public static void consumeNamespace(software.amazon.smithy.utils.SimpleParser parser) Expects and consumes a valid Smithy shape ID namespace.- Parameters:
parser- Parser to consume tokens from.
-
consumeIdentifier
public static void consumeIdentifier(software.amazon.smithy.utils.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.
-
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.
-
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.
-
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.
-