29 #ifndef __BATOF_FORMULAS_H__
30 # define __BATOF_FORMULAS_H__
32 # include "prestaf-batof-p.h"
34 struct global_definition
40 struct msa2form_compilation_data
60 btf_init_compilation_data (
struct msa2form_compilation_data *data,
int m,
61 const char *
const *varnames);
64 btf_clear_compilation_data (
struct msa2form_compilation_data *data);
67 btf_add_definition (
struct msa2form_compilation_data *data,
const char *s,
80 btf_form_crt_definition (
const char *
id,
armoise_tree *P);
83 btf_form_crt_V_definition (
struct msa2form_compilation_data *cd,
87 btf_form_crt_Zm_definition (
const char *
id,
int m);
94 const char *
id, tla_vec_t rho, tla_vec_t xhi,
95 tla_vsp_t V, tla_vec_t alpha,
int op);
97 # define btf_form_get_def_id(def) ((def)->child->value.id_value)
100 btf_form_crt_H_definition (
struct msa2form_compilation_data *cd,
104 btf_form_crt_PH_definition (
struct msa2form_compilation_data *cd,
106 tla_vec_t rho, tla_vec_t xhi,
107 tla_vsp_t V, tla_vec_t alpha,
int op);
110 btf_form_crt_P_definition (
struct msa2form_compilation_data *cd,
111 const char *
id, tla_vec_t rho_w,
ccl_list *B,
115 btf_form_crt_pattern_definition (
struct msa2form_compilation_data *cd,
119 btf_form_crt_G_definition (
struct msa2form_compilation_data *cd, tla_group_t G);
122 btf_form_crt_vec_definition (
struct msa2form_compilation_data *cd,
126 btf_form_trivial_predicate (
struct msa2form_compilation_data *cd,
int is_empty);
129 btf_form_crt_vector_of_ids (
int m,
ccl_ustring *X);
132 btf_form_zero_vec_predicate (
int m);
135 btf_form_crt_x_in_nat_power_m (
struct msa2form_compilation_data *cd);
138 btf_form_crt_nat_power_m (
struct msa2form_compilation_data *cd);
141 btf_form_crt_Z_power_m (
struct msa2form_compilation_data *cd);
148 btf_form_crt_e_m_i_predicate (
int m,
int i);
151 btf_form_vec_to_armoise_predicate (tla_vec_t v);
154 btf_form_vec_to_armoise_term (tla_vec_t v);
Structure encoding of a parse-tree node.
struct ccl_list_st ccl_list
Type of a generic list.
char * ccl_ustring
Alias type for strings that are stored in an internal dictionary and then can be used as identifiers ...
struct ccl_hash_st ccl_hash
abstract type of an hash table.