Title | Practica 1 Analizador Lexico |
---|---|
Author | Adrian Olvera |
Course | Medios Y Lenguajes |
Institution | Instituto Tecnológico y de Estudios Superiores de Occidente |
Pages | 23 |
File Size | 1.5 MB |
File Type | |
Total Downloads | 115 |
Total Views | 137 |
Enn Java...
TECNOLÓGICO DE ESTUDIOS SUPERIORES DE IXTAPALUCA DIVISIÓN DE INGENIERÍA EN SISTEMAS COMPUTACIONALES
Lenguajes y Autómatas II
Practica 1 “Analizador léxico” PRESENTA: Olvera Ordoñez Adrian 201715645 Lemus Contreras Juan Pablo 201716144
Grupo: 1702
PROFESOR Mtro. Jiménez Valdez Ezau 1
INDICE Introducción
3
Desarrollo del proyecto
4
Reglas Léxicas
8
Enumeración de Tokens
10
Analizador léxico JAVA
12
Uso final
13
Ejecución del programa
15
Comprobación de Expresiones
16
Conclusión
20
Bibliografía
21
2
INTRODUCCION En este proyecto final se aprenderá desde 0 a crear un Analizador léxico mediante NetBeans con la herramienta “JFlex” y poder comprender todo el funcionamiento mediante código del mismo, así como todas las partes del proyecto de NetBeans, para su correcto funcionamiento Un analizador léxico o analizador lexicográfico (en inglés scanner) es la primera fase de un compilador, consistente en un programa que recibe como entrada el código fuente de otro programa (secuencia de caracteres) y produce una salida compuesta de tokens (componentes léxicos) o símbolos. Estos tokens sirven para una posterior etapa del proceso de traducción, siendo la entrada para el analizador sintáctico (en inglés parser). La especificación de un lenguaje de programación a menudo incluye un conjunto de reglas que definen el léxico. Estas reglas consisten comúnmente en expresiones regulares que indican el conjunto de posibles secuencias de caracteres que definen un token o lexema. En algunos lenguajes de programación es necesario establecer patrones para caracteres especiales (como el espacio en blanco) que la gramática pueda reconocer sin que constituya un token en sí.
3
DESARROLLO DEL PROYECTO Para poder comenzar a realizar este proyecto, necesitaremos tener instalado NetBeans y la herramienta de JFlex Procedemos a abrir NetBeans Una vez abierto nos iremos a la parte de crear un nuevo proyecto
Daremos un click y nos mostrara esta ventana, seleccionamos > Java > Java Application > Next
4
Después en la siguiente ventana, solo ponemos un nombre al proyecto, desactivamos la casilla de “Create main class” y damos en Next
Una vez creado el proyecto damos un clik derecho en la parte de “Source Packages” > New > Java Package
5
Elegimos un nombre de preferencia “Codigo” ya que aquí ira todo el código del programa.
6
Ahora en el apartado de Libaries > Click Derecho > Add JAR/Folder…
Buscamos el Jflex que se descargó y lo seleccionamos y damos un click en abrir
7
Para las Reglas Léxicas Nos iremos al paquete que se creo llamado “Kodigo” y le daremos click derecho > New > Other…
Nos mostrara una ventana y seleccionaremos la carpeta de Other y del lado derecho seleccionaremos “Empty File”
8
En la siguiente venta se le pondrá un nombre de preferencia “Lexico.Flex”
Y aquí en este apartado vamos a declarar todo lo que nuestro analizador puede y no puede analizar
9
Enumeración de Tokens Para la numeración de tokens, nuevamente nos vamos al paquete código > Click derecho > Other …
Seleccionamos Java > Java Enum > Ponemos un nombre “Tokens”
10
Aquí se incluirá lo siguiente
11
Analizador Léxico JAVA Se creara una Java Class Y se le pondrá como nombre “Principal”
12
13
Aquí se pondrá la ruta de donde se encuentre nuestro analizador léxico después de ejecutarlo, para que nos cree la clase leer de Java para analizar las cadenas que se ingresen
Uso Final Ya por ultimo se crea un JFrame Form…
14
Se diseña a nuestro gusto Con un TXT para ingresar texto Un botón para la acción de analizar Y un TextArea para visualizar el resultado
15
Al ejecutarlo Sobre la clase principal, daremos a “Run Project”
Solo en el TXT ponemos lo que se quiera analizar y damos un click en el botón de “Analizar” para obtener el resultado
16
Comprobación de Expresiones Aquí se ingresa la primera expresión 𝐴𝐴𝐴𝐴=∗ ∗
/2
Para nosotros entender correctamente la expresión, se agregan los “ ( ) “ ya que si no, matemáticamente no estaría bien escrita nuestra expresión Podemos ver que Área nos los marca como un “Identificador” al igual que base y altura, los símbolos de “ =, * , / “ nos los marca como Token, el numero 2 nos los marca como Un numero y por ultimo los paréntesis “ ( ) “ nos lo marca como Token
17
Ahora si ponemos símbolos que nuestro Analizador léxico no tiene registrados en su Lexer, nos los marcara como “Símbolo no identificado”
18
𝐴𝐴𝐴𝐴𝐴 𝐴𝐴𝐴𝐴=∗ ∗ ∗
/2
19
A=𝐴−𝐴/𝐴+𝐴+2
𝐴=𝐴+𝐴+𝐴+𝐴/4 20
21
CONCLUSION En este proyecto pude aprender a crear un Analizador léxico desde 0 mediante el uso de NetBeans y alguna herramienta para la creación del mismo como el JFlex, y así nos podemos dar cuenta de como funciona de una mejor manera un analizador léxico y teniendo en cuenta todas sus funciones y partes que este lleva acabo
22
BIBLIOGRAFIA Tutorial: https://www.youtube.com/watch?v=5mIRrn2yEe8 Descarga de JFlex: https://jflex.de/download.html
23...