#include <scheme.hpp>
Inheritance diagram for SchReference:
This class only differs from SReference in that is has evaluation-related functions, the operator~(), the IsTrue(), IsEql() and IsEqual() functions.
Definition at line 38 of file scheme.hpp.
Public Member Functions | |
SchReference () | |
Default constructor creates an unbound reference. | |
SchReference (const SchReference &ref) | |
Copy constructor. | |
SchReference (const SReference &ref) | |
Cast constructor. | |
SchReference (SExpression *p) | |
Cast from a plain pointer. | |
template<class X> | |
SchReference (X &x) | |
template<class X> | |
SchReference (const X &x) | |
~SchReference () | |
The destructor. | |
SchReference | Evaluate () const |
Evaluate the expression. | |
SchReference | Evaluate (class SchemeContinuation &cont) const |
Evaluate the expression within an existing machine. | |
bool | IsTrue () const |
Is the object 'true' in the sence of Scheme. | |
SchReference & | operator, (const SReference &ref) |
Add another element to list. | |
SchReference & | operator|| (const SReference &ref) |
Set the cdr of the last pair of list. | |
SchReference | operator~ () const |
Make the list (QUOTE *this). | |
bool | IsEql (const SReference &other) const |
Is the object EQL (in the sence of CL) to the other. | |
bool | IsEqual (const SReference &other) const |
Is the object EQUAL (in the sence of CL) to the other. | |
SString | TextRepresentation () const |
SExpression * | GetPtr () const |
Get a plain pointer. | |
SReference & | AddAnotherItemToList (const SReference &right) |
Add item to list. | |
SReference & | ChangeListEnd (const SReference &new_last) |
Make/change dotted list. | |
SReference | MakeCons (const SReference &right) const |
Make a cons. | |
SReference | operator^ (const SReference &t) const |
CONS operation. | |
bool | operator== (const SReference &other) const |
Equality is just pointer comparision. | |
bool | operator== (const SExpression *other) const |
Equality is just pointer comparision. | |
bool | operator!= (const SReference &other) const |
Non-equality is just pointer comparision. | |
bool | operator!= (const SExpression *other) const |
Non-equality is just pointer comparision. | |
SReference & | Car () const |
SReference & | Cdr () const |
SReference & | CCar () const |
SReference & | CCdr () const |
intelib_float_t | GetFloat () const |
intelib_integer_t | GetInt () const |
const char * | GetString () const |
char | GetSingleChar () const |
template<class Tp> | |
Tp * | DynamicCastGetPtr () const |
template<class Tp> | |
Tp * | SimpleCastGetPtr () const |
SReference | Clone () const |
SReference | CopyList () const |
SReference | CopyTree () const |
bool | IsEmptyList () const |
SExpression * | operator-> () const |
Field/method selection. | |
SExpression & | operator * () const |
Dereference. |
|
Default constructor creates an unbound reference.
Definition at line 41 of file scheme.hpp. Referenced by IsEqual(), operator~(), and TextRepresentation(). |
|
Copy constructor.
Definition at line 43 of file scheme.hpp. |
|
Cast constructor.
Definition at line 45 of file scheme.hpp. |
|
Cast from a plain pointer.
Definition at line 47 of file scheme.hpp. |
|
Definition at line 51 of file scheme.hpp. |
|
Definition at line 52 of file scheme.hpp. |
|
The destructor.
Definition at line 55 of file scheme.hpp. |
|
Evaluate the expression. This method creates a local object of SchemeContinuation and uses it to evaluate the expression. Consider it as a top-level form evaluation. Definition at line 20 of file scheme.cpp. |
|
Evaluate the expression within an existing machine. The given SchemeContinuation's state is marked; then, the object is used to evaluate the expression (that is, *this is scheduled to be evaluated within that SchemeContinuation object, and the evaluation is launched to run until the marked state is reached again).
Definition at line 26 of file scheme.cpp. |
|
Is the object 'true' in the sence of Scheme. Returns false in case the object stores the same pointer as PTheSchemeBooleanFalse variable does; otherwise, returns true. Definition at line 140 of file scheme.hpp. References SReference::GetPtr(), and PTheSchemeBooleanFalse. |
|
Add another element to list.
Reimplemented from SReference. Definition at line 83 of file scheme.hpp. References SReference::operator,(). |
|
Set the cdr of the last pair of list.
Reimplemented from SReference. Definition at line 87 of file scheme.hpp. References SReference::operator||(). |
|
Make the list (QUOTE *this).
Definition at line 143 of file scheme.hpp. References PTheEmptyList, PTheSchemeSymbolQuote, SchReference(), and SReference::SReference(). |
|
Is the object EQL (in the sence of CL) to the other.
Reimplemented from SReference. Definition at line 35 of file scheme.cpp. References SReference::GetPtr(), SExpression::SpecificEql(), and SExpression::TermType(). Referenced by IsEqual(). |
|
Is the object EQUAL (in the sence of CL) to the other.
Reimplemented from SReference. Definition at line 45 of file scheme.cpp. References SExpressionCons::Car(), SExpressionCons::Cdr(), IsEql(), and SchReference(). |
|
This version differs from SExpression::TextRepresentation() in that it handles the QUOTE form Definition at line 67 of file scheme.cpp. References SExpressionCons::Car(), SExpressionCons::Cdr(), SExpressionCons::CoreTextRepresentation(), SReference::GetPtr(), SReference::IsEmptyList(), PTheSchemeSymbolQuote, SchReference(), SExpression::TermType(), and SExpression::TextRepresentation(). |
|
|
Add item to list. For a list, adds another dotted pair to its end. For non-lists, the result is undefined. Referenced by SReference::operator,(). |
|
Make/change dotted list.
Referenced by SReference::operator||(). |
|
Make a cons. Produces a cons (dotted pair) using *this as the CAR and the given argument as the CDR Referenced by SReference::operator^(). |
|
CONS operation. Operator "^" is used to produce conses Definition at line 552 of file sexpress.hpp. References SReference::MakeCons(). |
|
Equality is just pointer comparision.
Definition at line 556 of file sexpress.hpp. References SReference::GetPtr(). |
|
Equality is just pointer comparision.
Definition at line 562 of file sexpress.hpp. References SReference::GetPtr(). |
|
Non-equality is just pointer comparision.
Definition at line 559 of file sexpress.hpp. References SReference::GetPtr(). |
|
Non-equality is just pointer comparision.
Definition at line 565 of file sexpress.hpp. References SReference::GetPtr(). |
|
Referenced by LExpressionMacro::Call(), SDoubleListRange::Copy(), IntelibGenericReader::Get(), RetrieveFunctionObject(), and stack_representation(). |
|
Referenced by LExpressionMacro::Call(), SBacklinkRef::Remove(), SQueue::RemoveFirst(), RetrieveFunctionObject(), and stack_representation(). |
|
|
|
|
|
Referenced by SExpressionIndirectTemplate< Tt >::Setf(). |
|
Referenced by SExpressionIndirectTemplate< Tt >::Setf(). |
|
Referenced by SExpressionIndirectTemplate< Tt >::Setf(). |
|
|
|
|
Definition at line 695 of file sexpress.hpp. References SReference::GetPtr(), and SExpression::TermType(). |
|
Referenced by SExpressionVector::Clone(), and SExpressionHashTable::Clone(). |
|
|
|
|
|
|
|