-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Bonjour. Je réponds à la liste aussi. On 01/26/2011 10:16 PM, Nejdet ALTINISIK wrote:
pour notre projet, nous arrivons à compiler avec le fichier GO, cependant, lorsque l'on souhaite l'utiliser, nous obtenons une erreur de ce genre :
[..]# ./a.out ..reading from... let a = 2;; //un exemple simple, et on appuit sur CTRL+D Error .... Exception Parsing.parse ..
On arrive donc pas a utiliser des exemples concrets pour voir si nos fonctions marchent bien qu'elles compilent.
La syntaxe de TrivialML n'est pas identique à la syntaxe de OCaml ; en particulier, un programme TrivialML est toujours composé par une séquence de définitions, et une expression principale. Dans votre exemple il y a une erreur de syntaxe parce que votre programme n'a aucune expression principale. Par contre let a = 2;; a marche. Remarquer qu'il n'y a pas un «;;» à la fin après «a». La grammaire formelle complète du langage est dans le fichier trivialml.mly .
Et aussi, lorsque j'essaye d'utiliser les fichiers separement avec la ligne de commande comme suit: [..]# ocaml .. #use "envmodules.ml";; .. #use "domains.ml"; ... #use "trivialml.ml";; error .. unable to.. global .. Envmodules //excusez moi pour les ... je ne me rappel plus exactement ce qu il me dit, mais je sais qu'en fait il ne reconnait pas open Envmodules a la 1ere ligne
Vous voulez utiliser l'interprète interactif de OCaml pour tester TriviamlML. Ce n'est pas une mauvaise idée, mais probablement nous n'avons jamais pensé à ça. Je n'ai pas ici une version corrigé du projet, donc je n'ai pas pu tester ça ; mais à mon avis vous pouvez exécuter (*après* la compilation): #load "envmodules.cmo";; #load "domains.cmo";; #load "printer.cmo";; #load "trivialml.cmo";; #load "trivialml_parser.cmo";; #load "trivialml_lexer.cmo";; #load "type_checking.cmo";; #load "main.cmo";; Remarquez que la dernière ligne «#load "main.cmo";;» va démarrer l'interprète de TrivialML : donc à ce point vous devez écrire un programme TrivialML valide (par example juste «42») et taper Ctrl+D, pour aller à l'interprète OCaml. Puis vous pouvez faire, par exemple, open Main et tester. Est-ce que quelqu'un peut confirmer que ça marche ? J'ai testé la procédure équivalente sur une version de TrivialML sans le modifications faites pour le projet. Cordialement, - -- Luca Saiu http://www-lipn.univ-paris13.fr/~saiu GNU epsilon: http://www.gnu.org/software/epsilon Marionnet: http://www.marionnet.org -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk1BLtkACgkQvzOavibF0obw3gCaA/KKdH3ojPFP1JmFerjYhYY5 nu8Anj7Ve7kPKlJxyUntBBwElkHqYYfU =IzAk -----END PGP SIGNATURE-----
participants (1)
-
Luca Saiu