Análisis Léxico, Sintáctico y Semántico

马上开始. 它是免费的哦
注册 使用您的电邮地址
Análisis Léxico, Sintáctico y Semántico 作者: Mind Map: Análisis Léxico, Sintáctico y Semántico

1. 2.3. Tipos de datos

1.1. Tipos de datos Simples

1.1.1. Números

1.1.1.1. Ordinales

1.1.1.1.1. Primitivos

1.1.1.1.2. Definidos por el Usuario

1.1.1.2. Representación

1.1.1.2.1. Rango y Precisión

1.1.1.2.2. Tipos

1.1.2. Enumerados: Se enumeran todos los posibles valores a través de constantes literales.

1.1.3. Subrango

1.1.4. Primitivos

1.1.4.1. Numérico

1.1.4.1.1. Entero

1.1.4.1.2. Punto Flotante

1.1.4.1.3. Decimal

1.1.4.2. Booleano

1.1.4.3. Caracter

1.2. Tipos de datos Estructurados

1.2.1. Arreglos

1.2.1.1. Multidimensionales

1.2.1.2. Asociativos

1.2.2. Tipo Registro

1.2.3. String (Cadena de caracteres)

1.2.3.1. Diseño

1.2.3.1.1. Largo estático

1.2.3.1.2. Largo dinámico ilimitado

1.2.3.1.3. Largo dinámico

1.2.3.2. Operaciones básicas

1.2.3.2.1. Asignación

1.2.3.2.2. Comparación

1.2.3.2.3. Concatenación

1.2.3.2.4. Largo

1.2.3.2.5. Transformación

1.2.4. Unión: Permite almacenar diferentes tipos de datos en diferentes tiempos en una misma variable.

1.2.5. Puntero: Su valor corresponde a una dirección de memoria

1.2.5.1. Asignación

1.2.5.2. Desreferenciación

1.2.5.2.1. C y C++

1.2.5.2.2. Pascal

1.2.5.3. Problemas

1.2.5.3.1. Dangling (dejar colgado)

1.2.5.3.2. No se libera la memoria, entonces se da una pérdida de variables dinámicas de heap.

1.2.5.4. Métodos de Reclamo de basura

1.2.5.4.1. Contadores de referencia (impaciente)

1.2.5.4.2. Recolección de basura (perezoso)

2. 2.4. Expresiones y Asignaciones

2.1. Expresiones aritméticas

2.1.1. Efectos laterales funcionales

2.2. Expresiones relacionales

2.2.1. == (Igual)

2.2.2. != (No es igual)

2.2.3. < (Menor que)

2.2.4. > (Mayor que)

2.2.5. <= (Menor o igual que)

2.2.6. >= (Mayor o igual que)

2.3. Operadores booleanos

2.3.1. AND

2.3.2. OR

2.3.3. NOT

3. 2.5. Estructuras de Control

3.1. Sentencias

3.2. Sentencias de Selección

3.3. Sentencias de Iteración

3.4. Salto incondicional

4. 2.1. Sintaxis y Semántica

4.1. Sintaxis: reglas para escribir instrucciones de código

4.1.1. BNF (Backus Naur Form)

4.1.1.1. Parse Tree

4.1.1.2. Gramáticas

4.1.1.3. Símbolos terminales, no terminales, de partida

4.1.2. EBNF (Extended BNF)

4.1.2.1. Elemento opcional [...]

4.1.2.2. | -> símbolo de alternativa

4.1.2.3. Repetición {...}

4.1.3. Grafos Sintácticos

4.2. Semántica: se ocupa del significado asignado a los símbolos, caracteres y palabras

4.3. Proceso de Compilación

4.3.1. Programa Fuente

4.3.2. Tabla de Símbolos

4.3.2.1. 1. Análisis Léxico

4.3.2.2. 2. Análisis Sintáctico

4.3.2.3. 3. Análisis Semántico

4.3.3. Generación de Código

4.3.4. Programa Objeto

5. 2.2. Nombres, Ligado y Ámbito

5.1. Nombres

5.1.1. Identificadores

5.2. Variables

5.2.1. Dirección: asociado en diferentes partes y tiempo de ejecución de un programa.

5.3. Tipos

5.3.1. Verificación

5.3.2. Compatibilidad

5.3.2.1. De nombre

5.3.2.2. De estructura

5.3.3. Tipificado Fuerte

5.3.4. Tipificado Débil

5.4. Ámbitos

5.4.1. Visibilidad

5.4.1.1. Nombres locales

5.4.1.2. Nombres no locales

5.5. Ligado

5.5.1. Tiempo de Ligado

5.5.1.1. Estático: tiempo de diseño

5.5.1.2. Dinámico: tiempo de ejecución

5.5.2. Ligado de Tipos a Variables

5.5.2.1. Estático: declaración o implícita

5.5.2.2. Dinámico: momento de asignación

5.5.3. Ligado a Memoria y Tiempo de Vida de Variables

5.5.3.1. Variables Escalares

5.5.3.1.1. Estáticas

5.5.3.1.2. Dinámicas de Stack

5.5.3.1.3. Dinámicas de Heap

5.6. Constantes

6. 2.6 Subprogramas

6.1. Características

6.1.1. Abstracción de proceso

6.1.2. Reutilización de código

6.2. Firma

6.3. Protocolo

6.4. Parámetros

6.4.1. Semántica

6.4.1.1. Entrega de valor (IN)

6.4.1.2. Recibo de valor (OUT)

6.4.1.3. Ambos (INOUT)

6.4.2. Paso de Parámetros

6.4.2.1. Paso por Valor

6.4.2.2. Paso por Resultado

6.4.2.3. Paso por Valor - Resultado

6.4.2.4. Paso por Referencia

6.5. Sobrecarga

6.5.1. de funciones

6.5.2. de operadores definidos por el usuario