martes, febrero 07, 2012

TeoComp B2011: Problema 5.3.4

Añadir las siguientes propiedades a esta gramática HTML:

Caracter --> a | A | .. Aquí van las restantes letras
Texto --> lambda | Caracter Texto
Doc --> lambda | Elemento Doc
Elemento --> Texto | <EM> Doc </EM> | <P> Doc | <OL> Lista </OL> | otros
ElementoLista --> <LI> Doc
Lista --> lambda | ElementoLista Lista

a) Un elemento de Lista debe terminar con la etiqueta de cierra </LI> Para arreglar esto, cambiamos la producción ElementoLista --> <LI> Doc por ElementoLista --> <LI> Doc </LI>

b) Además de una lista ordenada, un elemento puede ser también una lista no ordenada. Las listas no ordenadas se encierran con <UL> y </UL>. Para ello agregamos esta opción a la producción Elemento --> <UL> Lista </UL>

c) Un elemento puede ser una tabla. Las tablas están encerradas por las etiquetas <TABLE> y </TABLE>. Entre estas etiquetas hay una o más filas, cada una de las cuales está encerrada por <TR> y </TR>. La primera fila es la cabecera, con uno o más campos, cada uno precedido por la etiqueta <TH> (que aquí suponemos que no se cierra). Las celdas de las filas siguientes aparecen precedidas por la etiqueta <TD>.

Entonces, agregamos:

Elemento --> otros | Tabla
Tabla --> <TABLE> Filas </TABLE>
Filas --> <TR> Cabecera </TR> | <TR> Fila </TR> | <TR> Cabecera </TR> Filas | <TR> Fila </TR> Filas
Cabecera --> <TH> Celda | <TH> Celda Cabecera 
Fila --> <TD> Celda | <TD> Celda Fila
Celda --> Elemento

¿Qué falta?

0 comentarios: