|
MXVM 1.8.1
Virtual Machine, Compiler, and Pascal Frontend
|
Root AST node representing an entire program or object. More...
#include <ast.hpp>

Public Member Functions | |
| void | addSection (std::unique_ptr< SectionNode > section) |
| void | addInlineObject (std::unique_ptr< ProgramNode > obj) |
| virtual void | accept (ASTVisitor &visitor) override |
| virtual std::string | toString () const override |
| Public Member Functions inherited from mxvm::ASTNode | |
| virtual | ~ASTNode ()=default |
Public Attributes | |
| std::string | name |
| bool | object = false |
| true if this node represents an object rather than a program | |
| std::string | root_name |
| std::vector< std::unique_ptr< SectionNode > > | sections |
| std::vector< std::unique_ptr< ProgramNode > > | inlineObjects |
|
overridevirtual |
Implements mxvm::ASTNode.
Definition at line 12 of file ast.cpp.
References mxvm::ASTVisitor::visit().
|
inline |
Definition at line 62 of file ast.hpp.
References inlineObjects.
|
inline |
|
overridevirtual |
| std::vector<std::unique_ptr<ProgramNode> > mxvm::ProgramNode::inlineObjects |
Definition at line 56 of file ast.hpp.
Referenced by addInlineObject().
| bool mxvm::ProgramNode::object = false |
| std::vector<std::unique_ptr<SectionNode> > mxvm::ProgramNode::sections |
Definition at line 55 of file ast.hpp.
Referenced by addSection(), and toString().