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:
Publicar un comentario