00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #include "sexpress.hpp"
00017 #include "iexcept.hpp"
00018
00019 IntelibX::IntelibX(const char *a_descr)
00020 : descr(a_descr)
00021 {}
00022
00023 IntelibX::IntelibX(const char *a_descr, SReference a_param)
00024 : descr(a_descr), param(a_param)
00025 {}
00026
00027 IntelibX::IntelibX(const IntelibX& other)
00028 : descr(other.descr), param(other.param), stack(other.stack)
00029 {}
00030
00031 IntelibX::~IntelibX()
00032 {}
00033
00034 void IntelibX::AddStack(SReference ref)
00035 {
00036 if(stack.GetPtr()) {
00037 stack = SReference(ref, stack);
00038 } else {
00039 stack = SReference(ref, *PTheEmptyList);
00040 }
00041 }
00042
00043
00044
00045 IntelibX_wrong_expression_type::
00046 IntelibX_wrong_expression_type(const SReference& a_param)
00047 : IntelibX("Wrong expression type", a_param) {}
00048
00049 IntelibX_not_a_string::
00050 IntelibX_not_a_string(SReference a_param)
00051 : IntelibX("Not a string", a_param) {}
00052
00053 IntelibX_not_a_number::
00054 IntelibX_not_a_number(SReference a_param)
00055 : IntelibX("Not a number", a_param) {}
00056
00057 IntelibX_not_a_char::
00058 IntelibX_not_a_char(SReference a_param)
00059 : IntelibX("Not a char", a_param) {}
00060
00061 IntelibX_not_a_cons::
00062 IntelibX_not_a_cons(SReference a_param)
00063 : IntelibX("Not a cons", a_param) {}
00064
00065 IntelibX_not_a_list::
00066 IntelibX_not_a_list(SReference a_param)
00067 : IntelibX("Not a list", a_param) {}
00068
00069 IntelibX_not_a_label::
00070 IntelibX_not_a_label(SReference a_param)
00071 : IntelibX("Not a label", a_param) {}
00072
00073 IntelibX_unexpected_unbound_value::
00074 IntelibX_unexpected_unbound_value()
00075 : IntelibX("Unexpected unbound value") {}
00076
00077 IntelibX_not_implemented::
00078 IntelibX_not_implemented()
00079 : IntelibX("Called for unimplemented feature. Sorry.") {}
00080
00081 IntelibX_bug::
00082 IntelibX_bug()
00083 : IntelibX("There's a bug in the library, refer to the source code") {}
00084