|
void | initialise_builtin_types () |
|
void | virtual_module_size_wrapper (expression_base::level l) |
|
type_ptr | acquire (const type_expr *t) |
|
type_list | empty_tuple () |
|
type_list & | prefix (type_expr &&t, type_list &dst) |
|
dressed_type_list & | prefix (type_expr &&t, dressed_type_list &dst) |
|
std::ostream & | operator<< (std::ostream &out, const raw_type_list &l) |
|
std::ostream & | operator<< (std::ostream &out, const func_type &f) |
|
std::ostream & | operator<< (std::ostream &out, const type_expr &t) |
|
bool | operator== (const type_expr &x, const type_expr &y) |
|
type_ptr | mk_prim_type (primitive_tag p) |
|
type_ptr | mk_row_type (type_ptr &&c) |
|
type_ptr | mk_tuple_type (type_list &&l) |
|
type_ptr | mk_function_type (type_expr &&a, type_expr &&r) |
|
type_p | make_prim_type (unsigned int p) |
|
type_p | make_row_type (type_p c) |
|
type_p | make_tuple_type (raw_type_list l) |
|
type_p | make_function_type (type_p a, type_p r) |
|
raw_type_list | make_type_singleton (type_p t) |
|
raw_type_list | make_type_list (raw_type_list l, type_p t) |
|
dressed_type_list | scan_type_list (const char *&s) |
|
type_expr | scan_type (const char *&s) |
|
type_expr | mk_type_expr (const char *s) |
|
type_ptr | mk_type (const char *s) |
|
type_expr | unknown_tuple (size_t n) |
|
std::ostream & | operator<< (std::ostream &out, const value_base &v) |
|
void | push_tuple_components () |
|
void | wrap_tuple (size_t n) |
|
void | push_expanded (expression_base::level l, const shared_value &v) |
|
void | coercion (const type_expr &from, const type_expr &to, const char *s, conversion_info::conv_f f) |
|
bool | coerce (const type_expr &from_type, const type_expr &to_type, expression_ptr &e) |
|
expression_ptr | conform_types (const type_expr &found, type_expr &required, expression_ptr &&d, const expr &e) |
|
const conversion_record * | row_coercion (const type_expr &final_type, type_expr &component_type) |
|
unsigned int | is_close (const type_expr &x, const type_expr &y) |
|
bool | broader_eq (const type_expr &a, const type_expr &b) |
|
bool | operator!= (const type_expr &x, const type_expr &y) |
|
std::ostream & | operator<< (std::ostream &out, const expression_base &e) |
|
template<typename T > |
T & | as_lvalue (T &&rvalue) |
|
void | push_value (const shared_value &v) |
|
void | push_value (shared_value &&v) |
|
shared_value | pop_value () |
|
template<typename D > |
std::shared_ptr< const D > | get () throw (logic_error) |
|
template<typename D > |
std::shared_ptr< D > | non_const_get () throw (logic_error) |
|
template<typename D > |
D * | force (value v) throw (logic_error) |
|
template<typename D > |
const D * | force (const value_base *v) throw (logic_error) |
|
template<typename D > |
std::shared_ptr< D > | get_own () throw (logic_error) |
|
value | uniquify (shared_value &v) |
|
template<unsigned int> |
void | wrap_tuple () |
|
template<unsigned int> |
void | do_wrap (std::vector< shared_value >::iterator it) |
|
template<> |
void | do_wrap< 0u > (std::vector< shared_value >::iterator it) |
|
void | reset_evaluator () |
|
expression_ptr | convert_expr (const expr &e, type_expr &type) |
|
expression_ptr | resolve_overload (const expr &e, type_expr &type, const overload_table::variant_list &variants) |
|
type_list | pattern_list_types (const patlist &p) |
|
type_expr | pattern_type (const id_pat &pat) |
|
size_t | count_identifiers (const id_pat &pat) |
|
void | list_identifiers (const id_pat &pat, std::vector< id_type > &d) |
|
void | thread_bindings (const id_pat &pat, const type_expr &type, layer &dst, bool is_const) |
|
void | thread_components (const id_pat &pat, const shared_value &val, std::back_insert_iterator< std::vector< shared_value > >dst) |
|
std::ostream & | operator<< (std::ostream &out, const lambda_struct &l) |
|
std::string | range_mess (int i, size_t n, const expression_base *e, const char *where) |
|
void | slice_range_error (int lwb, int upb, int n, unsigned flags, const expression_base *e) |
|
void | print_body (std::ostream &out, const expression_ptr &body, unsigned flags) |
|
unsigned int | input_path_size () |
|
const std::string & | input_path_component (unsigned int i) |
|
std::ostream & | operator<< (std::ostream &out, const Id_table &p) |
|
std::ostream & | operator<< (std::ostream &out, const overload_table &p) |
|
void | initialise_evaluator () |
|
type_expr | analyse_types (const expr &e, expression_ptr &p) |
|
void | global_set_identifier (const raw_id_pat &raw_pat, expr_p raw, int overload) |
|
void | global_set_identifiers (const raw_let_list &d) |
|
void | global_declare_identifier (id_type id, type_p t) |
|
void | global_forget_identifier (id_type id) |
|
void | global_forget_overload (id_type id, type_p t) |
|
void | type_define_identifier (id_type id, type_p t, raw_id_pat ip, const YYLTYPE &loc) |
|
void | type_of_expr (expr_p raw) |
|
void | show_overloads (id_type id) |
|
void | show_ids () |
|
void | install_function (wrapper_function f, const char *name, const char *type_string) |
|
void | sizeof_string_wrapper (expression_base::level l) |
|
void | sizeof_vector_wrapper (expression_base::level l) |
|
void | sizeof_ratvec_wrapper (expression_base::level l) |
|
void | matrix_ncols_wrapper (expression_base::level l) |
|
void | mm_prod_wrapper (expression_base::level l) |
|
void | transpose_mat_wrapper (expression_base::level l) |
|
void | id_mat_wrapper (expression_base::level l) |
|
void | global_set_identifier (const struct raw_id_pat &id, expr_p e, int overload) |
|
template<typename T > |
std::string | str (T n) |
|
std::string | str (unsigned char c) |
|
shared_bool | whether (bool b) |
|
void | destroy_expr (expr_p p) |
|
expr_p | make_int_denotation (int val, const YYLTYPE &loc) |
|
expr_p | make_bool_denotation (bool val, const YYLTYPE &loc) |
|
expr_p | make_string_denotation (std::string *val_p, const YYLTYPE &loc) |
|
expr_p | make_applied_identifier (id_type id, const YYLTYPE &loc) |
|
expr_p | make_dollar (const YYLTYPE &loc) |
|
expr_p | make_break (unsigned n, const YYLTYPE &loc) |
|
expr_p | make_return (expr_p exp, const YYLTYPE &loc) |
|
expr_p | make_die (const YYLTYPE &loc) |
|
raw_expr_list | make_exprlist_node (expr_p e, raw_expr_list raw) |
|
raw_expr_list | reverse_expr_list (raw_expr_list raw) |
|
expr_p | wrap_tuple_display (raw_expr_list l, const YYLTYPE &loc) |
|
expr_p | wrap_list_display (raw_expr_list l, const YYLTYPE &loc) |
|
void | destroy_exprlist (raw_expr_list l) |
|
expr_p | make_application_node (expr_p f, raw_expr_list r_args, const YYLTYPE &loc, const YYLTYPE &left, const YYLTYPE &right) |
|
expr_p | make_application_node (expr_p f, expr_p arg, const YYLTYPE &loc) |
|
expr_p | make_binary_call (id_type name, expr_p x, expr_p y, const YYLTYPE &loc, const YYLTYPE &op_loc) |
|
expr_p | make_unary_call (id_type name, expr_p a, const YYLTYPE &loc, const YYLTYPE &op_loc) |
|
expr_p | make_negation (expr_p e, const YYLTYPE &loc) |
|
raw_form_stack | start_formula (expr_p e, id_type op, int prio, const YYLTYPE &op_loc) |
|
raw_form_stack | start_unary_formula (id_type op, int prio, const YYLTYPE &op_loc) |
|
raw_form_stack | extend_formula (raw_form_stack pre, expr_p ep, id_type op, int prio, const YYLTYPE &op_loc) |
|
expr_p | end_formula (raw_form_stack pre, expr_p ep, const YYLTYPE &loc) |
|
void | destroy_formula (raw_form_stack s) |
|
raw_patlist | make_pattern_node (raw_patlist prev, raw_id_pat &pattern) |
|
void | destroy_pattern (raw_patlist p) |
|
void | destroy_id_pat (const raw_id_pat &p) |
|
raw_patlist | reverse_patlist (raw_patlist raw) |
|
raw_let_list | make_let_node (raw_id_pat &pattern, expr_p val) |
|
raw_let_list | append_let_node (raw_let_list prev, raw_let_list cur) |
|
std::pair< id_pat, expr > | zip_decls (raw_let_list d) |
|
expr_p | make_let_expr_node (raw_let_list d, expr_p b, const YYLTYPE &loc) |
|
void | destroy_letlist (raw_let_list l) |
|
void | destroy_type (type_p t) |
|
void | destroy_type_list (raw_type_list t) |
|
expr_p | make_lambda_node (raw_patlist p, raw_type_list tl, expr_p b, const YYLTYPE &loc) |
|
expr_p | make_conditional_node (expr_p c, expr_p t, expr_p e, const YYLTYPE &loc) |
|
expr_p | make_int_case_node (expr_p s, raw_expr_list i, const YYLTYPE &loc) |
|
expr_p | make_while_node (expr_p b, unsigned flags, const YYLTYPE &loc) |
|
expr_p | make_for_node (raw_id_pat &id, expr_p ip, expr_p b, unsigned flags, const YYLTYPE &loc) |
|
expr_p | make_cfor_node (id_type id, expr_p c, expr_p l, expr_p b, unsigned flags, const YYLTYPE &loc) |
|
expr_p | make_subscription_node (expr_p a, expr_p i, bool reversed, const YYLTYPE &loc) |
|
expr_p | make_slice_node (expr_p a, expr_p lower, expr_p upper, unsigned flags, const YYLTYPE &loc) |
|
expr_p | make_cast (type_p t, expr_p e, const YYLTYPE &loc) |
|
expr_p | make_op_cast (id_type name, type_p t, const YYLTYPE &loc) |
|
expr_p | make_assignment (id_type id, expr_p r, const YYLTYPE &loc) |
|
expr_p | make_multi_assignment (raw_id_pat &lhs, expr_p r, const YYLTYPE &loc) |
|
expr_p | make_comp_ass (expr_p l, expr_p r, const YYLTYPE &loc) |
|
expr_p | make_comp_upd_ass (expr_p l, id_type op, expr_p r, const YYLTYPE &loc, const YYLTYPE &op_loc) |
|
expr_p | make_recfun (id_type f, expr_p d, const YYLTYPE &loc, const YYLTYPE &f_loc) |
|
expr_p | make_sequence (expr_p f, expr_p l, unsigned which, const YYLTYPE &loc) |
|
id_type | lookup_identifier (const char *name) |
|
void | include_file (int skip_seen) |
|
std::ostream & | operator<< (std::ostream &out, const source_location &sl) |
|
std::ostream & | operator<< (std::ostream &out, const expr &e) |
|
bool | is_empty (const expr &e) |
|
std::ostream & | operator<< (std::ostream &out, const id_pat &p) |
|