• Martes 12 de Noviembre de 2024, 20:45

Autor Tema:  Analizador Lexico Sintactico En Assembler  (Leído 5240 veces)

daniel690

  • Nuevo Miembro
  • *
  • Mensajes: 13
    • Ver Perfil
Analizador Lexico Sintactico En Assembler
« en: Lunes 8 de Diciembre de 2003, 16:47 »
0
hola que tela me estan pidiendo un analizador lexico y sintactico en del assembler que contenga instrucciones de c++, yo tengo uno de c++ pero no encuentro como meterle las instrucciones de assembler ester es el lexico de c++
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
#include<string.h>
#include<a:letydig.h>
#include<a:presen.h>
void sepcaracter (char cadena[100], char byte[20][50]);
char * transicion (char cadena[100]);

void main (void)
{
//   presenta();
   clrscr();
   textmode(C80);
   char renglon[100];
   char byte[20][50];
   int ren, contrenglon=1, i;
   FILE *entrada, *salida,*errores, *identifica;
   llamarchv();
   entrada = fopen ("a:\\ent.c", "r");
   salida = fopen ("a:\\salida.c", "w");
   errores = fopen ("a:\\errores.c", "w");
   identifica=fopen ("a:\\identifi.c","w");
   while (!feof(entrada))
   {
     fgets (renglon, 100, entrada);
     for (i=0; i<20; i++)
       byte[0] = '\0';
     sepcaracter(renglon, byte);
     ren = 0;
     while (strlen (byte[ren]) > 0)
      {
//   clrscr();
   gotoxy(5,4);cout<<"Linea analizada: ->";
   gotoxy(5,5);printf("Linea: %d %s %s\n", contrenglon, byte[ren], transicion(byte[ren]));
   getch();
   gotoxy(5,5);cout<<"                                 ";
   if(!strcmp(transicion(byte[ren]),"error"))
     fprintf (errores, "Linea: %d %s %s\n", contrenglon, byte[ren], transicion(byte[ren]));
   else
    {
      if(!strcmp(transicion(byte[ren]),"identificador"))
       {
         fprintf (salida, "Linea: %d %s %s\n", contrenglon, byte[ren], transicion(byte[ren]));
         fprintf (identifica, "Linea: %d %s %s\n", contrenglon, byte[ren], transicion(byte[ren]));
       }
      else
        fprintf (salida, "Linea: %d %s %s\n", contrenglon, byte[ren], transicion(byte[ren]));

    }
   ren++;
     }
     contrenglon++;
     getch();

   }
   fclose (salida);
   fclose (entrada);
   fclose (errores);
   fclose (identifica);
}

char * transicion (char cadena[100])
{ //¦&/$#?@

Super_G

  • Miembro MUY activo
  • ***
  • Mensajes: 375
    • Ver Perfil
Re: Analizador Lexico Sintactico En Assembler
« Respuesta #1 en: Miércoles 10 de Diciembre de 2003, 03:20 »
0
no entendi casi nad a............pero :
¿es algo asi como un compilador?

¿o que otro parecido puede tener?

daniel690

  • Nuevo Miembro
  • *
  • Mensajes: 13
    • Ver Perfil
Re: Analizador Lexico Sintactico En Assembler
« Respuesta #2 en: Miércoles 10 de Diciembre de 2003, 14:34 »
0
Cita de: "Super_G"
no entendi casi nad a............pero :
¿es algo asi como un compilador?

¿o que otro parecido puede tener?
asi es es como un compilador tirnes algo por el estilo? :kicking:

Advichield

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Analizador Lexico Sintactico En Assembler
« Respuesta #3 en: Sábado 13 de Diciembre de 2003, 20:51 »
0
:angel: Daniel690: ¿tu podrias facilitarme el codigo fuente que se encuentra en tu mensaje completo?, pues estoy buscando necesitando ese codigo fuente con suma urgencia. Esta mañana copie ese codigo y al compilarlo en mi computador me dí cuenta que me hace falta una libreria. ¡Por fa, prestamelas!, quedaria eternamente agradecida,  :good:  por mi parte en el momento en que yo tuviese el codigo en lenguaje ensamblador terminado telo haria llegar.   :adios:

dubhe_alpha

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Re: Analizador Lexico Sintactico En Assembler
« Respuesta #4 en: Sábado 4 de Diciembre de 2004, 18:48 »
0
:lightsabre: Oye que tal, esta muy bien tu analizador lexico, un favor me podrias enviar tus archivos que lees desde a:/ , estoy haciendo un analizador tambien, pero no tengo la minima idea de como meter la informacion al archivo y como compararla, mne urge mucho, podrias ayudarme, o enviarme tu codigo, es muy urgente, gracias :lightsabre:

Los Socios JZL C++ Builde

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Analizador Lexico Sintactico En Assembler
« Respuesta #5 en: Sábado 4 de Diciembre de 2004, 23:19 »
0
Cita de: daniel690
hola que tela me estan pidiendo un analizador lexico y sintactico en del assembler que contenga instrucciones de c++, yo tengo uno de c++ pero no encuentro como meterle las instrucciones de assembler ester es el lexico de c++
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
#include<string.h>
#include<a:letydig.h>
#include<a:presen.h>
void sepcaracter (char cadena[100], char byte[20][50]);
char * transicion (char cadena[100]);

void main (void)
{
//   presenta();
   clrscr();
   textmode(C80);
   char renglon[100];
   char byte[20][50];
   int ren, contrenglon=1, i;
   FILE *entrada, *salida,*errores, *identifica;
   llamarchv();
   entrada = fopen ("a:\\ent.c", "r");
   salida = fopen ("a:\\salida.c", "w");
   errores = fopen ("a:\\errores.c", "w");
   identifica=fopen ("a:\\identifi.c","w");
   while (!feof(entrada))
   {
     fgets (renglon, 100, entrada);
     for (i=0; i<20; i++)
       byte[0] = '\0';
     sepcaracter(renglon, byte);
     ren = 0;
     while (strlen (byte[ren]) > 0)
      {
//   clrscr();
   gotoxy(5,4);cout<<"Linea analizada: ->";
   gotoxy(5,5);printf("Linea: %d %s %s\n", contrenglon, byte[ren], transicion(byte[ren]));
   getch();
   gotoxy(5,5);cout<<"                                 ";
   if(!strcmp(transicion(byte[ren]),"error"))
     fprintf (errores, "Linea: %d %s %s\n", contrenglon, byte[ren], transicion(byte[ren]));
   else
    {
      if(!strcmp(transicion(byte[ren]),"identificador"))
       {
         fprintf (salida, "Linea: %d %s %s\n", contrenglon, byte[ren], transicion(byte[ren]));
         fprintf (identifica, "Linea: %d %s %s\n", contrenglon, byte[ren], transicion(byte[ren]));
       }
      else
        fprintf (salida, "Linea: %d %s %s\n", contrenglon, byte[ren], transicion(byte[ren]));

    }
   ren++;
     }
     contrenglon++;
     getch();

   }
   fclose (salida);
   fclose (entrada);
   fclose (errores);
   fclose (identifica);
}

char * transicion (char cadena[100])
{ //¦&/$#?@