[OCaml] décomposer un string
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 :
Code:
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;; |
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 :/)
Si quelqu'un à un idée :roll:, merci beaucoup :)
ps : dans le code ci dessus ne prend pas encore en compte les parenhèses