Conceptos fundamentales de lenguajes de programación

Começar. É Gratuito
ou inscrever-se com seu endereço de e-mail
Conceptos fundamentales de lenguajes de programación por Mind Map: Conceptos fundamentales de lenguajes de programación

1. cadena de caracteres

1.1. principalmente para la comunicacion maquina usuario

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

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

2. Tipo registro

2.1. permite composiciön heterogenea de elemnetos de datos

3. Tipos de Datos Estructurados

3.1. Tipo Arreglo

3.1.1. conjunto de elementos ordenados y se maneja por indice

3.1.2. Arreglos Multidimensionales

3.1.2.1. pro lo genral permiten dos dimensiones

3.1.3. iniciacion de arreglos

3.1.3.1. int[ ] edades = datos

3.1.4. Operadores con arreglo

3.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

3.1.5. Implementacion de arreglos

3.1.5.1. se pueden arreglo unidimensional arreglos bidimensionales(matrices)

3.1.6. Arreglos Asociativos

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

3.1.7. Arreglos Asociativos

3.1.7.1. hashing

4. Tipos de Datos Simples

4.1. Tipos Ordinales

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

4.1.2. Representación de Números

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

4.2. Tipo Enumerado

4.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

4.3. Tipo Subrango

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

4.4. Tipos de Datos Primitivos

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

5. Sintaxis

5.1. es

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

5.2. Elementos Sintácticos

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

5.3. descripción

5.3.1. Definicion de lenguajes

5.3.1.1. *Reconocimiento

5.3.1.2. *Generación

5.3.2. Metodos formales de descripción

5.3.2.1. *Backus Naur Form (BNF)

5.3.2.1.1. elementos

5.3.2.2. *Extended BNF (EBNF)

6. Parce Tree

6.1. Con esta completamos una extructura completa de datos

7. Herencia BNF (EBNF)

7.1. *Elemento opcional se indica con [ ]

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

8. Grafos Sintacticos

8.1. estudia el ambito legal matematico de las ciencias pura

9. Procesos de Compilación

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

10. Sintaxis y Semantica

11. Tipos de Datos

12. Tipo puntero

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

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

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

12.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

12.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

13. tipo union

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

14. Ambiguedad

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

14.2. Resolución

14.2.1. Casos de operadores

14.2.1.1. *Definir precedencia *Definir asosiatividad

14.2.2. Casos de If

14.2.2.1. Asociar el else con el ultimo if

15. Nombre, ligado y ambito

15.1. Nombres

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

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

15.1.3. Variable

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

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

15.2. Ligado

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

15.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.

15.2.3. Ligado de Tipos a Variables

15.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).

15.2.4. Ligado a Memoria y Tiempo de vida de variables

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

15.2.4.1.1. Variables Estáticas

15.2.4.1.2. V. Dinámicas de Stack

15.2.4.1.3. V. Dinámicas de Heap

15.2.4.2. Tipo de Datos

15.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.

15.3. Ámbito

15.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 .