compilador
tengo una duda acerac de los compiladores, como se puede realizar uno con el lenguaje java o que tutorials me recomiendan
- herdeagb's blog
- Inicie sesión o regístrese para enviar comentarios
tengo una duda acerac de los compiladores, como se puede realizar uno con el lenguaje java o que tutorials me recomiendan
Compiladores
Para realizar un Compilador no es una tarea tan sencilla de realizar.
Por ejemplo tener "un almacen de palabras reservadas" de un lenguaje de programación como Java,C, etc.
Un pequeño ejemplo:
A mi criterio se requiere gran conocimientos de programación no es nada fácil (¿Te lo dejaron de tarea?).
Explicación for Dummies;un compilador debe leer instrucción x instrucción, determinar si estan bien escritos y si corresponden al lenguaje de programación, entre otras actividades más complejas.
Puedes checar estos link (gracias Wikipedia):
Si lo vas hacer en Java te recomiendo buscar las palabras reservadas del lenguaje, estudiar la síntaxis y estructuras de control del lenguaje.
Tu petición es algo
Tu petición es algo abierta. Si especificas un poco más que es lo que quieres, quizá se te pueda ayudar mejor.
Es decir, quieres saber que es un compilador?
Quieres escribir uno tu mismo? Si es así, tienes algún lenguaje en mente?, Alguna arquitectura destino en mente?
Etc. Este es un tema muy grande.
Empieza leyendo la entrada en la Wikipedia
Hay herramientas que te ayudan a escribir algunas partes de un compilador en Java:
ANTRL -
JavaCC -
Eclipse tiene un proyecto para escribir lenguajes con soporte en eclipse mismo.
Xtext -
Y Jetbrains ( los creadores de IDEA ) tienen algo similar pero para lenguajes de dominio especifico
Meta Programming System -
la verdad si es una tarea y
la verdad si es una tarea y necesito informacion al respecto ya busque un poco en google pero siento que aun no es suficiente. ah y gracias por el aporte
pues las dos cosas necesito
pues las dos cosas necesito saber sobre los compiladores y de paso realizar uno, no la gran cosa pero si un pequeño ejemplo
En ese caso el link de
En ese caso el link de wikipedia es muy bueno para empezar.
A grandes rasgos ( y en mis propias palabras ) para hacer un compilador tienes que hacer
1.- Una analizador léxico. El que dice si tu lenguaje está bien.
2.- Un analizador semántico. El que dice si lo que está bien escrito, tiene sentido.
3.- Un generador de código. Lo que los otros dos ya vieron que está bien, generalo en código de máquina o en otro lenguaje intermedio ( ejemplo javac, genera un lenguaje intermedio llamado bytecode ).
Así por ejemplo podrías con Java hacer un mini-micro-chafi lenguaje que se llamara "Hola mundo" que tuviera una sola instrucción: "Hola: " y que recibiera a quién iba a saludar.
Obvio esto es un ejemplo muy burdo, pero presenta las partes principales.
Así, podríamos llamar al compilador pasandole en la linea de comandos su programa:
Este chafi compilador generaría el código objetivo que sería un .class:
Oscar.class que podríamos ejecutar con Java:
Obvio, entre más largo y complejo el lenguaje de programación, más largo y complejo es el compilador.
Hay muchísimo más, sobre esto.
Un libro que presenta un ejemplo muy fácil de seguir es "The UNIX programming Environment" en su ultimo capitulo habla sobre como hacer un lenguaje y usar las herramientas que vienen en el sistema operativo ( lo hacen con C )
Otro libro fácil de leer es "Create your own programming language" que explica los conceptos básicos de una manera muy fácil, y sirve de forma introductoria.
Para cosas más avanzadas estan los links que te puse antes y está el famoso libro del dragon
Espero que con eso se te quiten las ganas, digo, espero que eso te sirva de inicio.
gracias por la ayuda, lo
gracias por la ayuda, lo tendre en cuenta