[Mlir-commits] [mlir] 331f822 - [mlir][AsmParser] Expose `parseMinus()` (#106881)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Wed Sep 4 01:35:21 PDT 2024


Author: Ivan Butygin
Date: 2024-09-04T11:35:18+03:00
New Revision: 331f8225f37b714a4df7ff3176b574b756f4d965

URL: https://github.com/llvm/llvm-project/commit/331f8225f37b714a4df7ff3176b574b756f4d965
DIFF: https://github.com/llvm/llvm-project/commit/331f8225f37b714a4df7ff3176b574b756f4d965.diff

LOG: [mlir][AsmParser] Expose `parseMinus()` (#106881)

Found while working on parser for custom expression type for my dialect.

Builtin `AffineExpr` uses low-level parser API which is not available
for external users.

Added: 
    

Modified: 
    mlir/include/mlir/IR/OpImplementation.h
    mlir/lib/AsmParser/AsmParserImpl.h

Removed: 
    


################################################################################
diff  --git a/mlir/include/mlir/IR/OpImplementation.h b/mlir/include/mlir/IR/OpImplementation.h
index ae412c7227f8ea..e2472eea8a3714 100644
--- a/mlir/include/mlir/IR/OpImplementation.h
+++ b/mlir/include/mlir/IR/OpImplementation.h
@@ -641,6 +641,12 @@ class AsmParser {
   /// Parse a '+' token if present.
   virtual ParseResult parseOptionalPlus() = 0;
 
+  /// Parse a '-' token.
+  virtual ParseResult parseMinus() = 0;
+
+  /// Parse a '-' token if present.
+  virtual ParseResult parseOptionalMinus() = 0;
+
   /// Parse a '*' token.
   virtual ParseResult parseStar() = 0;
 

diff  --git a/mlir/lib/AsmParser/AsmParserImpl.h b/mlir/lib/AsmParser/AsmParserImpl.h
index b12687833e3fde..04250f63dcd253 100644
--- a/mlir/lib/AsmParser/AsmParserImpl.h
+++ b/mlir/lib/AsmParser/AsmParserImpl.h
@@ -226,6 +226,16 @@ class AsmParserImpl : public BaseT {
     return success(parser.consumeIf(Token::plus));
   }
 
+  /// Parses a '-' token.
+  ParseResult parseMinus() override {
+    return parser.parseToken(Token::minus, "expected '-'");
+  }
+
+  /// Parses a '-' token if present.
+  ParseResult parseOptionalMinus() override {
+    return success(parser.consumeIf(Token::minus));
+  }
+
   /// Parse a '|' token.
   ParseResult parseVerticalBar() override {
     return parser.parseToken(Token::vertical_bar, "expected '|'");


        


More information about the Mlir-commits mailing list