Lenguajes de programacion
Estudio de los lenguajes de programación desde el punto de vista de las áreas de aplicación
• Científicos • Ingeniería • De Gestión (negocios) • De Inteligencia Artificial • Programación de sistemas • Multipropósito
1.1.2
Estudio de los lenguajes de programación desde el punto de vista de su nivel
Lenguaje Humano • Muy alto • Alto • Medio• Bajo • Muy bajo Lenguaje Máquina
1.1.3
Estudio de los lenguajes de programación desde el punto de vista de los paradigmas de programación
Paradigma: “Logros científicos universalmente reconocidos que durante un tiempo proporcionan problemas y soluciones modelo para una comunidad de profesionales.”
Imperativos
Declarativos
Estructurado enbloques Basados en objetos Programación distribuida
Programación Lógica Programación funcional Lenguajes para bases de datos
1.1.3
Estudio de los lenguajes de programación desde el punto de vista de los paradigmas de programación
Imperativos - Cambios de estado hechos a la memoria - Algoritmos Estructurado en bloques - Subrutinas - Datos comunes - Ámbitosanidados Basados en objetos - Objeto: grupo de procedimientos que comparten un estado
Programación distribuida - Trabajo de muchos programadores en un solo programa de forma simultánea comunicándose a través del paso de mensajes
1.1.3
Estudio de los lenguajes de programación desde el punto de vista de los paradigmas de programación
Declarativos - Seenfocan más en lo que se quiere hacer que en cómo hacerlo - El intérprete o compilador administra recursos en lugar del programador Programación Lógica - Obtención de nuevos hechos a partir de hechos conocidos - Un programa se compone de: • Serie de axiomas o hechos • Reglas de inferencia • Teorema o cuestión por demostrar Programación funcional - Todo opera a través de funciones - Uniformidadfuncional - No hay asignaciones globales - El programa mismo es una función Lenguajes para bases de datos - Persistencia - Control de cambios
1.2
Lenguaje de programación
Sintaxis Lenguaje Semántica
Gramática: ciencia que estudia o regula al lenguaje Estructura lexicográfica: la estructura de los tokens Token: palabra válida en un lenguaje
Alfabeto(conjunto de símbolos) Lenguaje Reglas para formar palabras Reglas para formar declaraciones
1.2
Lenguaje de programación
Lenguaje formal: la forma o sintaxis de las palabras válidas en un lenguaje sin importar su significado Definición de lenguajes formales: 1. Alfabeto de símbolos individuales 2. Un conjunto de reglas P para determinar cualescadenas o palabras de son válidas en L las reglas de producción tiene la forma:
Gramática estructurada en frases G=(, N, P, Inicio) = Conjunto de símbolos terminales N = Conjunto de símbolos no terminales P = Conjunto de reglas de producción Inicio = Símbolo de inicio
1.3
Características de los lenguajes de programación
• Descripciones biendefinidas - BNF y EBNF - Semántica • Comprobabilidad • Confiabilidad • Traducción rápida • Código objeto eficiente • Ortogonalidad • Generalidad • Consistencia y notaciones comunes • Uniformidad • Subconjuntos • Extensibilidad • Transportabilidad
1.4.1.1
Jerarquía de Chomsky
Tipo 0: Lenguajes recursivamente enumerables, son reconocidos por máquinas deTuring Tipo 1: Lenguajes sensibles al contexto, son reconocidos autómatas lineales limitados Tipo 2: Lenguajes libres de contexto, son reconocidos por autómatas descendentes Tipo 3: Lenguajes regulares, son reconocidos por autómatas finitos
Cada tipo de lenguaje esta asociado a un tipo de máquina particular
1.4.1.2
Backus Naur Form
Backus Naur Form (BNF)...
Regístrate para leer el documento completo.