HLVM API Documentation
#include <AST.h>
Inheritance diagram for AST:

This class is used to hold or contain an Abstract Syntax Tree. It forms the root node of a multi-way tree of other nodes. As such, its parent node is null and this is only true of the AST node. AST provides a number of facilities for management of the tree as a whole. It also provides all the factory functions for creating AST nodes.
Definition at line 70 of file AST.h.
|
|
|
|
|
|
|
|
|
|
|
Definition at line 55 of file AST.cpp. References Pool::create(), and AST::pool. |
|
|
|
|
|
Definition at line 108 of file AST.h. References AST::bundles. |
|
|
Definition at line 128 of file AST.h. References AST::bundles. |
|
|
Definition at line 127 of file AST.h. References AST::bundles. |
|
|
Definition at line 120 of file AST.h. References AST::bundles. |
|
|
Bundle Iteration.
Definition at line 119 of file AST.h. References AST::bundles. |
|
|
Provide support for isa<X> and friends.
Reimplemented from Node. Definition at line 99 of file AST.h. References Node::is(), and hlvm::TreeTopID. |
|
|
Provide support for isa<X> and friends.
|
|
|
Definition at line 90 of file AST.cpp. References AST::AST(). |
|
|
Definition at line 96 of file AST.cpp. References ast. |
|
|
Definition at line 124 of file AST.h. References AST::bundles. |
|
|
Definition at line 122 of file AST.h. References AST::bundles. |
|
|
Definition at line 121 of file AST.h. References AST::bundles. |
|
|
Definition at line 126 of file AST.h. References AST::bundles. |
|
|
Definition at line 125 of file AST.h. References AST::bundles. |
|
|
Definition at line 96 of file AST.h. References AST::pool. |
|
|
Definition at line 95 of file AST.h. References AST::pubid. |
|
|
Definition at line 94 of file AST.h. References AST::sysid. |
|
|
Reimplemented from Node. Definition at line 66 of file AST.cpp. References AST::begin(), AST::bundles, AST::end(), and hlvmAssert. |
|
||||||||||||||||
|
Create a new AnyType node. An AnyType node is a type that can hold a value of any other HLVM type.
Definition at line 213 of file AST.cpp. References bundle, Node::loc, Node::setLocator(), Type::setName(), and Node::setParent(). |
|
||||||||||||||||
|
Create a new.
Definition at line 675 of file AST.cpp. References Node::loc, Node::setLocator(), Argument::setName(), and Value::setType(). |
|
||||||||||||||||||||||||
|
Create a new ArrayType node. An ArrayType is a sequential arrangement of memory locations of uniform type. Arrays can be dynamically expanded or shrunk, but not beyond the maxSize parameter.
Definition at line 321 of file AST.cpp. References bundle, Node::loc, UniformContainerType::setElementType(), Node::setLocator(), ArrayType::setMaxSize(), Type::setName(), and Node::setParent(). |
|
||||||||||||||||
|
Create a new AutoVarOp. This one is a little unusual because it requires the user to know the type. Other operators can deduce the type from the operands.
Definition at line 741 of file AST.cpp. References hlvmAssert, Node::loc, Node::setLocator(), AutoVarOp::setName(), and Value::setType(). |
|
||||||||||||||||||||
|
Create a binary ConstantExpression Node.
|
|
||||||||||||||||||||
|
Provide a template function for creating a binary operator.
Definition at line 862 of file AST.cpp. References hlvmAssert, and Node::loc. |
|
||||||||||||||||||||
|
Provide a template function for creating a binary operator.
Definition at line 881 of file AST.cpp. References Value::getType(), and Node::loc. |
|
|
Create a new Block. You can also create Blocks with new_MulitOp<Block> interface. This one allows you to create the block before creating its content, for situations where that matters (like XML parsing).
Definition at line 733 of file AST.cpp. References Node::loc, and Node::setLocator(). |
|
||||||||||||||||
|
Create a new BooleanType node. A BooleanType has a simple binary value, true or false.
Definition at line 240 of file AST.cpp. References bundle, Node::loc, Node::setLocator(), Type::setName(), and Node::setParent(). |
|
||||||||||||||||
|
Create a new BufferType node. A BufferType is a runtime type that is used to buffer input and output.
Definition at line 253 of file AST.cpp. References bundle, Node::loc, Node::setLocator(), Type::setName(), and Node::setParent(). |
|
||||||||||||
|
Create a new Bundle node. A bundle is the general container of other AST nodes. Bundles are also the unit of loading and linking.
Definition at line 136 of file AST.cpp. References Node::loc, Node::setLocator(), Bundle::setName(), and Node::setParent(). |
|
||||||||||||||||||||
|
Create a new CharacterType node. A CharacterType represents a single textual character in UTF-16 encoding.
Definition at line 292 of file AST.cpp. References bundle, Node::loc, Node::setLocator(), Type::setName(), and Node::setParent(). |
|
||||||||||||||||||||||||
|
Createa new ConstantAny node.
Definition at line 429 of file AST.cpp. References bundle, Node::loc, Node::setLocator(), Constant::setName(), Node::setParent(), and Value::setType(). |
|
||||||||||||||||||||||||
|
Create a new ConstantArray node.
Definition at line 564 of file AST.cpp. References ConstantAggregate::addConstant(), Node::loc, Node::setLocator(), and Constant::setName(). |
|
||||||||||||||||||||||||
|
Createa new ConstantBoolean node.
Definition at line 445 of file AST.cpp. References bundle, Node::loc, Node::setLocator(), Constant::setName(), Node::setParent(), and Value::setType(). |
|
||||||||||||||||||||||||
|
Createa new ConstantCharacter node.
Definition at line 461 of file AST.cpp. References bundle, Node::loc, Node::setLocator(), Constant::setName(), Node::setParent(), and Value::setType(). |
|
||||||||||||||||||||||||
|
Create a new ConstantContinuation node.
Definition at line 634 of file AST.cpp. References ConstantAggregate::addConstant(), DisparateContainerType::begin(), DisparateContainerType::end(), hlvmAssert, Node::loc, Node::setLocator(), Constant::setName(), and DisparateContainerType::size(). |
|
||||||||||||||||||||||||
|
Createa new ConstantEnumerator node.
Definition at line 477 of file AST.cpp. References bundle, Node::loc, Node::setLocator(), Constant::setName(), Node::setParent(), and Value::setType(). |
|
||||||||||||||||||||||||||||
|
Create a new ConstantInteger node.
Definition at line 494 of file AST.cpp. References bundle, Node::loc, ConstantInteger::setBase(), Node::setLocator(), Constant::setName(), Node::setParent(), Value::setType(), and ConstantInteger::setValue(). |
|
||||||||||||||||||||||||