Este documento describe el desarrollo de un compilador de hojas de estilo CSS. El proyecto busca separar el lenguaje HTML de las hojas de estilo a través de un analizador léxico y sintáctico que procesen archivos CSS de manera rápida y precisa, previniendo errores.
2. Una prioridad de este programa es poder separar el
lenguaje HTML del lenguaje propio de las hojas de
estilo.
La idea que se encuentra detrás del
desarrollo de CSS es separar la
estructura de un documento de
su presentación.
Hojas de estilo css es un lenguaje usado para
definir la presentación de un documento
estructurado escrito en HTML .
3. • Mejorar el Analizador Léxico.
• Implementar Analizador Sintáctico.
• Lograr que el análisis de las css sea
lo más correcta posible.
• Implementar una interfaz gráfica amigable
y manejable para el usuario.
• Que la conjunción de los dos analizadores a la
hora de su ejecución sea lo mas rápido que
sea posible.
4. El proyecto que nosotros decidimos realizar fue un compilador de hojas de estilo
“.css”, ya que estábamos en proceso de la realización de este, pero por falta de
tiempo solo desarrollamos la parte del analizador léxico aun contando
con muchas fallas y su ejecución no cuenta aún con una interfaz gráfica.
Lo que nosotros nos planteamos al escoger este proyecto es buscar la
implementación de un analizador léxico que funcione de manera correcta,
un analizador sintáctico que funcione de manera eficaz y rápida, para que así
nuestro Proyecto presente un gran avance en la busca de la creación de un
compilador.
5.
6. ¿Qué es un compilador
(traductor)?
Programa que lee un programa
(fuente) en un lenguaje ascci y lo
traduce a un programa
EQUIVALENTE en otro lenguaje
(objeto)
Además:
da mensajes de error
lleva a cabo determinadas
“correcciones” (recuperación
de errores)
puede optimizar el código
generado
7. Desarrollar un software que sirva como
herramienta para el análisis de hojas de
estilo y de esta manera prevenir fallas en
la creación de las mismas
•Permite al usuario buscar el archivo que se
desea compilar.
•Permite la interacción de manera
entendible
•Marcará si contiene un error de sintáctico o
léxico.
•Marcará los errores que contenga mediante
el número de línea.
8. El proceso de traducción se compone
internamente de varias etapas o fases, que
realizan distintas operaciones lógicas
Análisis Léxico
Análisis Sintáctico
9. Un analizador sintáctico es una de las partes de
un compilador que transforma su entrada en un
árbol de derivación.
Un analizador léxico crea tokens de una
secuencia de caracteres de entrada y son estos
tokens los que son procesados por el analizador
sintáctico para construir la estructura de datos.
10. AUTOMATA:ES UNA MAQUINA DE ESTADOS.
MATRIZ DE TRANSICION:
Se genera a través de un .autómata y sirve para verificar
el camino del alguna sentencia que se dese examinar.
11. La gramática LL(1), es la encargada de hacer funcionar el analizar sintáctico
Su funcionamiento se basa en ver el siguiente token para hacer el análisis de
sus decisiones.
12. El manejo de errores es una de las
misiones más importantes de un
compilador
A veces unos errores ocultan otros
A veces un error provoca una avalancha
de muchos errores que se solucionan con
el primero
13. Mejoras dentro de la implementación del
programa
Creación de un archivo, el cual contiene
las palabras reservadas de las hojas de
estilo CSS.
Creación de la función pre-análisis con la
cual la verificación de la frases
gramaticales es mucho más rápida y
precisa