viernes, 11 de marzo de 2011

Síntesis Introducción al diseño de los lenguajes de programación


=Análisis Léxico=
¿Que es un Interprete?
- Interprete es un programa que analiza y ejecuta simultáneamente un programa escrito en un lenguaje fuente.
Los intérpretes tienen 2 entradas 1 entrada P que es el lenguaje fuente, al igual que los datos de entrada, donde a partir de dichas entradas y mediante un proceso una caja negra se acciona los resultados.
- La estructura de un intérprete se utiliza una representación interna del lenguaje a analizar. De esta forma, la Organización interna de la mayoría de los intérpretes se descompone en módulos.
-Traductor a Representación interna.
-Representación interna.
-Tabla de símbolos.
-Evaluador de Representación Interna.
= Visión del Problema =
Propósito de un lenguaje
Un lenguaje es diseñado a menudo para su aplicación en un área específica. La mayor atención es dada a restringir el área de la
aplicación del lenguaje, el mejor lenguaje será para problemas en esa área

= Consideraciones Preliminares =
>No hay un lenguaje bueno para todo
>No es necesario construir un programa que ya esta hecho Ya que existe un
lenguaje apropiado para cada aplicación.
>El nuevo lenguaje se diferencia de los existentes
>Se consume demasiado tiempo en el diseño e implementación de un nuevo lenguaje.
>Es demasiado fácil diseñar un lenguaje incompleto.
>Lenguaje demasiado especializado.
>Sacrificar características del lenguaje por un compilador simple.
>Solo lo que se podría hacer es aportar aplicaciones o ampliar el programa.
=Objetivos y Filosofía =
Comunicación humana:
Se busca una comunicación eficiente entre el programador y el ordenador.
Es más importante que un programa sea leíble que escribible.
Un programa se escribe una vez, pero se lee muchas durante su depuración, documentación y mantenimiento.
Tendencia actual a separar la interfaz de la implementación de un módulo.
La sintaxis ha de reflejar la semántica.
•Reducir las manipulaciones implícitas.
•Prevención y detección de errores.
•Redundancia.
•Usabilidad.
•Efectividad.
•Soportar abstracción.
•Modularidad: Separar especificación de implementación.
•Compatibilidad.
•Independencia de la máquina.
•Simplicidad.
•Uniformidad.
•Ortogonalidad.

=Diseño de detallado=
En esta etapa se adecua el análisis a las características específicas del ambiente de implementación y se completan las distintas aplicaciones del sistema con los modelos de control, interfaz o comunicaciones, según sea el caso.
Microestructura
Estructura de las expresiones
Estructuras de datos
Estructuras de control
Estructura de compilación
Estructura de la entrada/salida
=Caso de estudio=
PROGRAMACIÓN DE SISTEMAS: Conjunto de reglas para crear soluciones a
problemas computables. Conjunto de herramientas que nos permiten crear
software de base que son de utilidad para interactuar con la máquina.
SOFTWARE DE BASE: Compilador, Querys, Sistema Operativo, Cargador.
AUTÓMATA: Son las cadenas posibles que aceptan un lenguaje.
EXPRESIONES REGULARES: Conjunto de símbolos que aceptan una
palabra reservada.
GRAMÁTICA: Reglas para escribir las sentencias del lenguaje.

Autor: Luis Eduardo Fernandez Rocha (Contacto Linkedin)

No hay comentarios.:

Publicar un comentario