Next: Números
Up: Los objetos LE-LISP
Previous: Los objetos LE-LISP
Son identificadores que nombran variables, funciones o etiquetas. LE-LISP
representa un símbolo como un puntero a un descriptor localizado en una zona
especial de memoria. Cada descriptor tiene las siguientes propiedades intrínsecas:
- c-val (cell-value): contiene el valor de un símbolo que es una variable.
El acceso a este valor es extremadamente rápido. Cuando se crea un símbolo,
su c-val es indefinido. Cualquier intento de referenciar un símbolo que no tiene
asignado un valor provocará un error.
- p-list (property-list): contiene la lista de propiedades del símbolo
en forma de P-lista.
- f-val (function-value): contiene el valor asociado a un símbolo
que es considerado como una función. Dicho valor es una posición de memoria
para funciones de tipo SUBR y una S-expresión si es de tipo EXPR, FEXPR,
MACRO o DMACRO.
- f-type (function-type): contiene el tipo de función almacenado en f-val.
- p-type (print-type): contiene la información necesaria para
editar la representación externa del símbolo.
- o-val (object-value): Se utiliza en la implementación de las extensiones
orientadas o objeto. Puede contener cualquier S-expresión.
- a-link (atom-link): contiene la dirección del siguiente símbolo en la
tabla de símbolos.
- pckgcell (package cell): contiene el nombre del paquete
.
Una de las principales utilidades
de los paquetes es que proporcionan la base para una eficiente ejecución
de los métodos en las extensiones de programación orientada al objeto.
- p-name (print-name): contiene la dirección de la cadena de caracteres que
representa el nombre del símbolo.
No es aconsejable que el usuario manipule directamente las propiedades intrínsecas
de los símbolos.
Miguel A. Alonso Pardo
Thu Nov 20 15:31:06 CET 1997