Skip to content
Extraits de code Groupes Projets
Valider 40f7b3b6 rédigé par Loïc Wikle DUBARD's avatar Loïc Wikle DUBARD
Parcourir les fichiers

parsing de fichier dans un graphe abstrait fait

parent 33b0548b
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
# fichier : Makefile
# auteur : Dubard Loïc
# $@ nom de la cible
# $< nom de la première dépendance
# $^ liste des dépendances
......@@ -6,12 +9,14 @@
all: phase1 phase2
phase1:
phase1: src/main.ml
ocamlc $^ -o build/a.out
phase2:
echo TODO
clean:
rm -rf *.cmi *.cmo
archive: src/ rapport.pdf
tar zcvf DUBARD_LOIC_IPF_S3.tar.gz $^
\ No newline at end of file
tar zcvf DUBARD_LOIC.tar.gz $^
\ No newline at end of file
module type graphe = Map.make()
\ No newline at end of file
(*
* fichier : main.ml
* auteur : dubard loïc
*)
(*
* définition du type graphe qui est une map de liste dont les clés sont des string
*)
module Graphe = Map.Make(String)
(*
* @ensures : vérification du nombre d'agruments
* @raises : erreur si le nombre d'aguments est différent de 1
*)
let _ = if Array.length Sys.argv = 1
then failwith "Erreur : Veuillez ajouter un nom de fichier !\n"
else if Array.length Sys.argv > 2
then failwith "Erreur : Trop d'arguments !\n"
else Printf.printf "ouverture de : %s\n" Sys.argv.(1)
(*
* @ensures : lit le fichier en entrée
* @raises : fail si le fichier n'est pas trouvé -> "No such file or directory"
*)
let file = open_in Sys.argv.(1)
let source = input_line file
let puits = input_line file
let n = input_line file
(*
* @ensures : retourne le "graphe" correspondant au fichier entré
*)
let rec make_graphe n =
let line = input_line file in
let l = String.split_on_char ' ' line in
match l with
| [a ; b] -> if n = 1
then (Graphe.add a (b::[]) Graphe.empty)
else
let g = make_graphe n
in
if (Graphe.mem a g)
then let l = Graphe.find a g in
let f = Graphe.remove a g in
Graphe.add a (b::l) f
else Graphe.add a (b::[]) g
| _ -> failwith("erreur dans le graphe !")
Ce diff est replié.
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /~forest/IPF/PROJET/urbain_style.css was not found on this server.</p>
<hr>
<address>Apache/2.2.16 (Debian) Server at web4.ensiie.fr Port 80</address>
</body></html>
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter