Project Alice
Loading...
Searching...
No Matches
fif.hpp File Reference
#include "unordered_dense.h"
#include <vector>
#include <optional>
#include <variant>
#include "stdint.h"
#include <string>
#include <string_view>
#include <assert.h>
#include <charconv>
#include <span>
#include <limits>
Include dependency graph for fif.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  fif::indirect_string_hash
 
struct  fif::indirect_string_eq
 
class  fif::state_stack
 
class  fif::llvm_stack
 
class  fif::type_stack
 
struct  fif::interpreted_word_instance
 
struct  fif::compiled_word_instance
 
struct  fif::word
 
struct  fif::type
 
class  fif::dictionary
 
struct  fif::typecheck_3_record
 
struct  fif::var_data
 
struct  fif::let_data
 
class  fif::opaque_compiler_data
 
class  fif::compiler_state
 
struct  fif::import_item
 
class  fif::environment
 
class  fif::compiler_globals_layer
 
class  fif::interpreter_stack
 
struct  fif::type_match_result
 
struct  fif::type_match
 
struct  fif::variable_match_result
 
struct  fif::type_span_gen_result
 
struct  fif::stack_consumption
 
struct  fif::word_match_result
 
struct  fif::parse_result
 
class  fif::locals_holder
 
class  fif::function_scope
 
class  fif::runtime_function_scope
 
class  fif::mode_switch_scope
 
class  fif::outer_interpreter
 
class  fif::typecheck3_record_holder
 
class  fif::conditional_scope
 
class  fif::while_loop_scope
 
class  fif::do_loop_scope
 
struct  fif::string_start
 

Namespaces

namespace  fif
 

Macros

#define LLVMValueRef   void*
 
#define LLVMBasicBlockRef   void*
 
#define LLVMTypeRef   void*
 

Typedefs

using fif::fif_call = int32_t *(*)(state_stack &, int32_t *, environment *)
 
using fif::word_types = std::variant< interpreted_word_instance, compiled_word_instance >
 
using fif::interpreter_zero_expr = int64_t(*)(int32_t t, environment *)
 
using fif::interpreted_new = int64_t(*)()
 

Enumerations

enum class  fif::stack_type { fif::interpreter_stack = 0 , fif::bytecode_compiler = 1 , fif::llvm_compiler = 2 }
 
enum class  fif::control_structure : uint8_t {
  fif::none , fif::function , fif::str_if , fif::str_while_loop ,
  fif::str_do_loop , fif::mode_switch , fif::globals
}
 
enum class  fif::fif_mode {
  fif::interpreting = 0 , fif::compiling_bytecode = 1 , fif::compiling_llvm = 2 , fif::terminated = 3 ,
  fif::error = 4 , fif::typechecking_lvl_1 = 5 , fif::typechecking_lvl_2 = 6 , fif::typechecking_lvl_3 = 7 ,
  fif::typechecking_lvl1_failed = 8 , fif::typechecking_lvl2_failed = 9 , fif::typechecking_lvl3_failed = 10
}
 

Functions

LLVMValueRef fif::empty_type_fn (LLVMValueRef r, int32_t type, environment *)
 
bool fif::non_immediate_mode (fif_mode m)
 
bool fif::typechecking_mode (fif_mode m)
 
bool fif::typechecking_failed (fif_mode m)
 
fif_mode fif::reset_typechecking (fif_mode m)
 
fif_mode fif::fail_typechecking (fif_mode m)
 
std::string fif::word_name_from_id (int32_t w, environment const &e)
 
int32_t * fif::illegal_interpretation (state_stack &s, int32_t *p, environment *e)
 
bool fif::is_positive_integer (char const *start, char const *end)
 
bool fif::is_integer (char const *start, char const *end)
 
bool fif::is_positive_fp (char const *start, char const *end)
 
bool fif::is_fp (char const *start, char const *end)
 
double fif::pow_10 (int n)
 
bool fif::float_from_chars (char const *start, char const *end, float &float_out)
 
int32_t fif::parse_int (std::string_view content)
 
float fif::parse_float (std::string_view content)
 
type_match fif::resolve_span_type (std::span< int32_t const > tlist, std::vector< int32_t > const &type_subs, environment &env)
 
variable_match_result fif::fill_in_variable_types (int32_t source_type, std::span< int32_t const > match_span, std::vector< int32_t > &type_subs, environment &env)
 
int32_t fif::interepreter_size (int32_t type, environment &env)
 
int32_t fif::struct_child_count (int32_t type, environment &env)
 
int64_t fif::interpreter_struct_zero_constant (int32_t t, environment *e)
 
uint32_t fif::next_encoded_stack_type (std::span< int32_t const > desc)
 
int32_t fif::instantiate_templated_struct_full (int32_t template_base, std::vector< int32_t > const &final_subtype_list, environment &env)
 
int32_t fif::instantiate_templated_struct (int32_t template_base, std::vector< int32_t > const &subtypes, environment &env)
 
int32_t fif::make_struct_type (std::string_view name, std::span< int32_t const > subtypes, std::vector< std::string_view > const &member_names, environment &env, int32_t template_types, int32_t extra_count)
 
type_match fif::internal_resolve_type (std::string_view text, environment &env, std::vector< int32_t > *type_subs)
 
int32_t fif::resolve_type (std::string_view text, environment &env, std::vector< int32_t > *type_subs)
 
type_span_gen_result fif::internal_generate_type (std::string_view text, environment &env)
 
type_match_result fif::match_stack_description (std::span< int32_t const > desc, state_stack &ts, environment &env, std::vector< int32_t > &type_subs)
 
void fif::apply_stack_description (std::span< int32_t const > desc, state_stack &ts, environment &env)
 
stack_consumption fif::get_stack_consumption (int32_t word, int32_t alternative, environment &env)
 
word_match_result fif::match_word (word const &w, state_stack &ts, std::vector< word_types > const &all_instances, std::vector< int32_t > const &all_stack_types, environment &env)
 
std::string_view fif::read_word (std::string_view source, uint32_t &read_position)
 
void fif::execute_fif_word (interpreted_word_instance &wi, state_stack &ss, environment &env)
 
void fif::execute_fif_word (compiled_word_instance &wi, state_stack &ss, environment &env)
 
void fif::execute_fif_word (state_stack &ss, int32_t *ptr, environment &env)
 
int32_t * fif::immediate_i32 (state_stack &s, int32_t *p, environment *)
 
int32_t * fif::immediate_f32 (state_stack &s, int32_t *p, environment *)
 
int32_t * fif::immediate_bool (state_stack &s, int32_t *p, environment *)
 
void fif::do_immediate_i32 (state_stack &s, int32_t value, environment *e)
 
int32_t * fif::immediate_type (state_stack &s, int32_t *p, environment *)
 
void fif::do_immediate_type (state_stack &s, int32_t value, environment *e)
 
void fif::do_immediate_bool (state_stack &s, bool value, environment *e)
 
void fif::do_immediate_f32 (state_stack &s, float value, environment *e)
 
int32_t * fif::function_return (state_stack &s, int32_t *p, environment *)
 
void fif::execute_fif_word (parse_result word, environment &env, bool ignore_specializations)
 
std::vector< int32_t > fif::expand_stack_description (state_stack &initial_stack_state, std::span< const int32_t > desc, int32_t stack_consumed, int32_t rstack_consumed)
 
bool fif::compare_stack_description (std::span< const int32_t > a, std::span< const int32_t > b)
 
int32_t * fif::call_function (state_stack &s, int32_t *p, environment *env)
 
int32_t * fif::call_function_indirect (state_stack &s, int32_t *p, environment *env)
 
int32_t * fif::enter_scope (state_stack &s, int32_t *p, environment *env)
 
int32_t * fif::leave_scope (state_stack &s, int32_t *p, environment *env)
 
void fif::switch_compiler_stack_mode (environment &env, fif_mode new_mode)
 
void fif::restore_compiler_stack_mode (environment &env)
 
bool fif::stack_types_match (state_stack &a, state_stack &b)
 
int32_t * fif::conditional_jump (state_stack &s, int32_t *p, environment *env)
 
int32_t * fif::reverse_conditional_jump (state_stack &s, int32_t *p, environment *env)
 
int32_t * fif::unconditional_jump (state_stack &s, int32_t *p, environment *env)
 
uint32_t fif::codepoint_from_utf8 (char const *start, char const *end)
 
size_t fif::size_from_utf8 (char const *start)
 
bool fif::codepoint_is_space (uint32_t c) noexcept
 
bool fif::codepoint_is_line_break (uint32_t c) noexcept
 
string_start fif::match_string_start (std::string_view source)
 
bool fif::match_string_end (std::string_view source, int32_t eq_count_in)
 
parse_result fif::read_token (std::string_view &source, environment &env)
 
void fif::run_to_scope_end (environment &env)
 
void fif::run_to_function_end (environment &env)
 
word_match_result fif::get_basic_type_match (int32_t word_index, state_stack &current_type_state, environment &env, std::vector< int32_t > &specialize_t_subs, bool ignore_specializations)
 
bool fif::fully_typecheck_word (int32_t w, int32_t word_index, interpreted_word_instance &wi, state_stack &current_type_state, environment &env, std::vector< int32_t > &tsubs)
 
bool fif::compile_word (int32_t w, int32_t word_index, state_stack &state, fif_mode compile_mode, environment &env, std::vector< int32_t > &tsubs)
 
let_data * fif::get_global_let (environment &env, std::string const &name)
 
var_data * fif::get_global_var (environment &env, std::string const &name)
 
int32_t * fif::immediate_local (state_stack &s, int32_t *p, environment *e)
 
int32_t * fif::immediate_let (state_stack &s, int32_t *p, environment *e)
 
int32_t * fif::immediate_global (state_stack &s, int32_t *p, environment *e)
 
void fif::run_fif_interpreter (environment &env, std::string_view on_text)
 
void fif::run_fif_interpreter (environment &env, std::string_view on_text, interpreter_stack &s)
 
void fif::add_import (std::string_view name, void *ptr, fif_call interpreter_implementation, std::vector< int32_t > const &params, std::vector< int32_t > const &returns, environment &env)
 
int32_t * fif::colon_definition (fif::state_stack &, int32_t *p, fif::environment *e)
 
int32_t * fif::colon_specialization (fif::state_stack &, int32_t *p, fif::environment *e)
 
int32_t * fif::iadd (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::f32_add (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::f64_add (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::isub (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::f32_sub (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::f64_sub (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::imul (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::f32_mul (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::f64_mul (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::sidiv (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::uidiv (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::f32_div (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::f64_div (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::simod (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::uimod (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::f32_mod (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::f64_mod (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::dup (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::init (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::copy (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::drop (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::fif_swap (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::fif_if (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::fif_else (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::fif_then (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::fif_while (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::fif_loop (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::fif_end_while (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::fif_do (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::fif_until (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::fif_end_do (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::from_r (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::r_at (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::to_r (fif::state_stack &s, int32_t *p, fif::environment *e)
 
void fif::add_precompiled (fif::environment &env, std::string name, fif::fif_call fn, std::vector< int32_t > types, bool immediate=false)
 
int32_t * fif::ilt (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::f32lt (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::f64lt (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::uilt (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::igt (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::uigt (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::f32gt (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::f64gt (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::ile (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::uile (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::f32le (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::f64le (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::ige (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::uige (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::f32ge (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::f64ge (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::ieq (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::f32eq (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::f64eq (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::ine (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::f32ne (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::f64ne (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::f_select (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::make_immediate (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::open_bracket (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::close_bracket (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::impl_heap_allot (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::impl_heap_free (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::impl_load (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::impl_load_deallocated (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::impl_store (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::impl_uninit_store (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::do_pointer_cast (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::pointer_cast (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::impl_sizeof (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::impl_index (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::allocate_buffer (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::copy_buffer (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::free_buffer (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::do_let_creation (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::create_let (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::do_var_creation (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::create_var (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::create_global_impl (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::do_fextract (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::forth_extract (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::do_fextractc (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::forth_extract_copy (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::do_finsert (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::forth_insert (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::do_fgep (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::forth_gep (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::do_fsmz (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::forth_struct_map_zero (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::do_fsmo (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::forth_struct_map_one (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::do_fsmt (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::forth_struct_map_two (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::type_construction (state_stack &s, int32_t *p, environment *e)
 
int32_t * fif::do_make (state_stack &s, int32_t *p, environment *env)
 
int32_t * fif::struct_definition (fif::state_stack &, int32_t *p, fif::environment *e)
 
int32_t * fif::export_definition (fif::state_stack &, int32_t *p, fif::environment *e)
 
int32_t * fif::do_use_base (state_stack &s, int32_t *p, environment *env)
 
int32_t * fif::long_comment (fif::state_stack &, int32_t *p, fif::environment *e)
 
int32_t * fif::line_comment (fif::state_stack &, int32_t *p, fif::environment *e)
 
int32_t * fif::zext_i64 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::zext_i32 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::zext_i16 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::zext_i8 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::zext_ui64 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::zext_ui32 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::zext_ui16 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::zext_ui8 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::sext_i64 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::sext_i32 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::sext_i16 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::sext_i8 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::sext_ui64 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::sext_ui32 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::sext_ui16 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::sext_ui8 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::trunc_ui8 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::trunc_i8 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::trunc_i1 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::trunc_ui16 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::trunc_i16 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::trunc_ui32 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::trunc_i32 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::nop1 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::ftrunc (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::fext (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::f32i8 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::sif32 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::uif32 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::sif64 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::uif64 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::f32i16 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::f32i32 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::f32i64 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::f32ui8 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::f32ui16 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::f32ui32 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::f32ui64 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::f64i8 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::f64i16 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::f64i32 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::f64i64 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::f64ui8 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::f64ui16 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::f64ui32 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::f64ui64 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::bit_and (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::bit_or (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::bit_xor (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::bit_not (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::bit_shl (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::bit_ashr (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::bit_lshr (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::ident32 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::ident16 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::ident8 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::idents32 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::idents16 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::idents8 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
int32_t * fif::ident1 (fif::state_stack &s, int32_t *p, fif::environment *e)
 
void fif::initialize_standard_vocab (environment &fif_env)
 

Variables

constexpr int32_t fif::fif_i32 = 0
 
constexpr int32_t fif::fif_f32 = 1
 
constexpr int32_t fif::fif_bool = 2
 
constexpr int32_t fif::fif_type = 3
 
constexpr int32_t fif::fif_i64 = 4
 
constexpr int32_t fif::fif_f64 = 5
 
constexpr int32_t fif::fif_u32 = 6
 
constexpr int32_t fif::fif_u64 = 7
 
constexpr int32_t fif::fif_i16 = 8
 
constexpr int32_t fif::fif_u16 = 9
 
constexpr int32_t fif::fif_i8 = 10
 
constexpr int32_t fif::fif_u8 = 11
 
constexpr int32_t fif::fif_nil = 12
 
constexpr int32_t fif::fif_ptr = 13
 
constexpr int32_t fif::fif_opaque_ptr = 14
 
constexpr int32_t fif::fif_struct = 15
 
constexpr size_t fif::inlining_cells_limit = 512
 

Macro Definition Documentation

◆ LLVMBasicBlockRef

#define LLVMBasicBlockRef   void*

Definition at line 92 of file fif.hpp.

◆ LLVMTypeRef

#define LLVMTypeRef   void*

Definition at line 93 of file fif.hpp.

◆ LLVMValueRef

#define LLVMValueRef   void*

Definition at line 91 of file fif.hpp.