Project Alice
|
#include <fif.hpp>
Public Member Functions | |
while_loop_scope (opaque_compiler_data *p, environment &e, state_stack &entry_state) | |
virtual control_structure | get_type () override |
virtual state_stack * | working_state () override |
virtual void | set_working_state (std::unique_ptr< state_stack > p) override |
void | end_condition (environment &) |
virtual bool | finish (environment &) override |
Public Member Functions inherited from fif::locals_holder | |
locals_holder (opaque_compiler_data *p, environment &env) | |
virtual var_data * | get_var (std::string const &name) override |
virtual var_data * | create_var (std::string const &name, int32_t type) override |
virtual let_data * | get_let (std::string const &name) override |
virtual let_data * | create_let (std::string const &name, int32_t type, int64_t data, LLVMValueRef expression) override |
void | release_locals () |
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 LLVMBasicBlockRef * | llvm_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_stack * | working_state () |
virtual void | set_working_state (std::unique_ptr< state_stack > p) |
virtual bool | finish (environment &env) |
virtual var_data * | get_var (std::string const &name) |
virtual let_data * | get_let (std::string const &name) |
virtual var_data * | create_var (std::string const &name, int32_t type) |
virtual let_data * | create_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_stack > | initial_state |
std::unique_ptr< state_stack > | iworking_state |
std::unique_ptr< state_stack > | loop_entry_copy |
std::string_view | entry_source |
size_t | loop_entry_point = 0 |
size_t | end_of_loop_branch = 0 |
bool | phi_pass = false |
bool | intepreter_skip_body = false |
bool | saw_conditional = false |
bool | initial_typechecking_failed = false |
LLVMValueRef | conditional_expr = nullptr |
LLVMBasicBlockRef | pre_block = nullptr |
LLVMBasicBlockRef | entry_block = nullptr |
LLVMBasicBlockRef | body_block = nullptr |
std::vector< LLVMValueRef > | phinodes |
Public Attributes inherited from fif::locals_holder | |
ankerl::unordered_dense::map< std::string, std::unique_ptr< var_data > > | vars |
ankerl::unordered_dense::map< std::string, std::unique_ptr< let_data > > | lets |
environment & | env |
const bool | llvm_mode |
Additional Inherited Members | |
Protected Attributes inherited from fif::opaque_compiler_data | |
opaque_compiler_data * | parent = nullptr |
|
inline |
|
inline |
|
inlineoverridevirtual |
Reimplemented from fif::opaque_compiler_data.
Definition at line 3703 of file fif.hpp.
|
inlineoverridevirtual |
Reimplemented from fif::opaque_compiler_data.
|
inlineoverridevirtual |
Reimplemented from fif::opaque_compiler_data.
|
inlineoverridevirtual |
Reimplemented from fif::opaque_compiler_data.
LLVMBasicBlockRef fif::while_loop_scope::body_block = nullptr |
LLVMValueRef fif::while_loop_scope::conditional_expr = nullptr |
LLVMBasicBlockRef fif::while_loop_scope::entry_block = nullptr |
std::unique_ptr<state_stack> fif::while_loop_scope::initial_state |
bool fif::while_loop_scope::initial_typechecking_failed = false |
std::unique_ptr<state_stack> fif::while_loop_scope::iworking_state |
std::unique_ptr<state_stack> fif::while_loop_scope::loop_entry_copy |
std::vector<LLVMValueRef> fif::while_loop_scope::phinodes |
LLVMBasicBlockRef fif::while_loop_scope::pre_block = nullptr |