aboutsummaryrefslogtreecommitdiffstats
path: root/cparser/Elab.mli
diff options
context:
space:
mode:
authorXavier Leroy <xavier.leroy@inria.fr>2017-01-31 13:44:34 +0100
committerXavier Leroy <xavier.leroy@inria.fr>2017-01-31 13:44:34 +0100
commit1df18309c386546e3cdd8213d61b419a75a29707 (patch)
tree14f3fca00940d044788d175d6d1fc7543f3861c6 /cparser/Elab.mli
parent88cfc534ae24986a95211038b828a1878001044c (diff)
downloadcompcert-kvx-1df18309c386546e3cdd8213d61b419a75a29707.tar.gz
compcert-kvx-1df18309c386546e3cdd8213d61b419a75a29707.zip
Export elab_{int,float,char}_constant
Those three functions can be useful to implement front-ends for languages other than C.
Diffstat (limited to 'cparser/Elab.mli')
-rw-r--r--cparser/Elab.mli9
1 files changed, 9 insertions, 0 deletions
diff --git a/cparser/Elab.mli b/cparser/Elab.mli
index 7eee4a08..839609b3 100644
--- a/cparser/Elab.mli
+++ b/cparser/Elab.mli
@@ -14,3 +14,12 @@
(* *********************************************************************)
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.cabsloc -> string -> int64 * C.ikind
+val elab_float_constant : Cabs.floatInfo -> C.float_cst * C.fkind
+val elab_char_constant : Cabs.cabsloc -> bool -> int64 list -> int64 * C.ikind
+ (* These auxiliary functions are exported so that they can be reused
+ in other projects that deal with C-style source languages. *)