English version
Accueil     À propos     Téléchargement     Ressources     Contactez-nous    

The Caml Hump: Software development :: Code generators

Stable

Development tools
atdgen [29-Aug-2011, version 1.2.0, Stable] Has a documentationHas a tutorial
Atdgen is a command-line program that takes as input type definitions in the ATD syntax and produces OCaml code suitable for data serialization and deserialization.
Author: Martin Jambon.
Development tools
Cameleon [14-Jan-2011, version 1.9.21, Stable] Has a documentation
Development environment for Objective Caml programmers, written in GTK2. It includes an OCaml-scriptable text-editor, a graphical toplevel, a documentation browser, and other useful tools and libs.
Native OCaml libraries
CamlIDL [10-Aug-2001, version 1.04, Stable] Has a documentation
CamlIDL is a stub code generator and COM binding for Objective Caml.
Author: Xavier Leroy.
Camlp4 extensions
Camlmix [26-Jan-2006, version 1.3, Stable] Has a documentation
Camlmix is a generic preprocessor which converts text with embedded OCaml into an OCaml program with embedded text. It produces text documents from one or several templates.
Author: Martin Jambon.
Native OCaml libraries
rpc [17-Jun-2002, version 0.3.2, Stable] Has a Godi package
RPC is a package supporting the Sun RPC protocol. RPC programs, procedures, clients, and servers can be dynamically represented and modified. Of course, there is also a classical RPC generator which generates functions doing the language mapping from XDR values to language values and vice versa.
Author: Gerd Stolpmann.
Development tools
svgconv [20-Jun-2007, version 1.0.5, Stable]
Svgconv is a tool to convert SVG paths into a C format that can be easily used with OpenVG. The tool converts SVG graphics into C source code that can be #included into your C program that wishes to use the path data.
Author: Janne Hellsten.
Development tools
SWIG [05-Dec-2003, version 1.3.20, Stable] Has a documentation
SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages. SWIG is primarily used with common scripting languages such as Perl, Python, Tcl/Tk, and Ruby, however the list of supported languages also includes non-scripting languages such as Java, OCAML and C#.

Beta

Development tools
AlphaCaml [10-Jun-2005, Beta] Has a Godi packageHas a documentation
AlphaCaml is a tool that turns a so-called ``binding specification'' into an Objective Caml compilation unit. This helps writers of interpreters, compilers, or other programs-that-manipulate-programs deal with alpha-conversion in a safe and concise style.
Native OCaml libraries
Barista [08-Mar-2013, version 2.0-beta, Beta] Has a documentation
Library for Java .class file manipulation. Also a command-line [dis]assembler for Java.
Author: Xavier Clerc.
Native OCaml libraries
Deriving [07-Sep-2010, version 0.1.2, Beta] Has a documentation
A system for constructing functions automatically from type definitions.
Authors: Jake Donham and Jeremy Yallop.
Native OCaml libraries
HDCaml [07-Nov-2005, version 0.2.9, Beta]
HDCaml provides a framework for describing hardware structures in OCaml. Given a functional hardware description, HDCaml will produce a Verilog netlist for verification and implementation. HDCaml also has decent PSL support for assertion based verification.
Author: Tom Hawkins.
Development tools
Hydro [05-May-2009, version 0.7, Beta]
Hydro is an independent implementation of ICE, the object-oriented RPC protocol by ZeroC, for the O'Caml programming language. Hydro (like ICE) allows you to bridge language barriers by letting components written in different programming languages communicate with each other. ZeroC's ICE product currently includes implementations for C++, Java, C#, Python, Ruby, VB, and PHP. Hydro adds support for O'Caml. The ICE protocol is rich enough to make the representation of the data to communicate easy and convenient to use, and adopts an object-oriented type system. ZeroC sees ICE as a superior successor to CORBA.
Author: Gerd Stolpmann.
Camlp4 extensions
IoXML [01-Feb-2002, version 0.6, Beta]
IoXML allows defining XML parsers and pretty-printers directly from data type definitions.
Development tools
Menhir [09-Sep-2008, version 20080908, Beta] Has a documentation
Menhir is an LR(1) parser generator for the Objective Caml programming language.
Development tools
Moca [18-Jun-2012, version 0.7.0, Beta] Has a tutorial
Mocac is a generator of construction functions for Caml concrete data types with algebraic invariants and maximal sharing facilities. Algebraic invariants are specified by using keywords denoting equational theories like commutativity and associativity. The construction functions generated by Mocac allow each equivalence class to be represented by a unique value.
Development tools
OCaml-data-notation [04-Jul-2011, version 0.0.5, Beta]
Ocaml-data-notation, aka odn, dumps OCaml data in OCaml notation. It is inspired by JSON. It uses type-conv to create data dumper functions, you just have to add "with odn" in the type definition. There is no load scheme, since it is used to dump datastructure into OCaml scripts. It is mainly a code generator helper.
Author: Sylvain Le Gall.
Development tools
OCaml-gir [03-Nov-2009, version 0.9, Beta]
OCaml-gir is an automated binding generator for glib-based libraries.
Author: Adrien Nader.
Development tools
OCamlBurg [05-Mar-2002, Beta] Has a documentation
Generate a dynamic-programming ocaml code from a pattern matching specification.
Development tools
Orpc [19-Apr-2010, version 0.3, Beta] Has a documentation
Orpc is a tool for generating RPC clients and servers. It can generate clients / servers for use with Ocamlnet's ONC RPC implementation (like ocamlrpcgen), and also for RPC over HTTP for use with ocamljs. To describe interfaces, you give orpc an OCaml signature instead of an RFC-1831/1832-format file. Most OCaml types (including polymorphic types), exceptions, and functions with labelled/optional arguments are supported.
Author: Jake Donham.

Alpha

Development tools
Nickel [10-Sep-2007, version 1.0-alpha, Alpha] Has a documentation
Bridge/Bindings generator for Java/Objective Caml integration.
Author: Xavier Clerc.
Native OCaml libraries
SimpleSOAP [24-May-2005, version 0.1.1, Alpha] Has a documentation
SimpleSOAP is an early, experimental SOAP client for Objective CAML.