Objetivo: Conocer la importancia de un analizador léxico, sintáctico y
semántico a partir de un generador de código.
1. ¿A qué se refiere el análisis léxico, sintáctico y semántico?
El análisis léxico se refiere a la primera fase de un compilador, su principal
función consiste en leer los caracteres de entrada y elaborar como salida una
secuencia de componentes léxicos que utiliza el analizador sintáctico para
hacer el análisis.
El análisis sintáctico se refiere a la fase de verificación del texto de entrada
con respecto a su gramática. En el caso de que un programa de entrada sea
válido suministra el árbol sintáctico que lo reconoce.
El análisis semántico se refiere a los aspectos del significado e interpretación
expresiones construidas en palabras.
2. Que es el análisis léxico en cuanto a:
a) Manejo de localidades temporales de memoria (buffers).
Es la manera de leer un programa carácter por carácter pero es ineficiente y
la manera más eficiente es realizar una copia a la memoria de todo el código
fuente, y verificar las dimensiones de los programas utilizando buffers.
b) Creación de tablas de símbolos.
Se refiere al conjunto de pares de claves los cuales contienen valores y son
llamados elementos de una tabla, la cual utiliza un identificador quien es el que
realizara la búsqueda dentro de la tabla para obtener la información asociada
con el valor del mismo.
c) Manejo de errores léxicos.
Se refiere a la estrategia que detecta una cadena no reconocible y la auxilia
en el remplazo de un carácter incorrecto por un carácter correcto e indicando
el lexema mediante por un identificador.
3. Que es el análisis sintáctico en cuanto a:
a) Diagramas de sintaxis.
Es la representación explicita de un origen y un destino, y nos muestra los
caminos desde el inicio del grafo hasta el final de las sentencias válidas.
b) Precedencia de operadores.
Se refiere al proceso de análisis sintáctico ya que nos representa la forma en
la que debe construirse el árbol de derivación de cada una de las operaciones.
c) Analizador sintáctico:
Se refiere al programa que reconoce si una o varias cadenas de caracteres
forman parte de un determinado lenguaje mediante su gramática.
Analizador descendente (LL),
Se refiere al conjunto de gramática libre de contexto, en el cual se analizan
las entradas de izquierda a derecha y las construcciones de derivaciones por
la izquierda de una sentencia o enunciado.
Analizador ascendente (LR, LALR).
LR:
Se refiere al retroceso de la derivación de la cadena de entrada en forma
determinada la cual se sustenta de la aplicación de la gramática de un árbol de
derivación derecho.
LALR:
Se encarga de determinar la eficiencia de los métodos de la potencia de las
jerarquías gramáticas.
d) Administración de tablas de símbolos.
Se encarga de utilizar al compilador para almacenar información, asociadas
con los símbolos declarados en el programa.
e) Manejo de errores sintácticos y su recuperación.
Se refiere a la forma de detectar con claridad y exactitud los errores, y en su
recuperación desechar los componentes léxicos hasta encontrar carácter de
sincronización para su recuperación.
4. Que es el análisis semántico en cuanto a:
a) Verificación de tipos en expresiones.
Se refiere a los tipos de datos y se asigna el valor de tipo de cada uno de los
componentes léxicos. Estos valores se comparan para verificar que los tipos
de datos coincidan y que sean congruentes ya que de lo contrario no se
pueden realizar los cálculos.
b) Conversión de tipos.
Se refiere al método en el que se puede confiar para verificar la equivalencia
de tipos, y poder representar la expresión en un árbol sintáctico, facilitando la
sintaxis de declaraciones hasta la representación del árbol.
c) Acciones agregadas en un analizador sintáctico descendente
(top-down).
Se refiere a las acciones semánticas y al mezcla dentro del flujo de control de
acciones, así como en los fragmentos de código de un programa en las
producciones gramaticales.
d) Pila semántica en un analizador sintáctico ascendente (bottom-up).
Se refiere a la identificación de aquellos procesos que necesitan analizar con
forme vayan apareciendo en la codificación del sistema o también a la
adquisición de paquetes de software para resolver el problema inmediato. En
la pila semántica los problemas de interacción entre los subsistemas son
costos y se solucionan hasta que la programación alcanza la fecha límite para
la integración del sistema.
e) Administración de la tabla de símbolos.
Se refiere a definir las variables con su uso, también checa que cada
expresión tenga un tipo correcto y traduce la sintaxis abstracta a una
representación más simple para generar código de máquina.
f) Manejo de errores semánticos.
Se refiere a la verificación de tipos de errores y la forma de como declararlo e
imprimir el mensaje de error y consultar en el código fuente las frases al
momento de la ejecución por parte del compilador.
Actividad 2 Programación de Sistemas.

Actividad 2 Programación de Sistemas.

  • 1.
    Objetivo: Conocer laimportancia de un analizador léxico, sintáctico y semántico a partir de un generador de código.
  • 2.
    1. ¿A quése refiere el análisis léxico, sintáctico y semántico? El análisis léxico se refiere a la primera fase de un compilador, su principal función consiste en leer los caracteres de entrada y elaborar como salida una secuencia de componentes léxicos que utiliza el analizador sintáctico para hacer el análisis. El análisis sintáctico se refiere a la fase de verificación del texto de entrada con respecto a su gramática. En el caso de que un programa de entrada sea válido suministra el árbol sintáctico que lo reconoce. El análisis semántico se refiere a los aspectos del significado e interpretación expresiones construidas en palabras.
  • 3.
    2. Que esel análisis léxico en cuanto a: a) Manejo de localidades temporales de memoria (buffers). Es la manera de leer un programa carácter por carácter pero es ineficiente y la manera más eficiente es realizar una copia a la memoria de todo el código fuente, y verificar las dimensiones de los programas utilizando buffers. b) Creación de tablas de símbolos. Se refiere al conjunto de pares de claves los cuales contienen valores y son llamados elementos de una tabla, la cual utiliza un identificador quien es el que realizara la búsqueda dentro de la tabla para obtener la información asociada con el valor del mismo. c) Manejo de errores léxicos. Se refiere a la estrategia que detecta una cadena no reconocible y la auxilia en el remplazo de un carácter incorrecto por un carácter correcto e indicando el lexema mediante por un identificador.
  • 4.
    3. Que esel análisis sintáctico en cuanto a: a) Diagramas de sintaxis. Es la representación explicita de un origen y un destino, y nos muestra los caminos desde el inicio del grafo hasta el final de las sentencias válidas. b) Precedencia de operadores. Se refiere al proceso de análisis sintáctico ya que nos representa la forma en la que debe construirse el árbol de derivación de cada una de las operaciones. c) Analizador sintáctico: Se refiere al programa que reconoce si una o varias cadenas de caracteres forman parte de un determinado lenguaje mediante su gramática. Analizador descendente (LL), Se refiere al conjunto de gramática libre de contexto, en el cual se analizan las entradas de izquierda a derecha y las construcciones de derivaciones por la izquierda de una sentencia o enunciado.
  • 5.
    Analizador ascendente (LR,LALR). LR: Se refiere al retroceso de la derivación de la cadena de entrada en forma determinada la cual se sustenta de la aplicación de la gramática de un árbol de derivación derecho. LALR: Se encarga de determinar la eficiencia de los métodos de la potencia de las jerarquías gramáticas.
  • 6.
    d) Administración detablas de símbolos. Se encarga de utilizar al compilador para almacenar información, asociadas con los símbolos declarados en el programa. e) Manejo de errores sintácticos y su recuperación. Se refiere a la forma de detectar con claridad y exactitud los errores, y en su recuperación desechar los componentes léxicos hasta encontrar carácter de sincronización para su recuperación.
  • 7.
    4. Que esel análisis semántico en cuanto a: a) Verificación de tipos en expresiones. Se refiere a los tipos de datos y se asigna el valor de tipo de cada uno de los componentes léxicos. Estos valores se comparan para verificar que los tipos de datos coincidan y que sean congruentes ya que de lo contrario no se pueden realizar los cálculos. b) Conversión de tipos. Se refiere al método en el que se puede confiar para verificar la equivalencia de tipos, y poder representar la expresión en un árbol sintáctico, facilitando la sintaxis de declaraciones hasta la representación del árbol. c) Acciones agregadas en un analizador sintáctico descendente (top-down). Se refiere a las acciones semánticas y al mezcla dentro del flujo de control de acciones, así como en los fragmentos de código de un programa en las producciones gramaticales.
  • 8.
    d) Pila semánticaen un analizador sintáctico ascendente (bottom-up). Se refiere a la identificación de aquellos procesos que necesitan analizar con forme vayan apareciendo en la codificación del sistema o también a la adquisición de paquetes de software para resolver el problema inmediato. En la pila semántica los problemas de interacción entre los subsistemas son costos y se solucionan hasta que la programación alcanza la fecha límite para la integración del sistema. e) Administración de la tabla de símbolos. Se refiere a definir las variables con su uso, también checa que cada expresión tenga un tipo correcto y traduce la sintaxis abstracta a una representación más simple para generar código de máquina. f) Manejo de errores semánticos. Se refiere a la verificación de tipos de errores y la forma de como declararlo e imprimir el mensaje de error y consultar en el código fuente las frases al momento de la ejecución por parte del compilador.