Provided by: libatdgen-ocaml-dev_2.1.0-1_amd64 bug

NAME

       atdgen - ATD compiler and code generator

SYNOPSIS

       atdgen [options...] [atd-file]

DESCRIPTION

       atdgen reads ATD type definitions and generates OCaml code (both ml and mli files) for

       — type definitions (option -t)

       — serializers and deserializers for Biniou (option -b)

       — serializers and deserializers for JSON (option -j)

       — record-creating functions supporting default fields (option -v)

       — user-specified data validators (option -v)

       If  no mode option (-t, -b, -j or -v) is given, then -t -b is assumed. Unless -o is present, the <prefix>
       for the generated files is derived from the atd-file argument.  If  the  atd-file  argument  is  omitted,
       atdgen  reads  ATD  sources from standard input, if additionally -o is missing, it behaves as if -o - was
       given.

OPTIONS

       -t     Produce files <prefix>_t.mli and <prefix>_t.ml containing OCaml type definitions for the ATD input

       -b     Produce files <prefix>_b.mli and <prefix>_b.ml containing OCaml serializers and deserializers  for
              the Biniou data format

       -j     produce  files <prefix>_j.mli and <prefix>_j.ml containing OCaml serializers and deserializers for
              the JSON data format

       -v     Produce files <prefix>_v.mli and <prefix>_v.ml containing OCaml functions for creating records and
              validators, see also option -validate.

       -dep   Output dependencies in makefile-format for all possible atdgen output files and exit

       -list  Output a space-separated list of all possible atdgen output files and exit

       -o <prefix>
              set  the <prefix> for the options -t, -b and -j.  If <prefix> is -, atdgen writes code in the form
              of

                     struct ... end : sig ... end

              to standard output.

       -biniou
              [deprecated] same as -t -b, i.e., produce serializers and deserializers for Biniou and OCaml  type
              definitions (default)

       -json  [deprecated]  same  as  -t -j, i.e., produce serializers and deserializers for JSON and OCaml type
              definitions.

       -j-std standard JSON: Convert tuples and variants  into  standard  JSON  and  refuse  to  print  NaN  and
              infinities. This option implies -json unless another mode is specified.

       -std-json
              [deprecated] same as -j-std

       -j-pp <func>
              Apply  the  OCaml  function  <func>  of  type  (string -> string) to the input of each *_of_string
              function generated by atdgen (JSON mode). (This was intended for UTF-8  validation  of  the  input
              which is not performed by atdgen.)

       -j-defaults
              Output JSON record fields even if their value is known to be the default.

       -j-strict-fields
              Call  !Ag_util.Json.unknown_field_handler  for every unknown JSON field found in the input instead
              of simply skipping them. The initial value of this reference prints a message and raises a Failure
              exception.

       -j-custom-fields <func>
              Call  function  <func>  of  type  (string -> unit) for every unknown JSON field found in the input
              instead of simply skipping them. See also -j-strict-fields.

       -validate
              [deprecated] same as -t -v, Produce data validators from <ocaml validator="x"> annotations where x
              is  a  user-written  validator  to  be  applied  on  a  specific  node.  This is typically used in
              conjunction with -extend because user-written validators depend on the type definitions.

       -extend MODULE
              Assume that all type definitions are provided by the specified module unless otherwise  annotated.
              Type aliases are created for each type, e.g. type t = Module.t

       -open MODULE1,MODULE2,...
              List of modules to open (comma-separated or space-separated)

       -nfd   Do not dump OCaml function definitions

       -ntd   Do not dump OCaml type definitions

       -pos-fname FILENAME
              Source file name to use for error messages (default: input name)

       -pos-lnum LINENUM
              Source line number of the first line of the input (default: 1)

       -rec   Keep OCaml type definitions mutually recursive

       -version
              print version and exit

       -help | --help
              Display this list of options

SEE ALSO

       The Atdgen reference manual, /usr/share/doc/libatdgen-ocaml-dev/atdgen-manual.{html,pdf}

       The Atdgen tutorial on the Atdgen website, http://mjambon.com/atdgen

AUTHOR

       This  manual page was written by Sylvain Le Gall <gildor@debian.org> and Hendrik Tews <hendrik@askra.de>,
       specifically for the Debian project (and may be used by others).