Module Camlp4.Sig


module Sig: sig .. end


Camlp4 signature repository

Basic signatures

module type Type = sig .. end
Signature with just a type.
module type Error = sig .. end
Signature for errors modules, an Error modules can be registred with the Camlp4.ErrorHandler.Register functor in order to be well printed.
module type Id = sig .. end
A signature for extensions identifiers.
module Warning: 
functor (Loc : Type) -> sig .. end
A signature for warnings abstract from locations.

Advanced signatures

module type Loc = sig .. end
A signature for locations.
module type Ast = sig .. end
Abstract syntax tree minimal signature.
module type Camlp4Ast = sig .. end
Signature for OCaml syntax trees.
module Camlp4AstToAst: 
functor (M : Camlp4Ast) -> M
module MakeCamlp4Ast: 
functor (Loc : Type) -> sig .. end
type ('a, 'b) stream_filter = ('a * 'b) Stream.t -> ('a * 'b) Stream.t 
module type AstFilters = sig .. end
module type DynAst = sig .. end

type quotation = {
   q_name : string;
   q_loc : string;
   q_shift : int;
   q_contents : string;
}
module type Quotation = sig .. end
module type Token = sig .. end

type camlp4_token =
| KEYWORD of string
| SYMBOL of string
| LIDENT of string
| UIDENT of string
| ESCAPED_IDENT of string
| INT of int * string
| INT32 of int32 * string
| INT64 of int64 * string
| NATIVEINT of nativeint * string
| FLOAT of float * string
| CHAR of char * string
| STRING of string * string
| LABEL of string
| OPTLABEL of string
| QUOTATION of quotation
| ANTIQUOT of string * string
| COMMENT of string
| BLANKS of string
| NEWLINE
| LINE_DIRECTIVE of int * string option
| EOI
module type Camlp4Token = Token  with type t = camlp4_token
module type DynLoader = sig .. end
module Grammar: sig .. end
module type Lexer = sig .. end
module Parser: 
functor (Ast : Ast) -> sig .. end
module Printer: 
functor (Ast : Ast) -> sig .. end
module type Syntax = sig .. end
module type Camlp4Syntax = sig .. end
module type SyntaxExtension = functor (Syn : Syntax) -> Syntax  with module Loc = Syn.Loc
        and module Ast = Syn.Ast and module Token = Syn.Token
        and module Gram = Syn.Gram and module Quotation = Syn.Quotation