#include <lsymbol.hpp>
Inheritance diagram for LExpressionSymbol:
The class represents the functionality of a Lisp symbol
Definition at line 40 of file lsymbol.hpp.
Public Member Functions | |
LExpressionSymbol (const char *a_name) | |
The constructor. | |
const LReference & | GetDynamicValue () const |
Get the dynamic (global) value of the symbol. | |
LReference & | GetDynamicValueRef () |
Get the dynamic (global) value by reference. | |
void | SetDynamicValue (const SReference &val) |
Set the dynamic (global) value of the symbol. | |
const LReference & | GetFunction () const |
Get the associated functional object if any. | |
LReference & | GetFunctionRef () |
Get the associated functional by reference. | |
void | SetFunction (const LReference &val) |
Set the associated functional object. | |
bool | IsDynamic () const |
Query if the symbol has dynamic binding style. | |
bool | IsConstant () const |
Query if the symbol is a constant. | |
void | SetDynamicBinding (bool dyn=true) |
Set binding style. | |
void | SetConstant (bool cnst=true) |
Set constantness. | |
virtual SString | TextRepresentation () const |
Text representation of the S-expression. | |
const char * | GetName () const |
const IntelibTypeId & | TermType () const |
Actual S-expression type. | |
bool | IsChangeable () const |
Can it be changed during the lifetime of the object? | |
virtual SExpression * | Clone () const |
Clone a changeable object. | |
virtual bool | SpecificEql (const SExpression *) const |
Are the two objects EQL (while not EQ). | |
Static Public Attributes | |
static IntelibTypeId | TypeId |
The type identifier. | |
Protected Member Functions | |
LExpressionSymbol (const char *a_name, const IntelibTypeId &t) | |
~LExpressionSymbol () | |
bool | CanDie () |
Is it OK to delete the object now? |
|
Definition at line 46 of file lsymbol.hpp. |
|
Definition at line 49 of file lsymbol.hpp. |
|
The constructor.
Definition at line 54 of file lsymbol.hpp. References TypeId. |
|
Get the dynamic (global) value of the symbol.
Definition at line 59 of file lsymbol.hpp. |
|
Get the dynamic (global) value by reference.
Definition at line 61 of file lsymbol.hpp. |
|
Set the dynamic (global) value of the symbol.
Definition at line 38 of file lsymbol.cpp. Referenced by LSymbolNIL::LSymbolNIL(), LSymbolT::LSymbolT(), and LSymbol::~LSymbol(). |
|
Get the associated functional object if any.
Definition at line 65 of file lsymbol.hpp. Referenced by RetrieveFunctionObject(). |
|
Get the associated functional by reference.
Definition at line 67 of file lsymbol.hpp. |
|
Set the associated functional object.
Definition at line 69 of file lsymbol.hpp. Referenced by LSymbol::~LSymbol(). |
|
Query if the symbol has dynamic binding style.
Definition at line 72 of file lsymbol.hpp. |
|
Query if the symbol is a constant.
Definition at line 74 of file lsymbol.hpp. |
|
Set binding style.
Definition at line 76 of file lsymbol.hpp. |
|
Set constantness.
Definition at line 78 of file lsymbol.hpp. Referenced by LSymbolNIL::LSymbolNIL(), and LSymbolT::LSymbolT(). |
|
Text representation of the S-expression. Returns the text string which represents the given S-expression as for real Lisp (for example, (25 36 49)) Implements SExpression. |
|
Definition at line 440 of file sexpress.hpp. Referenced by SExpressionHashPackage::Import(). |
|
Actual S-expression type.
Definition at line 195 of file sexpress.hpp. Referenced by SReference::DynamicCastGetPtr(), SchReference::IsEql(), LReference::IsEql(), SReference::SimpleCastGetPtr(), SchReference::TextRepresentation(), and LReference::TextRepresentation(). |
|
Can it be changed during the lifetime of the object?
Definition at line 198 of file sexpress.hpp. References IntelibTypeId::IsChangeable(). |
|
Clone a changeable object. The method should return the pointer created with new
Reimplemented in SExpressionBacklink, SExpressionCons, SExpressionHashTable, SExpressionRawBuffer, and SExpressionVector. Definition at line 214 of file sexpress.hpp. |
|
Are the two objects EQL (while not EQ). This function is overriden by those SExpressions able to be EQL while being not EQ.
Reimplemented in SExpressionInt, SExpressionFloat, SExpressionChar, and SExpressionString. Definition at line 235 of file sexpress.hpp. Referenced by SchReference::IsEql(), and LReference::IsEql(). |
|
Is it OK to delete the object now? Our children have no access to the private attribute RefCount and should never need it except when checking if the destruction is not an error. This solves the problem. Definition at line 53 of file refcount.hpp. |
|
The type identifier.
Reimplemented from SExpressionLabel. Referenced by LExpressionSymbol(). |