Conceptos fundamentales de lenguajes de programación

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Rocket clouds
Conceptos fundamentales de lenguajes de programación por Mind Map: Conceptos fundamentales de lenguajes de programación

1. Tipo puntero

1.1. cuenta con el valor y una direccion de memoria _Deferenciacion: entrega el valor del objeto apuntado

1.2. Problemas *Dejar colgado *Perdida de variables dinamicas de heap

1.3. Tipo referencia es una variable tipo puntero constante en java la liberacion de objetos es implicita

1.4. Metodos de Reclamo de Basura Contadores de referencia(impaciente)_ se mantiene un contador de referencia por cada celda y esta se libera cuando el contador llegue a cero Recoleccion de basura(perezoso)_ se acumula basura hasta que se agote la memoria y las celdas basura son liberadas

1.5. Evaluacion de los Metodos Contadores de referencia _requiere bastante memoria para mantener contadores _requiere mas tiempo para los punteros Recoleccion de Basura _basta um bit por celda para marcar la basura _mal desempeño cuando que da poca memoria

2. tipo union

2.1. permite almacenar diferentes tipos de datos en una misma variable su uso es poco general java no tiene esta extructura

3. cadena de caracteres

3.1. principalmente para la comunicacion maquina usuario

3.2. operaciones *Asignacion *comparacion *Concatenacion *largo *transformacion

3.3. Diseño String *largo estatico *largo dinamico limitado *largo dinamico

4. Tipo registro

4.1. permite composiciön heterogenea de elemnetos de datos

5. Tipos de Datos Estructurados

5.1. Tipo Arreglo

5.1.1. conjunto de elementos ordenados y se maneja por indice

5.1.2. Arreglos Multidimensionales

5.1.2.1. pro lo genral permiten dos dimensiones

5.1.3. iniciacion de arreglos

5.1.3.1. int[ ] edades = datos

5.1.4. Operadores con arreglo

5.1.4.1. Pascal y C no tiene soporte especial c** permite definir una clase arreglo por el usuario: Java define los arreglos como tipos especiales de objetos

5.1.5. Implementacion de arreglos

5.1.5.1. se pueden arreglo unidimensional arreglos bidimensionales(matrices)

5.1.6. Arreglos Asociativos

5.1.6.1. Arreglo no ordenado de elemntos que son accedidos por una clave

5.1.7. Arreglos Asociativos

5.1.7.1. hashing

6. Tipos de Datos Simples

6.1. Tipos Ordinales

6.1.1. Es aquel que puede ser asociado a un número natural. *Tipos ordinales primitivos. *Tipos ordinales definidos por el usuario -Enumerados -Subrangos

6.1.2. Representación de Números

6.1.2.1. *Características de representación *Tipos de Representación

6.2. Tipo Enumerado

6.2.1. Se enumera todos los posibles valores a través de constantes literales. Relación de orden permite definir operadores relacionales y predecesor y sucesor. Mejoran facilidad de lectura y fiabilidad

6.3. Tipo Subrango

6.3.1. Subsecuencia contigua de un tipo ordinal introducido por Pascal mejora la lectura y fiabilidad

6.4. Tipos de Datos Primitivos

6.4.1. *Numérico (Entero, flotante, Decimal) *Booleano *Caracter

7. Sintaxis

7.1. es

7.1.1. La forma de las sentencias en el L. P.

7.2. Elementos Sintácticos

7.2.1. *Conjunto de caracteres. *Identificadores. *Simbolos de operadores. *Palabras claves y reservadas. *Comentarios. *Blanco, delimitadores y parentesis. *Expresiones. *Sentencias.

7.3. descripción

7.3.1. Definicion de lenguajes

7.3.1.1. *Reconocimiento

7.3.1.2. *Generación

7.3.2. Metodos formales de descripción

7.3.2.1. *Backus Naur Form (BNF)

7.3.2.1.1. elementos

7.3.2.2. *Extended BNF (EBNF)

8. Ambiguedad

8.1. Es a terminos que tienen dos significados o dos extructuras. Ejm: A*B+C

8.2. Resolución

8.2.1. Casos de operadores

8.2.1.1. *Definir precedencia *Definir asosiatividad

8.2.2. Casos de If

8.2.2.1. Asociar el else con el ultimo if

9. Parce Tree

9.1. Con esta completamos una extructura completa de datos

10. Herencia BNF (EBNF)

10.1. *Elemento opcional se indica con [ ]

10.1.1. Ejm: <if_stmt> ::=if<condition> then<stmts> [else<stmts>]

11. Grafos Sintacticos

11.1. estudia el ambito legal matematico de las ciencias pura

12. Procesos de Compilación

12.1. *Codigo fuente *Analisis lexico *Analisis Sintactico *Generación de codigo intermedio *Optimizacion *generacion de codigo a objetos *Codigo objeto

13. Sintaxis y Semantica

14. Nombre, ligado y ambito

14.1. Nombres

14.1.1. Identificador que asigna en el lenguaje un elemento u objeto (variable,cste,función)

14.1.2. Aspectos de Diseño -Largo del nombre -Tipos de caracteres -Sencibilidad -Palabras reservadas

14.1.3. Variable

14.1.3.1. Abstraccion de un objeto de memoria, que tiene atributos(nombre,direccion,valor, etc)

14.1.3.2. Dirección: un nombre puede ser asociado con diferentes direcciones en diferentes partes.

14.2. Ligado

14.2.1. Definición: Proceso de asociación de un atributo a una entidadel lenguaje.

14.2.2. El tiempo de ligado se refiere al instante en que sucede la asociación: Estatica:- diseño o implementación del lenguaje. Dinamica:- ejecución del programa.

14.2.3. Ligado de Tipos a Variables

14.2.3.1. Ligadas a un tipo antes de usarlas. -Ligado Estático: con declaración explícita o implícita. -ligado Dinamico: en el momento de la asignación.(premite programar en forma generica). (diminuye la capasidad de detección de errores).

14.2.4. Ligado a Memoria y Tiempo de vida de variables

14.2.4.1. El carácter de un lenguaje está en gran medida determinado por cómo se administra la memoria.

14.2.4.1.1. Variables Estáticas

14.2.4.1.2. V. Dinámicas de Stack

14.2.4.1.3. V. Dinámicas de Heap

14.2.4.2. Tipo de Datos

14.2.4.2.1. Verificacion de tipo: es asegurar que los operandos de un opeerador son de tipo compatible. Tipo compatible es uno legal o que mediante reglas el compilado lo convierte en legal.

14.3. Ámbito

14.3.1. Rango de sentencias en el cual un nombre es visible. Nombres pueden ser sólo referenciadsa dentro de ámbito. Nombres no locales son los que son visibles dentro de un bloque .

15. Tipos de Datos