Analisis lexico
1. Diseñar un Analizador Léxico para reconocer los siguientes componentes léxicos:
letras cualquier secuencia de una o más letras (mayúsculas y minúsculas)entero cualquier secuencia de uno o más dígitos
explos1 la palabra reservada “bang”
explos2 la palabra reservada “boom”
true la secuencia “:-)”
false la secuencia “:-(”
asignarla secuencia “:=”
2. Se pretende diseñar un analizador léxico que reconozca los siguientes símbolos: +, -, =, :, :=++, :=--, NUM, VAR
Donde:
NUM = Números enteros con osin signo. Ejemplos: 10, -256
VAR = Variables. Deben comenzar por una letra, a la que puede seguir un número indeterminado de letras o números (var12, a).
Se pide:
a)Escribir las expresiones regulares que describen los componentes VAR y NUM.
b) Dibujar el diagrama de transiciones determinista para el analizador.
c) Generar la tabla de transicionesa partir del diagrama del apartado anterior.
d) Indicar los tokens reconocidos por el analizador para la siguiente cadena de entrada: a:=+x2=57+2y::=---
3. Dada la siguientesentencia:
if (a > ((b *3) / 4)) {
a := (b * 4) + 1000.0; }
elsif (a = ((b*3.4) /4)) {
b := 100;
}
else {
a := 100.0;
}
Se pide:
a) Escribir laestructura de los tokens que debe emitir el analizador léxico
b) Determinar los patrones léxicos (expresiones regulares) de cada uno
c) Especificar el autómata que reconoce el conjuntode tokens
4. Diseñar un analizador léxico que permita reconocer los tokens en el siguiente bloque de código, escrito en Java:
import java.io.*;
public class ejem_metodos1throws IOException {
static BufferedReader br = new BufferedReader(new InputStreamReader (System.in));
static int factorial(int N) {
int i , fac=1;
for( i=1 ; i
Regístrate para leer el documento completo.