elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Foros Generales
| |-+  Foro Libre
| | |-+  Nuevo Compilador
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Nuevo Compilador  (Leído 4,994 veces)
Yuki

Desconectado Desconectado

Mensajes: 80


El error es una muestra de la incompetencia.


Ver Perfil WWW
Nuevo Compilador
« en: 29 Mayo 2016, 16:20 pm »

Bueno, les traigo una muestra de mi compilador, lo he estado programando estos ultimos meses y la verdad es que ha sido todo un desafio, nunca pense que iba a ser tan complejo y exajerado, pero con mucho esfuerzo he podido desarrollarlo hasta el punto de poder compartirlo con ustedes.

Antes de que lo prueben, les informo que los bugs estan GARANTIZADOS, asi que no me insulten demasiado.

Les dejo el enlace de descarga, pido disculpas si esto no se debe hacer en esta sección.

http://www.mediafire.com/download/f5xsd5mmymxf5o9/%5BBinario%5D_Compilado.zip

El comprimido contiene información y un código de ejemplo.

Espero criticas constructivas, sugerencias y recomendaciones.

Saludos!
En línea

fary


Desconectado Desconectado

Mensajes: 1.084



Ver Perfil WWW
Re: Nuevo Compilador
« Respuesta #1 en: 29 Mayo 2016, 17:43 pm »

No entiendo como debo compilar el código de ejemplo, ¿podrías describirlo con un poco mas de detalle?

saludos.

EDITO: Ya lo he conseguido... esta interesante el proyecto... lo seguiré sin duda alguna :P

« Última modificación: 29 Mayo 2016, 17:49 pm por fary » En línea

Un byte a la izquierda.
MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: Nuevo Compilador
« Respuesta #2 en: 29 Mayo 2016, 22:15 pm »

¿Es un compilador de que lenguaje? ¿Es un lenguaje que tu diseñaste? ¿También veo que incluiste un archivo "FASM.exe", acaso este es el compilador FASM?

No he visto nada del código, pero me imagino que lo que haces es hacer la traducción de tu lenguaje a ASM y luego compilarlo con FASM.
« Última modificación: 29 Mayo 2016, 22:20 pm por MinusFour » En línea

Yuki

Desconectado Desconectado

Mensajes: 80


El error es una muestra de la incompetencia.


Ver Perfil WWW
Re: Nuevo Compilador
« Respuesta #3 en: 30 Mayo 2016, 06:02 am »

fary, espero tus criticas sobre el código ensambladora generado, lo podes ver usando /asm, trate de hacerlo lo mas compacto y practico posible, aunque se que se puede mejorar mas.

MinisFour, es un lenguaje que efectivamente, yo estoy diseñando.

No he visto nada del código, pero me imagino que lo que haces es hacer la traducción de tu lenguaje a ASM y luego compilarlo con FASM.

Exactamente. ¿No funcionan todos los lenguajes de esa manera?.
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Nuevo Compilador
« Respuesta #4 en: 30 Mayo 2016, 06:18 am »

no de manera tan simple (traducción directa),  algunos buscan la forma mas eficiente de la compilación (donde un código quede traducido a menos operaciones posibles),  otros buscan el código compilado mas seguro,  otras el menor consumo de recursos... y asi...
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Yuki

Desconectado Desconectado

Mensajes: 80


El error es una muestra de la incompetencia.


Ver Perfil WWW
Re: Nuevo Compilador
« Respuesta #5 en: 30 Mayo 2016, 09:31 am »

no de manera tan simple (traducción directa),  algunos buscan la forma mas eficiente de la compilación (donde un código quede traducido a menos operaciones posibles),  otros buscan el código compilado mas seguro,  otras el menor consumo de recursos... y asi...

No te diria que el compilador cree código tan directo, añadí funciones que permiten minimisar el código ensamblador generado.

Si te refieres a que otros lenguajes usan (como por ejemplo) archivos objeto (.obj,.a,.o) pues no, el compilador no tiene complejidad en ese sentido, ya que lo que yo quiero es que sea lo mas simple posible.

Me quede traumado con C, cuando queria llamar a timeGetTime API y me lanzaba un error de referencia a dicha api, desde ahi decidí que si hacia un compilador algún dia, jamás iba a depender de archivos objetos externos.
En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: Nuevo Compilador
« Respuesta #6 en: 30 Mayo 2016, 17:34 pm »

Exactamente. ¿No funcionan todos los lenguajes de esa manera?.

No es una característica precisa del lenguaje sino de los compiladores, no todos hacen esto, pero algunos sí. Por ejemplo el backend de GCC es un compilador de ASM.

https://en.wikipedia.org/wiki/GNU_Assembler

No hay nada de malo en ello la verdad, me parecio raro tener dos ejecutables, compiladores separados. Por cierto, sería buena idea que pusieras el código fuente (o es acaso el .inc?) y no solo los ejecutables (especialmente en un foro como este).
« Última modificación: 30 Mayo 2016, 22:34 pm por MinusFour » En línea

Yuki

Desconectado Desconectado

Mensajes: 80


El error es una muestra de la incompetencia.


Ver Perfil WWW
Re: Nuevo Compilador
« Respuesta #7 en: 31 Mayo 2016, 18:39 pm »

MinisFour entiendo, yo lo hice de esta manera debido a que seria imposible para mi encontrar una manera de crear un compilador que genere un archivo ejecutable directamente, ademas queria aprovechar las caracteristicas del compilador FASM.

agradezco a todos por sus comentarios, actualmente sigo trabajando en este compilador (añadí punteros y re-programe el analizis de variables y procedimientos), si esto se convierte en algo mas grande necesitaria un nombre para este programa ¿alguna idea?

Editado:
MinisFour dudo mucho que libere el código fuente original, talvez algún dia re-haga el compilador de cero y lo libere, el código es un desastre.

Si tienen sus dudas sobre los componentes del archivo, son totalmente libres de subirlo a VirusTotal.

Saludos!
« Última modificación: 31 Mayo 2016, 18:47 pm por Yuki » En línea

class_OpenGL


Desconectado Desconectado

Mensajes: 437

Si usas Direct3D, no eres mi amigo :P


Ver Perfil
Re: Nuevo Compilador
« Respuesta #8 en: 13 Junio 2016, 06:44 am »

El primer lenguaje en español. ¡YUJU! No sé que tan óptimo será el lenguaje y/o el compilador, pero ya de por sí hacer un compilador está muy bien ;).

Un consejo:
* Veo que en el código usas la 'ñ'. La 'ñ' no está en la codificación ASCII, entonces si guardas el código fuente en una codificación que el compilador no espera, puede que tengas errores. Lo mismo pasa con las vocales acentuadas
En línea

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
compilador vb
Programación Visual Basic
riveritaa 1 2,659 Último mensaje 28 Septiembre 2006, 14:06 pm
por WarGhost
Firefox 18, nuevo compilador javascript y la velocidad por bandera
Noticias
wolfbcn 2 2,029 Último mensaje 13 Enero 2013, 01:00 am
por dimitrix
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines