|
MXVM 1.8.1
Virtual Machine, Compiler, and Pascal Frontend
|
AST node for a formal parameter list entry. More...
#include <ast.hpp>

Public Member Functions | |
| ParameterNode (std::vector< std::string > ids, const std::string ¶mType, bool var=false) | |
| void | accept (ASTVisitor &visitor) override |
| Accept an ASTVisitor (double-dispatch). | |
| std::string | toString () const override |
| Return a human-readable description of this node. | |
| Public Member Functions inherited from pascal::ASTNode | |
| virtual | ~ASTNode ()=default |
| virtual void | print (std::ostream &out, int indent=0) const |
| Pretty-print this node to a stream with indentation. | |
| void | setLineNumber (int line) |
| Set the originating source line number. | |
| int | getLineNumber () const |
| Get the originating source line number. | |
Public Attributes | |
| std::vector< std::string > | identifiers |
| parameter names | |
| std::string | type |
| parameter type name | |
| bool | isVar |
| true if passed by reference (var parameter) | |
|
inline |
Definition at line 229 of file ast.hpp.
References identifiers, isVar, and type.
|
overridevirtual |
Accept an ASTVisitor (double-dispatch).
Implements pascal::ASTNode.
Definition at line 91 of file ast.cpp.
References pascal::ASTVisitor::visit().
|
overridevirtual |
Return a human-readable description of this node.
Implements pascal::ASTNode.
Definition at line 95 of file ast.cpp.
References identifiers, isVar, and type.
| std::vector<std::string> pascal::ParameterNode::identifiers |
parameter names
Definition at line 225 of file ast.hpp.
Referenced by ParameterNode(), toString(), and pascal::CodeGenVisitor::visit().
| bool pascal::ParameterNode::isVar |
true if passed by reference (var parameter)
Definition at line 227 of file ast.hpp.
Referenced by ParameterNode(), and toString().
| std::string pascal::ParameterNode::type |
parameter type name
Definition at line 226 of file ast.hpp.
Referenced by ParameterNode(), toString(), and pascal::CodeGenVisitor::visit().