tvm
Loading...
Searching...
No Matches
Namespaces | Classes | Typedefs | Functions
tvm::script::printer Namespace Reference

Namespaces

namespace  op_attr
 
namespace  type_attr
 

Classes

class  AssertDoc
 Reference type of AssertDocNode. More...
 
class  AssertDocNode
 Doc that represents assert statement. More...
 
class  AssignDoc
 Reference type of AssignDocNode. More...
 
class  AssignDocNode
 Doc that represents assign statement. More...
 
class  AttrAccessDoc
 Reference type of AttrAccessDocNode. More...
 
class  AttrAccessDocNode
 Doc that represents attribute access on another expression. More...
 
class  BreakDoc
 Reference type of BreakDocNode. More...
 
class  BreakDocNode
 Doc that represents break statement. More...
 
class  CallDoc
 Reference type of CallDocNode. More...
 
class  CallDocNode
 Doc that represents function call. More...
 
class  ClassDoc
 Reference type of ClassDocNode. More...
 
class  ClassDocNode
 Doc that represents class definition. More...
 
class  CommentDoc
 Reference type of CommentDocNode. More...
 
class  CommentDocNode
 Doc that represents comment. More...
 
class  ContinueDoc
 Reference type of ContinueDocNode. More...
 
class  ContinueDocNode
 Doc that represents continue statement. More...
 
class  DictDoc
 Reference type of DictDocNode. More...
 
class  DictDocNode
 Doc that represents dictionary literal. More...
 
class  Doc
 Reference type of DocNode. More...
 
class  DocNode
 The base class of all Doc. More...
 
class  DocStringDoc
 Reference type of DocStringDocNode. More...
 
class  DocStringDocNode
 Doc that represents docstring. More...
 
class  DocTranslator
 Owning reference to a hook translation context. More...
 
class  DocTranslatorObj
 Eager translation context shared by registered hooks. Hooks construct Docs, use explicit lexical scopes, and attach origins when emitting. More...
 
struct  DocTranslatorVTable
 Engine callbacks borrowed for the translator's lifetime. More...
 
class  ExprDoc
 Reference type of ExprDocNode. More...
 
class  ExprDocNode
 The base class of expression doc. More...
 
class  ExprStmtDoc
 Reference type of ExprStmtDocNode. More...
 
class  ExprStmtDocNode
 Doc that represents an expression as statement. More...
 
class  ExprStringDoc
 Reference type of ExprStringDocNode. More...
 
class  ExprStringDocNode
 Doc that renders an expression as a Python string literal. More...
 
class  ForDoc
 Reference type of ForDocNode. More...
 
class  ForDocNode
 Doc that represents for statement. More...
 
class  FunctionDoc
 Reference type of FunctionDocNode. More...
 
class  FunctionDocNode
 Doc that represents function definition. More...
 
class  IdDoc
 Reference type of IdDocNode. More...
 
class  IdDocNode
 Doc that represents identifier. More...
 
class  IfDoc
 Reference type of IfDocNode. More...
 
class  IfDocNode
 Doc that represent if-then-else statement. More...
 
class  IndexDoc
 Reference type of IndexDocNode. More...
 
class  IndexDocNode
 Doc that represents index access on another expression. More...
 
class  LambdaDoc
 Reference type of LambdaDocNode. More...
 
class  LambdaDocNode
 Doc that represents anonymous function. More...
 
class  ListDoc
 Reference type of ListDocNode. More...
 
class  ListDocNode
 Doc that represents list literal. More...
 
class  LiteralDoc
 Reference type of LiteralDocNode. More...
 
class  LiteralDocNode
 Doc that represents literal value. More...
 
class  NamespaceDoc
 An owning reference to a deferred script namespace. More...
 
class  NamespaceDocNode
 A reference to a canonical script namespace. More...
 
class  OperationDoc
 Reference type of OperationDocNode. More...
 
class  OperationDocNode
 Doc that represents operation. More...
 
class  ReturnDoc
 Reference type of ReturnDocNode. More...
 
class  ReturnDocNode
 Doc that represents return statement. More...
 
class  ScopeDoc
 Reference type of ScopeDocNode. More...
 
class  ScopeDocNode
 Doc that represents special scopes. More...
 
class  SliceDoc
 Reference type of SliceDocNode. More...
 
class  SliceDocNode
 Doc that represents slice in Index expression. More...
 
class  StmtBlockDoc
 Reference type of StmtBlockDocNode. More...
 
class  StmtBlockDocNode
 The container doc that holds a list of StmtDoc. More...
 
class  StmtDoc
 Reference type of StmtDocNode. More...
 
class  StmtDocNode
 The base class of statement doc. More...
 
class  TupleDoc
 Reference type of TupleDocNode. More...
 
class  TupleDocNode
 Doc that represents tuple literal. More...
 
class  WhileDoc
 Reference type of WhileDocNode. More...
 
class  WhileDocNode
 Doc that represents while statement. More...
 

Typedefs

using AccessPath = ffi::reflection::AccessPath
 
using FDocTranslate = ffi::reflection::NativeFunctionView< ffi::Optional< ExprDoc >(DocTranslatorObj *translator, ffi::AnyView value, const ffi::Object *destination)>
 Native translation hook with borrowed inputs and an owning result.
 

Functions

ffi::Array< StmtDoc > ToStmtDocArray (const ffi::List< Doc > &docs)
 Convert collected Docs to statements in their original order.
 
TVM_TIRX_DLL Doc DocTranslate (ffi::AnyView ir, ffi::Dict< Doc, ffi::ObjectRef > *doc_origins=nullptr, ffi::Map< ffi::String, ffi::Any > extra_config={})
 Translate IR into a complete Doc including declarations and metadata setup.
 
TVM_TIRX_DLL void RegisterNamespaceAlias (const ffi::String &key, const ffi::String &default_alias)
 Register a namespace alias during dialect static initialization.
 
TVM_TIRX_DLL const ffi::Map< ffi::String, ffi::String > & GetNamespaceAliases ()
 Read the registered namespace aliases.
 

Typedef Documentation

◆ AccessPath

using tvm::script::printer::AccessPath = typedef ffi::reflection::AccessPath

◆ FDocTranslate

using tvm::script::printer::FDocTranslate = typedef ffi::reflection::NativeFunctionView<ffi::Optional<ExprDoc>( DocTranslatorObj* translator, ffi::AnyView value, const ffi::Object* destination)>

Native translation hook with borrowed inputs and an owning result.

Parameters
translatorTranslation context borrowed for the duration of the call.
valueInput value borrowed for the duration of the call.
destinationOptional binding variable borrowed for the duration of the call.
Returns
An owning expression Doc, or None after completing emission. Return an expression for the caller to consume, or None after completing emission and any requested binding. Packed hooks use the same contract and None for a null destination; native errors cross the ABI through Expected.

Function Documentation

◆ DocTranslate()

TVM_TIRX_DLL Doc tvm::script::printer::DocTranslate ( ffi::AnyView  ir,
ffi::Dict< Doc, ffi::ObjectRef > *  doc_origins = nullptr,
ffi::Map< ffi::String, ffi::Any >  extra_config = {} 
)

Translate IR into a complete Doc including declarations and metadata setup.

Parameters
irThe input IR value.
doc_originsOptional output replaced with the owned origins only on success.
extra_configThe translation configuration snapshot.
Returns
The translated Doc, with text headers and diagnostic recovery left to the text adapter.

◆ GetNamespaceAliases()

TVM_TIRX_DLL const ffi::Map< ffi::String, ffi::String > & tvm::script::printer::GetNamespaceAliases ( )

Read the registered namespace aliases.

◆ RegisterNamespaceAlias()

TVM_TIRX_DLL void tvm::script::printer::RegisterNamespaceAlias ( const ffi::String &  key,
const ffi::String &  default_alias 
)

Register a namespace alias during dialect static initialization.

Parameters
keyThe existing prefix configuration key, such as "tirx.prefix".
default_aliasThe alias reserved before translation assigns variable names.

◆ ToStmtDocArray()

ffi::Array< StmtDoc > tvm::script::printer::ToStmtDocArray ( const ffi::List< Doc > &  docs)
inline

Convert collected Docs to statements in their original order.

Parameters
docsThe Docs to convert, without modifying the collection.
Returns
An owning array containing each StmtBlockDoc's statements in place, and each other Doc converted with as_or_throw<StmtDoc>().
Exceptions
ffi::ErrorIf a Doc is neither a StmtBlockDoc nor a StmtDoc.