Está en la página 1de 9

REPUBLICA BOLIVARIANA DE VENEZUELA

MINISTERIO DE EDUCACION SUPERIOR


ASIGNATURA: LENGUAJES DE PROGRAMACION

Guatire, Noviembre del 2014

INTRODUCCIN

En la actualidad existe una gran variedad de lenguajes de programacin, cada


uno con una especificacin informal de sus aspectos semnticos. En muchos casos,
dicha especificacin es contradictoria, ambigua u omite detalles; esto impide una
formulacin y pruebas rigurosas de las propiedades semnticas del mismo.

Adems, la terminologa empleada no es estndar, impidiendo encontrar


similitudes y diferencias entre los lenguajes que especifican.

En los ltimos aos se han realizado esfuerzos por desarrollar un marco


terico apropiado de trabajo que permita el anlisis y especificacin formal de los
aspectos semnticos de los lenguajes de programacin.

EQUIVALENCIAS DE PROGRAMAS

Se refiere a las funciones parecidas que trabajan en los diferentes sistemas


operativos.
Una de las ms grandes dificultades en la migracin de Windows a Linux es la
carencia de software equivalente. Los Newbies por lo general buscan los software
equivalentes de Windows para Linux, y los usuarios avanzados de Linux no pueden
contestar sus preguntas ya que ellos a menudo no conocen demasiado sobre Windows
. Esta lista de equivalencias / reemplazos / de software anlogo a Windows en Linux
est basada en nuestra propia experiencia.

Esta Tabla no est esttica - nuevos programas pueden ser agregados a lados
derechos en tanto se est en marcha, y esto no es el hecho que la columna derecha
ser llenada inmediatamente. En el futuro nosotros planeamos migrar esta tabla a
PHP/MySQL, as los mismos visitantes podrn agregar programas, votar por los
programas equivalentes

Notas:
1. Por principio todos los programas de Linux en esta tabla son libres y estn en
liberados. Los programas propietarios para Linux estn marcados con una seal
[Prop].
2. Si no hay nada en el campo de la tabla, excepto "???" - Los autores de la tabla no
saben que colocar all.
3. Si la seal (???) se encuentra detrs del nombre del programa - Los autores de la
tabla no estn seguros sobre este programa.

La importancia ideolgica de la diferencia entre Windows y Linux:


La mayora de los programas de Windows son hechos con el principio de
"Todo en uno" (cada desarrollador agrega todo a su producto). De la misma manera, a
este principio le llaman el "estilo-Windows".

La Ideologa de UNIX/Linux - Un componente o un programa deben ejecutar


slo una tarea, pero lo ejecuta bien. ("estilo-UNIX"). Los programas bajo Linux
pueden ser pensados como LEGOS componentes bsicos. (Por ejemplo, si hay un
programa para la comprobacin de ortografa, esto puede ser usado con el editor de
textos o por un cliente de email al enviarlo; o si hay un poderoso programa de lneas
de comando para el uso de archivos, es simple escribir el Interfaz grfica para el
programa, etc.)

Este principio es muy importante y es necesario conocerlo para buscar


programas equivalentes de Windows en Linux

CORRECCIN

==

Significa que las derivaciones expresan una consecuencia lgica.

Establece una correspondencia tal que partiendo de nociones sintcticas


(derivaciones) se llega a nociones semnticas (los modelos de son modelos de
)

Se demuestra por induccin sobre Der

COMPLETITUD

Significa que si una frmula es consecuencia lgica de un conjunto de


frmulas, entonces hay una derivacin con hiptesis en el conjunto y cuya conclusin
es la frmula.

Establece una correspondencia que partiendo de nociones semnticas permite


llegar a nociones sintcticas.

SEMNTICA DENOTACIONAL

Define funciones del Lenguaje a un dominio especfico

Lenguaje

Dominio de valores

SEMNTICA DENOTACIONAL

Ejemplo

Lenguaje de las expresiones es

Nmeros enteros

Para cada no-terminal se define una funcin denotacional

La funcin denotacional se define por medio de ecuaciones denotacionales

Una por cada regla de produccin.


El argumento de la ecuacin es el lado derecho de la produccin Ejemplo Sencillo
Regla gramatical Ecuacin denotacional
E

E + T, E ( E + T) = E (E) + T (T) explicacin

Si una expresin es de la forma expresin ms trmino:


Se debe calcular el valor de la subexpresin y el trmino y sumarlos.
E

T E ( T) = T ( T ) explicacin

Si una expresin es un trmino, entonces su valor es el mismo valor del trmino.


T

T * F,

T (T* F) = T ( T ) F ( F ) explicacin

Si trmino es de la forma: termino multiplicado por factor se debe calcular el


valor del subtrmino y del factor y multiplicarlos.
T

F T (T ) = F ( F ) explicacin

Si el trmino es un factor, su valor es el mismo que el del factor.

SEMNTICA AXIOMTICA

Se utiliza para demostrar la correccin de los programas, para demostrar que


un programa hace los que dice la especificacin. Cada sentencia del programa est

precedida y seguida por una expresin lgica que especifica restricciones sobre el
contenido de las variables del programa, antes y despus de la ejecucin de la
sentencia.
Utilizaremos la Lgica de Predicados. Un predicado es una relacin entre
objetos a la que siempre es posible asignar uno de los valores del conjunto {Falso,
Verdadero} en funcin de los objetos involucrados.

Ejemplo
Lgica de Predicados
{P}
Sentencia
{Q}

Estas inst. Lgicas o predicados se


llaman Precondicin y Postcondicin respectivamente.

El predicado P se denomina Precondicin y caracteriza el estado inicial para el


que est garantizado que el programa funciona correctamente, mientras que el
Predicado Q se denomina Postcondicin y caracteriza la relacin entre el estado
inicial, supuesto este vlido, y el estado final alcanzado por el algoritmo. Relacionado
con el concepto de Precondicin est: Weakest Precondition (precondicin menos
restrictiva que garantiza la validez de la postcondicin).

Es un enfoque basado en la lgica matemtica para demostrar la correctitud de


un algoritmo. Est estrechamente relacionado con la lgica de Hoare.
La semntica axiomtica define el significado de un comando dentro de un programa,
mediante la descripcin de su efecto sobre las aserciones acerca del estado del
programa.

El primer aporte significativo en esta aproximacin, fue realizado por Hoare y


Wirth en 1980, ms precisamente para proveer la semntica del lenguaje Pascal.
Hay muchos enfoques a las semnticas formales, las cuales pertenecen a tres
categoras principales:

Semntica denotacional, por medio de las cuales cada frase en el lenguaje es


interpretada como una denotacin. Tales denotaciones a menudo son objetos
matemticos que habitan espacios matemticos, pero no es un requerimiento que
stas deban serlo. Como una necesidad prctica, las denotaciones se describen usando
alguna forma de notacin matemtica, la cual en turno puede ser formalizada como
un metalenguaje denotativo. Por ejemplo, las semnticas denotacionales de lenguajes
funcionales muchas veces traducen el lenguaje en teora de dominio. Las
descripciones semnticas denotacionales tambin pueden servir como traducciones de
composicin de un lenguaje de programacin en el metalenguaje denotativo y se
utiliza como base para el diseo de compiladores.

Semntica axiomtica, a travs de la cual se le da significado a las frases


describiendo los axiomas lgicos que se aplican a ellas. Las semnticas axiomticas
no hacen distincin entre un significado de una frase y las frmulas lgicas que la
describen, su significado es exactamente lo que se puede probar de ella en alguna
lgica. El ejemplo cannico de semnticas axiomticas es la lgica de Hoare.
Las diferencias entre estas tres amplias clases de aproximaciones puede que a veces
sean difusas, pero todas las aproximaciones conocidas a las semnticas formales usan
las tcnicas de arriba, o alguna combinacin de ellas.
Aparte de la eleccin entre aproximacin denotacional, operacional o axiomtica, la
mayora de las variaciones en los sistemas de semntica formal vienen de la eleccin
de la base en el formalismo matemtico.

SEMNTICA OPERACIONAL

El significado de un programa se describe mediante la ejecucin de sus


sentencias sobre una mquina. Tengo que traducir el lenguaje fuente del que quiero
especificar la semntica, a un lenguaje de bajo nivel, tpicamente al lenguaje
mquina. Como esto es muy complejo, en vez de traducir a un lenguaje mquina, lo
que se hace es traducir a un lenguaje de una mquina abstracta (es un lenguaje
mquina en el que se eliminan los detalles particulares de la maquina).

Ejemplo
Sentencias del C
For (expr1; expr2; expr3) { ... }
Con semntica operacional:
Expr1;
Bucle : if expr2=0 goto salir
Expr3;
Goto bucle;
Salir: ...

Donde la ejecucin del lenguaje se describe directamente (en vez de hacerse


mediante el uso de una traduccin). Las semnticas operacionales tienen que ver con
la interpretacin, aunque nuevamente el lenguaje de implementacin del intrprete
es de forma general un formalismo matemtico. Las semnticas operacionales pueden
definir una mquina abstracta (como la mquina SECD), y dan significado a las
frases describiendo las transiciones que ellas inducen en los estados de la mquina.
De forma alternativa, como con el clculo lambda puro, las semnticas operacionales
pueden ser definidas va transformaciones sintcticas sobre frases del lenguaje en s
mismo

BIBLIOGRAFA

Linuxrsp.ru (2011). [Pgina Web en Linea]. Disponible: http://www.linuxrsp.ru/winlin-soft/index-spanish.html [Consulta: 2011, Diciembre 29].

doc.ubuntu-es (2012). [Pgina Web en Lnea]. Disponible: http://doc.ubuntues.org/Aplicaciones_y_equivalencias

El

Rincn

del

Vago

(1998).

[Pgina

Web

en

Lnea].

Disponible:

http://download.rincondelvago.com/lenguaje-de-programacion_conceptos [Consulta:
2014, Noviembre 20].

Wikipedia

(2013).

[Pgina

Web

en

Lnea].

Disponible:

http://es.wikipedia.org/wiki/Sem%C3%A1ntica_de_lenguajes_de_programaci%C3%
B3n [Consulta: 2014, Noviembre 20].

Wikipedia

(2013).

[Pgina

Web

en

Lnea].

Disponible:

http://es.wikipedia.org/wiki/Sem%C3%A1ntica_axiom%C3%A1tica

[Consulta:

2014, Noviembre 20].

Docentes

(2014).

[Pgina

Web

en

Lnea].

http://www.docentes.unal.edu.co/jgomezpe/docs/books/masterthesis.pdf
2014, Noviembre 20].

Disponible:
[Consulta:

También podría gustarte