JLEX
Enviado por klimbo3445 • 12 de Marzo de 2018 • 1.410 Palabras (6 Páginas) • 264 Visitas
...
Una de las mayores quejas acerca de los analizadores léxicos por tablas generados por programas como JLex es que estos analizadores léxicos no se desempeñan tan bien como los escritos a mano. Por lo tanto, este experimento es particularmente importante para demostrar la velocidad relativa de JLex analizadores léxicos.
5. Cuestiones de Aplicación
5.1 Características no implementadas
La siguiente es una (posiblemente incompleta) lista de características no implementadas de JLex.
- El operador regular de búsqueda hacia delante expresión es sin aplicarse, y no se incluye en la lista de los metacaracteres especiales de expresiones regulares.
- El operador de comienzo de línea (^) asume el siguiente comportamiento no estándar. Un partido en una expresión regular que utiliza este operador hará que la nueva línea que precede al partido para ser desechados.
5.2 Unicode vs Ascii
En contraste con el tipo de carácter de 8 bits (char) el mandato de ANSI C, Java soporta un char de 16 bits y el juego de caracteres Unicode. Java proporciona un sistema incorporado en clase String para manipular estos caracteres Unicode.
Desde la versión 1.2.5, JLex utiliza el JDK 1.1 Lector y Escritor clases para leer en el archivo de especificación JLex y escribir el archivo de origen analizador léxico. Esto significa que todos los caracteres Unicode están permitidos en ambos. Para que el analizador generado para trabajar con caracteres Unicode, debe utilizar el java.io.Reader constructor del analizador generado, y el lector que usted proporciona debe manejar adecuadamente la traducción del formato SO-nativo de Unicode. También debe especificar el % Unicode directiva en el pliego de condiciones.
5.3 Listas de Comas en el estado
Las comas entre los nombres de estado en las listas de declaración y las reglas léxicas son opcionales. Estas listas se analizan correctamente con el espacio en blanco entre los nombres de estado y sin separadores de coma.
5.4 Lista de características no implementadas
Las siguientes características de menor importancia sería bueno tener como parte de JLex, pero no se han aplicado debido a su alcance o su impacto negativo en el rendimiento.
- La detección de los apoyos desequilibradas dentro de la parte de comentario de las acciones léxicas.
- La detección de ciclos en definiciones de macros.
6. Créditos y derechos de autor
6.1 Créditos
El tratamiento de los generadores de analizadores léxicos dado en de Alan Holub Compilador Diseño en C (Prentice-Hall, 1990) proporciona un punto de partida para mi aplicación.
Las discusiones con el profesor Andrew Appel de la Universidad de Ciencias de la Computación Departamento de Princeton proporcionó orientación en el diseño de JLex.
Java es una marca comercial de Sun Microsystems Incorporated.
6.2 Derechos de Autor
JLex AVISO DE COPYRIGHT, LICENCIA Y RENUNCIA.
Derechos reservados 1996 por Joel Elliot Berk.
El permiso para usar, copiar, modificar y distribuir este software y su documentación para cualquier propósito y sin coste presente se concede, siempre que el aviso de copyright anterior aparezca en todas las copias y que tanto el aviso de copyright y este aviso de autorización y garantía descargo de responsabilidad aparece en documentación de apoyo, y que el nombre de Elliot Berk Joel no se utilice en anuncios o publicidad relacionados con la distribución del software sin permiso específico, previo y por escrito.
Elliot Berk Joel renuncia a cualquier garantía con respecto a este software, incluyendo todas las garantías implícitas de comerciabilidad y adecuación. En ningún caso Elliot Berk Joel será responsable por ningún daño especial, indirecto o consecuente o cualquier daño resultante de la pérdida de uso, datos o beneficios, ya sea en una acción de contrato, negligencia u otra acción ilícita, que surja de o en conexión con el uso o rendimiento de este software.
...