]> matita.cs.unibo.it Git - pkg-cerco/acc.git/blob - src/common/primitive.mli
Package description and copyright added.
[pkg-cerco/acc.git] / src / common / primitive.mli
1
2 (** These are the functions provided by the runtime system. *)
3
4 val primitives : StringTools.Set.t
5
6 val is_primitive : string -> bool
7
8 (** Available primitives are :
9 extern void print_schar(signed char);
10 extern void print_uchar(unsigned char);
11 extern void print_sshort(signed short);
12 extern void print_ushort(unsigned short);
13 extern void print_sint(signed int);
14 extern void print_uint(unsigned int);
15 extern int scan_int(void);
16 extern int* alloc(int);
17 extern void newline(void);
18 extern void space(void);
19 (* The following functions only work from Clight to LIN (both included). *)
20 extern int rand_bool();
21 extern int rand_int(int, int); *)
22
23 val args_byte_size : string -> AST.quantity
24
25 val print_type        : AST.sig_type -> string
26 val print_type_return : AST.type_return -> string
27 val print_sig         : AST.signature -> string
28 val print_signedness  : AST.signedness -> string
29 val print_size        : AST.size -> string
30
31 module Interpret (M : Memory.S) : sig
32   type res = V of M.Value.t list | A of M.Value.address
33   val t : 'a M.memory -> string -> M.Value.t list -> 'a M.memory * res
34 end
35
36 val prototypes : string