Navigation
API > API/Runtime > API/Runtime/VerseCompiler > API/Runtime/VerseCompiler/parser
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 expr 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 | expr |
| Type | struct |
| Header File | /Engine/Source/Runtime/VerseCompiler/Public/uLang/Parser/VerseGrammar.h |
| Include Path | #include "uLang/Parser/VerseGrammar.h" |
Syntax
struct expr
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| uLang/Parser/VerseGrammar.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~expr() |
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 | token_set | uLang/Parser/VerseGrammar.h | ||
| ExprLeading | capture_t | uLang/Parser/VerseGrammar.h | ||
| ExprStop | bool | uLang/Parser/VerseGrammar.h | ||
| ExprSyntax | result< syntax_t, nothing > | uLang/Parser/VerseGrammar.h | ||
| Finished | result< cursor, nothing > | uLang/Parser/VerseGrammar.h | ||
| FinishPrec | prec | uLang/Parser/VerseGrammar.h | ||
| MarkupFinished | bool | uLang/Parser/VerseGrammar.h | ||
| MarkupStart | result< cursor, nothing > | uLang/Parser/VerseGrammar.h | ||
| MarkupTag | text | uLang/Parser/VerseGrammar.h | ||
| OuterExpr | expr * | uLang/Parser/VerseGrammar.h | ||
| OuterMarkup | expr * | uLang/Parser/VerseGrammar.h | ||
| QualIdentTarget | expr * | uLang/Parser/VerseGrammar.h | ||
| Start | cursor | uLang/Parser/VerseGrammar.h | ||
| Trailing | trailing | uLang/Parser/VerseGrammar.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| uLang/Parser/VerseGrammar.h |
Operators
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
syntax_t operator*() |
uLang/Parser/VerseGrammar.h |