Vous êtes sur la page 1sur 8

LENGUAJES DE PROGRAMACIN Y GRAMTICAS FORMALES

CARLOS PRETELT

MELVYN ESCOBAR CARO

SIMULACION

FUNDACIN UNIVERSITARIA SAN MARTN FACULTAD DE UNIVERSIDAD ABIERTA Y A DISTANCIA

Educacin a travs de escenarios mltiples PROGRAMA DE INGENIERA DE SISTEMAS MONTERA CRDOBA 2013

GRAMTICA FORMAL Una gramtica formal es una estructura matemtica con un conjunto de reglas de formacin que definen las cadenas de caracteres admisibles en un determinado lenguaje formal o lengua natural. Las gramticas formales aparecen en varios contextos diferentes: la lgica matemtica, las ciencias de la computacin y la lingstica terica,

frecuentemente con mtodos e intereses divergentes.

Una gramtica formal es un conjunto de reglas para reescribir cadenas de caracteres, junto con un smbolo inicial desde el cual debe comenzar la reescritura. Por lo tanto, una gramtica formal generalmente se piensa como una generadora de lenguajes. Sin embargo, a veces tambin puede ser usada como la base para un "reconocedor": una funcin que determina si una cadena cualquiera pertenece a un lenguaje o es gramaticalmente incorrecta. Hay distintos tipos de gramticas formales que generan lenguajes formales (vase la jerarqua de Chomsky). Imaginemos una gramtica con estas dos reglas: A bA Ac El elemento en maysculas es el smbolo inicial. Los elementos en minsculas son los smbolos terminales. Para generar cadenas de caracteres, la idea es sustituir el smbolo inicial de la izquierda por los smbolos de la derecha, y luego repetir el proceso hasta que slo haya smbolos terminales. Por ejemplo:

A bA bbA bbbA bbbc Esta gramtica da lugar a un lenguaje formal que consiste en el conjunto de todas las cadenas de caracteres que pueden ser generadas por medio ellas. Por ejemplo: bbbc, bbbbbbbbc, c, bc, etc. Para comprender mejor la idea, podemos considerar un modelo de reescritura para el espaol:

O SUJ PRED (Oracin Sujeto Predicado) SUJ Det N (Sujeto Determinante Nombre) PRED V COMP (Predicado Verbo Complemento) Det el N nio, (hombre, anciano) V duerme, (re, come) COMP plcidamente, (intranquilo) Estas reglas pueden utilizarse para generar la frase "el nio duerme plcidamente", as: O (smbolo inicial) SUJ(ETO) PRED(ICADO) (por la regla 1) Det(erminante) N(OMBRE) PRED(ICADO) (por la regla 2) Det(erminante) N(OMBRE) V(ERBO) COMP(LEMENTO) (por la regla 3) el N(OMBRE) V(ERBO) COMP(LEMENTO) (por la regla 4) el nio V(ERBO) COMP(LEMENTO) (por la regla 5) el nio duerme COMP(LEMENTO) (por la regla 6) el nio duerme plcidamente (por la regla 7) LENGUAJE DE PROGRAMACIN

Un lenguaje de programacin es un idioma artificial diseado para expresar procesos que pueden ser llevadas a cabo por mquinas como las

computadoras. Pueden usarse para crear programas que controlen el comportamiento fsico y lgico de una mquina, para expresar algoritmos con precisin, o como modo de comunicacin humana.1 Est formado por un conjunto de smbolos y reglas sintcticas y semnticas que definen su estructura y el significado de sus elementos y expresiones. Al proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene el cdigo fuente de un programa informtico se le llama programacin. Tambin la palabra programacin se define como el proceso de creacin de un programa de computadora, mediante la aplicacin de procedimientos lgicos, a travs de los siguientes pasos: El desarrollo lgico del programa para resolver un problema en particular. Escritura de la lgica del programa empleando un lenguaje de programacin especfico (codificacin del programa). Ensamblaje o compilacin del programa hasta convertirlo en lenguaje de mquina. Prueba y depuracin del programa. Desarrollo de la documentacin. Lenguajes De Programacin Interpretativos y Funcionales

Los lenguajes de programacin generalmente se dividen en dos grupos principales en base al procesamiento de sus comandos:

lenguajes imperativos; lenguajes funcionales.

Un lenguaje imperativo programa mediante una serie de comandos, agrupados en bloques y compuestos de rdenes condicionales que permiten al programa retornar a un bloque de comandos si se cumple la condicin. Estos fueron los primeros lenguajes de programacin en uso y an hoy muchos lenguajes modernos usan este principio. No obstante, los lenguajes imperativos estructurados carecen de flexibilidad debido a la secuencialidad de las instrucciones.

Un lenguaje

de

programacin

funcional(a

menudo

llamado lenguaje

procedimental) es un lenguaje que crea programas mediante funciones,


devuelve un nuevo estado de resultado y recibe como entrada el resultado de otras funciones. Cuando una funcin se invoca a s misma, hablamos de recursividad. Interpretacin y Compilacin

Los lenguajes de programacin pueden, en lneas generales, dividirse en dos categoras:


lenguajes interpretados lenguajes compilados

Lenguaje Interpretado: Un lenguaje de programacin es, por definicin, diferente al lenguaje mquina. Por lo tanto, debe traducirse para que el procesador pueda comprenderlo. Un programa escrito en un lenguaje interpretado requiere de un programa auxiliar (el intrprete), que traduce los comandos de los programas segn sea necesario. Lenguaje Compilado: Un programa escrito en un lenguaje "compilado" se traduce a travs de un programa anexo llamado compilador que, a su vez, crea un nuevo archivo independiente que no necesita ningn otro programa para ejecutarse a s mismo. Este archivo se llama ejecutable. Un programa escrito en un lenguaje compilado posee la ventaja de no necesitar un programa anexo para ser ejecutado una vez que ha sido compilado.

Adems, como slo es necesaria una traduccin, la ejecucin se vuelve ms rpida.