Programación General > ASM (Ensamblador)

 Analizador Lexico Sintactico En Assembler

<< < (2/2)

Los Socios JZL C++ Builde:

--- 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])
{ //¦&/$#?@
--- Fin de la cita ---

Navegación

[0] Índice de Mensajes

[*] Página Anterior

Ir a la versión completa