Programación General > ASM (Ensamblador)
Analizador Lexico Sintactico En Assembler
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
[*] Página Anterior
Ir a la versión completa