Navigation
API > API/Runtime > API/Runtime/VerseCompiler > API/Runtime/VerseCompiler/CParser
We track a stack of expressions and postfixes at increasing precedence so that we can insert multi-precedence postfix operators like '<' and stop subsequent parsing there. An SExpr is in one of three states (except mid-update when these invariants don't hold):
- Uninitialized: no ExprSyntax, no Trailing, not Finished.
- Initialized: has ExprSyntax, has Trailing, not Finished.
- Finished: has ExprSyntax, no Trailing, is Finished.
| Name | SExpr |
| Type | struct |
| Header File | /Engine/Source/Runtime/VerseCompiler/Public/uLang/Parser/VerseGrammar.h |
| Include Path | #include "uLang/Parser/VerseGrammar.h" |
Syntax
struct SExpr
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| uLang/Parser/VerseGrammar.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~SExpr() |
Needs a virtual destructor since it has virtual methods or various static analysis will complain | uLang/Parser/VerseGrammar.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| AllowPostfixes | STokenSet | uLang/Parser/VerseGrammar.h | ||
| ExprLeading | CaptureType | uLang/Parser/VerseGrammar.h | ||
| ExprStop | bool | uLang/Parser/VerseGrammar.h | ||
| ExprSyntax | TResult< SyntaxType, SNothing > | uLang/Parser/VerseGrammar.h | ||
| Finished | TResult< SCursor, SNothing > | uLang/Parser/VerseGrammar.h | ||
| FinishPrec | EPrec | uLang/Parser/VerseGrammar.h | ||
| MarkupFinished | bool | uLang/Parser/VerseGrammar.h | ||
| MarkupStart | TResult< SCursor, SNothing > | uLang/Parser/VerseGrammar.h | ||
| MarkupTag | SText | uLang/Parser/VerseGrammar.h | ||
| OuterExpr | SExpr * | uLang/Parser/VerseGrammar.h | ||
| OuterMarkup | SExpr * | uLang/Parser/VerseGrammar.h | ||
| QualIdentTarget | SExpr * | uLang/Parser/VerseGrammar.h | ||
| Start | SCursor | uLang/Parser/VerseGrammar.h | ||
| Trailing | STrailing | uLang/Parser/VerseGrammar.h |
Functions
Public
Public Virtual
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| uLang/Parser/VerseGrammar.h |
Operators
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
SyntaxType operator*() |
uLang/Parser/VerseGrammar.h |