Skip to content
Snippets Groups Projects
Commit 7c49b4c2 authored by Erwan Jahier's avatar Erwan Jahier
Browse files

Check checking: add support for iterators.

parent 632fae4c
No related branches found
No related tags found
No related merge requests found
(** Time-stamp: <modified the 30/06/2008 (at 09:33) by Erwan Jahier> *)
(** Time-stamp: <modified the 30/06/2008 (at 10:14) by Erwan Jahier> *)
open Predef
open CompiledData
......@@ -26,9 +26,24 @@ let if_clock_profile lxm sargs =
| _ -> assert false
let fillred_clock_profile lxm sargs = assert false
let map_clock_profile lxm sargs = assert false
let boolred_clock_profile lxm sargs = assert false
let rec fill x n = if n > 0 then (x::(fill x (n-1))) else []
let fillred_clock_profile lxm sargs clks =
let (_, lto) = PredefEvalType.fillred_profile lxm sargs in
let clks = List.flatten clks in
fill (List.hd clks) (List.length lto)
let map_clock_profile lxm sargs clks =
let (_, lto) = PredefEvalType.map_profile lxm sargs in
let clks = List.flatten clks in
fill (List.hd clks) (List.length lto)
let boolred_clock_profile lxm sargs clks =
let (_, lto) = PredefEvalType.boolred_profile lxm sargs in
let clks = List.flatten clks in
fill (List.hd clks) (List.length lto)
(* This table contains the clock profile of predefined operators *)
let (f: op -> Lxm.t -> CompiledData.static_arg_eff list -> clocker) =
......
(** Time-stamp: <modified the 26/06/2008 (at 14:49) by Erwan Jahier> *)
(** Time-stamp: <modified the 30/06/2008 (at 09:49) by Erwan Jahier> *)
open Predef
open SyntaxTreeCore
......@@ -99,7 +99,8 @@ let map_profile =
let get_id_type vi = vi.var_name_eff, vi.var_type_eff
let fillred_profile =
let (fillred_profile : Lxm.t -> CompiledData.static_arg_eff list ->
(Ident.t * type_eff) list * (Ident.t * type_eff) list) =
(* Given
- a node n of type tau * tau_1 * ... * tau_n -> tau * teta_1 * ... * teta_l
- a constant c (nb : sargs = [n,c])
......
(** Time-stamp: <modified the 09/06/2008 (at 12:23) by Erwan Jahier> *)
(** Time-stamp: <modified the 30/06/2008 (at 09:50) by Erwan Jahier> *)
open CompiledData
......@@ -20,3 +20,9 @@ val f : Predef.op -> Lxm.t -> CompiledData.static_arg_eff list -> typer
val make_node_exp_eff : Predef.op -> Lxm.t -> static_arg_eff list -> node_exp_eff
val fillred_profile : Lxm.t -> CompiledData.static_arg_eff list ->
(Ident.t * type_eff) list * (Ident.t * type_eff) list
val map_profile : Lxm.t -> CompiledData.static_arg_eff list ->
(Ident.t * type_eff) list * (Ident.t * type_eff) list
val boolred_profile : Lxm.t -> CompiledData.static_arg_eff list ->
(Ident.t * type_eff) list * (Ident.t * type_eff) list
......@@ -48,7 +48,7 @@ node prop1(request : tabType) returns (ok : bool);
var acknowledge : tabType;
nb_acknowledge : int;
let
acknowledge = deSimone(request);
acknowledge = deSimone(true, request);
nb_acknowledge = red<<prop1_iter;size>>(0,acknowledge);
ok = nb_acknowledge<=1;
tel
......
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment