Está en la página 1de 3

#include <string.

h>
#include <conio.h>
#include <stdio.h>
#include <io.h>
typedef char cadena [30];

typedef enum{FALSE,TRUE} booleano;

typedef enum {letra,guionbajo,digito,amperson,bype,aritmetico,


igual,relacional,menos,mas,negacion,letraHexa,e,punto,
h,FDC,otros,circunflejo} entradas;

typedef enum {x=-2,bien,q0,q1,q2,q3,q4,q5,q6,q7,q8,q9,


q10,q11,q12,q13,q14,q15,q16,q17,q18,q19,q20,q21,q22,q23,q24} estados;

typedef enum {identificador,entero,aritmeticofinal,real,relacionalfinal,


logico,exadecimal,exponencial} resultados;

///automata en forma de tabla///


estados tabla[25] [18]={
{q1,q1,q15,q12,q13,q6,q7,q9,q3,q11,q19,q1,q1,q4,q1,x,x,q6},
{q1,q1,q1,x,x,x,x,x,x,x,x,q1,q1,x,q1,bien,x,x},
{x,x,q2,x,x,x,x,x,x,x,x,x,q20,q4,x,bien,x,x},
{x,x,q2,x,x,x,q8,x,q8,x,x,x,x,q4,x,bien,x,x},
{x,x,q5,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x},
{x,x,q5,x,x,x,x,x,x,x,x,x,q20,x,x,bien,x,x},
{x,x,x,x,x,x,q8,x,x,x,x,x,x,x,x,bien,x,x},
{x,x,x,x,x,x,q10,x,x,x,x,x,x,x,x,bien,x,x},

{x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,bien,x},
{x,x,x,x,x,x,q10,x,x,x,x,x,x,x,x,bien,x,x},
{x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,bien,x,x},
{x,x,q2,x,x,x,q8,x,x,q8,x,x,x,q4,x,bien,x,x},
{x,x,x,q14,x,x,x,x,x,x,x,x,x,x,x,x,x,x},
{x,x,x,x,q14,x,x,x,x,x,x,x,x,x,x,x,x,x},
{x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,bien,x,x},
{x,x,q15,x,x,x,x,x,x,x,x,q17,q16,q4,q18,bien,x,x},
{x,x,q22,x,x,x,x,x,q23,q23,x,q17,q17,x,q18,x,x,x},
{x,x,q17,x,x,x,x,x,x,x,x,q17,q17,x,q18,x,x,x},
{x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,bien,x,x},
{x,x,x,x,x,x,q10,x,x,x,x,x,x,x,x,bien,x,x},
{x,x,q21,x,x,x,x,x,q23,q23,x,x,x,x,x,x,x,x},
{x,x,q21,x,x,x,x,x,x,x,x,x,x,x,x,bien,x,x},
{x,x,q22,x,x,x,x,x,x,x,x,q17,q17,x,q18,bien,x,x},
{x,x,q24,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x},
{x,x,24,x,x,x,x,x,x,x,x,x,x,x,x,bien,x,x}};
/******MARGEN*******/
void margen (void)
{
int i,j;
textbackground(BLUE);
textcolor(WHITE);
FOR (i=0; i<=80;i++)
{
gotoxi(i,1);cprintf("%c", 176);
gotoxi(i,24);cprintf("%c", 176);
}
for (i=1; i<=24; i++)

gotoxi(i,1);cprintf("%c", 176);
gotoxi(80,i);cprintf("%c", 176);
/****palabras reservadas***/
booleano palabra reservada(cadena cad)
{
int i;
cadena
lista[]={"int","float","char","enum","unsigned","short","long","double","class","public","static","void",
"main

También podría gustarte