Autor
|
Tema: Como hacer un lenguaje de programación? (Leído 5,036 veces)
|
n1sen
Desconectado
Mensajes: 122
|
Aveces me pregunto como hacer un lenguaje de programación, he visto paginas, nada me aclara, siempre veo que dicen "busca un lenguaje que se paresca al que quieres crear". Una vez intente hacer un interprete en Python, funcionaba, pero era muy básico, el código era ineficiente y mal programado, pero funcionaba!, aunque le faltaba lo mas básico, las variables, lo cual me genero muchos problemas... El lenguaje que estaba programado tenia una """sintaxis""" igual a Python y Ruby. De paso les dejo una muestra del lenguaje que estaba haciendo: ~Este es un comentario putsln "Hola" add "5" "5" ~Suma 5 mas 5 y lo muestra en pantalla
|
|
|
En línea
|
null
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
Un lenguaje al final es poco más que un parser, la forma de la cual guardas el código en memoria y la forma de "ejecutarlo" (que puede ser interpretarlo a mmento, generar bytecode, compilarlo...).
Para las variables, pues bueno. Depende. Una forma fácil sería tener un mapeado clave-valor donde la clave sea el nombre de la variable y el valor sea la información de esta (tipo, valor, y lo que sea). En caso de un lenguaje estructurado, habría que tener un map en cada contexto (local, global, namespace, clase...) (Dependiendo del lenguaje, desde luego).
En fin, depende totalmente del lenguaje, paradigma que quieras seguir, etc. Un lenguaje ensamblador, por ejemplo, es realmente sencillo. Su parser es prácticamente trivial y su ejecución lo mismo. Un lenguaje orientado a objetos como Java o C++, pues ya hay que andar con clases, funciones, imports... El parser se complica ya que, por ejemplo, en un ensamblador solo te vas a encontrar en el código unos operadores que tú has definido. Sin embargo, en Java, vas a encontrarte también cosas definidas por el programador, como nombres de clases, funciones...
Así que antes de nada, ¿qué es lo que tienes en mente?
|
|
|
En línea
|
|
|
|
n1sen
Desconectado
Mensajes: 122
|
Un lenguaje de tipado dinámico, interpretado (pues para hacerlo compilado lo veo algo dificil), orientado a objetos, un poco de programación funcional. Así que seria un lenguaje multiparadigma.
|
|
|
En línea
|
null
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
Si realmente vas a ponerte a hacerlo, lo primero es que tengas claro qué va a ser y cómo va a ser xD Sintaxis y posibilidades.
|
|
|
En línea
|
|
|
|
n1sen
Desconectado
Mensajes: 122
|
Una sintaxis simple, como Python y Ruby
|
|
|
En línea
|
null
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
Pues nada, empieza a ello. Empieza definiendo <exactamente> la sintaxis que tendrá tu lenguaje: Cómo declarar variables, cómo declarar funciones (si se las vas a meter), cómo hacer bucles, condicionales... También, qué tipos de variables tendrá.
En fin, si tienes alguna duda más concreta, puedes preguntar.
|
|
|
En línea
|
|
|
|
Serapis
|
Una sintaxis simple, como Python y Ruby
Cuando uno decide crear un lenguaje nuevo, tiene la oportunidad dorada, de decidir como ha de ser su lenguaje y desterrar del mismo las tonterías que encuentra en otros lenguajes y añadir lo que cree que falta. Si al final encuentras que tales lenguajes no contienen tonterías sobrantes, ni les falta nada, entonces es una pérdida de tiempo, pretender hacer un lenguaje prácticamente idéntico a uno ya "existonto"... Si es meramente por practicar, haz lo que muchos crea un lenguaje simple para una calculadora, sigue siendo un ejercicio, pero sin la pérdida considerable de tiempo y esfuerzo (como el que lleva un lenguaje complejo y completo). Te recomiendo encarecidamente que te leas la notación BNF Esto puede ilustrarte bastante: https://tools.ietf.org/html/rfc5511 RBNF https://www.ietf.org/rfc/rfc2234.txt ABNF
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
¿Cómo crear un lenguaje de programación?
Programación Visual Basic
|
Hymake
|
3
|
13,791
|
10 Diciembre 2006, 18:37 pm
por Ragnarok
|
|
|
Como Puedo Cambiar el Lenguaje de Programacion ?¿
Programación Visual Basic
|
terrorista
|
3
|
4,511
|
9 Julio 2010, 00:17 am
por Dreamaker
|
|
|
¿los idiomas son complejos como el lenguaje de programacion?
Dudas Generales
|
bacanzito
|
3
|
2,915
|
12 Septiembre 2013, 12:36 pm
por topomanuel
|
|
|
Ayuda: ¿Como agregar mi lenguaje de programacion a NetBeans?
Software
|
S@l0o
|
0
|
1,104
|
30 Abril 2014, 18:41 pm
por S@l0o
|
|
|
Que puedo hacer (lenguaje de programacion)
Programación General
|
dizzy18
|
8
|
4,893
|
9 Abril 2015, 14:13 pm
por engel lex
|
|