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>.
|
|
|