Mana
|
#include <SymbolFactory.h>
Public Member Functions | |
bool | IsValid (std::shared_ptr< Symbol > symbolEntry) |
SymbolFactory (const std::shared_ptr< CodeBuffer > &codeBuffer, const std::shared_ptr< DataBuffer > &dataBuffer, const std::shared_ptr< StringPool > &stringPool, const std::shared_ptr< TypeDescriptorFactory > &typeDescriptorFactory) | |
~SymbolFactory ()=default | |
std::shared_ptr< Symbol > | CreateConstInt (const std::string_view name, const int32_t value) |
std::shared_ptr< Symbol > | CreateConstFloat (const std::string_view name, const float value) |
std::shared_ptr< Symbol > | CreateConstString (const std::string_view name, const std::string_view text) |
std::shared_ptr< Symbol > | CreateVariable (const std::string_view name, const std::shared_ptr< TypeDescriptor > &type, const bool staticVariable, const bool isBlockOpened, const bool isFunctionOpened) |
std::shared_ptr< Symbol > | CreateLabel (const std::string_view name) |
std::shared_ptr< Symbol > | CreateFunction (const std::string_view name, const bool isActorOrStructOpened) |
std::shared_ptr< Symbol > | CreateType (const std::string_view name, const std::shared_ptr< TypeDescriptor > &type) |
void | Destroy (const std::string_view name) |
bool | Each (std::function< bool(const std::shared_ptr< Symbol > &)> function) |
bool | Each (std::function< bool(const std::shared_ptr< const Symbol > &)> function) const |
std::shared_ptr< Symbol > | Lookup (const std::string_view name) const |
void | Define (const std::string_view name, std::shared_ptr< Symbol > symbolEntry) |
void | Define (std::shared_ptr< Symbol > symbolEntry) |
void | Undefine (const std::string_view name) |
void | Undefine (std::shared_ptr< Symbol > symbolEntry) |
void | OpenBlock (const int32_t address) |
int32_t | CloseBlock () |
size_t | GetBlockDepth () const |
void | EachBlock (std::function< void(const std::shared_ptr< Symbol > &)> function) |
void | ExtendModule (const std::shared_ptr< Symbol > &symbol) |
void | RegisterToBlock (const std::shared_ptr< Symbol > &symbolEntry) |
void | RegisterToBlock (const std::shared_ptr< TypeDescriptor > &typeDescriptor) |
std::shared_ptr< Symbol > | GetLastSymbolEntryInBlock () const |
std::shared_ptr< TypeDescriptor > | GetLastTypeDescriptorInBlock () const |
int32_t | OpenBlock (const bool resetMaxFrameMemoryAddress) |
bool | IsOpenBlock () const |
void | OpenFunction (const std::shared_ptr< SyntaxNode > &node, const bool is_action) |
void | OpenFunction2 (const std::shared_ptr< const Symbol > &function) const |
void | CloseFunction (const std::shared_ptr< SyntaxNode > &node, const bool is_action) |
bool | IsFunctionOpened () const |
void | BeginNativeFunction () |
void | CloseNativeFunction (const std::shared_ptr< Symbol > &function, const std::shared_ptr< TypeDescriptor > &type) |
void | BeginRegistrationStructure () |
void | CommitRegistrationStructure (const std::string_view name) |
void | OpenStructure (const std::string_view name) |
void | CloseStructure () |
void | BeginRegistrationActor (const std::shared_ptr< Symbol > &symbolEntry) |
void | CommitRegistrationActor (const std::string_view name, const std::string_view parent, const std::shared_ptr< TypeDescriptor > &type, const bool phantom) |
bool | IsActorOrStructerOpened () const |
void | OpenActor (const std::string_view name) |
void | CloseActor () |
size_t | GetNumberOfActors () const |
void | BeginRegistrationModule (const std::shared_ptr< Symbol > &symbolEntry) |
void | CommitRegistrationModule (const std::string_view name) |
void | OpenModule (const std::shared_ptr< Symbol > &symbolEntry) |
void | CloseModule (const std::string_view name) |
bool | IsModuleOpened () const |
void | ExtendModule (const std::string_view name) |
std::shared_ptr< TypeDescriptor > | GetCurrentBlockTypeDescriptor () const |
void | AddRequest (const std::shared_ptr< CodeGenerator > &codeGenerator, const IntermediateLanguage opcode, const std::shared_ptr< SyntaxNode > &level, const std::shared_ptr< SyntaxNode > &actor, const std::string_view action) const |
void | AddJoin (const std::shared_ptr< CodeGenerator > &codeGenerator, const std::shared_ptr< SyntaxNode > &level, const std::shared_ptr< SyntaxNode > &actor) const |
void | AllocateMemory (const std::shared_ptr< Symbol > &symbolEntry, std::shared_ptr< TypeDescriptor > type, Symbol::MemoryTypeId) |
int32_t | GetStaticMemoryAddress () const |
void | SetStaticMemoryAddress (const int32_t size) |
int32_t | GetGlobalMemoryAddress () const |
void | SetGlobalMemoryAddress (const int32_t size) |
void | CheckUndefine () |
bool | GenerateActorInformation (OutputStream &stream) const |
void | symbol_open_actor_register_member (const std::shared_ptr< Symbol > &symbol) |
void | symbol_open_actor_register_member (const std::shared_ptr< TypeDescriptor > &typeDescriptor) |
address_t | GetReturnAddressList () const |
void | SetReturnAddressList (const address_t returnAddressList) |
void | Dump (std::ofstream &output) const |
void | DumpFunctionNameFromAddress (std::ofstream &output, const int32_t address) const |
void | PrintHeader () |
void | PrintFooter (const std::string_view, const std::shared_ptr< TypeDescriptor > &type) |
void | PrintEntry (const std::shared_ptr< Symbol > &symbolEntry, const std::shared_ptr< TypeDescriptor > &type) |
void | PrintDummyGlobalVariable (size_t size) |
mana::SymbolFactory::SymbolFactory | ( | const std::shared_ptr< CodeBuffer > & | codeBuffer, |
const std::shared_ptr< DataBuffer > & | dataBuffer, | ||
const std::shared_ptr< StringPool > & | stringPool, | ||
const std::shared_ptr< TypeDescriptorFactory > & | typeDescriptorFactory | ||
) |
|
default |
void mana::SymbolFactory::AddJoin | ( | const std::shared_ptr< CodeGenerator > & | codeGenerator, |
const std::shared_ptr< SyntaxNode > & | level, | ||
const std::shared_ptr< SyntaxNode > & | actor | ||
) | const |
void mana::SymbolFactory::AddRequest | ( | const std::shared_ptr< CodeGenerator > & | codeGenerator, |
const IntermediateLanguage | opcode, | ||
const std::shared_ptr< SyntaxNode > & | level, | ||
const std::shared_ptr< SyntaxNode > & | actor, | ||
const std::string_view | action | ||
) | const |
void mana::SymbolFactory::AllocateMemory | ( | const std::shared_ptr< Symbol > & | symbolEntry, |
std::shared_ptr< TypeDescriptor > | type, | ||
Symbol::MemoryTypeId | parameter | ||
) |
void mana::SymbolFactory::BeginNativeFunction | ( | ) |
void mana::SymbolFactory::BeginRegistrationActor | ( | const std::shared_ptr< Symbol > & | symbolEntry | ) |
void mana::SymbolFactory::BeginRegistrationModule | ( | const std::shared_ptr< Symbol > & | symbolEntry | ) |
void mana::SymbolFactory::BeginRegistrationStructure | ( | ) |
void mana::SymbolFactory::CheckUndefine | ( | ) |
void mana::SymbolFactory::CloseActor | ( | ) |
int32_t mana::SymbolFactory::CloseBlock | ( | ) |
void mana::SymbolFactory::CloseFunction | ( | const std::shared_ptr< SyntaxNode > & | node, |
const bool | is_action | ||
) |
void mana::SymbolFactory::CloseModule | ( | const std::string_view | name | ) |
void mana::SymbolFactory::CloseNativeFunction | ( | const std::shared_ptr< Symbol > & | function, |
const std::shared_ptr< TypeDescriptor > & | type | ||
) |
void mana::SymbolFactory::CloseStructure | ( | ) |
void mana::SymbolFactory::CommitRegistrationActor | ( | const std::string_view | name, |
const std::string_view | parent, | ||
const std::shared_ptr< TypeDescriptor > & | type, | ||
const bool | phantom | ||
) |
void mana::SymbolFactory::CommitRegistrationModule | ( | const std::string_view | name | ) |
void mana::SymbolFactory::CommitRegistrationStructure | ( | const std::string_view | name | ) |
std::shared_ptr< Symbol > mana::SymbolFactory::CreateConstFloat | ( | const std::string_view | name, |
const float | value | ||
) |
std::shared_ptr< Symbol > mana::SymbolFactory::CreateConstInt | ( | const std::string_view | name, |
const int32_t | value | ||
) |
std::shared_ptr< Symbol > mana::SymbolFactory::CreateConstString | ( | const std::string_view | name, |
const std::string_view | text | ||
) |
std::shared_ptr< Symbol > mana::SymbolFactory::CreateFunction | ( | const std::string_view | name, |
const bool | isActorOrStructOpened | ||
) |
std::shared_ptr< Symbol > mana::SymbolFactory::CreateLabel | ( | const std::string_view | name | ) |
std::shared_ptr< Symbol > mana::SymbolFactory::CreateType | ( | const std::string_view | name, |
const std::shared_ptr< TypeDescriptor > & | type | ||
) |
std::shared_ptr< Symbol > mana::SymbolFactory::CreateVariable | ( | const std::string_view | name, |
const std::shared_ptr< TypeDescriptor > & | type, | ||
const bool | staticVariable, | ||
const bool | isBlockOpened, | ||
const bool | isFunctionOpened | ||
) |
void mana::SymbolFactory::Define | ( | const std::string_view | name, |
std::shared_ptr< Symbol > | symbolEntry | ||
) |
void mana::SymbolFactory::Define | ( | std::shared_ptr< Symbol > | symbolEntry | ) |
void mana::SymbolFactory::Destroy | ( | const std::string_view | name | ) |
void mana::SymbolFactory::Dump | ( | std::ofstream & | output | ) | const |
void mana::SymbolFactory::DumpFunctionNameFromAddress | ( | std::ofstream & | output, |
const int32_t | address | ||
) | const |
|
inline |
|
inline |
void mana::SymbolFactory::EachBlock | ( | std::function< void(const std::shared_ptr< Symbol > &)> | function | ) |
void mana::SymbolFactory::ExtendModule | ( | const std::shared_ptr< Symbol > & | symbol | ) |
void mana::SymbolFactory::ExtendModule | ( | const std::string_view | name | ) |
bool mana::SymbolFactory::GenerateActorInformation | ( | OutputStream & | stream | ) | const |
size_t mana::SymbolFactory::GetBlockDepth | ( | ) | const |
|
inline |
int32_t mana::SymbolFactory::GetGlobalMemoryAddress | ( | ) | const |
std::shared_ptr< Symbol > mana::SymbolFactory::GetLastSymbolEntryInBlock | ( | ) | const |
std::shared_ptr< TypeDescriptor > mana::SymbolFactory::GetLastTypeDescriptorInBlock | ( | ) | const |
size_t mana::SymbolFactory::GetNumberOfActors | ( | ) | const |
|
inline |
int32_t mana::SymbolFactory::GetStaticMemoryAddress | ( | ) | const |
bool mana::SymbolFactory::IsActorOrStructerOpened | ( | ) | const |
|
inline |
|
inline |
bool mana::SymbolFactory::IsOpenBlock | ( | ) | const |
bool mana::SymbolFactory::IsValid | ( | std::shared_ptr< Symbol > | symbolEntry | ) |
std::shared_ptr< Symbol > mana::SymbolFactory::Lookup | ( | const std::string_view | name | ) | const |
void mana::SymbolFactory::OpenActor | ( | const std::string_view | name | ) |
int32_t mana::SymbolFactory::OpenBlock | ( | const bool | resetMaxFrameMemoryAddress | ) |
void mana::SymbolFactory::OpenBlock | ( | const int32_t | address | ) |
void mana::SymbolFactory::OpenFunction | ( | const std::shared_ptr< SyntaxNode > & | node, |
const bool | is_action | ||
) |
void mana::SymbolFactory::OpenFunction2 | ( | const std::shared_ptr< const Symbol > & | function | ) | const |
void mana::SymbolFactory::OpenModule | ( | const std::shared_ptr< Symbol > & | symbolEntry | ) |
void mana::SymbolFactory::OpenStructure | ( | const std::string_view | name | ) |
void mana::SymbolFactory::PrintDummyGlobalVariable | ( | size_t | size | ) |
void mana::SymbolFactory::PrintEntry | ( | const std::shared_ptr< Symbol > & | symbolEntry, |
const std::shared_ptr< TypeDescriptor > & | type | ||
) |
void mana::SymbolFactory::PrintFooter | ( | const std::string_view | name, |
const std::shared_ptr< TypeDescriptor > & | type | ||
) |
void mana::SymbolFactory::PrintHeader | ( | ) |
void mana::SymbolFactory::RegisterToBlock | ( | const std::shared_ptr< Symbol > & | symbolEntry | ) |
void mana::SymbolFactory::RegisterToBlock | ( | const std::shared_ptr< TypeDescriptor > & | typeDescriptor | ) |
void mana::SymbolFactory::SetGlobalMemoryAddress | ( | const int32_t | size | ) |
|
inline |
void mana::SymbolFactory::SetStaticMemoryAddress | ( | const int32_t | size | ) |
void mana::SymbolFactory::symbol_open_actor_register_member | ( | const std::shared_ptr< Symbol > & | symbol | ) |
void mana::SymbolFactory::symbol_open_actor_register_member | ( | const std::shared_ptr< TypeDescriptor > & | typeDescriptor | ) |
void mana::SymbolFactory::Undefine | ( | const std::string_view | name | ) |
void mana::SymbolFactory::Undefine | ( | std::shared_ptr< Symbol > | symbolEntry | ) |