ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Un traductor simple orientado a sintaxis


Enviado por   •  3 de Octubre de 2022  •  Resúmenes  •  1.337 Palabras (6 Páginas)  •  84 Visitas

Página 1 de 6

[pic 1][pic 2][pic 3]

[pic 4]

[pic 5]

[pic 6]

[pic 7]

[pic 8]


[pic 9]

INTRODUCCION

En este capítulo se pretende establecer una idea clara de lo que es un sistema jerárquico dentro de nuestros programas o compiladores que realizaremos, este sistema jerárquico se conoce como gramática ya que la gramática cuenta con todos los símbolos del lenguaje que vamos a utilizar, comprendiendo la forma en la que se derivan diversos componentes necesarios para la construcción del mismo compilador como lo son los valores terminales coma los valores no terminales y los tokens. Además analizaremos la funcionalidad y la estructura del análisis léxico com a que de antemano sabemos que nos ayuda a identificar cada símbolo en la entrada del compilador estableciéndole un token como resultado. Otro análisis que vamos a analizar va a ser el análisis sintáctico este análisis sintáctico nos ayudará a analizar cadenas de símbolos que pertenecen al lenguaje que estamos utilizando adicional a ello estableceremos una idea clara de lo que son los árboles sintácticos que se usan dentro de la comprobación de errores.


CONTROL DE LECTURA DEL CAPITULO 2

En este capítulo comenzamos viendo técnicas que nos servirán a la hora de realizar programación front-end en los compiladores. Uno de los factores más importantes para un traductor orientado a las sintaxis es principalmente la gramática que se está utilizando para el lenguaje fuente. Dentro de los programas existe una estructura jerárquica que se define como gramática, esto se pueden definir también como término de símbolos elementales, dentro de la programación la conocemos como terminales, y también encontramos símbolos variables los cuales se llaman no terminales. Estos mismos símbolos representan la estructura o la misma construcción del lenguaje que se está operando. Dentro de una gramática existen reglas o producciones estas mismas consisten en un no terminal conocido como el encabezado o también como el lado izquierdo de una producción, y por parte de una secuencia de terminales y no terminales tenemos lo que se conoce como el cuerpo o el lado derecho de la producción, un no terminal principalmente se caracteriza como el símbolo inicial.

En el momento que estamos definiendo un traductor, se suma importancia establecer los atributos a la construcción de programación, donde un atributo es cualquier cantidad relevante que se pueda considerar dentro del contexto del lenguaje en el programa para realizar una construcción adecuada e integra. Las construcciones se representan mediante símbolos de la misma gramática, por ello los atributos se extienden a los símbolos de la gramática. Como tenemos en algunos lenguajes el ejemplo de atributo donde incluye un valor entero asociado con un terminal num que representan números, y Por otro lado una cadena asociada a un terminal id que representa identificadores.

Uno de los analizadores que componen un buen traductor es él analizador léxico y este lee la entrada de un carácter a la vez, y por consecuente produce una salida de flujo conocida en tokens, cuando se genera un token éste se considera como un símbolo terminal, y se establece junto con información adicional en la forma de valorar atributos.

Otro analizador que es de suma importancia considerarlo dentro de un compilador es el análisis sintáctico y éste principalmente averigua cómo puede derivarse de una cadena de terminales del símbolo de inicio de la gramática sustituyendo de forma repetida un no terminal por el cuerpo de sus producciones. Entonces por lo general un analizador sintáctico genera un árbol de análisis sintáctico, en este árbol tenemos como la raíz el símbolo inicial, mientras que cada nodo es una hoja correspondiente a una producción y por consecuencia cada hoja se etiqueta con un terminal o con la cadena vacía. Un árbol de análisis sintáctico deriva de la cadena de terminales de las hojas y este árbol se lee de izquierda a derecha.

Los analizadores sintácticos más eficiente que podemos crear a mano, mediante un método tipo descendente son los analizadores sintácticos predictivos. Dentro de estos analizadores sintácticos predictivos podemos encontrar que que se ejecuta un procedimiento para cada no terminal; entonces los cuerpos de los procedimientos imitan la producción para los no terminales, Por otro lado el flujo de control a través de los cuerpos de procedimiento se podrán determinar sin ambigüedad realizando de manera exacta el análisis de un símbolo de pre análisis en el flujo de entrada.

...

Descargar como (para miembros actualizados) txt (9 Kb) pdf (210 Kb) docx (131 Kb)
Leer 5 páginas más »
Disponible sólo en Clubensayos.com