compiladores:ide
¡Esta es una revisión vieja del documento!
Interfaz gráfica para el intérprete
Si quieren probar la interfaz gráfica para el intérprete del proyecto pueden usar como punto de partida los siguientes archivos.
Algunas apostillas para facilitarles la investigación:
- Usa Gtk2Hs el binding de Haskell para Gtk2.
- De acuerdo a como tengan definido sus tipos de datos (especialmente Omega), deberán hacer los cambios correspondientes.
- La interfaz de consola es una función
run :: Omega Int -> IO ()
- La interfaz gráfica es una función
runGtk :: Omega Int -> IO ()
- Por otro lado tengo una función
execStrGen :: (Omega Int -> IO ()) -> (String -> IO ()) -> String -> IO ()
donde el primer argumento es la función para ejecutar el código (el tercer argumento) y el segundo argumento es una función que sabe que hacer en caso de error durante el parseo.
- Si ustedes tienen definida una función parecida a
execStrGen
, entonces lo “único” que tienen que hacer es pasarle como argumento a esa función la funciónrunGtk
. - Si quieren tener el coloreado de sintáxis en el editor tienen que copiar el archivo
imp.lang
en$HOME/.gnome2/gtksourceview-1.0/language-specs/
.
- Para obtener un archivo LaTeX con los comentarios y el codigo “pretty-printed” uso Lhs2TeX.
El tar con los archivos contiene:
- Gui.lhs: el código para manejar la interfaz gráfica,
- Makefile: para compilar (tiene un pequeño error de dependencias, pero es fácil de solucionar)
- imp.lang: para tener coloreado de sintáxis
- Ui.glade: la definición de la interfaz gráfica con Glade2.
Así se ve:
compiladores/ide.1175114277.txt.gz · Última modificación: 2018/08/10 03:03 (editor externo)