Você está na página 1de 10

SEP

SNEST

DGEST

INSTITUTO TECNOLGICO DE TOLUCA

INGENIERIA EN SISTEMAS COMPUTACIONALES

PROGRAMACION DE SISTEMAS

ANALISIS LEXICO

P R E S E N T A: ARTURO AVILA ZAMORA HUGO RODRIGUEZ DESALES JULIO CESAR CARBAJAL GARCIA

MAESTRO: M. en C. BANY SABEL HERNANDEZ CARDONA

Nombre: HOJUAR

Objetivo Desarrollar un compilador que sea capaz de leer funciones similares a las de java como el for, if else, una sola vez o de forma anidada. Alfabeto

Smbolo 0-9 a-z A-Z ( ; ) { } = < > @ + * / ? \b \n \t .

Nombre Nmeros Abecedario minsculas Abecedario maysculas Parntesis abre Punto y coma Parntesis cierra Llave abre Llave cierra Asignacin Mayor que Menor que Arroba Mas Menos Por Entre Interrogacin Blanco Enter Tabulador Punto

Tabla de Tokens fijos Token INICIA FINALIZA SI ENTONCES MIENTRAS ( ; ) { } @ * / METODO VACIO RETORNA IMPRIME ENTERO DECIMAL Nombre Inicio Fin Si Entonces Mientras Parntesis abre Punto y coma Parntesis cierra Llave abre Llave cierra Arroba Por Entre Mtodo Sin retorno Retorna Imprime Tipo de dato entero Tipo de dato decimal Numero 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

Tabla de Tokens variables Token Variable Entero Decimal O.R. (<, >, <>, <=, >=) = Incremento(++) Decremento(--) O.A. (+ - ) Comentario Nombre Variable Entero Decimal Operadores relacionales Asignacin Incremento Decremento Operadores aritmticos Comentario Numero 20 21 22 23 24 25 26 27 28

Tabla de Separadores Lexema \b \n \t ( Nombre Blanco Enter Tabulador Parntesis abre Numero

; ) { } @ * / < > + =

Punto y coma Parntesis cierra Llave abre Llave cierra Arroba Por Entre Menor Mayo Mas Menos Asignacin

7 8 9 10 11 12 13 21 25 24

Tipo de Datos Tipo ENTERO DECIMAL Descripcin Tipo de dato Entero Tipo de dato Decimal No. Token 18 19

Tabla de palabras reservadas Nombre INICIA FINALIZA SI ENTONCES MIENTRAS METODO VACIO RETORNA IMPRIME ENTERO DECIMAL Descripcin Inicio Fin Si Entonces Mientras Mtodo Sin retorno Retorna Imprime Entero Flotante

Tabla de errores Error Carcter Invalido Variable Invalida Entero Invalido Decimal invalido Comentario invalido Numero error 100 101 102 103 104

Autmatas

Tabla de Autmatas

l 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 14 2 2

09 4 3 3 4 6 6

> 7

< 9

= 10

+ 11

13

? 15

Token

Error

Estado Aceptacin

8 8 8

12

14

Carcter Invalido Variable Variable Invalida Variable Variable Invalida Entero Entero Invalido Decimal Invalido Decimal Decimal Invalido O.R. O.R. Invalido O.R. O.R. Invalido O.R. O.R. Invalido Asignacin Asignacin Invalida O.A. O.A. Invalida Incremento Incremento Invalido O.A. O.A. Invalida Decremento Decremento Invalido Comentario Comentario Invalido

1 1 1

1 1 1 1 1 1 1 1 1 1

Ejemplo del Programa

inicia entero 345678987654XXX?XXXXX $$$$$$ ...999 45..7 AAAAA%%%% AAAA...%% ?DDDDDDD decimal 45678.90 finaliza entre

5678965 546.789 si(entero=0; entero<5; entero++){ r=r++; t==r+3/4*s; } termina <=>><><> hfsdkjhdsfkjdfs finaliza

LEXEMA inicia entero

NO.TOKEN DESCRIPCION 1 INICIA 18 TIPO ENTERO

ERROR

RENGLON 1 2 2 3 3 4 4 4 5 6 6 7 8 9 10 11 11 11 11 11 11 11 11 11 11 11 11 11

345678987654XXX?XXXXX 102 $$$$$$ ...999 45..7 AAAAA%%%% AAAA...%% ?DDDDDDD decimal 45678.90 Finaliza Entre 5678965 546.789 Si ( entero = 0 ; entero < 5 ; entero ++ ) 100 100 103 101 101 28 19 22 2 20 21 22 3 6 18 24 21 7 18 23 21 7 18 25 8 COMENTARIO TIPO DECIMAL DECIMAL FINALIZA VARIABLE ENTERO DECIMAL SI PARENTESIS QUE ABRE TIPO ENTERO ASIGNACION ENTERO PUNTO Y COMA TIPO ENTERO O_R ENTERO PUNTO Y COMA TIPO ENTERO INCREMENTO PARENTESIS

ENTERO INVALIDO CARACTER INVALIDO CARACTER INVALIDO DECIMAL INVALIDO VARIABLE INVALIDA VARIABLE INVALIDA

{ r = r ++ ; t = = r + 3 / 4 * s ; } termina <= > > <> <> hfsdkjhdsfkjdfs finaliza

9 20 24 20 25 7 20 24 24 20 27 21 13 21 12 20 7 10 20 23 23 23 23 23 20 2

QUE CIERRA LLAVE QUE ABRE VARIABLE ASIGNACION VARIABLE INCREMENTO PUNTO Y COMA VARIABLE ASIGNACION ASIGNACION VARIABLE O_A ENTERO ENTRE ENTERO POR(O_A) VARIABLE PUNTO Y COMA LLAVE QUE CIERRA VARIABLE O_R O_R O_R O_R O_R VARIABLE FINALIZA

11 12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 13 14 15 16 16 16 16 16 17 18

Você também pode gostar