Вы находитесь на странице: 1из 11

25 DE OCTUBRE DE 2019

CUADRO COMPARATIVO
LENGUAJES Y AUTÓMATAS II

PEDRO DANIEL HERNANDEZ DOMINGUEZ


16030575
Ingeniería en Sistemas Computacionales
Contenido

Introducción ............................................................................................................. 1

Desarrollo ................................................................................................................ 2

Tabla comparativa ................................................................................................... 8

Conclusiones ........................................................................................................... 9

Referencias ........................................................................................................... 10

Introducción

Un analizador puede empezar con el símbolo inicial e intentar transformarlo en la


entrada, intuitivamente esto sería ir dividiendo la entrada progresivamente en partes
cada vez más pequeñas. El análisis sintáctico descendente (ASD) intenta
encontrar entre las producciones de la gramática la derivación por la izquierda del
símbolo inicial para una cadena de entrada.

1
Desarrollo
Análisis sintáctico descendente recursivo
Los analizadores sintácticos descendente recursivos o también llamados
analizadores sintácticos predictivos es aquel donde no se utiliza el retroceso para
reconocer una sentencia. Son capaces de decidir que regla de producción aplicar a
cada paso en función de los elementos terminales que se encuentran en la cabeza
de lectura de la cadena de entrada. Como consecuencia se consigue un proceso de
análisis con complejidad lineal 0 (n) con respecto al tamaño del problema. Estos
analizadores son llamados genéricamente analizadores LL (K).

Se determina que regla aplicar a partir de un análisis de los primeros tokens a la


entrada.

Conjuntos de predicción:

Para usar el análisis descendente recursivo o predictivo es necesario asociar a cada


regla de producción un conjunto de predicción. El conjunto de predicción de una
regla está formado por la colección de todos los posibles no terminales que es
necesario encontrar en la cabeza de lectura para poder aplicar dicha regla.

Para el análisis descendente de sentencias de operaciones aritméticas es necesario


reconocer cada uno de los elementos que conforman cada uno de los tipos de
operaciones aritméticas.

Los números representan unidades de cosas; pero es posible utilizarlos como


solamente números; y de esa forma, realizar con ellos diversas operaciones que
sirven para realizar cálculos que son muy útiles; y que se llaman operaciones
aritméticas.

Esas operaciones son:

 La SUMA — (también llamada ADICIÓN), que se representa con el signo de


MÁS: +
 La RESTA — (también llamada SUSTRACCIÓN o DIFERENCIA) que se
representa con el signo de MENOS: –

2
 La MULTIPLICACIÓN — que se representa con el signo de POR: ×
 La DIVISIÓN — que se representa con el signo de DIVIDIDO: ÷

El resultado de las operaciones, se representa utilizando el signo de IGUAL: =

La SUMA es la operación aritmética mediante la cual, teniendo dos o más números,


se acumula la cantidad de unidades que cada uno representa, para obtener otro
número que representa la cantidad de todos ellos.

Cada uno de los números que representan las unidades de uno y otro grupo, se
denominan SUMANDOS.

1 2 + 1 2 = 1 2 3 4

Esa operación se representa colocando solamente el número que representa el total


de las unidades de cada sumando y también el que representa el resultado de la
suma:

2 + 2 = 4

5 + 2 = 7

La RESTA es la operación aritmética mediante la cual, teniendo dos números, se


quita de la que tiene más cantidad de unidades, la que tiene menos cantidad de
unidades, para obtener otro número que representa la diferencia de cantidad entre
ellos.

El mayor de los números se denomina MINUENDO; y el menor se denomina


SUSTRAENDO.

1 2 3 4 5 – 1 2 = 1 2 3

Esta operación también se representa colocando solamente el número que


representa el total de las unidades de cada término y también el que representa el
resultado de la resta:

5 – 2 = 3

9 – 4 = 5

3
La MULTIPLICACIÓN es la operación aritmética en la cual, se suma varias veces
el mismo número. El número se denomina MULTIPLICANDO; y el otro número, que
representa la cantidad de veces que el multiplicando es sumado, se denomina
MULTIPLICADOR. El resultado de la multiplicación, se denomina PRODUCTO

1 2 + 1 2 + 1 2 + 1 2 =

1 2 3 4 5 6 7 8

Cuando se representa la multiplicación utilizando solamente el número


que representa el multiplicando y el que representa el multiplicador, se
utiliza el signo de POR:

2 × 4 = 8

3 × 3 = 9

La DIVISIÓN es la operación aritmética en la cual, teniendo un número


mayor que UNO, se le hace con él varias partes iguales. El número se
denomina DIVIDENDO; y la cantidad de partes iguales que pueden
hacerse, se denomina DIVISOR.

1 2 3 4 5 6 7 8 – 1 2 =

1 2 3 4 5 6

1 2 3 4 5 6 – 1 2 =1 2 3 4

1 2 3 4 – 1 2 = 1 2

1 2 – 1 2 = 0

Esta división se representa utilizando solamente el número que


representa el dividendo y el que representa el divisor, y se utiliza el signo
de DIVIDIDO:

4
8 ÷ 4 = 2

9 ÷ 3 = 3

La división es como una multiplicación hecha “al revés”; por lo cual se


dice que es la inversa de la multiplicación. Esto permite hacer una
prueba para saber si el resultado de la división que se obtuvo es el
correcto; que consiste en multiplicar ese resultado por el divisor, y si la
división estuvo bien hecha, dará como resultado el dividendo.

8 ÷ 4 = 2

4 × 2 = 8

De igual manera es necesario conocer y comprender diferentes


conceptos los cuales son necesarios para el análisis.

Token

Son las unidades lógicas que genera el analizador léxico. Formar


caracteres en tokens es muy parecido a formar palabras en un lenguaje
natural.

Es el conjunto de cadenas de entrada que produce como salida el


mismo componente léxico. Cada token es una secuencia de caracteres
que representa una unidad de información en el programa fuente.

Los componentes léxicos más comunes son los siguientes:

 palabras clave o reservadas


 operadores aritméticos
 operadores relacionales
 operadores lógicos

5
 operador de asignación
 identificadores
 constantes
 cadenas
 literales
 signos de puntuación
 librerías

Lexema

Representan cadenas de caracteres en el programa fuente que se


pueden tratar juntos como una unidad léxica. Un lexema es una
secuencia de caracteres en el programa fuente con la que concuerda el
patrón para un componente léxico.

Patrón

Regla que describe el conjunto de lexemas que pueden representar a


un determinado componente léxico en los programas fuente. En otras
palabras, es la descripción del componente léxico mediante una regla.

Atributos de los componentes léxicos

El analizador léxico recoge información sobre los componentes léxicos


en sus atributos asociados. Los componentes léxicos influyen en las
decisiones del análisis sintáctico y los atributos en la traducción de los
componentes léxicos:

 Apuntador a la entrada de la Tabla de símbolos donde se guarda


la información sobre el componente léxico.
 El lexema para un identificador

6
 El número de línea en que se encontró por primera vez.

7
Tabla comparativa
Modelo de análisis Lenguaje de Dificultad Eficiencia
(código para el análisis) programación

JAVA-
Plataforma Alta
NetBeans

Desconocido
(bosquejo de
Baja
posible
codificación)
C- Plataforma
Baja
CodeBlocks

1
Conclusiones
El uso de un modelo de análisis descendente recursivo es de una gran ayuda a la
hora de realizar un análisis de símbolos para así poder realizar el análisis sintáctico
dentro de un compilador, facilita la tarea de realizar esquemas superiores debido a
la derivación de ramas dentro de un árbol lo cual genera exceso de derivados.

Referencias
F., E. J. (10 de Marzo de 2012). dns. Obtenido de dns:
http://dns.uls.cl/~ej/web_talf_2012/Lect_talf_2012/MiFirst-Follow.pdf

Marquez, A. L. (05 de Agosto de 2013). Cidecame. Obtenido de Cidecame:


http://cidecame.uaeh.edu.mx/lcc/mapa/PROYECTO/libro32/autocontenido/a
utocon/35_analisis_sintctico_descendente.html

Reyes, J. V. (22 de Octubre de 2019). Cartagena99. Obtenido de Cartajena99:


http://www.cartagena99.com/recursos/alumnos/apuntes/PDL_07_Tema%20
4_Analisis%20sintactico%20descendente.pdf

Вам также может понравиться