FRigVMParserAST

The abstract syntax tree parser is the main object to parse a RigVM model graph.

Windows
MacOS
Linux

Inheritance Hierarchy

TSharedFromThis

FRigVMParserAST

References

Module

RigVMDeveloper

Header

/Engine/Source/Developer/RigVMDeveloper/Public/RigVMCompiler/RigVMAST.h

Include

#include "RigVMCompiler/RigVMAST.h"

Syntax

class FRigVMParserAST : public TSharedFromThis< FRigVMParserAST >

Remarks

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.

Constructors

Name Description

Public function

FRigVMParserAST

(
    URigVMGraph* InGraph,
    URigVMController* InController,
    const FRigVMParserASTSettings& InS...,
    const TArray< FRigVMExternalVariabl...,
    const TArray< FRigVMUserDataArray >...
)

Default constructor

Destructors

Name Description

Public function

~FRigVMParserAST()

Default destructor

Functions

Name Description

Public function Const

const FRigVM...

 

At

(
    int32 InIndex
)

Accessor method for a given root expression

Public function Const

TArray< FRig...

 

begin()

Begin iterator accessor for the root expressions

Public function

bool

 

CanLink

(
    URigVMPin* InSourcePin,
    URigVMPin* InTargetPin,
    FString* OutFailureReason
)

Performs a cycle check for a new potential link (assign or copy) between two pins.

Public function Const

FString

 

DumpDot()

Returns a string containing a dot file notation for debugging purposes.

Public function Const

FString

 

DumpText()

Returns a string containing an indented tree structure for debugging purposes.

Public function Const

TArray< FRig...

 

end()

End iterator accessor for the root expressions

Public function Const

TArray< cons...

 

GetExpressionsForSubject

(
    UObject* InSubject
)

Returns all expressions for a given subject. subjects include nodes and pins.

Public function Const

const FRigVM...

 

GetExprForSubject

(
    const FRigVMASTProxy& InProxy
)

Returns the expression for a given subject. subjects include nodes and pins.

Public function

FRigVMBlockE...

 

GetObsoleteBlock

(
    bool bCreateIfMissing
)

Returns an obsolete block for unmanaged expression

Public function Const

const FRigVM...

 

GetObsoleteBlock

(
    bool bCreateIfMissing
)

Returns an obsolete block for unmanaged expression

Public function Const

const URigVM...

 

GetPinOverrides()

Returns the AST's override table for pin defaults

Public function Const

const FRigVM...

 

GetSettings()

Returns the settings used for this parser

Public function Const

int32

 

Num()

Returns the number of root expressions

Public function

void

 

PrepareCycleChecking

(
    URigVMPin* InPin
)

Prepares the parser for cycle checking on a given pin.

Operators

Name Description

Public function Const

const FRigVM...

 

operator[]

(
    int32 InIndex
)

Operator accessor for a given root expression

Enums

Name

Description

Private enum

ETraverseRelationShip

Constants

Name

Description

EmptyProxyArray