Herramientas de usuario

Herramientas del sitio


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ón runGtk.
  • 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:

Screenshot

compiladores/ide.1175114277.txt.gz · Última modificación: 2018/08/10 03:03 (editor externo)