Skip to content

Commit

Permalink
Small changes for clarity + dune fmt
Browse files Browse the repository at this point in the history
  • Loading branch information
antoinepouille committed Mar 28, 2024
1 parent f5ece1e commit 7b8334b
Show file tree
Hide file tree
Showing 29 changed files with 615 additions and 353 deletions.
2 changes: 1 addition & 1 deletion core/KaSa_rep/export/export.ml
Original file line number Diff line number Diff line change
Expand Up @@ -1732,7 +1732,7 @@ functor
{
Signature.internal_state = states';
links = Some binding';
counters_info = None;
counter_info = None;
} )
:: acc ))
(state, []) interface
Expand Down
18 changes: 10 additions & 8 deletions core/KaSa_rep/frontend/ckappa_sig.ml
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ and 'counter parametric_agent = {

and agent = counter parametric_agent
and agent_sig = counter_sig parametric_agent

and 'counter interface =
| EMPTY_INTF
| PORT_SEP of port * 'counter interface
Expand All @@ -65,14 +66,15 @@ and counter = {
counter_test: counter_test option;
counter_delta: int option;
}
and counter_sig =
{
counter_sig_name: string;
counter_sig_default: int;
counter_sig_min: int option option;
counter_sig_max: int option option;
counter_visible: bool;
}

and counter_sig = {
counter_sig_name: string;
counter_sig_default: int;
counter_sig_min: int option option;
counter_sig_max: int option option;
counter_visible: bool;
}

and counter_test = CEQ of int | CGTE of int | CVAR of string | UNKNOWN
and internal = string option list

Expand Down
18 changes: 8 additions & 10 deletions core/KaSa_rep/frontend/ckappa_sig.mli
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ val compare_unit_agent_site : unit -> unit -> int

type binding_state = Free | Lnk_type of agent_name * site_name

type mixture =
type mixture =
| SKIP of mixture
| COMMA of agent * mixture
| DOT of c_agent_id * agent * mixture
Expand All @@ -133,7 +133,6 @@ and 'counter interface =
| PORT_SEP of port * 'counter interface
| COUNTER_SEP of 'counter * 'counter interface


and port = {
port_name: string;
port_int: internal;
Expand All @@ -147,14 +146,13 @@ and counter = {
counter_delta: int option;
}

and counter_sig =
{
counter_sig_name: string;
counter_sig_default: int;
counter_sig_min: int option option;
counter_sig_max: int option option;
counter_visible: bool;
}
and counter_sig = {
counter_sig_name: string;
counter_sig_default: int;
counter_sig_min: int option option;
counter_sig_max: int option option;
counter_visible: bool;
}

and counter_test = CEQ of int | CGTE of int | CVAR of string | UNKNOWN
and internal = string option list
Expand Down
9 changes: 6 additions & 3 deletions core/KaSa_rep/frontend/list_tokens.ml
Original file line number Diff line number Diff line change
Expand Up @@ -296,7 +296,7 @@ let scan_agent ~get_counter_name parameters (error, handler) agent =
| Ckappa_sig.COUNTER_SEP (counter, interface) ->
let error, (handler, _, _c) =
declare_site_with_counter parameters (error, handler) ag_id
(get_counter_name counter)
(get_counter_name counter)
in
aux error interface handler
| Ckappa_sig.PORT_SEP (port, interface) ->
Expand Down Expand Up @@ -368,9 +368,9 @@ let scan_agent ~get_counter_name parameters (error, handler) agent =

let get_counter_name c = c.Ckappa_sig.counter_name
let get_counter_name_sig c = c.Ckappa_sig.counter_sig_name

let scan_agent_sig = scan_agent ~get_counter_name:get_counter_name_sig
let scan_agent = scan_agent ~get_counter_name

let rec scan_mixture parameters remanent mixture =
match mixture with
| Ckappa_sig.EMPTY_MIX -> remanent
Expand Down Expand Up @@ -479,7 +479,10 @@ let scan_compil parameters error compil =
remanent
in
let remanent = empty_handler parameters error in
let remanent = scan_declarations parameters remanent (compil.Ast.signatures:Ckappa_sig.agent_sig list) in
let remanent =
scan_declarations parameters remanent
(compil.Ast.signatures : Ckappa_sig.agent_sig list)
in
let remanent = scan_initial_states parameters remanent compil.Ast.init in
let remanent =
scan_observables scan_tested_mixture parameters remanent
Expand Down
109 changes: 63 additions & 46 deletions core/KaSa_rep/frontend/prepreprocess.ml
Original file line number Diff line number Diff line change
Expand Up @@ -118,8 +118,7 @@ let rec scan_interface ~get_counter_name parameters k agent interface
| [] -> remanent
| Ast.Counter counter :: interface ->
let error, set_counters =
check_freshness parameters error "Counter"
(get_counter_name counter)
check_freshness parameters error "Counter" (get_counter_name counter)
set_counters
in
scan_interface ~get_counter_name parameters k agent interface
Expand Down Expand Up @@ -182,7 +181,6 @@ let collect_binding_label parameters mixture f k remanent =
map
(error, (map, Ckappa_sig.Lnk_id_map_and_set.Set.empty))


let translate_link_state parameters lnk_state remanent =
match lnk_state with
| [ (LKappa.LNK_VALUE (id, ()), pos) ] ->
Expand Down Expand Up @@ -289,29 +287,28 @@ let translate_counter parameters error int_set counter =
Some a);
} )

let translate_counter_sig parameters error int_set (counter:Ast.counter_sig) =
let error, _ =
check_freshness parameters error "Counters"
(fst counter.Ast.counter_sig_name)
int_set
in
let fetch x =
match x with
| Some (x,_) -> Some x
| None -> None
in
( error,
{
Ckappa_sig.counter_sig_name = fst counter.Ast.counter_sig_name;
Ckappa_sig.counter_sig_max = fetch counter.Ast.counter_sig_max;
Ckappa_sig.counter_sig_min = fetch counter.Ast.counter_sig_min;
Ckappa_sig.counter_sig_default = counter.Ast.counter_sig_default;
Ckappa_sig.counter_visible = counter.Ast.counter_sig_visible;
} )

let translate_counter_sig parameters error int_set (counter : Ast.counter_sig) =
let error, _ =
check_freshness parameters error "Counters"
(fst counter.Ast.counter_sig_name)
int_set
in
let fetch x =
match x with
| Some (x, _) -> Some x
| None -> None
in
( error,
{
Ckappa_sig.counter_sig_name = fst counter.Ast.counter_sig_name;
Ckappa_sig.counter_sig_max = fetch counter.Ast.counter_sig_max;
Ckappa_sig.counter_sig_min = fetch counter.Ast.counter_sig_min;
Ckappa_sig.counter_sig_default = counter.Ast.counter_sig_default;
Ckappa_sig.counter_visible = counter.Ast.counter_sig_visible;
} )

let rec translate_interface ~translate_counter parameters is_signature int_set_sites
int_set_counters interface remanent =
let rec translate_interface ~translate_counter parameters is_signature
int_set_sites int_set_counters interface remanent =
match interface with
| [] -> Ckappa_sig.EMPTY_INTF, remanent
| Ast.Counter counter :: interface ->
Expand All @@ -320,30 +317,31 @@ let rec translate_interface ~translate_counter parameters is_signature int_set_s
translate_counter parameters error int_set_counters counter
in
let interface, remanent =
translate_interface ~translate_counter parameters is_signature int_set_sites int_set_counters
interface (error, a)
translate_interface ~translate_counter parameters is_signature
int_set_sites int_set_counters interface (error, a)
in
Ckappa_sig.COUNTER_SEP (counter, interface), remanent
| Ast.Port port :: interface ->
let port, remanent =
translate_port is_signature parameters int_set_sites port remanent
in
let interface, remanent =
translate_interface ~translate_counter parameters is_signature int_set_sites int_set_counters
interface remanent
translate_interface ~translate_counter parameters is_signature
int_set_sites int_set_counters interface remanent
in
Ckappa_sig.PORT_SEP (port, interface), remanent

let translate_interface ~translate_counter parameters is_signature =
translate_interface ~translate_counter parameters is_signature Mods.StringSet.empty
Mods.StringSet.empty
let translate_interface ~translate_counter parameters is_signature =
translate_interface ~translate_counter parameters is_signature
Mods.StringSet.empty Mods.StringSet.empty

let translate_agent ~translate_counter parameters is_signature ag remanent =
match ag with
| Ast.Absent _pos -> None, remanent
| Ast.Present ((agent_name, agent_name_pos), intf, _modif) ->
let interface, remanent =
translate_interface ~translate_counter parameters is_signature intf remanent
translate_interface ~translate_counter parameters is_signature intf
remanent
in
( Some
{
Expand All @@ -368,7 +366,9 @@ let rec translate_mixture_zero_zero parameters mixture remanent tail_size =
match mixture with
| [] -> build_skip tail_size Ckappa_sig.EMPTY_MIX, remanent
| agent :: mixture ->
let agent_opt, remanent = translate_agent ~translate_counter parameters false agent remanent in
let agent_opt, remanent =
translate_agent ~translate_counter parameters false agent remanent
in
let mixture, remanent =
translate_mixture_zero_zero parameters mixture remanent tail_size
in
Expand Down Expand Up @@ -399,8 +399,12 @@ let rec translate_mixture ~translate_counter parameters mixture remanent =
match mixture with
| [] -> Ckappa_sig.EMPTY_MIX, remanent
| agent :: mixture ->
let agent_opt, remanent = translate_agent ~translate_counter parameters false agent remanent in
let mixture, remanent = translate_mixture ~translate_counter parameters mixture remanent in
let agent_opt, remanent =
translate_agent ~translate_counter parameters false agent remanent
in
let mixture, remanent =
translate_mixture ~translate_counter parameters mixture remanent
in
add_agent agent_opt mixture remanent

let support_agent = function
Expand Down Expand Up @@ -463,20 +467,23 @@ let refine_mixture_in_rule parameters error prefix_size empty_size tail_size
(error, Ckappa_sig.Lnk_id_map_and_set.Map.empty)
in
let mixture, (error, _map) =
translate_mixture_in_rule parameters mixture remanent prefix_size empty_size
translate_mixture_in_rule parameters mixture remanent prefix_size empty_size
tail_size
in
error, mixture

let refine_mixture ~collect_binding_label ~translate_counter parameters error (mixture:Ast.agent list list) =
let refine_mixture ~collect_binding_label ~translate_counter parameters error
(mixture : Ast.agent list list) =
let mixture = List.flatten mixture in
let remanent =
collect_binding_label parameters mixture
(fun i -> i)
Ckappa_sig.dummy_agent_id
(error, Ckappa_sig.Lnk_id_map_and_set.Map.empty)
in
let mixture, (error, _map) = translate_mixture ~translate_counter parameters mixture remanent in
let mixture, (error, _map) =
translate_mixture ~translate_counter parameters mixture remanent
in
error, mixture

(*let refine_mixture_sig = refine_mixture ~collect_binding_label:collect_binding_label_sig ~translate_counter:translate_counter_sig*)
Expand Down Expand Up @@ -686,7 +693,7 @@ let refine_init_t parameters error = function
in
error, Ast.INIT_TOK tk_l'

let refine_agent_sig parameters error agent_set agent =
let refine_agent_sig parameters error agent_set agent =
let error, agent_set =
match agent with
| Ast.Absent _ -> error, agent_set
Expand All @@ -699,7 +706,8 @@ let refine_agent_sig parameters error agent_set agent =
in

let agent, (error, _map) =
translate_agent ~translate_counter:translate_counter_sig parameters true agent
translate_agent ~translate_counter:translate_counter_sig parameters true
agent
(error, (map, Ckappa_sig.Lnk_id_map_and_set.Set.empty))
in
error, agent_set, agent
Expand Down Expand Up @@ -730,9 +738,15 @@ let dump_rule_no_rate rule =
let () = Format.pp_print_flush fmt () in
Buffer.contents buf

let translate_compil parameters error (compil:(Ast.agent, Ast.agent_sig, Ast.mixture, Ast.agent list list,
string, Ast.rule)
Ast.compil) =
let translate_compil parameters error
(compil :
( Ast.agent,
Ast.agent_sig,
Ast.mixture,
Ast.agent list list,
string,
Ast.rule )
Ast.compil) =
let translate_rule error (rule, pos) =
let (ast_lhs, ast_rhs), (prefix, tail_lhs, tail_rhs) =
match rule.Ast.rewrite with
Expand Down Expand Up @@ -803,7 +817,10 @@ let translate_compil parameters error (compil:(Ast.agent, Ast.agent_sig, Ast.mix
let error, _agent_set, signatures_rev =
List.fold_left
(fun (error, agent_set, list) agent ->
let error, agent_set, (agent:Ckappa_sig.counter_sig Ckappa_sig.parametric_agent option) =
let ( error,
agent_set,
(agent :
Ckappa_sig.counter_sig Ckappa_sig.parametric_agent option) ) =
refine_agent_sig parameters error agent_set agent
in
match agent with
Expand Down Expand Up @@ -924,7 +941,7 @@ let translate_compil parameters error (compil:(Ast.agent, Ast.agent_sig, Ast.mix
error, Some b'
in
let error, o' =
bool_with_pos_with_option_map (refine_mixture parameters) error o
bool_with_pos_with_option_map (refine_mixture parameters) error o
in
let error, m', rules_rev' =
List.fold_left
Expand Down
8 changes: 7 additions & 1 deletion core/KaSa_rep/frontend/prepreprocess.mli
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,13 @@ val local_trace : bool
val translate_compil :
Remanent_parameters_sig.parameters ->
Exception_without_parameter.method_handler ->
(Ast.agent, Ast.agent_sig, Ast.mixture, Ast.agent list list, string, Ast.rule) Ast.compil ->
( Ast.agent,
Ast.agent_sig,
Ast.mixture,
Ast.agent list list,
string,
Ast.rule )
Ast.compil ->
Exception_without_parameter.method_handler
* ( Ckappa_sig.agent,
Ckappa_sig.agent_sig,
Expand Down
11 changes: 8 additions & 3 deletions core/KaSa_rep/frontend/preprocess.ml
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,11 @@ let translate_agent_sig parameters error handler agent
| _, Some (i, _, _, _) -> error, i
in
let (error', c_interface), test =
let test = [ Ckappa_sig.state_index_of_int counter.Ckappa_sig.counter_sig_default ]
let test =
[
Ckappa_sig.state_index_of_int
counter.Ckappa_sig.counter_sig_default;
]
in
( Ckappa_sig.Site_map_and_set.Map.add parameters error counter_name
{
Expand Down Expand Up @@ -2214,12 +2218,13 @@ let translate_c_compil parameters error handler compil =
List.fold_left
(fun (error, list, map) agent ->
let error, ag, map =
translate_agent_sig parameters error handler (agent:Ckappa_sig.agent_sig)
translate_agent_sig parameters error handler
(agent : Ckappa_sig.agent_sig)
Ckappa_sig.dummy_agent_id map
in
error, ag :: list, map)
(error, [], Ckappa_sig.AgentSite_map_and_set.Map.empty)
(compil.Ast.signatures:Ckappa_sig.agent_sig list)
(compil.Ast.signatures : Ckappa_sig.agent_sig list)
in
let error, c_variables =
List.fold_left
Expand Down
2 changes: 1 addition & 1 deletion core/KaSa_rep/remanent_state/remanent_state.ml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ type initial_state = (Primitives.alg_expr * Primitives.elementary_rule) list

type refined_compilation =
( Ckappa_sig.agent,
Ckappa_sig.agent_sig,
Ckappa_sig.agent_sig,
Ckappa_sig.mixture,
Ckappa_sig.mixture,
string,
Expand Down
Loading

0 comments on commit 7b8334b

Please sign in to comment.