Bonjour à tous,
Je débute en caml et je dois dans le cadre de ma formation réaliser un "prouveur de formule"
cad si je lui envoi : (A => B) <=> (!A v B) il doit me renvoyer "valide"
Je suis au commencement mais déjà bloqué.
Je ne sais pas comment décomposer le string en éléments :
Je vois bien que ce n'est pas la bonne méthode (a "><" b -> erreur) mais je ne trouve pas sur internet ( surement mes mots clé qui ne sont pas bon :/)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 type ensemble = | Variable of string | Et of ensemble*ensemble | Ou of ensemble*ensemble | Non of ensemble | Implique of ensemble*ensemble | Equivalent of ensemble*ensemble ;; let rec transformation = function a "><" b -> Equivalent (transformation a) (transformation b) | a "-o" b -> Implique (transformation a) (transformation b) | a "&" b -> Et (transformation a) (transformation b) | a "+" b -> Ou (transformation a) (transformation b) | "!" a -> Non (transformation a) | a -> Variable a;;
Si quelqu'un à un idée, merci beaucoup
ps : dans le code ci dessus ne prend pas encore en compte les parenhèses
Partager