Revision 1f868027
Added by Pierre-Loïc Garoche over 5 years ago
src/backends/Ada/ada_backend_common.ml | ||
---|---|---|
290 | 290 |
| Types.Basic.Tint -> Const_int 0 |
291 | 291 |
| Types.Basic.Treal -> Const_real (Num.num_of_int 0, 0, "0.0") |
292 | 292 |
| Types.Basic.Tbool -> Const_tag tag_false |
293 |
| _ -> assert false |
|
293 | 294 |
|
294 | 295 |
(** Make a default value from a given type. |
295 | 296 |
@param typ the type |
src/backends/EMF/EMF_common.ml | ||
---|---|---|
236 | 236 |
fprintf fmt "%i" (get_idx t const_list) |
237 | 237 |
|
238 | 238 |
let pp_cst_type c inf fmt (*infered_typ*) = |
239 |
let pp_basic fmt s = fprintf fmt "{ \"kind\": \"%s\" }" s in |
|
239 | 240 |
match c with |
240 | 241 |
| Const_tag t -> |
241 | 242 |
let typ = (Corelang.typedef_of_top (Hashtbl.find Corelang.tag_table t)) in |
242 | 243 |
if typ.tydef_id = "bool" then |
243 |
fprintf fmt "\"bool\""
|
|
244 |
pp_basic fmt "bool"
|
|
244 | 245 |
else |
245 | 246 |
pp_tag_type t typ inf fmt |
246 |
| Const_int _ -> fprintf fmt "\"int\"" (*!Options.int_type*)
|
|
247 |
| Const_real _ -> fprintf fmt "\"real\"" (*!Options.real_type*)
|
|
248 |
| Const_string _ -> fprintf fmt "\"string\""
|
|
247 |
| Const_int _ -> pp_basic fmt "int" (*!Options.int_type*)
|
|
248 |
| Const_real _ -> pp_basic fmt "real" (*!Options.real_type*)
|
|
249 |
| Const_string _ -> pp_basic fmt "string"
|
|
249 | 250 |
| _ -> eprintf "cst: %a@." Printers.pp_const c; assert false |
250 | 251 |
|
251 | 252 |
|
252 | 253 |
let pp_emf_cst c inf fmt = |
253 |
let pp_typ fmt = |
|
254 |
fprintf fmt "\"datatype\": { \"kind\": %t } @ "
|
|
254 |
let pp_typ fmt =
|
|
255 |
fprintf fmt "\"datatype\": %t@ "
|
|
255 | 256 |
(pp_cst_type c inf) |
256 | 257 |
in |
257 | 258 |
match c with |
Also available in: Unified diff
JSON EMF