• Viernes 8 de Noviembre de 2024, 17:59

Autor Tema:  Nueva Version De :reda4  (Leído 6740 veces)

pabloreda

  • Miembro MUY activo
  • ***
  • Mensajes: 125
    • Ver Perfil
    • http://www.reda4.org
Nueva Version De :reda4
« en: Viernes 15 de Septiembre de 2006, 20:01 »
0
Hola a todos

Pueden descargar la nueva version de la pagina habitual

http://www.geocities.com/redaforth

El lenguaje esta construido con Cpp-DEV utilizando SDL,
viene con codigo fuente para ser portado a otras plataformas.

Pruebenlo !!!
Comentarios y sugerencias son bienvenidos !!!

Pablo

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Nueva Version De :reda4
« Respuesta #1 en: Sábado 16 de Septiembre de 2006, 16:01 »
0
Hola ya lo he descargado y desde hace tiempo he querido usarlo.

Lo primero que se me ocurre es:

1- Donde consigo un buen manual:
-palabras clave
-sintaxis
-gramatica
-compilador
-etc.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Re: Nueva Version De :reda4
« Respuesta #2 en: Sábado 16 de Septiembre de 2006, 16:29 »
0
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.

pabloreda

  • Miembro MUY activo
  • ***
  • Mensajes: 125
    • Ver Perfil
    • http://www.reda4.org
Re: Nueva Version De :reda4
« Respuesta #3 en: Sábado 16 de Septiembre de 2006, 18:23 »
0
Bueno, el lenguaje es un derivado de FORTH con algunas modificaciones.
Por ahora no hay manual pero si me van consultando podemos armar una ayuda.

En realidad SI tiene un compilador aunque sea interpretado !!!, no todos los lenguajes son iguales -su.

fijense el codigo de los programas, modifiquen algo y los resultados son inmediatos (no hay codigo binario aqui).
Los archivos .txt son el CODIGO FUENTE
por ejemplo

xe.txt

es el juego, es facil encontrar donde estan los dibujos, la definicion de memoria o variables lleva el prefijo #, por lo tanto #nave.. #bala.. #alien... son dibujos
POS y DIM son posicion y dimension, modifiquen los numeros que estan ANTES de estas palabras y ya estan cambiando el juego.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Nueva Version De :reda4
« Respuesta #4 en: Sábado 16 de Septiembre de 2006, 18:32 »
0
Ok, comencemos

Como hago el hola mundo mas basico en REDa4, y una pequeña explicacion line a linea.. eso ayudara a la gente.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

pabloreda

  • Miembro MUY activo
  • ***
  • Mensajes: 125
    • Ver Perfil
    • http://www.reda4.org
Re: Nueva Version De :reda4
« Respuesta #5 en: Sábado 16 de Septiembre de 2006, 18:39 »
0
hola mundo en reda4 (se sale con escape)

Grabar un archivo hola.txt con el siguiente codigo

Código: Text
  1.  
  2. ^reda4.txt
  3.  
  4. :main
  5.   'exit <=ESC
  6.   show cls
  7.     8 5 screen rojo
  8.     2 2 pat "hola mundo" print&#59;
  9.  
  10. : main&#59;
  11.  
  12.  
(aclaracion) despues del print el ; tiene un espacio antes igual que el final del programa.

linea 1.   en otros lenguajes se llama include....
linea 3.  defino la palabra main
linea 4.  cuando suelto ESC salgo
linea 5. SHOW dibuja la pantalla 30 veces por segundo con las palabras que viene a continuacion, borro la pantalla
linea 6. Elijo el tamanio de las letras y el color
linea 7. me ubico en la pantalla e imprimo lo que esta entre comillas
linea 9. : (con espacio) indica inicio de programa... solo llamo a la palabra que defini

Para integrarlo a los otros programas puedo agregar una linea en main.txt
Código: Text
  1.  
  2. "hola mundo" [ "hola.txt" run &#59; ] .tbtn .\
  3.  
  4.  
donde estan los otros botones....

su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Re: Nueva Version De :reda4
« Respuesta #6 en: Domingo 17 de Septiembre de 2006, 00:33 »
0
Bueno, y que tal si yo quiero hacer una app para terminal si no tengo entorno grafico?
 :D
Es interesante, mucho pero seria muy chevere si tendria una interface a Sockets, flock y demas recursos del sistema (Lo tiene?) Ahhh! si:
Puede trabajar archivos (I/O) ?
Tiene una "pega" para usar algun otro lenguaje, es decir se puede programar modularmente para el compilador/interpretador y asi hacer un "mas" y poder integrar el lenguaje con cualquier cosa?
Puede ejecutar otros programas como la funsion system()?
Puede viforcar?
glob, grep y map, estan incluidos?
Por que no le pones un nombre que no sea *.txt, algo como .rd4?
PD: Si puede ser interpretado, te aconsejo ponerle el numero magico #!/path/a/rada4 (tanto para UNIX como para Windows) que al pareser el lexer me daria un error al hacer eso :(
Algo mas, que hay de OOP?
readdir, opendir, unlink no hay o si?
Es solo que veo a REDa4 un buen lenguaje para hcer (entre muchas cosas ;) ) instaladores graficos
 :hola:
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.

pabloreda

  • Miembro MUY activo
  • ***
  • Mensajes: 125
    • Ver Perfil
    • http://www.reda4.org
Re: Nueva Version De :reda4
« Respuesta #7 en: Domingo 17 de Septiembre de 2006, 00:54 »
0
Ok vamos por partes..
Citar
si yo quiero hacer una app para terminal si no tengo entorno grafico?

reda4 solo tiene entorno grafico, no tiene consola (al reves de forth)
 
Citar
Es interesante, mucho pero seria muy chevere si tendria una interface a Sockets, flock y demas recursos del sistema (Lo tiene?) Ahhh! si:

le falta sockets y sonido...

Citar
Puede trabajar archivos (I/O) ?

si.. puede cargar y grabar cualquier tipo de archivo, fijate el graficador guarda los dibujos en dibujos.bin y dibujos.txt

Citar
Tiene una "pega" para usar algun otro lenguaje, es decir se puede programar modularmente para el compilador/interpretador y asi hacer un "mas" y poder integrar el lenguaje con cualquier cosa?

No pero podes desde un programa escribir un archivo con otro programa y despues ejecutarlo, (programa que programa un programa).
el IDE r4color hace esto...

Citar
Puede ejecutar otros programas como la funsion system()?

si tocas el codigo fuente podes agregar cualquier cosa, pero perderias toda la velocidad que tiene ya que evita el SO

Citar
puede viforcar?
glob, grep y map, estan incluidos?

what ?...  hay versiones de grep para muchos forth pero todabia no lo necesite..

Citar
por que no le pones un nombre que no sea *.txt, algo como .rd4?

las primeras versiones fueron para pocketpc y solo tenia el wordpad para editar y este abria .txt... asi que quedo y despues me gusto que el fuente sea un texto comun..

Citar
PD: Si puede ser interpretado, te aconsejo ponerle el numero magico #!/path/a/rada4 (tanto para UNIX como para Windows) que al pareser el lexer me daria un error al hacer eso

No me parece buena idea atarlo a una caracteristica de un SO.

Citar
Algo mas, que hay de OOP?

No gracias...

Citar
readdir, opendir, unlink no hay o si?

si existe DIR y FILE , el primero cambia el path y el segundo retorna 1 a 1 los archivos...todabia en veremos..

Citar
Es solo que veo a REDa4 un buen lenguaje para hcer (entre muchas cosas ) instaladores graficos

en realidad esta pensado para videojuegos...

gracias por tus comentarios...SU

su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Re: Nueva Version De :reda4
« Respuesta #8 en: Domingo 17 de Septiembre de 2006, 01:01 »
0
:lol: Seguro, buno otra duda, a la hora de compilar (Gnu/Linux) como son los flags de las librerias (perdon no lo recuerdo :( ) -lsdl ?
De verad, para hcer programas de instalacion suena bien, sobretodo para BeOS.
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.

su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Re: Nueva Version De :reda4
« Respuesta #9 en: Domingo 17 de Septiembre de 2006, 01:16 »
0
Antes que nada, en que licensia esta publicado el lenguaje?
 :blink:
Si no tiene menor idea, y quieres que sea Open Source, mira las licensias aprobadas por OSI
 :gracias:  y :suerte:
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.

Geo

  • Miembro de PLATA
  • *****
  • Mensajes: 1011
  • Nacionalidad: mx
    • Ver Perfil
    • http://hsblog.mexchip.com
Re: Nueva Version De :reda4
« Respuesta #10 en: Domingo 17 de Septiembre de 2006, 02:11 »
0
Cita de: "su -"
:lol: Seguro, buno otra duda, a la hora de compilar (Gnu/Linux) como son los flags de las librerias (perdon no lo recuerdo :( ) -lsdl ?
Ese es (-lsdl), aunque mejor con sdl-config :).

Saludos,
JJ (Geo).
La imaginación es el límite.
Hardware & Software | Mexchip

su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Re: Nueva Version De :reda4
« Respuesta #11 en: Domingo 17 de Septiembre de 2006, 02:41 »
0
Cita de: "Geo"
Cita de: "su -"
:lol: Seguro, buno otra duda, a la hora de compilar (Gnu/Linux) como son los flags de las librerias (perdon no lo recuerdo :( ) -lsdl ?
Ese es (-lsdl), aunque mejor con sdl-config :).

Saludos,
JJ (Geo).
Si ya lo compile y es -lSDL  :P pero tengo el problemita que no carga mai.txt ni "REDA4.txt" ¿No puede ser independiente de eso, que no se que es?
Le cambie el end-line y si no te molesta, plabloreda, le cambiare el nombre (en UNIX) de .txt a .rd4 o si queires otro... solo para no confundir.
Al momento de instalar tengo planeado hacer en /usr/lib un directorio llamado reda4 para poner ahi todas las librerias de reda, tal como main.txt digo main.rd4 y asi no tener problemas cuando se quiera hacer algo.
Comento para que tengas en mente:
Es bueno crear eso de la dir en donde meter las librerias, asi si vas hacer unas librerias mas complejas y grandes queda en un lugar mas apropiado por lo tanto el compilador/interpretador tendra que buscar en el directorio la libreria (calro si no esta, muere)
Separa los .h de los .cpp en carpetas diferentes, por decir algo los .cpp en src y los .h en include para trabajarlo de una manera mas limpia a la hora de hacer el makefile tanto para Windows como para Gnu/Linux|UNIX
Si no te es mucha molestia seria muy util poner una pequeña descripcion de cada cosa de :REDa4 para poder hacer un man.
Que hay de los flags de ejecucion de :REDa4, cuales son y que hacen?
 :smartass:
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.

pabloreda

  • Miembro MUY activo
  • ***
  • Mensajes: 125
    • Ver Perfil
    • http://www.reda4.org
Re: Nueva Version De :reda4
« Respuesta #12 en: Domingo 17 de Septiembre de 2006, 15:40 »
0
Ante todo gracias su por contribuir a mi trabajo que es de DOMINIO PUBLICO, como bien dice geo es dependiente de SDL, me gustaria sacarle esta dependencia ya que como se ve la libreria pesa 10 veces mas que el lenguaje, si alguien quiere y se anima a sacarle la SDL yo le ayudo (directx para win y frame buffer para linux o algo asi), al igual que cualquier otra modificacion son bienvenidas

Citar
Si ya lo compile y es -lSDL  pero tengo el problemita que no carga mai.txt ni "REDA4.txt" ¿No puede ser independiente de eso, que no se que es?
Le cambie el end-line y si no te molesta, plabloreda, le cambiare el nombre (en UNIX) de .txt a .rd4 o si queires otro... solo para no confundir.

No carga main.txt porque les cambiaste la extension y reda4.txt tambien le cambiaste la extension, vas a tener que cambiar todos los include me parece.
Por mi parte me gusta la extension .txt para los fuentes, pero no tengo problema que los cambies :)

Citar
Si no te es mucha molestia seria muy util poner una pequeña descripcion de cada cosa de :REDa4 para poder hacer un man.
Que hay de los flags de ejecucion de :REDa4, cuales son y que hacen?

El compilador/interprete no tiene flags, con respecto a una referencia, ya tengo algunas pruebas, si te interesa saber cuales son las palabras BASE que forman el lenguaje, fijate en redam.cpp, ahi estan todas... el resto son librerias. igualmente estoy preparando una referencia, espero publicarla en breve..

su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Re: Nueva Version De :reda4
« Respuesta #13 en: Domingo 17 de Septiembre de 2006, 17:00 »
0
Cita de: "pabloreda"
No carga main.txt porque les cambiaste la extension y reda4.txt tambien le cambiaste la extension, vas a tener que cambiar todos los include me parece.
Por mi parte me gusta la extension .txt para los fuentes, pero no tengo problema que los cambies
Si, eso lo se, lo cambie en codigo y cree el directorio pero al parecer el problema es de fopen, no se tengo que mirarlo a fondo.
Cita de: "pabloreda"
Ante todo gracias su por contribuir a mi trabajo que es de DOMINIO PUBLICO, como bien dice geo es dependiente de SDL, me gustaria sacarle esta dependencia ya que como se ve la libreria pesa 10 veces mas que el lenguaje, si alguien quiere y se anima a sacarle la SDL yo le ayudo (directx para win y frame buffer para linux o algo asi), al igual que cualquier otra modificacion son bienvenidasv
Uff, eso seria muy duro, el problema es que en Gnu/Linux seria con Xlib cosa que no es un paseo muy agradable y no tengo suficientes conocimientos para hacer tal cosa, lo bueno de SDL es que tenes fonts para audio, TTF, imagenes, video, red y en fin un monton de cosas.
Depronto el truco esta en usar un API menos cargado y multiplataforma tal como wx, Tk, ¿PicoGUI?
Pero eso no es cosa facil.
Eata bien que sea DOMINIO PUBLICO pero tienes que poner la licencia junto con el paquete para que sea legal y poderlo distribuir, modificar y usar.
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Nueva Version De :reda4
« Respuesta #14 en: Domingo 17 de Septiembre de 2006, 17:31 »
0
Wow!!!

que bueno qu se este trabajando tanto sobre este hilo.

Yo ando super ocupado con lo del reto del formato de imagen propio, y me gustaria colaborar en lo que pueda.

Trate de integrar el codigo que me diste con el otro entorno, pero me arrojo error.
adjunto la imagen, me dice que no existe print.

si quiero ejecutar ese codigo en un programa de manera independiente como lo hago?

Creo que el manual de uso del compilador y de tu lenguaje es lo mas urgente porque eso ahorra mucho tiempo y motivaras a mas personas a usarla en la medida de que sea facil de usar y exista una buena documentacion.
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Re: Nueva Version De :reda4
« Respuesta #15 en: Domingo 17 de Septiembre de 2006, 17:45 »
0
No he podido, el mismo error: "(FILE) LINE : ERROR" y me tira la path correcto.
Cita de: "JuanK"
si quiero ejecutar ese codigo en un programa de manera independiente como lo hago?
Por lo que he visto, tienes que modificar main.txt
Seria muy bueno modificar esto, el compilador que funcione por medio de flags, args sin tener que mirar un main, el lexer se ne ha hecho un pocquito complicado por mala costumbre  :P
Pues te doy otro consejo, separa el lexer del compilador/interpretador asi es mas facil trabajar y puedes usar el API del lexer para otras cosas, fuera de eso el codigo quedaria muchisimo mas limpio y seria pocible usar el lenguaje en app futuras.
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.

pabloreda

  • Miembro MUY activo
  • ***
  • Mensajes: 125
    • Ver Perfil
    • http://www.reda4.org
Re: Nueva Version De :reda4
« Respuesta #16 en: Domingo 17 de Septiembre de 2006, 23:19 »
0
Citar
Eata bien que sea DOMINIO PUBLICO pero tienes que poner la licencia junto con el paquete para que sea legal y poderlo distribuir, modificar y usar.

Disculpa mi ignorancia en este tema pero actualmente se puede distribuir modificar y usar sin llamar a ningun abogado !! (en mi familia tengo muchos..creeme ) :)

Citar
Trate de integrar el codigo que me diste con el otro entorno, pero me arrojo error.
adjunto la imagen, me dice que no existe print.

fijate bien, dice print; (con punto y coma), debe ir separado, tambien te avisa de la linea de error, el unico analizador lexico que tiene es que las palabras estan separadas por espacio....luego se fija en los prefijos (el colorforth estos prefijos son colores que le dan propiedades a las palabras)

Mi IDE actual es un programa que se llama NOTEPAD2... le podes setear que ponga los numero de linea y con eso ya se donde me da error.

Citar
si quiero ejecutar ese codigo en un programa de manera independiente como lo hago?

Independiente del interprete ?, hoy no es posible...en algun momento va a compilar pero falta un poco...


voy a revisar tu codigo SU.... despues te comento...

su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Re: Nueva Version De :reda4
« Respuesta #17 en: Miércoles 20 de Septiembre de 2006, 03:54 »
0
Hay un problema, si ejecutas el programa como root desde una terminal y estas en X11 como usuario, :REDa4 te hace display, puede considerarse como una inseguridad ya que se puede ejecutar codigo y no tiene control de UID al menos en lo grafico.
En teoria (no deberia por el OS, pero no le he probado) si $< y $> tanto como $( y $) se modifican es decir ($<, $>, $(, $)) = (0, 0, 0, 0); serias root.
Segun yo se si eres usuario tal cosa no pasa (Por la forma del OS) pero por el font de SDL...
Bien, otra cosa, el lenguaje no chequea si estas en X11 o no, gran "crash".
 :rolleyes:
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.

pabloreda

  • Miembro MUY activo
  • ***
  • Mensajes: 125
    • Ver Perfil
    • http://www.reda4.org
Re: Nueva Version De :reda4
« Respuesta #18 en: Miércoles 20 de Septiembre de 2006, 04:33 »
0
No hay forma de tener la direccion del video buffer y listo !!
al final el programa le pregunta al SO si puede usar la memoria de video ??
portarlo a linux es mas dificil de lo que parecia... :(

su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Re: Nueva Version De :reda4
« Respuesta #19 en: Miércoles 20 de Septiembre de 2006, 21:38 »
0
Cita de: "pabloreda"
No hay forma de tener la direccion del video buffer y listo !!
al final el programa le pregunta al SO si puede usar la memoria de video ??
portarlo a linux es mas dificil de lo que parecia... :(
Hmmm... a ver que puedo hacer pero me tomara mucho tiempo.
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.

pabloreda

  • Miembro MUY activo
  • ***
  • Mensajes: 125
    • Ver Perfil
    • http://www.reda4.org
Re: Nueva Version De :reda4
« Respuesta #20 en: Miércoles 20 de Septiembre de 2006, 22:19 »
0
Citar
Hmmm... a ver que puedo hacer pero me tomara mucho tiempo.

Creo que voy a terminar el compilador antes....no te preocupes B)

su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Re: Nueva Version De :reda4
« Respuesta #21 en: Miércoles 20 de Septiembre de 2006, 22:30 »
0
Cita de: "pabloreda"
Citar
Hmmm... a ver que puedo hacer pero me tomara mucho tiempo.

Creo que voy a terminar el compilador antes....no te preocupes B)
 :P may be, seguro que si, creo que la solucion a lo de SDL es incluir algo para saber quien ejecuta el programa, no se si haya algo en C++ (Seguro que si) para esto.
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.

shakka

  • Miembro HIPER activo
  • ****
  • Mensajes: 679
  • Nacionalidad: cr
    • Ver Perfil
    • http://mbrenes.com
Re: Nueva Version De :reda4
« Respuesta #22 en: Jueves 21 de Septiembre de 2006, 22:44 »
0
Y este... lenguaje es solo para la enseñanza, no para desarrollar cosas serias?

pabloreda

  • Miembro MUY activo
  • ***
  • Mensajes: 125
    • Ver Perfil
    • http://www.reda4.org
Re: Nueva Version De :reda4
« Respuesta #23 en: Viernes 22 de Septiembre de 2006, 19:16 »
0
Citar
Y este... lenguaje es solo para la enseñanza, no para desarrollar cosas
serias?

Bueno, la verdad es que se puede hacer cualquier cosa, no es solo para enseñanza. Aunque la orientacion actual es los VIDEOJUEGOS, por ejemplo, los proximos pasos incluyen un motor 3d.

pabloreda

  • Miembro MUY activo
  • ***
  • Mensajes: 125
    • Ver Perfil
    • http://www.reda4.org
Re: Nueva Version De :reda4
« Respuesta #24 en: Jueves 28 de Septiembre de 2006, 16:18 »
0
bueno gente

Mañana presento el lenguaje, seguro que hoy a la noche subo lo que tengo al sitio. Ya tengo unos documentos y espero subir el video de la charla cuando este listo...