Project Alice
Loading...
Searching...
No Matches
fif::state_stack Class Referenceabstract

#include <fif.hpp>

Inheritance diagram for fif::state_stack:

Public Member Functions

void mark_used_from_main (size_t count)
 
void mark_used_from_return (size_t count)
 
 state_stack ()=default
 
 state_stack (state_stack &&)=default
 
 state_stack (const state_stack &)=default
 
virtual ~state_stack ()=default
 
virtual void pop_main ()=0
 
virtual void pop_return ()=0
 
virtual int64_t main_data (size_t index) const =0
 
virtual int64_t return_data (size_t index) const =0
 
virtual LLVMValueRef main_ex (size_t index) const =0
 
virtual LLVMValueRef return_ex (size_t index) const =0
 
virtual int64_t main_data_back (size_t index) const =0
 
virtual int64_t return_data_back (size_t index) const =0
 
virtual LLVMValueRef main_ex_back (size_t index) const =0
 
virtual LLVMValueRef return_ex_back (size_t index) const =0
 
virtual void set_main_data (size_t index, int64_t value)=0
 
virtual void set_return_data (size_t index, int64_t value)=0
 
virtual void set_main_ex (size_t index, LLVMValueRef value)=0
 
virtual void set_return_ex (size_t index, LLVMValueRef value)=0
 
virtual void set_main_data_back (size_t index, int64_t value)=0
 
virtual void set_return_data_back (size_t index, int64_t value)=0
 
virtual void set_main_ex_back (size_t index, LLVMValueRef value)=0
 
virtual void set_return_ex_back (size_t index, LLVMValueRef value)=0
 
virtual stack_type get_type () const =0
 
virtual void move_into (state_stack &&other)=0
 
virtual void copy_into (state_stack const &other)=0
 
virtual void push_back_main (int32_t type, int64_t data, LLVMValueRef expr)=0
 
virtual void push_back_return (int32_t type, int64_t data, LLVMValueRef expr)=0
 
virtual std::unique_ptr< state_stackcopy () const =0
 
virtual void resize (size_t main_sz, size_t return_sz)=0
 
size_t main_size () const
 
size_t return_size () const
 
int32_t main_type (size_t index) const
 
int32_t return_type (size_t index) const
 
int32_t main_type_back (size_t index) const
 
int32_t return_type_back (size_t index) const
 
void set_main_type (size_t index, int32_t type)
 
void set_return_type (size_t index, int32_t type)
 
void set_main_type_back (size_t index, int32_t type)
 
void set_return_type_back (size_t index, int32_t type)
 

Public Attributes

size_t min_main_depth = 0
 
size_t min_return_depth = 0
 

Protected Attributes

std::vector< int32_t > main_types
 
std::vector< int32_t > return_types
 

Detailed Description

Definition at line 96 of file fif.hpp.

Constructor & Destructor Documentation

◆ state_stack() [1/3]

fif::state_stack::state_stack ( )
default

◆ state_stack() [2/3]

fif::state_stack::state_stack ( state_stack &&  )
default

◆ state_stack() [3/3]

fif::state_stack::state_stack ( const state_stack )
default

◆ ~state_stack()

virtual fif::state_stack::~state_stack ( )
virtualdefault

Member Function Documentation

◆ copy()

virtual std::unique_ptr< state_stack > fif::state_stack::copy ( ) const
pure virtual

Implemented in fif::llvm_stack, fif::type_stack, and fif::interpreter_stack.

Here is the caller graph for this function:

◆ copy_into()

virtual void fif::state_stack::copy_into ( state_stack const &  other)
pure virtual

◆ get_type()

virtual stack_type fif::state_stack::get_type ( ) const
pure virtual

◆ main_data()

virtual int64_t fif::state_stack::main_data ( size_t  index) const
pure virtual

◆ main_data_back()

virtual int64_t fif::state_stack::main_data_back ( size_t  index) const
pure virtual

◆ main_ex()

virtual LLVMValueRef fif::state_stack::main_ex ( size_t  index) const
pure virtual

◆ main_ex_back()

virtual LLVMValueRef fif::state_stack::main_ex_back ( size_t  index) const
pure virtual

◆ main_size()

size_t fif::state_stack::main_size ( ) const
inline

Definition at line 142 of file fif.hpp.

Here is the caller graph for this function:

◆ main_type()

int32_t fif::state_stack::main_type ( size_t  index) const
inline

Definition at line 148 of file fif.hpp.

Here is the caller graph for this function:

◆ main_type_back()

int32_t fif::state_stack::main_type_back ( size_t  index) const
inline

Definition at line 154 of file fif.hpp.

Here is the caller graph for this function:

◆ mark_used_from_main()

void fif::state_stack::mark_used_from_main ( size_t  count)
inline

Definition at line 104 of file fif.hpp.

◆ mark_used_from_return()

void fif::state_stack::mark_used_from_return ( size_t  count)
inline

Definition at line 107 of file fif.hpp.

◆ move_into()

virtual void fif::state_stack::move_into ( state_stack &&  other)
pure virtual

◆ pop_main()

virtual void fif::state_stack::pop_main ( )
pure virtual

◆ pop_return()

virtual void fif::state_stack::pop_return ( )
pure virtual

Implemented in fif::llvm_stack, fif::type_stack, and fif::interpreter_stack.

Here is the caller graph for this function:

◆ push_back_main()

virtual void fif::state_stack::push_back_main ( int32_t  type,
int64_t  data,
LLVMValueRef  expr 
)
pure virtual

◆ push_back_return()

virtual void fif::state_stack::push_back_return ( int32_t  type,
int64_t  data,
LLVMValueRef  expr 
)
pure virtual

Implemented in fif::llvm_stack, fif::type_stack, and fif::interpreter_stack.

Here is the caller graph for this function:

◆ resize()

virtual void fif::state_stack::resize ( size_t  main_sz,
size_t  return_sz 
)
pure virtual

Implemented in fif::llvm_stack, fif::type_stack, and fif::interpreter_stack.

Here is the caller graph for this function:

◆ return_data()

virtual int64_t fif::state_stack::return_data ( size_t  index) const
pure virtual

◆ return_data_back()

virtual int64_t fif::state_stack::return_data_back ( size_t  index) const
pure virtual

Implemented in fif::llvm_stack, fif::type_stack, and fif::interpreter_stack.

Here is the caller graph for this function:

◆ return_ex()

virtual LLVMValueRef fif::state_stack::return_ex ( size_t  index) const
pure virtual

◆ return_ex_back()

virtual LLVMValueRef fif::state_stack::return_ex_back ( size_t  index) const
pure virtual

Implemented in fif::llvm_stack, fif::type_stack, and fif::interpreter_stack.

Here is the caller graph for this function:

◆ return_size()

size_t fif::state_stack::return_size ( ) const
inline

Definition at line 145 of file fif.hpp.

Here is the caller graph for this function:

◆ return_type()

int32_t fif::state_stack::return_type ( size_t  index) const
inline

Definition at line 151 of file fif.hpp.

Here is the caller graph for this function:

◆ return_type_back()

int32_t fif::state_stack::return_type_back ( size_t  index) const
inline

Definition at line 157 of file fif.hpp.

Here is the caller graph for this function:

◆ set_main_data()

virtual void fif::state_stack::set_main_data ( size_t  index,
int64_t  value 
)
pure virtual

◆ set_main_data_back()

virtual void fif::state_stack::set_main_data_back ( size_t  index,
int64_t  value 
)
pure virtual

Implemented in fif::llvm_stack, fif::type_stack, and fif::interpreter_stack.

Here is the caller graph for this function:

◆ set_main_ex()

virtual void fif::state_stack::set_main_ex ( size_t  index,
LLVMValueRef  value 
)
pure virtual

◆ set_main_ex_back()

virtual void fif::state_stack::set_main_ex_back ( size_t  index,
LLVMValueRef  value 
)
pure virtual

Implemented in fif::llvm_stack, fif::type_stack, and fif::interpreter_stack.

Here is the caller graph for this function:

◆ set_main_type()

void fif::state_stack::set_main_type ( size_t  index,
int32_t  type 
)
inline

Definition at line 160 of file fif.hpp.

◆ set_main_type_back()

void fif::state_stack::set_main_type_back ( size_t  index,
int32_t  type 
)
inline

Definition at line 168 of file fif.hpp.

Here is the caller graph for this function:

◆ set_return_data()

virtual void fif::state_stack::set_return_data ( size_t  index,
int64_t  value 
)
pure virtual

◆ set_return_data_back()

virtual void fif::state_stack::set_return_data_back ( size_t  index,
int64_t  value 
)
pure virtual

◆ set_return_ex()

virtual void fif::state_stack::set_return_ex ( size_t  index,
LLVMValueRef  value 
)
pure virtual

◆ set_return_ex_back()

virtual void fif::state_stack::set_return_ex_back ( size_t  index,
LLVMValueRef  value 
)
pure virtual

◆ set_return_type()

void fif::state_stack::set_return_type ( size_t  index,
int32_t  type 
)
inline

Definition at line 164 of file fif.hpp.

◆ set_return_type_back()

void fif::state_stack::set_return_type_back ( size_t  index,
int32_t  type 
)
inline

Definition at line 172 of file fif.hpp.

Member Data Documentation

◆ main_types

std::vector<int32_t> fif::state_stack::main_types
protected

Definition at line 98 of file fif.hpp.

◆ min_main_depth

size_t fif::state_stack::min_main_depth = 0

Definition at line 101 of file fif.hpp.

◆ min_return_depth

size_t fif::state_stack::min_return_depth = 0

Definition at line 102 of file fif.hpp.

◆ return_types

std::vector<int32_t> fif::state_stack::return_types
protected

Definition at line 99 of file fif.hpp.


The documentation for this class was generated from the following file: