Você está na página 1de 12

Arquitectura y Gramtica de

los traductores
LENGUAJES DE PROGRAMACIN
Agenda
Revisin de trabajos
Objetivos de los lenguajes
Modelos de diseos de lenguajes
Semntica en los lenguajes de
programacin.
Lenguaje de programacin
Qu es un lenguaje?
Conjunto de smbolos y palabras (vocabulario o lxico) y
conjunto de reglas (sintaxis y semntica) que permiten
agrupar los smbolos para formar las frases del lenguaje.

De programacin?
Que sirve para especificar algoritmos sobre un ordenador.
Un programa se escribe como una secuencia de frases del
lenguaje. Un lenguaje de programacin viene definido por
un lxico, una sintaxis y una semntica
Objetivo
Los lenguajes de alto nivel se desarrollaron con el
objetivo de ser ms accesibles y entendibles por la
mayora de programadores, de manera que los
programadores pudieran concentrarse ms en resolver
la tarea o los problemas y no en el lenguaje que la
maquina tena que entender.
Criterios para evaluar lenguajes
de programacin
La portabilidad: facilidad para ser ejecutados en distintos entornos lgicos o
fsicos .
La verificabilidad: capacidad para soportar procedimientos de pruebas, test o
ensayos.
La integridad: nivel de proteccin frente a procesos que traten de alterarlo.
La facilidad de uso: comodidad y claridad en la interaccin con el usuario.
La exactitud: nivel de precisin que alcanzan los resultados obtenidos.
La robustez: capacidad para funcionar correctamente en situaciones
extremas.
La extensibilidad: capacidad para adaptar su funcionamiento al incremento
en sus objetivos.
La compatibilidad: facilidad de poder ser aplicados en conjuncin con otros
programas.
La reutilizacin: posibilidad de utilizarlos (total o parcialmente) en nuevos
contextos.
Sintaxis
Es el conjunto de reglas que gobiernan la construccin o
formacin de sentencias (instrucciones) vlidas en un
lenguaje. La sintaxis de un lenguaje de programacin es el
aspecto que ofrece el programa. Proporcionar las reglas de
sintaxis para un lenguaje de programacin significa decir como
se escriben los enunciados, declaraciones y otras
construcciones del lenguaje.
Semnticas
La semntica describe el proceso que una computadora sigue
cuando ejecuta un programa en ese lenguaje especfico. Esto
se puede mostrar describiendo la relacin entre la entrada y la
salida de un programa, o una explicacin de cmo el programa
se ejecutar en cierta plataforma, y consecuentemente
creando un modelo de computacin. Esto se hace evaluando el
significado de cadenas sintcticamente legales definidas por
un lenguaje de programacin especfico, mostrando el proceso
computacional involucrado. En el caso de que la evaluacin
fuera de cadenas sintcticamente ilegales, el resultado sera
no-cmputo.
Gramtica
Es la definicin formal de la sintaxis de un
lenguaje de programacin. Una gramtica se
compone de un conjunto de reglas que
especifican las series de caracteres (palabras)
que forman programas vlidos en el lenguaje
que se est definiendo.
Paradigmas
Por paradigma de programacin se entiende una filosofa de programar, es decir, los
lenguajes que utilizan un mismo paradigma de programacin utilizarn los mismos
conceptos bsicos para programar. Se pueden definir cuatro tipos fundamentales:

Imperativos: La unidad de trabajo es la sentencia (accin). Pascal, C.


Orientados a Objetos: La unidad de trabajo es el objeto. Agrupa las estructuras de
datos con sus algoritmos. Java.
Funcionales: La unidad es la funcin. Consiste en combinar funciones para conseguir
funciones ms complejas hasta llegar a la funcin que es el programa. Lisp.
Lgicos: Se especifican los hechos y las propiedades que especifican el problema. El
sistema utiliza esa informacin para encontrar la solucin. Prolog.
Preguntas?
Lecturas recomendadas

http://sisbib.unmsm.edu.pe/bibvirtual/publicacion
es/indata/v04_n1/lenguajes.htm
http://fcasua.contad.unam.mx/apuntes/interiores/d
ocs/98/4/informatica_4.pdf
http://www.infor.uva.es/~cvaca/asigs/docpar/intro.
pdf
Segundo trabajo
extraclase

En grupos investigar para la siguiente clase:

PYTHON, JAVA, RUBY, ML, LISP, .NET, SCALA

Paradigma de programacin.
IDEs de desarrollo.
Plataformas de implementacin.
Si es compilador o intrprete.
Libreras, APIs o nuevas caractersticas.
Alguna investigacin cientfica realizada en este
lenguaje.

Você também pode gostar