Project

General

Profile

Revision 7d640c88 src/corelang.ml

View differences:

src/corelang.ml
11 11

  
12 12
open Format
13 13
open LustreSpec
14
open Dimension
14
(*open Dimension*)
15 15

  
16 16

  
17 17
exception Error of Location.t * error
......
441 441
 | Expr_appl (f, args, r) -> (f, expr_list_of_expr args, r)
442 442
 | _                      -> assert false
443 443

  
444
    
444 445
(* Conversion from dimension expr to standard expr, for the purpose of printing, typing, etc... *)
445 446
let rec expr_of_dimension dim =
446
 match dim.dim_desc with
447
  let open Dimension in
448
  match dim.dim_desc with
447 449
 | Dbool b        ->
448 450
     mkexpr dim.dim_loc (Expr_const (const_of_bool b))
449 451
 | Dint i         ->
......
460 462
			assert false)
461 463

  
462 464
let dimension_of_const loc const =
465
  let open Dimension in
463 466
 match const with
464 467
 | Const_int i                                    -> mkdim_int loc i
465 468
 | Const_tag t when t = tag_true || t = tag_false -> mkdim_bool loc (t = tag_true)
......
468 471
(* Conversion from standard expr to dimension expr, for the purpose of injecting static call arguments 
469 472
   into dimension expressions *)
470 473
let rec dimension_of_expr expr =
474
  let open Dimension in
471 475
  match expr.expr_desc with
472 476
  | Expr_const c  -> dimension_of_const expr.expr_loc c
473 477
  | Expr_ident id -> mkdim_ident expr.expr_loc id

Also available in: Unified diff