Project

General

Profile

« Previous | Next » 

Revision cefc3744

Added by Pierre-Loïc Garoche almost 11 years ago

Specialized the prefix/postfix modifiers through functors arguments

git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/branches/cleaner_backend@281 041b043f-8d7c-46b2-b46e-ef0dd855326e

View differences:

src/backends/C/c_backend_spec.ml
3 3

  
4 4
(**************************************************************************)
5 5

  
6
let pp_acsl_type var fmt t =
7
  let rec aux t pp_suffix =
8
  match (Types.repr t).Types.tdesc with
9
  | Types.Tclock t'       -> aux t' pp_suffix
10
  | Types.Tbool           -> fprintf fmt "int %s%a" var pp_suffix ()
11
  | Types.Treal           -> fprintf fmt "real %s%a" var pp_suffix ()
12
  | Types.Tint            -> fprintf fmt "int %s%a" var pp_suffix ()
13
  | Types.Tarray (d, t')  ->
14
    let pp_suffix' fmt () = fprintf fmt "%a[%a]" pp_suffix () pp_c_dimension d in
15
    aux t' pp_suffix'
16
  (* | Types.Tstatic (_, t') -> fprintf fmt "const "; aux t' pp_suffix *)
17
  (* | Types.Tconst ty       -> fprintf fmt "%s %s" ty var *)
18
  (* | Types.Tarrow (_, _)   -> fprintf fmt "void (\*%s)()" var *)
19
  | _                     -> eprintf "internal error: pp_acsl_type %a@." Types.print_ty t; assert false
20
  in aux t (fun fmt () -> ())
21

  
22
let pp_acsl_var_decl fmt id =
23
  pp_acsl_type id.var_id fmt id.var_type
24

  
6 25

  
7 26
let pp_econst fmt c = 
8 27
  match c with

Also available in: Unified diff