1 (** Code generation. *)
2 (* Memory info command for virtual domains.
3 (C) Copyright 2008 Richard W.M. Jones, Red Hat Inc.
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
22 This module is concerned with actually generating code
23 for types, parsers, etc.
25 We generate two output files, [kernel.mli] is the interface
26 to the kernel structures, and [kernel.ml] is the implementation.
29 (** {2 Generate types} *)
33 * Struct_classify.shape_field_struct list
34 * Struct_classify.content_field_struct list) list ->
35 Camlp4.PreCast.Syntax.Ast.str_item * Camlp4.PreCast.Syntax.Ast.sig_item
36 (** [generate_types structures] generates the internal
37 types used to store variants of each structure, including:
38 - shape field structures
39 - content field structures
42 (** {2 Output final files} *)
44 val output_interf : output_file:string ->
45 Camlp4.PreCast.Syntax.Ast.sig_item -> unit
46 (** Output the interface file. *)
48 val output_implem : output_file:string ->
49 Camlp4.PreCast.Syntax.Ast.str_item -> unit
50 (** Output the implementation file. *)