Project Alice
Loading...
Searching...
No Matches
fif::outer_interpreter Class Reference

#include <fif.hpp>

Inheritance diagram for fif::outer_interpreter:
Collaboration diagram for fif::outer_interpreter:

Public Member Functions

virtual var_dataget_var (std::string const &name) override
 
virtual var_datacreate_var (std::string const &name, int32_t type) override
 
virtual let_dataget_let (std::string const &name) override
 
virtual let_datacreate_let (std::string const &name, int32_t type, int64_t data, LLVMValueRef expression) override
 
 outer_interpreter (environment &env)
 
virtual control_structure get_type () override
 
virtual state_stackworking_state () override
 
virtual void set_working_state (std::unique_ptr< state_stack > p) override
 
virtual bool finish (environment &env) override
 
- Public Member Functions inherited from fif::opaque_compiler_data
 opaque_compiler_data (opaque_compiler_data *parent)
 
virtual ~opaque_compiler_data ()=default
 
virtual control_structure get_type ()
 
virtual LLVMValueRef llvm_function ()
 
virtual LLVMBasicBlockRefllvm_block ()
 
virtual int32_t word_id ()
 
virtual int32_t instance_id ()
 
virtual std::vector< int32_t > * bytecode_compilation_progress ()
 
virtual ankerl::unordered_dense::map< uint64_t, typecheck_3_record > * typecheck_record ()
 
virtual state_stackworking_state ()
 
virtual void set_working_state (std::unique_ptr< state_stack > p)
 
virtual bool finish (environment &env)
 
virtual var_dataget_var (std::string const &name)
 
virtual let_dataget_let (std::string const &name)
 
virtual var_datacreate_var (std::string const &name, int32_t type)
 
virtual let_datacreate_let (std::string const &name, int32_t type, int64_t data, LLVMValueRef expression)
 
virtual std::vector< int32_t > * type_substitutions ()
 

Public Attributes

std::unique_ptr< state_stackinterpreter_state
 
ankerl::unordered_dense::map< std::string, std::unique_ptr< var_data > > global_vars
 
ankerl::unordered_dense::map< std::string, std::unique_ptr< let_data > > global_lets
 

Additional Inherited Members

- Protected Attributes inherited from fif::opaque_compiler_data
opaque_compiler_dataparent = nullptr
 

Detailed Description

Definition at line 3027 of file fif.hpp.

Constructor & Destructor Documentation

◆ outer_interpreter()

fif::outer_interpreter::outer_interpreter ( environment env)
inline

Definition at line 3076 of file fif.hpp.

Member Function Documentation

◆ create_let()

virtual let_data * fif::outer_interpreter::create_let ( std::string const &  name,
int32_t  type,
int64_t  data,
LLVMValueRef  expression 
)
inlineoverridevirtual

Reimplemented from fif::opaque_compiler_data.

Definition at line 3059 of file fif.hpp.

◆ create_var()

virtual var_data * fif::outer_interpreter::create_var ( std::string const &  name,
int32_t  type 
)
inlineoverridevirtual

Reimplemented from fif::opaque_compiler_data.

Definition at line 3040 of file fif.hpp.

◆ finish()

virtual bool fif::outer_interpreter::finish ( environment env)
inlineoverridevirtual

Reimplemented from fif::opaque_compiler_data.

Definition at line 3087 of file fif.hpp.

◆ get_let()

virtual let_data * fif::outer_interpreter::get_let ( std::string const &  name)
inlineoverridevirtual

Reimplemented from fif::opaque_compiler_data.

Definition at line 3053 of file fif.hpp.

◆ get_type()

virtual control_structure fif::outer_interpreter::get_type ( )
inlineoverridevirtual

Reimplemented from fif::opaque_compiler_data.

Definition at line 3078 of file fif.hpp.

◆ get_var()

virtual var_data * fif::outer_interpreter::get_var ( std::string const &  name)
inlineoverridevirtual

Reimplemented from fif::opaque_compiler_data.

Definition at line 3034 of file fif.hpp.

◆ set_working_state()

virtual void fif::outer_interpreter::set_working_state ( std::unique_ptr< state_stack p)
inlineoverridevirtual

Reimplemented from fif::opaque_compiler_data.

Definition at line 3084 of file fif.hpp.

◆ working_state()

virtual state_stack * fif::outer_interpreter::working_state ( )
inlineoverridevirtual

Reimplemented from fif::opaque_compiler_data.

Definition at line 3081 of file fif.hpp.

Member Data Documentation

◆ global_lets

ankerl::unordered_dense::map<std::string, std::unique_ptr<let_data> > fif::outer_interpreter::global_lets

Definition at line 3032 of file fif.hpp.

◆ global_vars

ankerl::unordered_dense::map<std::string, std::unique_ptr<var_data> > fif::outer_interpreter::global_vars

Definition at line 3031 of file fif.hpp.

◆ interpreter_state

std::unique_ptr<state_stack> fif::outer_interpreter::interpreter_state

Definition at line 3029 of file fif.hpp.


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