Navigation
API > API/Plugins > API/Plugins/RigVMDeveloper
The abstract syntax tree parser is the main object to parse a RigVM model graph. It's the memory owner for all expressions and provides functionality for introspection of the tree. The abstract syntax tree is then fed into the RigVMCompiler to generate the byte code for the virtual machine.
| Name | FRigVMParserAST |
| Type | class |
| Header File | /Engine/Plugins/Runtime/RigVM/Source/RigVMDeveloper/Public/RigVMCompiler/RigVMAST.h |
| Include Path | #include "RigVMCompiler/RigVMAST.h" |
Syntax
class FRigVMParserAST : public TSharedFromThis< FRigVMParserAST >
Inheritance Hierarchy
- FSharedFromThisBase → TSharedFromThis → FRigVMParserAST
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FRigVMParserAST
(
TArray< URigVMGraph* > InGraphs, |
Default constructor | RigVMCompiler/RigVMAST.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
~FRigVMParserAST() |
Default destructor | RigVMCompiler/RigVMAST.h |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| EmptyProxyArray | const TArray< FRigVMASTProxy > | RigVMCompiler/RigVMAST.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| BlockCombinationHashToName | TMap< uint32, FString > | RigVMCompiler/RigVMAST.h | ||
| CacheVersion | int32 | RigVMCompiler/RigVMAST.h | ||
| CycleCheckFlags | TArray< ETraverseRelationShip > | RigVMCompiler/RigVMAST.h | ||
| DeletedExpressions | TArray< FRigVMExprAST * > | RigVMCompiler/RigVMAST.h | ||
| Expressions | TArray< FRigVMExprAST * > | RigVMCompiler/RigVMAST.h | ||
| LastCycleCheckExpr | const FRigVMExprAST * | RigVMCompiler/RigVMAST.h | ||
| LibraryNodeBeingCompiled | URigVMLibraryNode * | RigVMCompiler/RigVMAST.h | ||
| Links | TArray< FRigVMASTLinkDescription > | RigVMCompiler/RigVMAST.h | ||
| LinksToSkip | TArray< URigVMLink * > | RigVMCompiler/RigVMAST.h | ||
| MinIndexOfChildWithinParent | TMap< TTuple< const FRigVMExprAST *, const FRigVMExprAST * >, int32 > | RigVMCompiler/RigVMAST.h | ||
| NodeExpressionIndex | TMap< FRigVMASTProxy, int32 > | RigVMCompiler/RigVMAST.h | ||
| NodeProxies | TArray< FRigVMASTProxy > | RigVMCompiler/RigVMAST.h | ||
| ObsoleteBlock | FRigVMBlockExprAST * | RigVMCompiler/RigVMAST.h | ||
| PinOverrides | URigVMPin::FPinOverrideMap | RigVMCompiler/RigVMAST.h | ||
| RootExpressions | TArray< FRigVMExprAST * > | RigVMCompiler/RigVMAST.h | ||
| Settings | FRigVMParserASTSettings | RigVMCompiler/RigVMAST.h | ||
| SharedOperandPins | TMap< FRigVMASTProxy, FRigVMASTProxy > | RigVMCompiler/RigVMAST.h | ||
| SourceLinkIndices | TMap< FRigVMASTProxy, TArray< int32 > > | RigVMCompiler/RigVMAST.h | ||
| SubjectToExpression | TMap< FRigVMASTProxy, FRigVMExprAST * > | RigVMCompiler/RigVMAST.h | ||
| TargetLinkIndices | TMap< FRigVMASTProxy, TArray< int32 > > | RigVMCompiler/RigVMAST.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
const FRigVMExprAST * At
(
int32 InIndex |
Accessor method for a given root expression | RigVMCompiler/RigVMAST.h | |
TArray< FRigVMExprAST * >::RangedForConstIteratorType begin() |
Begin iterator accessor for the root expressions | RigVMCompiler/RigVMAST.h | |
| Performs a cycle check for a new potential link (assign or copy) between two pins. | RigVMCompiler/RigVMAST.h | ||
FString DumpDot() |
Returns a string containing a dot file notation for debugging purposes. | RigVMCompiler/RigVMAST.h | |
FString DumpText() |
Returns a string containing an indented tree structure for debugging purposes. | RigVMCompiler/RigVMAST.h | |
TArray< FRigVMExprAST * >::RangedForConstIteratorType end() |
End iterator accessor for the root expressions | RigVMCompiler/RigVMAST.h | |
TArray< const FRigVMExprAST * > GetExpressionsForSubject
(
UObject* InSubject |
Returns all expressions for a given subject. subjects include nodes and pins. | RigVMCompiler/RigVMAST.h | |
const FRigVMExprAST * GetExprForSubject
(
const FRigVMASTProxy& InProxy |
Returns the expression for a given subject. subjects include nodes and pins. | RigVMCompiler/RigVMAST.h | |
const FRigVMBlockExprAST * GetObsoleteBlock
(
bool bCreateIfMissing |
RigVMCompiler/RigVMAST.h | ||
FRigVMBlockExprAST * GetObsoleteBlock
(
bool bCreateIfMissing |
Returns an obsolete block for unmanaged expression | RigVMCompiler/RigVMAST.h | |
const URigVMPin::FPinOverrideMap & GetPinOverrides() |
Returns the AST's override table for pin defaults | RigVMCompiler/RigVMAST.h | |
const FRigVMParserASTSettings & GetSettings() |
Returns the settings used for this parser | RigVMCompiler/RigVMAST.h | |
int32 Num() |
Returns the number of root expressions | RigVMCompiler/RigVMAST.h | |
void PrepareCycleChecking
(
URigVMPin* InPin |
Prepares the parser for cycle checking on a given pin. | RigVMCompiler/RigVMAST.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static FString GetLinkAsString
(
const FRigVMASTLinkDescription& InLink |
RigVMCompiler/RigVMAST.h | ||
static bool IsBreakStructDispatchElementsPin
(
const URigVMPin* InPin |
RigVMCompiler/RigVMAST.h | ||
static bool IsBreakStructDispatchNode
(
const URigVMNode* InNode |
RigVMCompiler/RigVMAST.h | ||
static bool IsBreakStructDispatchStructPin
(
const URigVMPin* InPin |
RigVMCompiler/RigVMAST.h | ||
static bool IsConstantDispatchNode
(
const URigVMNode* InNode |
RigVMCompiler/RigVMAST.h | ||
static bool IsConstantDispatchValuePin
(
const URigVMPin* InPin |
RigVMCompiler/RigVMAST.h | ||
static bool IsFloatOrFloatArrayPinOnVariable
(
const URigVMPin* InPin |
RigVMCompiler/RigVMAST.h | ||
static bool IsMakeStructDispatchElementsPin
(
const URigVMPin* InPin |
RigVMCompiler/RigVMAST.h | ||
static bool IsMakeStructDispatchNode
(
const URigVMNode* InNode |
RigVMCompiler/RigVMAST.h | ||
static bool IsMakeStructDispatchStructPin
(
const URigVMPin* InPin |
RigVMCompiler/RigVMAST.h | ||
static void TraverseChildren
(
const FRigVMExprAST* InExpr, |
A static helper function to traverse along all children of an expression, provided a predicate to return true if the traverse should continue, and false if the traverse should stop. | RigVMCompiler/RigVMAST.h | |
static void TraverseParents
(
const FRigVMExprAST* InExpr, |
A static helper function to traverse along all parents of an expression, provided a predicate to return true if the traverse should continue, and false if the traverse should stop. | RigVMCompiler/RigVMAST.h |
Operators
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
const FRigVMExprAST * operator[]
(
int32 InIndex |
Operator accessor for a given root expression | RigVMCompiler/RigVMAST.h |