ocaml/camlp4/Camlp4/Sig/Syntax.mli

36 lines
2.0 KiB
OCaml

(****************************************************************************)
(* *)
(* Objective Caml *)
(* *)
(* INRIA Rocquencourt *)
(* *)
(* Copyright 2006 Institut National de Recherche en Informatique et *)
(* en Automatique. All rights reserved. This file is distributed under *)
(* the terms of the GNU Library General Public License, with the special *)
(* exception on linking described in LICENSE at the top of the Objective *)
(* Caml source tree. *)
(* *)
(****************************************************************************)
(* Authors:
* - Daniel de Rauglaudre: initial version
* - Nicolas Pouillard: refactoring
*)
(** A syntax module is a sort of constistent bunch of modules and values.
In such a module you have a parser, a printer, and also modules for
locations, syntax trees, tokens, grammars, quotations, anti-quotations.
There is also the main grammar entries. *)
module type S = sig
module Loc : Loc.S;
module Warning : Warning.S with module Loc = Loc;
module Ast : Ast.S with module Loc = Loc;
module Token : Token.S with module Loc = Loc;
module Gram : Grammar.Static.S with module Loc = Loc and module Token = Token;
module AntiquotSyntax : AntiquotSyntax.S with module Ast = Ast;
(* Gram is not constrained here for flexibility *)
module Quotation : Quotation.S with module Ast = Ast;
module Parser : Parser.S with module Ast = Ast;
module Printer : Printer.S with module Ast = Ast;
end;