Class ParserUtils
- java.lang.Object
-
- software.amazon.smithy.model.loader.ParserUtils
-
public final class ParserUtils extends java.lang.Object
Utility methods that act on aSimpleParser
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.
-
-
-
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 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.
-
-