Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad

Analizador Sintactico y Semantico, Guías, Proyectos, Investigaciones de Lenguajes de Programación

Definiciones de Analizador Sintactico y Semantico

Tipo: Guías, Proyectos, Investigaciones

2019/2020

Subido el 01/10/2020

lizeth-prado-godoy
lizeth-prado-godoy 🇲🇽

5

(3)

4 documentos

1 / 8

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Carrera:
Ing. Sistemas Computacionales
Asignatura:
Lenguajes Autómatas II
Unidad 1:
Análisis Semántico
Tema:
Analizador Sintáctico y Analizador Semántico
Alumna:
Prado Godoy Lizeth
Profesor:
I.S.C. Carlos Sánchez Pérez
Fecha:
06/09/2020
pf3
pf4
pf5
pf8

Vista previa parcial del texto

¡Descarga Analizador Sintactico y Semantico y más Guías, Proyectos, Investigaciones en PDF de Lenguajes de Programación solo en Docsity!

Carrera:

Ing. Sistemas Computacionales

Asignatura:

Lenguajes Autómatas II

Unidad 1:

Análisis Semántico

Tema:

Analizador Sintáctico y Analizador Semántico

Alumna:

Prado Godoy Lizeth

Profesor:

I.S.C. Carlos Sánchez Pérez

Fecha:

Concepto de Analizador Sintáctico

Es la fase del analizador que se encarga de chequear la secuencia de tokens que representa al texto de entrada, en base a una gramática dada. En caso de que el programa de entrada sea válido, suministra el árbol sintáctico que lo reconoce en base a una representación computacional. Este árbol es el punto de partida de la fase posterior de la etapa de análisis: el analizador semántico. Pero esto es la teoría; en la práctica, el analizador sintáctico dirige el proceso de compilación, de manera que el resto de fases evolucionan a medida que el sintáctico va reconociendo la secuencia de entrada por lo que, a menudo, el árbol ni siquiera se genera realmente. En la práctica, el analizador sintáctico también:  Incorpora acciones semánticas en las que colocar el resto de fases del compilador (excepto el analizador léxico): desde el análisis semántico hasta la generación de código.  Informa de la naturaleza de los errores sintácticos que encuentra e intenta recuperarse de ellos para continuar la compilación.  Controla el flujo de tokens reconocidos por parte del analizador léxico. En definitiva, realiza casi todas las operaciones de la compilación, dando lugar a un método de trabajo denominado compilación dirigida por sintaxis.[ CITATION Agu \l 2058 ]

Característica de Analizador Sintáctico

 La secuencia de tokens se analiza de izquierda a derecha.  Siempre deriva el no terminal que aparezca más a la izquierda.  Sólo es necesario ver un token de la secuencia de entrada para averiguar qué regla de producción seguir.  Recursiva por la izquierda  Símbolos comunes por la izquierda  Ambigua  Existen métodos para modificarla y convertirla en una gramática.[ CITATION Vir \l 2058 ]

Esta gramática describe el lenguaje de palíndromos, tales como: 1001, 11100111, 00100, 1010101, 11111 , etc. Si tomamos por ejemplo el palíndromo de 0s y 1s : 1001 tomamos como producción inicial la regla 2 “Q produce N” , luego la regla 5 “N produce 1Q1 ” y en esta reemplazamos Q por la regla 1 “Q produce Z” y luego nos vamos a la regla 4 para reemplazar la Z y vemos que “Z produce 0Q0”, finalmente reemplazamos esa última Q por la regla 3 “Q produce vacío” y el palíndromo 1001 pasaría su análisis sintáctico como un palíndromo valido.

Ejemplo 2: Analizador Sintáctico

Derivación más a la izquierda y más a la derecha

Reglas de producción: E -> E + E E -> E * E E -> id Cadena de entrada: “1 + 2 * 3” La derivación más a la izquierda es: E -> E * E E -> E + E * E E -> id + E * E E -> id + id * E E -> id + id * id Hay que notar que él no terminal más a la izquierda siempre es procesado de primero. La derivación más a la derecha sería: E -> E + E E -> E + E * E E -> E + E * id E -> E + id * id E -> id + id * id

Ejemplo 3: Analizador Sintáctico

Árbol De Parseo

Tomaremos la derivación más a la izquierda de: a + b * c E -> E * E E -> E + E * E E -> id + E * E E -> id + id * E E -> id + id * id

PASO 1: PASO 2:

E -> E * E E -> E + E * E

PASO 2: PASO 3:

E -> id + E * E E -> id + id * E PASO 5: E -> id + id * id En un árbol de Parseo: Todas las hojas son símbolos terminales Todos los nodos interiores son no terminales El recorrido in-order da como resultado la cadena de entrada original[ CITATION Ric \l 2058 ]

 Comprobaciones de emparejamiento.[ CITATION Blo06 \l 2058 ] Ejemplo 2 de Analizador Sintáctico Suponiendo que tenemos esta línea de código en C: res= valor1 + valor2; El análisis semántico se va a encargar que tanto el valor1 como el valor2 tengan datos que son compatibles en común y que además se les pueda aplicar dicho operador. [ CITATION Rod16 \l 2058 ]

Conclusión de Analizador Semántico

El Analizador Semántico, como se ha podido notar durante el desarrollo de este articulo investigativo, tiene una gran importancia dentro del proceso de la compilación de códigos en cualquier lenguaje, ya que dé él depende la revisión del código en busca de errores semánticos en dicho código y de esta manera se asegura una coherencia y un sentido valido en el código según el lenguaje que esté escrito. Además de esto, forma parte de un conjunto complejo de piezas que conforman el sistema de un intérprete de códigos o compilador, donde las tareas de cada pieza son de suma importancia, como también lo es la gramática correcta del lenguaje utilizado a interpretar, es por esto que un análisis semántico debe ser acertado.

Palabras clave:

Crawler: Un Crawler, comúnmente conocido como rastreador, es un programa que analiza los documentos de los sitios web. Los motores de búsqueda cuentan con rastreadores muy potentes que navegan y analizan los sitios web y crean una base de datos con la información recolectada. El término Crawler proviene del primer motor de búsqueda de Internet, el Web Crawler. También se conoce como rastreador, araña o robot.[ CITATION Ryt15 \l 2058 ] En C el símbolo (+) implica una suma de valores o una unión de las cadenas

Trabajos Citados

CITATION Agu \l 2058 : , (Aguilera Sierra & Gálvez Rojas, s.f.), CITATION Vir17 \l 2058 : , (Virgen, 2017), CITATION Wik17 \l 2058 : , (Wikipedia, 2017), CITATION Ric \l 2058 : , (RicardoGeek, s.f.), CITATION gra04 \l 2058 : , (gramaticas.net, 204), CITATION Art19 \l 2058 : , (Arteaga Caballero, Encarnación Hernández, Gómez Ramírez, González Nicolás, & Rodríguez García, 2019), CITATION Blo06 \l 2058 : , (Blogspot, 2006), CITATION Rod16 \l 2058 : , (Rodíguez, 2016), CITATION Ryt15 \l 2058 : , (RyteWiki, 2015),