Class ParserUtils
- java.lang.Object
-
- software.amazon.smithy.model.loader.ParserUtils
-
public final class ParserUtils extends java.lang.ObjectUtility methods that act on aSimpleParserand parse Smithy grammar productions.
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static voidconsumeIdentifier(SimpleParser parser)Expects and skips over a Smithy identifier production.static voidconsumeNamespace(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 java.lang.StringparseIdentifier(SimpleParser parser)Expects and returns a parsed Smithy identifier production.static java.lang.StringparseNumber(SimpleParser parser)Parses a Smithy number production into a string.static java.lang.StringparseRootShapeId(SimpleParser parser)Expects and returns a parsed absolute Smithy Shape ID that does not include a member.static java.lang.StringparseShapeId(SimpleParser parser)Expects and returns a parsed relative or absolute Smithy Shape ID.
-
-
-
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.
-
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.
-
-