Source

ocaml / bytecomp / translcore.mli

xleroy 2f98bf9 

doligez 6cd742a 
xleroy 2f98bf9 


xleroy 11d8fff 
xleroy 06a1e11 

xleroy 2f98bf9 




xleroy 156c1d1 






xleroy 3e63d17 
vouillon c3186b0 
xleroy 1758ad9 
lefessan 31a291f 
doligez 96a8119 
xleroy 156c1d1 
xleroy 1758ad9 
lefessan e2a63b2 
xleroy 833aee8 

xleroy 156c1d1 
vouillon ea48206 

xleroy 156c1d1 


vouillon c3186b0 
lefessan 6efe3c1 
xleroy 156c1d1 


weis fb2bdfa 


xleroy 2bd4c08 

xleroy 833aee8 

garrigue 3bf4a05 
(***********************************************************************)
(*                                                                     *)
(*                                OCaml                                *)
(*                                                                     *)
(*            Xavier Leroy, projet Cristal, INRIA Rocquencourt         *)
(*                                                                     *)
(*  Copyright 1996 Institut National de Recherche en Informatique et   *)
(*  en Automatique.  All rights reserved.  This file is distributed    *)
(*  under the terms of the Q Public License version 1.0.               *)
(*                                                                     *)
(***********************************************************************)

(* $Id$ *)

(* Translation from typed abstract syntax to lambda terms,
   for the core language *)

open Asttypes
open Typedtree
open Lambda

val name_pattern: string -> (pattern * 'a) list -> Ident.t

val transl_exp: expression -> lambda
val transl_apply: lambda -> (label * expression option * optional) list
                  -> Location.t -> lambda
val transl_let:
      rec_flag -> (pattern * expression) list -> lambda -> lambda
val transl_primitive: Location.t -> Primitive.description -> lambda
val transl_exception:
      Ident.t -> Path.t option -> exception_declaration -> lambda

val check_recursive_lambda: Ident.t list -> lambda -> bool

type error =
    Illegal_letrec_pat
  | Illegal_letrec_expr
  | Free_super_var
  | Unknown_builtin_primitive of string

exception Error of Location.t * error

open Format

val report_error: formatter -> error -> unit

(* Forward declaration -- to be filled in by Translmod.transl_module *)
val transl_module :
      (module_coercion -> Path.t option -> module_expr -> lambda) ref
val transl_object :
      (Ident.t -> string list -> class_expr -> lambda) ref