Bonjour,
je fais mes premiers pas en ocaml, et j'aimerais écrire un analyseur syntaxique basique.
Je suis parti d'un code dans l'introduction du manuel d'ocaml, utilisant les modules Genlex et Stream.
Le problème est que ce code, même réduit à sa plus simple expression, génère une
erreur de syntaxe à la compilation, alors qu'il passe sans problème dans l'interpréteur intéractif.
Voici le code :
En entrant ce code ligne par ligne dans l'interpréteur interactif :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 #load "camlp4o.cma";; open Genlex;; open Stream;; [< '1; '2; '3 >];;
il renvoie ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ocaml -I +camlp4
En revanche, en tentant de compiler (à ce que j'ai compris il ne s'agit d'ailleurs pas d'une réelle compilation) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 - : int Stream.t = <abstr>
j'obtiens une erreur de syntaxe :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ocaml -I +camlp4 test2.ml
Quelqu'un aurait-il une idée d'où pourrait provenir le problème ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 File "test2.ml", line 4, characters 0-2: Syntax error
Partager