Está en la página 1de 11

UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN – TACNA

Facultad de Ingeniería

Escuela Académico Profesional de Ingeniería en Informática y Sistemas

COMPILADORES Y TEORÍA DE LENGUAJE

MONOGRAFIA

“ANALIZADOR LÉXICO Y SINTÁCTICO”

PRESENTADO POR:

Est. Oscar Antonio Larico Condori

Est. Jesús Manuel Qquehue Cuchillo

TACNA - PERÚ

2014

1
CONTENIDO
I. INTRODUCCIÓN ........................................................................................................................ 3
II. OBJETIVOS ................................................................................................................................. 4
OBJETIVO GENERAL .......................................................................................................................... 4
OBJETIVOS ESPECÍFICOS ................................................................................................................... 4
III. DESARROLLO DEL TEMA ................................................................................................... 5
1. COMPILADORES ........................................................................................................................ 5
IV. CONCLUSIÓN ...................................................................................................................... 11

2
I. INTRODUCCIÓN

El análisis de nuestro avance se caracteriza en la parte léxica representada por tokens y la


parte sintáctica que se representa mediante un árbol sintáctico que nos permitirá realizar un
pequeño programa que se compile en visual Basic (modo consola),
La idea de esta práctica es representarlo de una manera lógica y visual en un computador de
cualquier tipo.

Los compiladores son traductores de código fuente que puede reportarnos mensajes de
salida usando un lenguaje de programación, además ya que estos son importantes en nuestro
uso de ejecutar un programa que queremos tener y obtenerlo. La facilidad de estas
herramientas nos facilita la comprensión de la composición y detalles de los cuales nos
ayudan a examinar la salida de las entradas que realizamos en estos compiladores.

3
II. OBJETIVOS

OBJETIVO GENERAL

1. Crear un analizador Léxico y Sintáctico en un lenguaje de programación con

reglas gramáticas.

OBJETIVOS ESPECÍFICOS

1. Desarrollar un prototipo de analizador léxico y sintáctico para uso personal.

2. Usar un lenguaje de programación para realizar un análisis de una expresión

matemática.

4
III. DESARROLLO DEL TEMA

1. COMPILADORES

Un compilador no es un programa que funciona de manera aislada, sino que necesita de


otros programas para conseguir su objetivo: obtener un programa ejecutable a partir de
un programa fuente en un lenguaje de alto nivel. Algunos de esos programas son el
preprocesador, el linker, el depurador y el ensamblador. El preprocesador se ocupa
(dependiendo del lenguaje) de incluir ficheros, expandir macros, eliminar comentarios, y
otras tareas similares. El linker se encarga de construir el fichero ejecutable añadiendo al
fichero objeto generado por el compilador las cabeceras necesarias y las funciones de
librería utilizadas por el programa fuente. El depurador permite, si el compilador ha
generado adecuadamente el programa objeto, seguir paso a paso la ejecución de un
programa. Finalmente, muchos compiladores, en vez de generar código objeto, generan
un programa en lenguaje ensamblador que debe después convertirse en un ejecutable
mediante un programa ensamblador.

5
1.1. IMÁGENES:

6
2. ¿QUÉ ES UN ANALIZADOR LÉXICO Y SINTÁCTICO?

2.1. 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, por ejemplo un árbol de análisis o árboles de sintaxis abstracta.

Figura 1: Tokens de una expresión

2.2. Sintáctico:
- Convierte el texto de entrada en otras estructuras (comúnmente árboles), que son más
útiles para el posterior análisis y capturan la jerarquía implícita de la entrada.

Figura 2: Árbol Sintáctico

7
3. DESARROLLO DE NUESTRO ACTIVIDAD:
3.1. Establecer reglas gramaticales para el analizador sintáctico:

Tabla 1: Reglas

Gramática del analizador

<exp> --> <exp><op><exp>

<exp> --> (<exp>)


<exp> --> -<exp>

<exp> --> <num>|<var>

<num> --> 1|2|3|4|5|6|7|8|9|0

<var> --> <letra>|<letra><num>

<letra> --> a|b|…|z

<op> --> +|-|*|/|^|=

8
3.2. Código de Ejecución en Visual Basic (Modo consola)

9
4. Pruebas realizadas por el programa

4.1. SIN ERRORES:

10
4.2. CON ERRORES:

4.2.1. No usamos el doble paréntesis

4.2.2. Ni el signo menor.

4.2.3. Ni las mayúsculas.

V. CONCLUSIÓN

El resultado de nuestro trabajo nos permitió desarrollar y analizar las reglas gramaticales en
expresiones matemáticas ya sean en un análisis Léxico y Sintáctico, proporcionando un
conocimiento básico de lo que realiza un compilador de gran escala.

VI. BIBLIOGRAFÍA
Compiladores: principios, técnicas y herramientas, 2da Edición, Alfred V. Aho, Monica S. Lam, Ravi
Sethi & Jeffrey D. Ullman

11

También podría gustarte