]> rtime.felk.cvut.cz Git - l4.git/blob - l4/pkg/ocaml/contrib/bytecomp/translmod.mli
Inital import
[l4.git] / l4 / pkg / ocaml / contrib / bytecomp / translmod.mli
1 (***********************************************************************)
2 (*                                                                     *)
3 (*                           Objective Caml                            *)
4 (*                                                                     *)
5 (*            Xavier Leroy, projet Cristal, INRIA Rocquencourt         *)
6 (*                                                                     *)
7 (*  Copyright 1996 Institut National de Recherche en Informatique et   *)
8 (*  en Automatique.  All rights reserved.  This file is distributed    *)
9 (*  under the terms of the Q Public License version 1.0.               *)
10 (*                                                                     *)
11 (***********************************************************************)
12
13 (* $Id: translmod.mli 8930 2008-07-24 05:35:22Z frisch $ *)
14
15 (* Translation from typed abstract syntax to lambda terms,
16    for the module language *)
17
18 open Typedtree
19 open Lambda
20
21 val transl_implementation: string -> structure * module_coercion -> lambda
22 val transl_store_phrases: string -> structure -> int * lambda
23 val transl_store_implementation:
24       string -> structure * module_coercion -> int * lambda
25 val transl_toplevel_definition: structure -> lambda
26 val transl_package: 
27       Ident.t option list -> Ident.t -> module_coercion -> lambda
28 val transl_store_package:
29       Ident.t option list -> Ident.t -> module_coercion -> int * lambda
30
31 val toplevel_name: Ident.t -> string
32 val nat_toplevel_name: Ident.t -> Ident.t * int
33
34 val primitive_declarations: Primitive.description list ref
35
36 type error =
37   Circular_dependency of Ident.t
38
39 exception Error of Location.t * error
40
41 val report_error: Format.formatter -> error -> unit