aboutsummaryrefslogtreecommitdiffstats
path: root/cparser/Elab.mli
blob: bca4f74dcad83ad431b9f095e7bc95625e9175b0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
(* *********************************************************************)
(*                                                                     *)
(*              The Compcert verified compiler                         *)
(*                                                                     *)
(*          Xavier Leroy, INRIA Paris-Rocquencourt                     *)
(*                                                                     *)
(*  Copyright Institut National de Recherche en Informatique et en     *)
(*  Automatique.  All rights reserved.  This file is distributed       *)
(*  under the terms of the GNU Lesser General Public License as        *)
(*  published by the Free Software Foundation, either version 2.1 of   *)
(*  the License, or  (at your option) any later version.               *)
(*  This file is also distributed under the terms of the               *)
(*  INRIA Non-Commercial License Agreement.                            *)
(*                                                                     *)
(* *********************************************************************)

val elab_file : Cabs.definition list -> C.program
  (* This is the main entry point.  It transforms a list of toplevel
     definitions as produced by the parser into a program in C abstract
     syntax. *)

val elab_int_constant : Cabs.loc -> string -> int64 * C.ikind
val elab_float_constant : Cabs.floatInfo -> C.float_cst * C.fkind
val elab_char_constant : Cabs.loc -> bool -> int64 list -> int64
  (* These auxiliary functions are exported so that they can be reused
     in other projects that deal with C-style source languages. *)