]> git.jsancho.org Git - gacela.git/commitdiff
(no commit message)
authorjsancho <devnull@localhost>
Sun, 17 Apr 2011 07:41:59 +0000 (07:41 +0000)
committerjsancho <devnull@localhost>
Sun, 17 Apr 2011 07:41:59 +0000 (07:41 +0000)
gacela.c
gacela_core.c

index 1cd7412806fe013cbb22fced8232b5e54fcd6bf9..343f1ba87a751600b3601b47511be60b8fe2cae9 100644 (file)
--- a/gacela.c
+++ b/gacela.c
@@ -1,11 +1,33 @@
 #include <stdio.h>
+#include <readline/readline.h>
 
-int main (int argc, char *argv[])
+/* Read-Send-Print-Loop */
+void rspl ()
 {
-  char exp[1024];
+  static char *line = (char *)NULL;
+  int exit = 0;
+
+  while (!exit)
+    {
+      if (line)
+       {
+         free (line);
+         line = (char *)NULL;
+       }
+      
+      line = readline ("gacela>");
 
-  printf("gacela>");
-  scanf("%s", exp);
+      if (line && *line)
+       {
+         add_history (line);
+         if (strcmp (line, "(quit)") == 0)
+           exit = 1;
+       }
+    }
+}
 
+int main (int argc, char *argv[])
+{
+  rspl ();
   return 0;
 }
index 3d2a3983fa7ec4d263915953588170facb82fa85..83b15cf04aa9eaaabc53ae9e2502e74cbb0c56ac 100644 (file)
@@ -1,65 +1,6 @@
 #include <SDL/SDL.h>
 #include <GL/gl.h>
 #include <libguile.h>
-#include <pthread.h>
-
-SCM prueba () {
-       int flags;
-
-       SDL_Init (SDL_INIT_EVERYTHING);
-
-       SDL_GL_SetAttribute (SDL_GL_DOUBLEBUFFER, 1);
-
-       flags = SDL_OPENGL | SDL_GL_DOUBLEBUFFER | SDL_HWPALETTE | SDL_RESIZABLE | SDL_SWSURFACE;
-       SDL_SetVideoMode (200, 200, 32, flags);
-
-       glShadeModel (GL_SMOOTH);
-       glClearColor (0, 0, 0, 0);
-       glHint (GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
-       glViewport (0, 0, 200, 200);
-       glMatrixMode (GL_PROJECTION);
-       glLoadIdentity ();
-       glOrtho (-200, 200, -200, 200, 0, 1);
-       glMatrixMode (GL_MODELVIEW);
-       glLoadIdentity ();
-
-       return SCM_UNSPECIFIED;
-}
-
-void *bucle () {
-       while (1) {
-               scm_c_eval_string("(define contador (+ contador incremento))");
-               scm_c_eval_string("(if (> contador 1000) (define incremento -1))");
-               scm_c_eval_string("(if (< contador 0) (define incremento 1))");
-       }
-       pthread_exit(NULL);
-}
-
-void *bucle2 () {
-       char *argv[0];
-       
-       argv[0] = malloc(10);
-       strcpy(argv[0], "./gacela");
-       scm_shell(1, argv);
-}
-
-int lanzar_bucle2 () {
-        pthread_t t;
-
-        pthread_create(&t, NULL, bucle2, NULL);
-        return 0;
-}
-
-SCM lanzar_bucle () {
-       pthread_t t;
-
-       pthread_create(&t, NULL, bucle, NULL);
-       return SCM_UNSPECIFIED;
-}
-
-/*SCM ver_contador () {
-       return scm_from_int(contador);
-}*/
 
 static void*
 register_functions (void* data)
@@ -76,10 +17,7 @@ int main (int argc, char *argv[]) {
        scm_c_eval_string("(set-repl-prompt! \"gacela>\")");
        scm_c_eval_string("(use-modules (ice-9 readline))");
        scm_c_eval_string("(activate-readline)");
-       scm_c_eval_string("(define contador 0)");
-       scm_c_eval_string("(define incremento 1)");
 //     scm_shell (argc, argv);
-       lanzar_bucle2();
        while (1) {}
 }