Mana
|
#include <SyntaxNode.h>
Public Types | |
enum class | Id : uint8_t { Array , Assign , CallArgument , DeclareArgument , Const , Call , Add , Sub , Mul , Div , Rem , Neg , Pow , Not , And , Or , Xor , LeftShift , RightShift , Less , LessEqual , Equal , NotEqual , GreaterEqual , Greater , String , IntegerToFloat , FloatToInteger , LogicalOr , LogicalAnd , LogicalNot , Halt , Yield , Request , AwaitStart , AwaitCompletion , Accept , Reject , Join , Sender , Self , Priority , ExpressionIf , Print , Return , Rollback , Block , If , Switch , Case , Default , While , Do , For , Loop , Lock , Goto , Label , Break , Continue , Identifier , TypeDescription , Declarator , DeclareVariable , Sizeof , Actor , Phantom , Module , Struct , Action , Extend , Allocate , Static , NativeFunction , DeclareFunction , DefineConstant , UndefineConstant , MemberFunction , MemberVariable , VariableSize } |
構文木識別子 More... | |
Public Member Functions | |
SyntaxNode (const Id id) | |
~SyntaxNode ()=default | |
std::shared_ptr< SyntaxNode > | Clone () const |
bool | Is (const Id id) const |
bool | IsNot (const Id id) const |
Id | GetId () const |
address_t | GetMemorySize () const |
std::shared_ptr< SyntaxNode > | GetLeftNode () const |
void | SetLeftNode (const std::shared_ptr< SyntaxNode > &left) |
std::shared_ptr< SyntaxNode > | GetRightNode () const |
void | SetRightNode (const std::shared_ptr< SyntaxNode > &right) |
std::shared_ptr< SyntaxNode > | GetBodyNode () const |
void | SetBodyNode (const std::shared_ptr< SyntaxNode > &body) |
std::shared_ptr< SyntaxNode > | GetNextNode () const |
void | SetNextNode (const std::shared_ptr< SyntaxNode > &next) |
std::shared_ptr< Symbol > | GetSymbol () const |
std::shared_ptr< TypeDescriptor > | GetTypeDescriptor () const |
IntermediateLanguage | GetOpecode () const |
int_t | GetInt () const |
float_t | GetFloat () const |
const std::string_view & | GetString () const |
const std::string_view & | GetFilename () const |
int32_t | GetLineno () const |
void | Set (const std::shared_ptr< Symbol > &symbol) |
void | Set (const std::shared_ptr< TypeDescriptor > &type) |
void | Set (const IntermediateLanguage code) |
void | Set (const int_t value) |
void | Set (const float_t value) |
void | Set (const std::string_view text) |
std::shared_ptr< SyntaxNode > | Cast (const std::shared_ptr< TypeDescriptor > &type, const std::shared_ptr< TypeDescriptorFactory > &typeDescriptorFactory) |
Static Public Attributes | |
static constexpr size_t | IdSize = static_cast<size_t>(Id::VariableSize) |
構文木クラス
|
strong |
構文木識別子
|
explicit |
|
default |
std::shared_ptr< SyntaxNode > mana::SyntaxNode::Cast | ( | const std::shared_ptr< TypeDescriptor > & | type, |
const std::shared_ptr< TypeDescriptorFactory > & | typeDescriptorFactory | ||
) |
std::shared_ptr< SyntaxNode > mana::SyntaxNode::Clone | ( | ) | const |
std::shared_ptr< SyntaxNode > mana::SyntaxNode::GetBodyNode | ( | ) | const |
const std::string_view & mana::SyntaxNode::GetFilename | ( | ) | const |
float_t mana::SyntaxNode::GetFloat | ( | ) | const |
SyntaxNode::Id mana::SyntaxNode::GetId | ( | ) | const |
int_t mana::SyntaxNode::GetInt | ( | ) | const |
std::shared_ptr< SyntaxNode > mana::SyntaxNode::GetLeftNode | ( | ) | const |
int32_t mana::SyntaxNode::GetLineno | ( | ) | const |
address_t mana::SyntaxNode::GetMemorySize | ( | ) | const |
std::shared_ptr< SyntaxNode > mana::SyntaxNode::GetNextNode | ( | ) | const |
IntermediateLanguage mana::SyntaxNode::GetOpecode | ( | ) | const |
std::shared_ptr< SyntaxNode > mana::SyntaxNode::GetRightNode | ( | ) | const |
const std::string_view & mana::SyntaxNode::GetString | ( | ) | const |
std::shared_ptr< Symbol > mana::SyntaxNode::GetSymbol | ( | ) | const |
std::shared_ptr< TypeDescriptor > mana::SyntaxNode::GetTypeDescriptor | ( | ) | const |
bool mana::SyntaxNode::Is | ( | const Id | id | ) | const |
bool mana::SyntaxNode::IsNot | ( | const Id | id | ) | const |
void mana::SyntaxNode::Set | ( | const float_t | value | ) |
void mana::SyntaxNode::Set | ( | const int_t | value | ) |
void mana::SyntaxNode::Set | ( | const IntermediateLanguage | code | ) |
void mana::SyntaxNode::Set | ( | const std::shared_ptr< Symbol > & | symbol | ) |
void mana::SyntaxNode::Set | ( | const std::shared_ptr< TypeDescriptor > & | type | ) |
void mana::SyntaxNode::Set | ( | const std::string_view | text | ) |
void mana::SyntaxNode::SetBodyNode | ( | const std::shared_ptr< SyntaxNode > & | body | ) |
void mana::SyntaxNode::SetLeftNode | ( | const std::shared_ptr< SyntaxNode > & | left | ) |
void mana::SyntaxNode::SetNextNode | ( | const std::shared_ptr< SyntaxNode > & | next | ) |
void mana::SyntaxNode::SetRightNode | ( | const std::shared_ptr< SyntaxNode > & | right | ) |
|
staticconstexpr |