LENGUAJES Y AUTÓMATAS II

Navarrete Lopez Leonardo - 16212051Actividad para evaluación de unidad II

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
LENGUAJES Y AUTÓMATAS II por Mind Map: LENGUAJES Y AUTÓMATAS II

1. Navarrete Lopez Leonardo - 16212051

2. Notaciones

2.1. Algoritmos que nos dejan tener el símbolo en árbol binario de expresiones dadas tales como las expresiones matemáticas desde los términos que forman parte de las mismas en su representación original.

2.1.1. Prefija

2.1.1.1. La notación prefija pone el operador primero que los dos operandos, por lo que la expresión anterior queda: +ab-5. Aquí podemos mencionar la estructura FIFO

2.1.2. Infija

2.1.2.1. La notación infija es la más utilizada por los humanos por que es la más comprensible ya que ponen el operador entre los dos operandos. Por ejemplo a+b-5.

2.1.3. Postfija

2.1.3.1. La notación postfija pone el operador al final de los dos operandos, por lo que la expresión queda: ab+5-

3. Análisis Morfológico

3.1. Identificar cada parte de las palabras una a una los tipos de las mismas tanto como su significado muy parecido al analizador léxico dentro de los que se busca es poder crear gramáticas conforme a la palabras que van por etapas parecido a lo que realiza el sintáctico

3.1.1. Determinante

3.1.1.1. Genero

3.1.1.2. Numero

3.1.1.3. Sustantivo

3.1.1.4. Categoria

3.1.2. Sustantivo

3.1.2.1. Genero

3.1.2.2. Numero

3.1.2.3. Común / Propio

3.1.2.4. Concreto / Abstracto

3.1.2.5. Contable / No Contable

3.1.2.6. Invidual

3.1.3. Pronombre

3.1.3.1. Genero (Si tiene)

3.1.3.2. Numero (Si tiene)

3.1.3.3. Persona (Si tiene)

3.1.3.4. Categoria

3.1.4. Adverbio

3.1.4.1. Modo / Lugar / Tiempo / Cantidad / Afirmación / negación.

4. Código Intermedio

4.1. Los lenguajes intermedios nos sirven para representar la producción final de nuestro lenguaje fuente pero tenemos en este caso lo que es el lenguaje intermedio en donde existen maneras formales para representar código intermedio. Estas notaciones vuelven mas simples la traducción de nuestro "código fuente" a nuestro "código objeto" ya que ahorran y acotan símbolos de la tabla ayudando al procesador de manera significativa en como se debe leer un "bloque" de código.

4.1.1. Notación Polaca

4.1.2. Triples

4.1.2.1. La notación de tres partes es una forma de código intermedio esta notación implementa como registros con campos para el operador y operadores ejemplo: Operador - Operando1 - Operando2

4.1.3. Cuadruples

4.1.3.1. Es una estructura tipo registro con cuatros partes que se llaman operador, argumento1, argumento2 y resultado operador tiene un código intermedio ejemplo Operador - Operando1 - Operando2- Resultado

5. Esquema de Generación

5.1. Se tiene como las estrategias y /o acciones que se usan para el momento de crear código pero dependen de cada lenguaje. estos se guían por 2 maneras Estatutos y la optimización.

5.1.1. Estatutos

5.1.1.1. Asignación

5.1.1.1.1. Este se enfoca a reducir los operandos para que sean mas sencillos manejar dentro de la programación. Ejemplo: x = a +b /5 y = b/5; z=a+y; x=z;

5.1.1.2. Acciones

5.1.1.2.1. Un Ejemplo notable en esto en la manera en como se realizan las declaraciones de las variables y/o constantes: Ejemplo: int a,b,c int a, int b, int c

5.1.1.3. Ciclos

5.1.1.3.1. En caso de utilizar ciclos se han de utilizar con ciertas estrategias (solo ciertos tipos de ciclos como los "While") para que en tiempo de ejecución no resulten mas costosos por el tiempo y poder de procesamiento requerido para implementarlos en el código.

5.1.1.4. Condicional

5.1.1.4.1. Este estatuto nos menciona la manera correcta o mas eficiente para utilizar un if debido que la mala utilización de los mismos en la forma anidada solo genera mas costo y mas poder de procesamiento y las recomendaciones estratégicas son en tener pocos if con las condiciones que se lleguen a necesitar para el código.

5.1.1.5. Arreglos

5.1.1.5.1. a = "hola" a[0] = "H"

5.1.2. Optimización

5.1.2.1. Técnicas que permiten tener una mejor solución a un problema en donde se puede denominar su fin es la disminución todos los costos tanto como los tiempo de ejecución los ciclos del procesador la memoria.

5.1.2.1.1. Se tienen varios puntos que se siguen para tener la optimización en estos se tienen tales como: -Cambiar el orden de las instrucciones para liberar el registro. -Eliminar sub-expresiones. Se puede dividir en 2 locales y globales los locales se enfocan en partes importantes pero mínimas donde su relación es poca con todo el sistema y las globales que se enfocan en el aspecto general y su rendimiento a la par.

6. Análisis Sintáctico

6.1. analiza una cadena o texto en componentes sintácticos lógicos es un programa que es parte de un compilador el compilador se asegura de que el código se traduce correctamente a un lenguaje ejecutable.

6.1.1. Analizador sintáctico descendente

6.1.2. Analizador sintáctico ascendente