Herramientas de usuario

Herramientas del sitio


compiladores:ide

Interfaz gráfica para el intérprete

Si quieren probar la interfaz gráfica para el intérprete del proyecto pueden usar la que está en Imp.

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.txt · Última modificación: 2018/08/10 03:03 por 127.0.0.1