Salut
A partir d'une expression algébrique contenue dans une string, je voudrais construire la syntaxe abstraite (AST).
Prenons un exemple
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
16
17 let expr_s = "2 * var^2 + var - 1";; (* Element de la syntaxe abstraite *) type expr = | Const of int | Var of string | Add of expr * expr | Mul of expr * expr | Exp of expr * int;; (* La fameuse fonction qui prend en entrée une string est retourne l'AST *) let String_to_Expr = ???? (* L'AST attendue est : Add( Add( Mul( Const 2, Exp( Var "var", 2)), Var "var"), Const -1) *)
Je debute en ocaml, y a quelques mois j'avais commencé a coder un programme qui donne la derivée d'une expression en m'inspirant de l'exemple du livre SICP. Et puis par manque de temps, j'ai laissé de coté ce projet. Je le reprend aujourd'hui et j'ai l'impression de repartir de zero par manque de pratique.
Avez vous une solution facile pour ce probleme?
Merci d'avance.
ps: je suis content de voir que les choses ont evolué sur le forum et que maintenant ocaml a le droit a sa propre section.
Partager