[Nuevo Lenguaje (GPL)] Pixie (C#)

Iniciado por Hendrix, 24 Mayo 2007, 17:52 PM

0 Miembros y 1 Visitante están viendo este tema.

Hendrix

Bueno, les presento este nuevo interprete del lenguaje que e echo en C#.

Esta en fase Beta

Les pongo el FAQ que e echo (es el archivo leeme.txt)




Interprete Lenguaje Pixie
By Hendrix


FAQ
----

1. ¿Que es Pixie?

Bueno, Pixie es un lenguaje interpretado que me e inventado yo mismo y lo e ido
implementando en C#.

Este lenguaje es GPL, asi que todo el mundo lo puede ir mejorando y/o cambiando de la
manera que quiera. Tambien agradeceria que si alguien le implementa mas comandos y lo
mejora me gustaria que me lo comentara por e-mail o por MP.

2. ¿Por que en C#?

Lo e echo en C# porque era un lengauje que me gustaba bastante, aparte de que me apetecia
hacer un programa en este lenguaje, ya que no e echo muchos proyectos en este lenguaje.

3. ¿Lo puede utilizar todo el mundo?

Esto es una de las cosas que me han decantado por hacerlo en C#, C# se ejecuta a partir
del Framework, por lo tanto se puede ejecutar en todos los SO (que dispongan del
Framework para su plataforma) que sea.

4. ¿Con el Framework son todo ventajas?

Evidentemente no, el framework implica una menor velocidad en la ejecucion de los
scripts. Un programa en C es muchisimo mas rapido que uno en C# por culpa del framework.

Otro inconveniente es que para utilizar mi interprete deben de tener instalado el Framework.

5. ¿A parte de la beta, vas a sacar mas versiones?

Mi intención es llegar hasta una version estable (con los suficientes comandos para que
este lengauje pueda ser usado realmente) y luego le añadire compilador para que genere
.exe's.


Lista de Comandos:
-------------------

· Print: Funciona como el print de perl (incluso con sus variables), por ejemplo:

print ("Hola Mundo")

y con una variable:

print ("Me llamo $nombre")

· variables: Tambien son como perl

$a = 1 + 2

$nombre = Hendrix

NOTA: dejar los espacios despues del signo =

. title: Sirve para cambiar el titulo de la ventana


title ("Nuevo Titulo")

· wait: Espera a que se pulse una tecla

Ejemplo: wait

· exec: Ejecuta un archivo

exec ("C:\archivo.exe")

· kill: elimina un archivo

kill ("C:\archivo.txt")

· dec: declara una variable

dec (variable)

· gets: Guarda dentro de una variable lo que se le pase por teclado

ejemplo:

dec (nombre)

print ("Escribe tu nombre: ")
gets (nombre)


· If: Es el tipico "Si condicional"

Ejemplo:

dec (num)

print ("Introduce un numero: ")
gets (num)
if ($num = 18)
{
print ("Es 18")
}
else
{
print ("No es 18")
}
wait


· openfile: Prepara un archivo para ser trabajado (si no existe lo crea)

Ejemplo:

openfile ("C:\archivo.txt")


· write: Escribe en el archivo (si habia texto lo sobreescribe) (NOTA: es necesario
primero haber iniciado el archivo)

ejemplo:

write ("Linea de texto")


· add: Lo mismo que write pero sin sobreescribir

add ("Linea de texto añadida")


· closefile: Cierra el archivo


Obligaciones del lenguaje:
---------------------------

- Escribir siempre los comandos en minuscula
- Respectar los espacios entre signos matematicos


Hasta aqui llega esta pequeña introduccion.

Un Saludo.

Hendrix

"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián

<?BRoWLi?>

Eres un tio con ideas muy originales... Felicidades, espero le sigas metiendo así de bien, adelante con el proyecto.

Lo que si es verdad, aver usado C o C++ hubiese sido mas óptimo.

Si TRaTaS D SeR JusTo SoLo Es JuSTo EL CoRaZóN, LoS DeMaS OrGaNoS TRaTaRaN De KiTaRLe La RaZoN - DobleV
Piratas.com.es

Hendrix

Ya, ahora me doy cuenta de eso...cuando ya tengo bastante trabajo echo...xDDDD

Ademas, C# es muy sencillo y me simplificaba un monton la vida en cuanto al analisis de cadenas para hacer este interprete....aparte de unas cuantas funciones que e implementado yo...

Bueno, muchas gracias tio... ;) ;)

Un Saludo.

"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián

marioly

Como trabajo didactico es muy bueno :) , felicidades, pero no es un interprete tal cual, es como una envoltura, esta escrito en C# y las instrucciones las pasa a codigo C# :P , y la logica de tu analisis lexico.., pues seria muy dificil de extender, es muy rigida, como:


                if (comando == "algo")
                {
                    // do
                }
               
               if( comando == "otroalgo" )
              {
                     //do

te recomiendo leer sobre :

tokens, analizadores lexicos, lexemas y patrones
lexicos, tablas de simbolos, y sobre las fases de un interprete o un compilador.

Como proyecto actualmente estoy haciendo mi "mini-compilador" (voy en el analisis sintactico :P) , es muy interesante =)

P.D: son recomendaciones, no te critico, me parece un buen trabajo el que as hecho :)

Hendrix

Cierto....ya se que no es un interprete "tal cual"....

Se las diferentes fases de un interprete (y de un compilador), pero no tengo ni un libro sobre eso, y leer todo un libro de mas de 200 pag en ingles me cuesta bastante....tampoco voy a la uni (aun), asi que no e asistido a ninguna clase de creacion de compialdores (creo qu ees una optativa.. :-\ :-\) ni tengo ningun libro....

Si tienes algun libro o algun texto en español te agradeceria que me los pasaras... ;) ;)

Un Saludo y gracais por la critica.... ;) ;)

"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián

BADBYTE-K

Excelente, la critica constructiva es la mejor forma de mejorar nuestros proyectos.

Hendrix, la idea es genial, no has ido a la uni aun pero vas por un buen o excelente camino diria yo. Con proyectos asi es que se adquiere la verdadera experiencia, poco a poco veras como tu nivel va mejorando dia con dia.

Saludos

Hendrix

Muchisimas gracias por esos comentarios... :) :)

Un Saludo.  ;)
"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián

Meta

Cita de: BRoWLi en 24 Mayo 2007, 17:57 PM
Eres un tio con ideas muy originales... Felicidades, espero le sigas metiendo así de bien, adelante con el proyecto.

Lo que si es verdad, aver usado C o C++ hubiese sido mas óptimo.




No, no, no, no, C o C++ no y mil veces no.

La moda ahora es Visual C# .net, si ha sido creado es proque es mejor, sobre todo para la empresas.

Que siga con C#, es más fácil y cómodo.

ahhhhhhhhhhhhh, en cuanto al proyecto, que siga en pié.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/