semantica

Páginas: 5 (1234 palabras) Publicado: 3 de diciembre de 2013
Semántica de un Lenguaje de Programación

1. ¿Qué aspectos semánticos se destacan en la “evaluación de expresiones”,  “instrucciones de control” y “reglas de ejecución” de su lenguaje de programación?

-        En la evaluación de expresiones consideren el orden de evaluación. Por ejemplo, si hay operaciones con mayor precedencia que otras.
Las expresiones pueden ser de tipo aritmético ológico.

Expresiones Aritméticas
Las más básicas, como la suma, resta, multiplicación y división son de sobra conocidas. Otras operaciones como la división entera o el remanente (o módulo) se implementan en cada lenguaje de una forma distinta, un breve ejemplo:

> 2 + 2.
4
> 2 - 2.
0
> 2 * 3.
6
> 10 / 3.
3.3333333333333335
> 10 div 3.
3
> 10 rem 3.
1

Se puede hacer uso de losparéntesis para establecer una relación de precedencia de operadores para, por ejemplo, anteponer una suma a una multiplicación. También se pueden realizar operaciones encadenadas, por ejemplo multiplicando más de dos operandos. Ejemplos de todo esto:

> 2 * 3 + 1.
7
> 2 * (3 + 1).
8
> 3 * 3 * 3.
27

Expresiones Logicas

Vamos a ver los operadores que se emplean en el álgebra de Boole band(binary and), bor (binary or) y bxor (binary exclusive or). Estos operadores tratan los números como binarios y operan con el valor de cada una de sus posiciones (ceros o unos). Un ejemplo:

> 1 bxor 2.
3
> 1 bxor 3.
2
> 3 band 6.
2
> 2#011 bor 2#100.
7
> (bnot 2#101) band 2#11.
2
Estas herramientas nos facilitan operar de forma binaria con los números. También podemos encontrarnos conque queremos almacenar el resultado, o emplear el valor lógico de una serie de comparaciones. Para ello ya no operamos de forma binaria, sino que obtenemos resultados binarios únicos como true o false. Podríamos hacer:

> C1 = 2 > 1.
true
> C2 = 1 > 2.
false
> C1 and C2.
false
> C1 or C2.
true
> C3 = 3 =:= (1 + 2).
true
> C1 and (C2 or C3).
True

El orden de los operadores paraErlang de más prioritario a menos prioritario es el siguiente:

Operador Descripción
: Ejecución de funciones
# Resolución de registros
+ - bnot not Unitarios
/ * div rem band and División, Multiplicación e Y lógico.
+ - bor bxor bsl bsr or xor Suma, resta y O inclusivo y exclusivo.
++ -- Agrega/Sustrae de conjuntos/listas.
== /= =< < >= > =:= =/= Comparacionesandalso Y lógico con comprobación vaga
orelse O lógico con comprobación vaga
= ! Asignación y Paso de mensaje
catch Captura de errores

-        En las instrucciones de control consideren el significado de un mecanismo de selección y un mecanismo de repetición. Por ejemplo, en un lenguaje imperativo como Python, pueden describir una instrucción “IF” y una instrucción “FOR”.

Adiferencia de los lenguajes imperativos en Erlang sólo hay dos estructuras de control: if y case.
No existen Bucles como el for.

Estructura case

Probablemente la más usada. Esta estructura toma un valor inicial como referencia y busca entre las opciones que se especifican la primera que concuerde para ejecutar su bloque funcional y retornar el valor que establezca la elección.
Como dijimosen trabajos anteriores, la denominación de funcional, implica que cada acción, estructura y función debe retornar un valor. Las estructuras de control como case no son una excepción.

Veamos un ejemplo:
> Impuesto = case irpf of
irpf -> 0.25;
iva -> 0.18;
_ -> 0
end.
0.25

En este ejemplo podemos ver cómo, si la estructura que se indica en case casa con cualquiera que se suceda en lassubsiguientes líneas, se ejecuta un bloque concreto, retornando el resultado de la ejecución de dicho bloque (en este ejemplo sólo un valor). Si no se encontrase ningún valor que casara, la estructura no podría retornar nada y daría un error.
Es aconsejable acabar con un subrayado (_) que casa con todo y tomarlo como valor por defecto, a menos que se quiera expresamente que falle en caso de que...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Semantica
  • Semantica
  • Semantica
  • la semàntica
  • LA SEMÁNTICA
  • semantica
  • Semántica
  • Semantica

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS