diff options
author | Xavier Leroy <xavier.leroy@inria.fr> | 1995-07-27 17:40:34 +0000 |
---|---|---|
committer | Xavier Leroy <xavier.leroy@inria.fr> | 1995-07-27 17:40:34 +0000 |
commit | b44ab158b2735be981330ff8a0d696051a246cc6 (patch) | |
tree | 0e992484f37f1c0a99d09eb4e41fc16812a5cacc /bytecomp/lambda.mli | |
parent | 8213d543cb66cb460e8f3561e67fc6091dce6a60 (diff) |
Creation du module primitive.
Gestion speciale des tableaux de flottants et des records de flottants.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@152 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'bytecomp/lambda.mli')
-rw-r--r-- | bytecomp/lambda.mli | 31 |
1 files changed, 25 insertions, 6 deletions
diff --git a/bytecomp/lambda.mli b/bytecomp/lambda.mli index fbc18cd94..414bdd431 100644 --- a/bytecomp/lambda.mli +++ b/bytecomp/lambda.mli @@ -5,36 +5,55 @@ open Typedtree type primitive = Pidentity + (* Globals *) | Pgetglobal of Ident.t | Psetglobal of Ident.t + (* Operations on heap blocks *) | Pmakeblock of int | Pfield of int | Psetfield of int * bool - | Pccall of primitive_description + | Pfloatfield of int + | Psetfloatfield of int + (* External call *) + | Pccall of Primitive.description + (* Exceptions *) | Praise + (* Boolean operations *) | Psequand | Psequor | Pnot + (* Integer operations *) | Pnegint | Paddint | Psubint | Pmulint | Pdivint | Pmodint | Pandint | Porint | Pxorint | Plslint | Plsrint | Pasrint | Pintcomp of comparison | Poffsetint of int | Poffsetref of int + (* Float operations *) | Pintoffloat | Pfloatofint | Pnegfloat | Paddfloat | Psubfloat | Pmulfloat | Pdivfloat | Pfloatcomp of comparison - | Pstringlength | Pgetstringchar | Psetstringchar - | Psafegetstringchar | Psafesetstringchar - | Pvectlength | Pgetvectitem | Psetvectitem of bool - | Psafegetvectitem | Psafesetvectitem of bool + (* String operations *) + | Pstringlength | Pstringrefu | Pstringsetu | Pstringrefs | Pstringsets + (* Array operations *) + | Pmakearray of array_kind + | Parraylength of array_kind + | Parrayrefu of array_kind + | Parraysetu of array_kind + | Parrayrefs of array_kind + | Parraysets of array_kind + (* Compaction of sparse switches *) | Ptranslate of (int * int * int) array and comparison = Ceq | Cneq | Clt | Cgt | Cle | Cge +and array_kind = + Pgenarray | Paddrarray | Pintarray | Pfloatarray + type structured_constant = Const_base of constant - | Const_block of int * structured_constant list | Const_pointer of int + | Const_block of int * structured_constant list + | Const_float_array of string list type lambda = Lvar of Ident.t |