|
*** Documento en elaboración *** v151
En M&P un objeto de tipo BSX encapsula la representación
interna de una BScript eXpression. Ver Clase BSX.
Tipos de Datos BScript
En BScript los tipos de datos son básicamente dos: Átomos y Listas.
Ejemplos:
Átomos: 123 pepe “un string”
Lista: (156 pepito “otro string” (juan (luis 3) marta))
| Una Lista contiene un conjunto de valores que pueden ser de diferentes
Tipos. |
BScript eXpressions
Los átomos y las listas constituyen BScript eXpressions.
Formatos Externo e Interno
En los ejemplos anteriores los datos se muestran en su formato externo
(humanamente legible). El formato externo es un texto (string de caracteres). Para su
procesamiento es necesario traducirlo al formato interno.
Para la traducción la Clase
BSX provee el método "Parse":
BSX BSX1 = BSX.Parse(String sexp)
y para traducir del formato interno al externo basta con hacer:
String sexp2 = BSX1.Text;
Evaluación de BScript eXpressions
La tarea de un procesador BScript es evaluar BScript eXxpressions.
La evaluación de un valor atómico
(salvo que el átomo sea un Symbol) devuelve el mismo valor.
| Un Symbol es átomo que representa una variable
BScript a
la cual se le asignan valores, La evaluación de un Symbol devuelve el
valor que la variable tiene asignado. Eje,mplo de asignación: (setq descuento 10.3)
|
Pero una lista puede ser un dato (cuyo formato es una lista) o ser un llamado a
una función
(juan luis marta)
(plus 1 2 3)
Salvo que se indique lo contrario el procesador considera las listas como
llamados a funciones.
Para indicarle al procesador que la lista es un dato se usa el
operador quote
(`):
`(juan luis marta)
que es la forma abreviada de:
(quote (juan luis marta))
donde "quote" es una función que simplemente devuelve el argumento suministrado
sin evaluarlo.
Evaluación BScript
La evaluación en BLOCKS se realiza mediante el método "Eval" de la Clase
BSX:
Para obtener el valor encapsulado en un objeto BSX basta con hacer:
object oexp1 = BSX2.Value;
Serialización y Deserialización en BScript
El proceso de traducción del formato interno al externo se denomina
Serialización y el proceso inverso se denomina Deserialización.
En BScript estos procesos se realizan con máxima performance como
consecuencia del isomorfismo entre el formato externo y el formato
interno.
| Las eXpressions BScript son compactas y permiten una serialización y
deserialización de máxima performance en el
Procesamiento Distribuido. |
|