Abstract syntax tree node representing unary operators.
Definition at line 178 of file ast_impl.inl.
Public Field Index: | |
AST * | Argument |
The argument node. | |
String | Operator |
The operator symbol. | |
![]() | |
integer | Position |
Position in the original expression string. | |
![]() | |
Types | NodeType |
Type of derived this AST node. | |
Public Method Index: | |
ASTUnaryOp (const String &op, AST *argument, integer position) | |
virtual | ~ASTUnaryOp () override |
Virtual destructor. | |
virtual void | Assemble (Program &program, MonoAllocator &allocator, AString &normalized) override |
virtual AST * | Optimize (Normalization normalization) override |
![]() | |
AST ()=delete | |
Deleted default constructor. | |
AST (Types type, integer position) | |
virtual | ~AST () |
Virtual destructor. | |
![]() | |
ASTBase (Types type) | |
Additional Inherited Members | |
![]() | |
enum class | Types { Literal , Identifier , Function , UnaryOp , BinaryOp , TernaryOp } |
The type of node. More... | |
AST* alib::expressions::detail::ASTUnaryOp::Argument |
The argument node.
Definition at line 181 of file ast_impl.inl.
String alib::expressions::detail::ASTUnaryOp::Operator |
The operator symbol.
Definition at line 180 of file ast_impl.inl.
|
inlineexplicit |
Constructor providing all fields.
op | The operator symbol. |
argument | The argument of the operator. |
position | The index of this AST in the expression string. |
Definition at line 188 of file ast_impl.inl.
|
inlineoverridevirtual |
Virtual destructor.
Definition at line 194 of file ast_impl.inl.
|
overridevirtual |
Implements abstract method.
program | The program to be compiled. | |
allocator | An allocator usable for temporary objects. | |
[out] | normalized | The normalized string, built during recursive compilation of the AST. |
Implements alib::expressions::detail::AST.
Definition at line 286 of file ast.cpp.
|
overridevirtual |
Implements abstract method.
normalization | The compiler flags denoting the normalization settings. |
Implements alib::expressions::detail::AST.
Definition at line 86 of file ast.cpp.