Tu as implanté un réducteur comparable à celui de La Lettre de Caml-Light n°6
J'imagine que tu passes par la forme de De-Bruijn.
Tu peux faire une entrée-sortie console.
Sinon pour une interface graphique il n'y a que LablGtk.
Tu peux faire une GtkWindow contenant un GPack.paned `VERTICAL séparant verticalement deux GtkSourceView, celui de dessus pour éditer l'entrée, celui de dessous pour afficher la sortie. Pour naviguer dans les deux fenêtres de code il faudra empacketer chacune dans un GBin.scrolled_window.
Une autre bonne idée ce serait une GButton.toolbar ~style:`ICONS pour entrer les caractères spéciaux comme λ ou ↦ .
Remarque: les caractères GTK doivent être codés en UTF-8 donc ↦ est en fait le string "\xE2\x86\xA6".
Ta commande de compilation ressemblera à ceci:
ocamlopt -w s -o lambda -I +lablgtk2 lablgtk.cmxa lablgtksourceview2.cmxa gtkInit.cmx lambda.ml
Tu trouveras plus de tutoriels et d'exemples de code, y compris pour GtkSourceView, en parcourant les deux pages du blog de Cacophrène.
Partager