Herramientas de usuario

Herramientas del sitio


compiladores:programas_de_ejemplo

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
compiladores:programas_de_ejemplo [2006/05/10 22:55] mpaganocompiladores:programas_de_ejemplo [2018/08/10 03:03] (actual) – editor externo 127.0.0.1
Línea 64: Línea 64:
 {fail CanNotDealWithReals} {fail CanNotDealWithReals}
 </code> | <code> </code> | <code>
-n1:=0; +ni:=0; 
-n2:=1;+nj:=1;
 ?x; ?x;
 y:=0; y:=0;
 for i:=1 to x do for i:=1 to x do
- newvar t:=n1+n2 + newvar t:=ni+nj 
- n1:=n2+ ni:=nj
- n2:=t + nj:=t 
  };  };
  i:=i+1  i:=i+1
 od; od;
-!n2 +!nj 
 </code> | <code> </code> | <code>
-n1:=0; +ni:=0; 
-n2:=1;+nj:=1;
 ?x; ?x;
 y:=0; y:=0;
 for i:=1 to x do for i:=1 to x do
- newvar t:=n1+n2 + newvar t:=ni+nj 
- n1:=n2+ ni:=nj
- n2:=t + nj:=t 
  };  };
-        !n2;+        !nj;
  i:=i+1  i:=i+1
 od od
Línea 104: Línea 104:
 fi fi
 </code> | </code> |
- 
-====== 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  [[http://haskell.org/gtk2hs/| 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 <code class="haskell">run :: Omega Int -> IO ()</code> 
-  * La interfaz gráfica es una función <code class="haskell">runGtk :: Omega Int -> IO ()</code> 
-  * Por otro lado tengo una función <code class="haskell">execStrGen :: (Omega Int -> IO ()) -> (String -> IO ()) -> String -> IO ()</code> 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 [[http://www.iai.uni-bonn.de/~loeh/lhs2tex/|Lhs2TeX]]. 
- 
- 
-El {{:compiladores:imp.tar|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:gtk2hs3.png|:compiladores:gtk2hs3.png}}. 
compiladores/programas_de_ejemplo.1147301723.txt.gz · Última modificación: 2018/08/10 03:03 (editor externo)