My Project
Public Member Functions | List of all members
mlir::DialectAsmParser Class Referenceabstract

#include <DialectImplementation.h>

Public Member Functions

virtual ~DialectAsmParser ()
 
virtual InFlightDiagnostic emitError (llvm::SMLoc loc, const Twine &message={})=0
 Emit a diagnostic at the specified location and return failure. More...
 
virtual BuildergetBuilder () const =0
 
virtual llvm::SMLoc getCurrentLocation ()=0
 
ParseResult getCurrentLocation (llvm::SMLoc *loc)
 
virtual llvm::SMLoc getNameLoc () const =0
 Return the location of the original name token. More...
 
virtual Location getEncodedSourceLoc (llvm::SMLoc loc)=0
 Re-encode the given source location as an MLIR location and return it. More...
 
virtual StringRef getFullSymbolSpec () const =0
 
virtual ParseResult parseFloat (double &result)=0
 Parse a floating point value from the stream. More...
 
template<typename IntT >
ParseResult parseInteger (IntT &result)
 Parse an integer value from the stream. More...
 
virtual OptionalParseResult parseOptionalInteger (uint64_t &result)=0
 Parse an optional integer value from the stream. More...
 
template<typename IntT >
OptionalParseResult parseOptionalInteger (IntT &result)
 
virtual ParseResult parseArrow ()=0
 Parse a '->' token. More...
 
virtual ParseResult parseOptionalArrow ()=0
 Parse a '->' token if present. More...
 
virtual ParseResult parseLBrace ()=0
 Parse a '{' token. More...
 
virtual ParseResult parseOptionalLBrace ()=0
 Parse a '{' token if present. More...
 
virtual ParseResult parseRBrace ()=0
 Parse a } token. More...
 
virtual ParseResult parseOptionalRBrace ()=0
 Parse a } token if present. More...
 
virtual ParseResult parseColon ()=0
 Parse a : token. More...
 
virtual ParseResult parseOptionalColon ()=0
 Parse a : token if present. More...
 
virtual ParseResult parseComma ()=0
 Parse a , token. More...
 
virtual ParseResult parseOptionalComma ()=0
 Parse a , token if present. More...
 
virtual ParseResult parseEqual ()=0
 Parse a = token. More...
 
ParseResult parseKeyword (StringRef keyword, const Twine &msg="")
 Parse a given keyword. More...
 
ParseResult parseKeyword (StringRef *keyword)
 Parse a keyword into 'keyword'. More...
 
virtual ParseResult parseOptionalKeyword (StringRef keyword)=0
 Parse the given keyword if present. More...
 
virtual ParseResult parseOptionalKeyword (StringRef *keyword)=0
 Parse a keyword, if present, into 'keyword'. More...
 
virtual ParseResult parseLess ()=0
 Parse a '<' token. More...
 
virtual ParseResult parseOptionalLess ()=0
 Parse a < token if present. More...
 
virtual ParseResult parseGreater ()=0
 Parse a '>' token. More...
 
virtual ParseResult parseOptionalGreater ()=0
 Parse a > token if present. More...
 
virtual ParseResult parseLParen ()=0
 Parse a ( token. More...
 
virtual ParseResult parseOptionalLParen ()=0
 Parse a ( token if present. More...
 
virtual ParseResult parseRParen ()=0
 Parse a ) token. More...
 
virtual ParseResult parseOptionalRParen ()=0
 Parse a ) token if present. More...
 
virtual ParseResult parseLSquare ()=0
 Parse a [ token. More...
 
virtual ParseResult parseOptionalLSquare ()=0
 Parse a [ token if present. More...
 
virtual ParseResult parseRSquare ()=0
 Parse a ] token. More...
 
virtual ParseResult parseOptionalRSquare ()=0
 Parse a ] token if present. More...
 
virtual ParseResult parseOptionalEllipsis ()=0
 Parse a ... token if present;. More...
 
virtual ParseResult parseOptionalQuestion ()=0
 Parse a ? token. More...
 
virtual ParseResult parseOptionalStar ()=0
 Parse a * token. More...
 
virtual ParseResult parseAttribute (Attribute &result, Type type={})=0
 Parse an arbitrary attribute and return it in result. More...
 
template<typename AttrType >
ParseResult parseAttribute (AttrType &result, Type type={})
 Parse an attribute of a specific kind and type. More...
 
virtual ParseResult parseType (Type &result)=0
 Parse a type. More...
 
template<typename TypeType >
ParseResult parseType (TypeType &result)
 Parse a type of a specific kind, e.g. a FunctionType. More...
 
virtual ParseResult parseDimensionList (SmallVectorImpl< int64_t > &dimensions, bool allowDynamic=true)=0
 

Detailed Description

The DialectAsmParser has methods for interacting with the asm parser: parsing things from it, emitting errors etc. It has an intentionally high-level API that is designed to reduce/constrain syntax innovation in individual attributes or types.

Constructor & Destructor Documentation

◆ ~DialectAsmParser()

DialectAsmParser::~DialectAsmParser ( )
virtual

Member Function Documentation

◆ emitError()

virtual InFlightDiagnostic mlir::DialectAsmParser::emitError ( llvm::SMLoc  loc,
const Twine &  message = {} 
)
pure virtual

Emit a diagnostic at the specified location and return failure.

◆ getBuilder()

virtual Builder& mlir::DialectAsmParser::getBuilder ( ) const
pure virtual

Return a builder which provides useful access to MLIRContext, global objects like types and attributes.

◆ getCurrentLocation() [1/2]

virtual llvm::SMLoc mlir::DialectAsmParser::getCurrentLocation ( )
pure virtual

Get the location of the next token and store it into the argument. This always succeeds.

◆ getCurrentLocation() [2/2]

ParseResult mlir::DialectAsmParser::getCurrentLocation ( llvm::SMLoc *  loc)
inline

◆ getEncodedSourceLoc()

virtual Location mlir::DialectAsmParser::getEncodedSourceLoc ( llvm::SMLoc  loc)
pure virtual

Re-encode the given source location as an MLIR location and return it.

◆ getFullSymbolSpec()

virtual StringRef mlir::DialectAsmParser::getFullSymbolSpec ( ) const
pure virtual

Returns the full specification of the symbol being parsed. This allows for using a separate parser if necessary.

◆ getNameLoc()

virtual llvm::SMLoc mlir::DialectAsmParser::getNameLoc ( ) const
pure virtual

Return the location of the original name token.

◆ parseArrow()

virtual ParseResult mlir::DialectAsmParser::parseArrow ( )
pure virtual

Parse a '->' token.

◆ parseAttribute() [1/2]

virtual ParseResult mlir::DialectAsmParser::parseAttribute ( Attribute result,
Type  type = {} 
)
pure virtual

Parse an arbitrary attribute and return it in result.

◆ parseAttribute() [2/2]

template<typename AttrType >
ParseResult mlir::DialectAsmParser::parseAttribute ( AttrType &  result,
Type  type = {} 
)
inline

Parse an attribute of a specific kind and type.

◆ parseColon()

virtual ParseResult mlir::DialectAsmParser::parseColon ( )
pure virtual

Parse a : token.

◆ parseComma()

virtual ParseResult mlir::DialectAsmParser::parseComma ( )
pure virtual

Parse a , token.

◆ parseDimensionList()

virtual ParseResult mlir::DialectAsmParser::parseDimensionList ( SmallVectorImpl< int64_t > &  dimensions,
bool  allowDynamic = true 
)
pure virtual

Parse a 'x' separated dimension list. This populates the dimension list, using -1 for the ? dimensions if allowDynamic is set and errors out on ? otherwise.

dimension-list ::= (dimension x)* dimension ::= ? | integer

When allowDynamic is not set, this is used to parse:

static-dimension-list ::= (integer x)*

◆ parseEqual()

virtual ParseResult mlir::DialectAsmParser::parseEqual ( )
pure virtual

Parse a = token.

◆ parseFloat()

virtual ParseResult mlir::DialectAsmParser::parseFloat ( double &  result)
pure virtual

Parse a floating point value from the stream.

◆ parseGreater()

virtual ParseResult mlir::DialectAsmParser::parseGreater ( )
pure virtual

Parse a '>' token.

◆ parseInteger()

template<typename IntT >
ParseResult mlir::DialectAsmParser::parseInteger ( IntT &  result)
inline

Parse an integer value from the stream.

◆ parseKeyword() [1/2]

ParseResult mlir::DialectAsmParser::parseKeyword ( StringRef  keyword,
const Twine &  msg = "" 
)
inline

Parse a given keyword.

◆ parseKeyword() [2/2]

ParseResult mlir::DialectAsmParser::parseKeyword ( StringRef *  keyword)
inline

Parse a keyword into 'keyword'.

◆ parseLBrace()

virtual ParseResult mlir::DialectAsmParser::parseLBrace ( )
pure virtual

Parse a '{' token.

◆ parseLess()

virtual ParseResult mlir::DialectAsmParser::parseLess ( )
pure virtual

Parse a '<' token.

◆ parseLParen()

virtual ParseResult mlir::DialectAsmParser::parseLParen ( )
pure virtual

Parse a ( token.

◆ parseLSquare()

virtual ParseResult mlir::DialectAsmParser::parseLSquare ( )
pure virtual

Parse a [ token.

◆ parseOptionalArrow()

virtual ParseResult mlir::DialectAsmParser::parseOptionalArrow ( )
pure virtual

Parse a '->' token if present.

◆ parseOptionalColon()

virtual ParseResult mlir::DialectAsmParser::parseOptionalColon ( )
pure virtual

Parse a : token if present.

◆ parseOptionalComma()

virtual ParseResult mlir::DialectAsmParser::parseOptionalComma ( )
pure virtual

Parse a , token if present.

◆ parseOptionalEllipsis()

virtual ParseResult mlir::DialectAsmParser::parseOptionalEllipsis ( )
pure virtual

Parse a ... token if present;.

◆ parseOptionalGreater()

virtual ParseResult mlir::DialectAsmParser::parseOptionalGreater ( )
pure virtual

Parse a > token if present.

◆ parseOptionalInteger() [1/2]

virtual OptionalParseResult mlir::DialectAsmParser::parseOptionalInteger ( uint64_t &  result)
pure virtual

Parse an optional integer value from the stream.

◆ parseOptionalInteger() [2/2]

template<typename IntT >
OptionalParseResult mlir::DialectAsmParser::parseOptionalInteger ( IntT &  result)
inline

◆ parseOptionalKeyword() [1/2]

virtual ParseResult mlir::DialectAsmParser::parseOptionalKeyword ( StringRef  keyword)
pure virtual

Parse the given keyword if present.

◆ parseOptionalKeyword() [2/2]

virtual ParseResult mlir::DialectAsmParser::parseOptionalKeyword ( StringRef *  keyword)
pure virtual

Parse a keyword, if present, into 'keyword'.

◆ parseOptionalLBrace()

virtual ParseResult mlir::DialectAsmParser::parseOptionalLBrace ( )
pure virtual

Parse a '{' token if present.

◆ parseOptionalLess()

virtual ParseResult mlir::DialectAsmParser::parseOptionalLess ( )
pure virtual

Parse a < token if present.

◆ parseOptionalLParen()

virtual ParseResult mlir::DialectAsmParser::parseOptionalLParen ( )
pure virtual

Parse a ( token if present.

◆ parseOptionalLSquare()

virtual ParseResult mlir::DialectAsmParser::parseOptionalLSquare ( )
pure virtual

Parse a [ token if present.

◆ parseOptionalQuestion()

virtual ParseResult mlir::DialectAsmParser::parseOptionalQuestion ( )
pure virtual

Parse a ? token.

◆ parseOptionalRBrace()

virtual ParseResult mlir::DialectAsmParser::parseOptionalRBrace ( )
pure virtual

Parse a } token if present.

◆ parseOptionalRParen()

virtual ParseResult mlir::DialectAsmParser::parseOptionalRParen ( )
pure virtual

Parse a ) token if present.

◆ parseOptionalRSquare()

virtual ParseResult mlir::DialectAsmParser::parseOptionalRSquare ( )
pure virtual

Parse a ] token if present.

◆ parseOptionalStar()

virtual ParseResult mlir::DialectAsmParser::parseOptionalStar ( )
pure virtual

Parse a * token.

◆ parseRBrace()

virtual ParseResult mlir::DialectAsmParser::parseRBrace ( )
pure virtual

Parse a } token.

◆ parseRParen()

virtual ParseResult mlir::DialectAsmParser::parseRParen ( )
pure virtual

Parse a ) token.

◆ parseRSquare()

virtual ParseResult mlir::DialectAsmParser::parseRSquare ( )
pure virtual

Parse a ] token.

◆ parseType() [1/2]

virtual ParseResult mlir::DialectAsmParser::parseType ( Type result)
pure virtual

Parse a type.

◆ parseType() [2/2]

template<typename TypeType >
ParseResult mlir::DialectAsmParser::parseType ( TypeType &  result)
inline

Parse a type of a specific kind, e.g. a FunctionType.


The documentation for this class was generated from the following files: