2015-03-02 2 views
1

Quelqu'un peut-il me recommander un analyseur OCaml open-source complet? Essentiellement, je voudrais implémenter mon propre vérificateur de type pour OCaml. Idéalement, l'analyseur est écrit en OCaml. Je voudrais juste l'utiliser pour obtenir le AST du programme d'entrée. (il est probablement trop demander pour l'environnement de typage initial pré-rempli avec des signatures de fonction de bibliothèque standard)Parser pour OCaml

Répondre

4

Utilisez compiler-lib qui est distribué avec OCaml sous QPL license. Il a tout le nécessaire pour créer votre propre compilateur (et a même some documentation). compiler-lib est essentiellement un compilateur livré en tant que bibliothèque.

Sinon, vous pouvez utiliser camlp4 pour obtenir le parsetree, mais vous devez ensuite tout réimplémenter à partir de zéro. Mais dans ce cas, vous n'êtes pas limité à QPL.

+1

Il est en fait trié de documents [ici] (https://bitbucket.org/camlspotter/compiler-libs-hack). – Drup

+0

merci! J'ai mis à jour le post – ivg

+1

Notez que les compilateurs-lib sont distribués sous la licence publique Q assez restrictive alors que camlp4 est LGPL. – PatJ

2

il est probablement trop demander pour l'environnement de typage initial pré-rempli avec les signatures de fonction de la bibliothèque standard

Il n'est pas! Voir les fichiers typing/predef.ml(i). Comme pour le stdlib, il suffit d'utiliser le même que le compilateur, sauf pour omniprésente qui utilise des valeurs de Predef, le reste est du code OCaml normal sans cas particulier (sauf bootstrap, évidemment).