Universidad de Costa Rica
|
|
Duración: dos horas. Lea bien el examen antes de hacerlo. El examen es a libro abierto. Cuenta la redacción y la ortografía. Puede hacer el examen con lápiz. Resuelva tres de las preguntas. ¡No haga más de lo que se le pide!
1) [33 pts] Considere el siguiente autómata con estado inicial a y estado final D:
a | b | c | D | e | f | g | h | |
0 | b | a | D | D | D | g | f | g |
1 | a | c | b | a | f | e | g | D |
1.a) [2 pts] Haga el diagrama de este autómata.
1.b) [20 pts] Minimice el autómata. Muestre claramente los cálculos que realice. Incluya un diagrama del autómata resultante.
1.c) [11 pts] Escriba una expresión regular que reconozca el lenguaje del autómata.
2) [33 pts] Esta gramática es muy particular, pues es LL(1) pero no es SLR(1):
X --> 1U2U | 2D1D
U --> ε
D --> ε
2.a) [11 pts] Calcule las tablas LL(1) para esta gramática.
2.b) [11 pts] Calcule las tablas SLR(1) para esta gramática.
2.c) [5 pts]
Muestren cómo se comporta el autómata LL(1) al
reconocer la hilera "12
".
2.d) [6 pts]
Muestren cómo se comporta el autómata LL(1) al
reconocer la hilera "111112
".
3) [33 pts]
<P></P> <BLOCKQUOTE> <TABLE> <TR> <TD> <PRE>Contenedor primero </PRE> </TD> </TR> <TR> <TD> <PRE> Cambios y pruebas </PRE> </TD> </TR> </TABLE> </BLOCKQUOTE> |
<P></P> <BLOCK-QUOTE> <TABLE> <TR> <TD> <PRE>Contenedor primero </PRE> </TD> </TR> <TR> <TD> <PRE> Cambios y pruebas </PRE> </TD> </TR> <TABLE> </BLOCKQUOTE> |
/
". En la Figura, el
documento XML de la izquierda está bien formado, mientras
que el de la derecha no, pues en el de la derecha la etiqueta
<TABLE>
está mal
cerrada porque no aparece el caracter "/
", no existe
la etiqueta de cierre para
<BLOCK-QUOTE>
y sobra al
etiqueta de cierre
</BLOCKQUOTE>
. El valor de los
datos del documento, representado en este ejemplo por las hileras
"Contenedor primero
" y "Cambios y
prueba"
, no pueden contener los caracteres
"<
",
">
" o
"&
".
3.a) [11 pts] Haga un programa Lex para reconocer los identificadores válido en C++, para que pueda usarlos como etiquetas XML.
3.b) [11 pts] Escriba una gramática que genere documentos XML bien formados.
3.c) [11 pts] Haga un programa Bison que determine si un documento XML está bien formado.
Adolfo Di Mare <adolfo@di-mare.com>.
|