Cita:
Empezado por Ñuño Martínez
Hace poco leí el último libro sobre compiladores de Niklaus Wirth, y no lo vi nada complicado.
|
Que suerte la tuya. Yo en mi momento sufrí con esa cátedra; aunque debo decir que a pesar de no resultarme fácil le saqué cierto gusto.
Cita:
Empezado por Ñuño Martínez
Eso sí, no lo encontré en español, mucho menos en castellano, así que si no te manejas bien en inglés...
|
Entonces definitivamente el bestia soy yo, porque yo que tenía acceso a biblioteca con libros en español y no hubo caso... era leerme chino
Cita:
Empezado por Ñuño Martínez
De todas formas, para cosas simples tampoco hay que liarse tanto con LL(1) y misticismos similares. Basta con algo así:
Código:
REPITE
Palabra := ExtraePalabra (Cadena)
IF Palabra = "PALABRA1" THEN
EjecutaPalabra1 (Cadena)
ELSE IF Palabra = "PALABRA2" THEN
EjecutaPalabra2 (Cadena)
...
END IF
HASTA Cadena = ""
|
No creo que les hubiera pedido que llegaran al extremo de LL(1) pero si yo fuera el profesor y un estudiante me viene con un código como ese lo repruebo porque eso no cumple nada en lo que se esperaría de la cátedra. ¡Pobrecitos, muy pobrecitos el que me tuviera de profesor!
Y lo peor es que parece que voy a terminar aceptado entrar en la docencia
Por algo el profe les habló de expresiones regulares, etc. El estudiante debería razonar y evaluar en cómo llevar a la práctica los conceptos. Lo que si es muy extraño que no les haya comentado alguito de Lex y Yacc; casi diría que es una obligación enseñarles eso.
Además, no quisiera imaginarme semejante anidamiento de IF para reconocer tan sólo 10 palabras.
No estaría demás que donpedro nos traiga novedades.
Saludos,