Anda di halaman 1dari 4

Lenguajes De Programacion: Lenguajes artificiales permiten expresar un dominio del conocimiento para tareas definidas Elementos: Como se construyen

-> Especifica mente la gramatica Como se explican e interpretan. Por que los estudiamos? Herramientas de la ingenieria de software Se aprovechan mas las ventajas que nos ofrecen Incrementan el vocabulario Se puede comparar con mas criterio entre ellos Creacion de uno Paradigmas de programacion: Procedurales Funcionales Orientados a Objetos Maquina Virtual Fisico Historia Lenguaje simbolico primero -> Los Numeros. Aritmetica Calculo Conocimento Simbolico Abstracto Formulado Lenguajes de programacion -> Ada Lovelace } Codigo maquina Ensamblador } Lenguajes de "alto" nivel (para su epoca) 1950~ FORTRAN APL PLI COBOL BASIC 1970~ C PASCAL ADA DISE~NO Donde va a correr el programa? Recursos Memoria, Almacenamiento, Procesador, Interfaces dependie ntes. Arquitectura Tiempo real, Real. Requisitos Portabilidad, Velocidad. Modelo de ejecucion Modelo de computacion Directo, Interprete.

6 elementos de los lenguajes de programacion: Datos: Estructuras, Palabra. Primitivos: Control de sequencias: GOTO, JMP Acceso a datos: Registro Basico/ Cache / Fisico Manejo de memoria: Taman~no de pagina, tipo de procesamiento Entorno de operaciones: mecanismos de IO, interactividad, procesamiento por lotes. CPU Palabra, Operaciones RISC CISC TRADUCCION Proceso de hacer instrucciones en un nivel X entendible en un nivel mas fundamental. Codigo Intermedio -> Maquina virtual lo ejecuta en un modelo de interpre tacion -> Al vuelo ATRIBUTOS DE UN LENGUAJE DE PROGRAMACION Claridad Sencillez { Simplicidad conceptual Uniformidad Legibilidad Conceptos semanticos ortogonales Que la sintaxis refleje la logica subyacente Apoyo para la abstraccion Flujo fiel a la realidad Facilidad de verificacion {aserciones, entorno de debug integrado, verif icacion estatica} Entorno de programacion adecuado {intellisense, resaltado} Costo de uso {ejecucion,traduccion,operacion,mantenimiento} DOMINIO DE APLICACION Negocios {COBOL} Cientificos FORTRAN Sistemas C IA {LISP, F#, OCaml} Nuevos paradigmas MODELO GENERAL DE TRADUCCION [fuente]->[Preproceso]->{analisis}[lexico,sintactico,semantico]->{sintes is}[traductor,optimizador,enlazador]->[Codigo Objeto] Programa fuente-> Sintaxis-> Reglas de formacion de sentencias Tipo de lenguaje, manejo de memoria, tipificacion, define la com plejidad. Criterios-> Legible,facil de verificar, facil de traducir, carente d e ambiguedad Elementos sintacticos-> Juego de caracteres Identificadores validos Operadores Palabras {clave, reservadas (entorno), pregonadas} Marcadores de comentarios Whitespace

Campo libre-fijo (ASM, fortran) Expresiones Enumeraciones Analisis Lexico-> Tabla de simbolos [Tokens/Lexemas] Sintactico Semantico Coherencia de tipos Reglas de coercion JERARQUIA DE LENGUAJES DE CHOMSKY JERARQUIA DE LENGUAJES LRE(LSC(LLC(LR))) Herramienta: Generadora LR Expresiones Regulares LLC GLC - BNF Pila LSC Gramatica sensible al Ctxt. Automata Linealmente acotado LRE MAQUINA DE TURING LENGUAJES Nos enfocamos en sus propiedades formales Manejamos teoria de conjuntos Conjunto Vacio - Conjunto Potencia CADENAS Parten de un alfabeto Concatenacion Potencia (A^0 = E, A^1 = A, A^2 = AA, ... ) Igualdad de cadenas Prefijo Sufijo Colas Subcadena Transposicion Palindromo Cerradura transitiva de Kleene E^* < Es LENGUAJES REGULARES AUTOMATA FINITO Se define como quadrupla Q -> Estados posibles E -> Alfabeto d -> funcion de transicion (QxE)->Q q0-> Estado inicial ( Q F -> conjunto de estados finales ( Q Lenguaje aceptado por automata M -> L(m) L(m)= {w c Z*| w es aceptado por m} LENGUAJES LIBRES DE CONTEXTO Automata con pila Gamma -> Alfabeto de la pola d-> Qx(Eu{E]})*Gamma Z0= simbolo inicial de la pila GLC Bachus Naur Reconocedora Automatas Finitos ACP-Automata con

Intentamos forma S->aS recursiva por la derecha

Anda mungkin juga menyukai