Add '*' and '?' and optional brace parse calls to the Parser
Closes #245 PiperOrigin-RevId: 281321459 Change-Id: Ica88f3e1d6c3441b43797fbdf20cfb51bd7fb719
This commit is contained in:
parent
a1233b60dc
commit
cd67f4f372
@ -185,9 +185,15 @@ public:
|
|||||||
/// Parse a '{' token.
|
/// Parse a '{' token.
|
||||||
virtual ParseResult parseLBrace() = 0;
|
virtual ParseResult parseLBrace() = 0;
|
||||||
|
|
||||||
|
/// Parse a '{' token if present
|
||||||
|
virtual ParseResult parseOptionalLBrace() = 0;
|
||||||
|
|
||||||
/// Parse a `}` token.
|
/// Parse a `}` token.
|
||||||
virtual ParseResult parseRBrace() = 0;
|
virtual ParseResult parseRBrace() = 0;
|
||||||
|
|
||||||
|
/// Parse a `}` token if present
|
||||||
|
virtual ParseResult parseOptionalRBrace() = 0;
|
||||||
|
|
||||||
/// Parse a `:` token.
|
/// Parse a `:` token.
|
||||||
virtual ParseResult parseColon() = 0;
|
virtual ParseResult parseColon() = 0;
|
||||||
|
|
||||||
@ -264,6 +270,12 @@ public:
|
|||||||
/// Parse a `...` token if present;
|
/// Parse a `...` token if present;
|
||||||
virtual ParseResult parseOptionalEllipsis() = 0;
|
virtual ParseResult parseOptionalEllipsis() = 0;
|
||||||
|
|
||||||
|
/// Parse a `?` token.
|
||||||
|
virtual ParseResult parseOptionalQuestion() = 0;
|
||||||
|
|
||||||
|
/// Parse a `*` token.
|
||||||
|
virtual ParseResult parseOptionalStar() = 0;
|
||||||
|
|
||||||
//===--------------------------------------------------------------------===//
|
//===--------------------------------------------------------------------===//
|
||||||
// Attribute Parsing
|
// Attribute Parsing
|
||||||
//===--------------------------------------------------------------------===//
|
//===--------------------------------------------------------------------===//
|
||||||
|
20
third_party/mlir/lib/Parser/Parser.cpp
vendored
20
third_party/mlir/lib/Parser/Parser.cpp
vendored
@ -501,11 +501,21 @@ public:
|
|||||||
return parser.parseToken(Token::l_brace, "expected '{'");
|
return parser.parseToken(Token::l_brace, "expected '{'");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Parse a '{' token if present
|
||||||
|
ParseResult parseOptionalLBrace() override {
|
||||||
|
return success(parser.consumeIf(Token::l_brace));
|
||||||
|
}
|
||||||
|
|
||||||
/// Parse a `}` token.
|
/// Parse a `}` token.
|
||||||
ParseResult parseRBrace() override {
|
ParseResult parseRBrace() override {
|
||||||
return parser.parseToken(Token::r_brace, "expected '}'");
|
return parser.parseToken(Token::r_brace, "expected '}'");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Parse a `}` token if present
|
||||||
|
ParseResult parseOptionalRBrace() override {
|
||||||
|
return success(parser.consumeIf(Token::r_brace));
|
||||||
|
}
|
||||||
|
|
||||||
/// Parse a `:` token.
|
/// Parse a `:` token.
|
||||||
ParseResult parseColon() override {
|
ParseResult parseColon() override {
|
||||||
return parser.parseToken(Token::colon, "expected ':'");
|
return parser.parseToken(Token::colon, "expected ':'");
|
||||||
@ -596,6 +606,16 @@ public:
|
|||||||
return success(parser.consumeIf(Token::r_square));
|
return success(parser.consumeIf(Token::r_square));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Parses a '?' if present.
|
||||||
|
ParseResult parseOptionalQuestion() override {
|
||||||
|
return success(parser.consumeIf(Token::question));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Parses a '*' if present.
|
||||||
|
ParseResult parseOptionalStar() override {
|
||||||
|
return success(parser.consumeIf(Token::star));
|
||||||
|
}
|
||||||
|
|
||||||
/// Returns if the current token corresponds to a keyword.
|
/// Returns if the current token corresponds to a keyword.
|
||||||
bool isCurrentTokenAKeyword() const {
|
bool isCurrentTokenAKeyword() const {
|
||||||
return parser.getToken().is(Token::bare_identifier) ||
|
return parser.getToken().is(Token::bare_identifier) ||
|
||||||
|
Loading…
Reference in New Issue
Block a user