Autor Tema: Traductor de código a ejecutable | Disque Compilador |  (Leído 7459 veces)

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

Desconectado rdoggsv

  • Administrator
  • The Communiter-
  • *
  • Mensajes: 6530
  • "Once you go arch , u never go back"
    • SV CommunitY
Traductor de código a ejecutable | Disque Compilador |
« : mayo 21, 2007, 04:49:18 pm »
Bueno señores en el ciclo anterior lleve la materia de compiladores aqui les dejo el programa que entregamos en mi grupo, se suponia que tenia que ser un compilador pero la verdad para eso le falto mucho, al final convierte los comandos definidos por nosotros a ensamblador y crea un ejecutable con la ayuda de el macro assembler y el linker.



Tiene en cuenta un analizador lexico, un analizador sintactico, un medio analizador semantico, y generacion de codigo.

Esta hecho en c# , no les puedo entregar bien documentación pero el codigo esta 2 que tres facil de entender  :thumbsup:

P.D.
Me falto decirles que manejaba un carrito por puerto paralelo y por eso eran asi las instrucciones, el codigo ensamblador pueden ver que casi todo trata de mandar por paralelo varias instrucciones  :thumbsup:

P.D.2
Necesitan el framework 2 de mocosoft, y el proyecto esta hecho en sharpdevelop 2.1  :sur:
« Última Modificación: mayo 21, 2007, 04:55:55 pm por rdoggsv »

Desconectado Ramses

  • Sv Member
  • ***
  • Mensajes: 492
  • # apt-get install debian
    • Mi Blog
Re: Traductor de código a ejecutable | Disque Compilador |
« Respuesta #1 : mayo 21, 2007, 04:57:52 pm »
Gracias... descargando estoy aprendiendo C# asi que voy a ver si le entiendo al codigo  :phew:
shutdown -h now
Mi Blog

Desconectado John Stark!

  • Sv Full Member
  • *
  • Mensajes: 906
  • I survived my first match, with only 2 broken ribs
Re: Traductor de código a ejecutable | Disque Compilador |
« Respuesta #2 : mayo 21, 2007, 05:02:50 pm »
jajajajajajajjajaja!! ta bien rdogg ta bien! :rofl:

Rick.Hunter.007

  • Visitante
Re: Traductor de código a ejecutable | Disque Compilador |
« Respuesta #3 : mayo 21, 2007, 05:11:13 pm »
Ey, muy interesante RdoggSv. ¿Este programa corre en Wind@ws XP?.... ¿Pudiste superar el problema de usar el puerto LPT1 en GuindoX?  :angel:

Desconectado rdoggsv

  • Administrator
  • The Communiter-
  • *
  • Mensajes: 6530
  • "Once you go arch , u never go back"
    • SV CommunitY
Re: Traductor de código a ejecutable | Disque Compilador |
« Respuesta #4 : mayo 21, 2007, 05:15:24 pm »
Ey, muy interesante RdoggSv. ¿Este programa corre en Wind@ws XP?.... ¿Pudiste superar el problema de usar el puerto LPT1 en GuindoX?  :angel:

Mira te voy a contar algo bien interesante, yo siempre he utilizado el programita que se llama UsrPort para conectarme al paralelo con el codigo creado en ensamblador, y el programita ese se ha quedado directo, ahora no no necesito tenerlo abierto ni ejecutando, y siempre puedo accesar a el lpt1 desde cualquier programa  :thumbsup:

Rick.Hunter.007

  • Visitante
Re: Traductor de código a ejecutable | Disque Compilador |
« Respuesta #5 : mayo 21, 2007, 05:31:25 pm »
Me llega compadre  :thumbsup: . Espero ya hallas superado ese sufrimiento.  :thumbsup:

Desconectado vlad

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 6351
    • Qualium.net
Re: Traductor de código a ejecutable | Disque Compilador |
« Respuesta #6 : mayo 21, 2007, 05:38:31 pm »
Un comentario:

Es curioso, hay boton de guardar pero no de abrir XD

PD:
"No se puede cargar el archivo MainForm.cs en la ubicación c:\Documents and Settings\rdoggsv\Mis documentos\SharpDevelop Projects\IDE. revise los permisos y la existencia de ese archivo."

Eso pasa cuando le doy en compilar a esto:

Código: [Seleccionar]
inicio{
derecha 10
}fin

Y los datos del depurador que mandas dicen:
Citar
indice 7
estadofinal 1
indice 9
estadofinal 2
indice 7
estadofinal 3
indice 1
estadofinal 4
indice 7
estadofinal 5
indice 10
estadofinal 6
LEXICO: INICIO
indice_s 0
estadofinal_s 1
indice 30
estadofinal 52
LEXICO: APERTURA
indice_s 10
estadofinal_s 2
indice 29
estadofinal 51
LEXICO: CAMBIO DE LINEA
indice_s 9
estadofinal_s 3
SINTACTICO: INICIO_SINTACTICO
indice_sema 0
estadofinal_sema 1
SEMANTICO: INICIO_PROGRAMA
indice 2
estadofinal 29
SEMANTICO: INICIO_PROGRAMA
indice 3
estadofinal 30
SEMANTICO: INICIO_PROGRAMA
indice 12
estadofinal 31
SEMANTICO: INICIO_PROGRAMA
indice 3
estadofinal 32
SEMANTICO: INICIO_PROGRAMA
indice 1
estadofinal 33
SEMANTICO: INICIO_PROGRAMA
indice 6
estadofinal 34
SEMANTICO: INICIO_PROGRAMA
indice 0
estadofinal 35
LEXICO: DERECHA
indice_s 4
estadofinal_s 19
SEMANTICO: INICIO_PROGRAMA
indice 28
estadofinal 50
LEXICO: ESPACIO
indice_s 8
estadofinal_s 20
SEMANTICO: INICIO_PROGRAMA
indice 19
estadofinal 49
LEXICO: NUMERO
indice_s 7
estadofinal_s 21
SEMANTICO: INICIO_PROGRAMA
indice 18
estadofinal 49
LEXICO: NUMERO
indice_s 7
estadofinal_s 21
SEMANTICO: INICIO_PROGRAMA
indice 29
estadofinal 51
LEXICO: CAMBIO DE LINEA
indice_s 9
estadofinal_s 23
SINTACTICO: ORDR_DERECHA
indice_sema 3
estadofinal_sema 1
SEMANTICO: INICIO_PROGRAMA
indice 31
estadofinal 53
LEXICO: CIERRE
indice_s 11
estadofinal_s 30
SEMANTICO: INICIO_PROGRAMA
indice 4
estadofinal 7
SEMANTICO: INICIO_PROGRAMA
indice 7
estadofinal 8
SEMANTICO: INICIO_PROGRAMA
indice 9
estadofinal 9
LEXICO: FIN
indice_s 12
estadofinal_s 32
SINTACTICO: FIN_PROGRAMA
indice_sema 7
estadofinal_sema 2
SEMANTICO: FIN_PROGRAMA


      void MnuGenerarClick(object sender, EventArgs e)
      {
         MnuCompilarClick(sender,e);
         for(int i=0;i<999999999;i++)
            i++;

         CrearEXE();
      }

 :huh:
« Última Modificación: mayo 21, 2007, 05:46:02 pm por Vlad »

Desconectado rdoggsv

  • Administrator
  • The Communiter-
  • *
  • Mensajes: 6530
  • "Once you go arch , u never go back"
    • SV CommunitY
Re: Traductor de código a ejecutable | Disque Compilador |
« Respuesta #7 : mayo 21, 2007, 06:34:52 pm »
Un comentario:

Es curioso, hay boton de guardar pero no de abrir XD

El proyecto iba a tener de todo en cuenta, inclusive en la parte de guardar podes ver que hay unas cosas comentadas que mencionaban algo de un workspace algo asi, es porque iba a crear un directorio de trabajo ibas a poder guardar con el nombre ue vos quisieras, luego abrirlo , etc, pero al final por falta de tiempo qudo en que se guardaba a la fuerza en un archivo llamado main.txt, y se creaba un archivo main.asm XD no te da la oportunidad de elegir el nombre ni nada de eso, y al final lo de abrir se quito XD

Citar
PD:
"No se puede cargar el archivo MainForm.cs en la ubicación c:\Documents and Settings\rdoggsv\Mis documentos\SharpDevelop Projects\IDE. revise los permisos y la existencia de ese archivo."

Supongo que algun error de sharp develop porque logro ver que inclusive te da la carpeta en la que yo tenia el proyecto y pues en el rar adjunte toda la solucion :S no veo la razon para que no encuentre el archivo

Citar
Eso pasa cuando le doy en compilar a esto:

Código: [Seleccionar]
inicio{
derecha 10
}fin

Y los datos del depurador que mandas dicen:

      void MnuGenerarClick(object sender, EventArgs e)
      {
         MnuCompilarClick(sender,e);
         for(int i=0;i<999999999;i++)
            i++;

         CrearEXE();
      }

 :huh:

El depurador no muestra ningun error, si algo fallara te diria que llego a un error pero segun la depuracion que veo logro leer todo correctamente.

Por cierto veo que has puesto lo del for haha ese for es un invento para perder tiempo y que el archivo main.obj se logre crear bien en el sistema y la creacion de el ejecutable lo encuentre a tiempo.

Llegue a un punto en donde el ejecutable se intentaba crear antes de que en el sistema existiera por completo el main.obj y por eso fallaba la creacion del exe, asi que como ya venia acostumbrado a los retardos que creas en el ensamblador con hacer perder ciclos de reloj al cpu me invente ese for para que perdiera tiempo y lo creara correctamente :S intente buscar una funcion de sleep o algo parecido pero creeme que no encontre nada :(

Desconectado mxgxw

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 5665
  • Starlet - 999cc
    • mxgxw
Re: Traductor de código a ejecutable | Disque Compilador |
« Respuesta #8 : mayo 21, 2007, 06:46:29 pm »
Esos analizadores me parecen conocidos fksajhfkajfas  :sur:


Desconectado rdoggsv

  • Administrator
  • The Communiter-
  • *
  • Mensajes: 6530
  • "Once you go arch , u never go back"
    • SV CommunitY
Re: Traductor de código a ejecutable | Disque Compilador |
« Respuesta #9 : mayo 21, 2007, 06:48:18 pm »
Esos analizadores me parecen conocidos fksajhfkajfas  :sur:

porque sera porque sera  :D  suerte que parte de esos codigos me los pasaron sin licencia solo porque si sino ya estuvo que me cae demanda  :D

Desconectado vlad

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 6351
    • Qualium.net
Re: Traductor de código a ejecutable | Disque Compilador |
« Respuesta #10 : mayo 21, 2007, 07:02:48 pm »
Llegue a un punto en donde el ejecutable se intentaba crear antes de que en el sistema existiera por completo el main.obj
System.Threading.Thread.Sleep(X); :) ?

http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=269711&SiteID=1

PD:  No sería mejor hacer un chequeo tipo "if(System.IO.File.Exists("main.obj")) cada X tiempo" para que fuera mas seguro? :P

PD2: conste, no lo hago por fregar, pero me gusta preguntar xD

Desconectado Jaru

  • The Communiter-
  • *
  • Mensajes: 13252
  • some text
Re: Traductor de código a ejecutable | Disque Compilador |
« Respuesta #11 : mayo 21, 2007, 07:09:49 pm »
komo mxgxw sabe.. la parte ke me gusta a mi de estos proyectos es el HARDWARE... me gustaria ver la parte ke habla kon el puerto.
y si es mucho pedir no tendras un video del carrito por ahi?  :D
N/A

Desconectado rdoggsv

  • Administrator
  • The Communiter-
  • *
  • Mensajes: 6530
  • "Once you go arch , u never go back"
    • SV CommunitY
Re: Traductor de código a ejecutable | Disque Compilador |
« Respuesta #12 : mayo 21, 2007, 07:48:50 pm »
System.Threading.Thread.Sleep(X); :) ?

http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=269711&SiteID=1

PD:  No sería mejor hacer un chequeo tipo "if(System.IO.File.Exists("main.obj")) cada X tiempo" para que fuera mas seguro? :P

PD2: conste, no lo hago por fregar, pero me gusta preguntar xD

Esa la encontre pero lei que tenia que ver con la programacion multihilos no con la normal, y ahora que lo decis tenes razon en el for que hice podia hacer en lugar de eso un

Código: [Seleccionar]
while(!System....Exists())
continue;

Algo asi parecido para que no pase hasta que ya exista el archivo, la verdad que el sleep que esta ahi es un retardo de tiempo y pues el tiempo me resulto suficiente para que el archivo se creara  :thumbsup: , como tedigo en el momento ya estaba viciado con las pausas que hice en el asm y me parecio buena idea atacarlo de la misma manera, fijate que ese programita fue hecho el dia antes de la entrega y cuando llegue a la parte de la creacion del exe ya era algo de madrugada XD

komo mxgxw sabe.. la parte ke me gusta a mi de estos proyectos es el HARDWARE... me gustaria ver la parte ke habla kon el puerto.
y si es mucho pedir no tendras un video del carrito por ahi?  :D

Solo manda por la direccion del puerto la 378 las palabras de configuracion para el carrito, fijate que el circuito del carrito se lo hecho un chero de electronica, compramos un picachito a control remoto y en la parte de atras le conectaron una polea y un hembra de puerto paralelo , el circuito era interno pero funcionaba de toque  :sur: