00001 00002 // Common Text Transformation Library 00003 // Copyright (C) 1997-2006 by Igor Kholodov. 00004 // 00005 // This library is free software; you can redistribute it and/or 00006 // modify it under the terms of the GNU Lesser General Public 00007 // License as published by the Free Software Foundation; either 00008 // version 2.1 of the License, or (at your option) any later version. 00009 // 00010 // This library is distributed in the hope that it will be useful, 00011 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 // Lesser General Public License for more details. 00014 // 00015 // You should have received a copy of the GNU Lesser General Public 00016 // License along with this library; if not, write to the 00017 // Free Software Foundation, Inc., 00018 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 00019 // 00020 // mailto:cttl@users.sourceforge.net 00021 // http://sourceforge.net/projects/cttl/ 00023 00032 // lambda.h 00033 00034 #ifndef _CTTL_LAMBDA_H_INCLUDED_ 00035 #define _CTTL_LAMBDA_H_INCLUDED_ 00036 00037 00038 // The following preprocessor macros may be used to control lambda tracing levels: 00039 //#define CTTL_TRACE_EVERYTHING // by default automatically turns lambda tracing on 00040 //#define CTTL_TRACE_RULES // by default automatically turns lambda tracing on 00041 //#define CTTL_TRACE_DEPOSITS // turns lambda tracing on 00042 //#define CTTL_TRACE_DEPOSITS_OFF // turn lambda tracing off, to be used in combination with CTTL_TRACE_EVERYTHING and CTTL_TRACE_RULES 00043 //#define CTTL_TRACE_DEPOSIT_LINE_ON // turns on tracing of lambda operator adaptors 00044 00045 // The following macros may be used for compatibility with older compilers: 00046 //#define CTTL_LAMBDA_SINGULAR // turns off lambda composites 00047 00048 #include <stack> 00049 #include "xst_deposit_adaptor.h" 00050 #include "xst_operator_traits.h" 00051 #include "xst_binary_adaptor.h" 00052 #include "xst_unary_adaptor.h" 00053 #include "xst_base.h" 00054 #include "xst_instruction_traits.h" 00055 #include "xst_instructions.h" 00056 #include "xst_const_scalar.h" 00057 #include "xst_assignment_adaptors.h" 00058 #include "xst_subscript_adaptors.h" 00059 #include "xst_operator_adaptors.h" 00060 #include "xst_storage_adaptor.h" 00061 #include "xst_scalar.h" 00062 #include "xst_stack.h" 00063 #include "xst_dictionary_translator.h" 00064 #include "xst_sequence_translator.h" 00065 #include "xst_edge_translator.h" 00066 #include "xst_literal_translator.h" 00067 #include "xst_translator.h" 00068 #ifndef CTTL_LAMBDA_SINGULAR 00069 # include "xst_pair.h" 00070 #endif //CTTL_LAMBDA_SINGULAR 00071 #include "xst_iterator_writer.h" 00072 #include "xst_helpers.h" 00073 #include "xst_operator_functions.h" 00074 #include "xst_lambda.h" 00075 00076 #include "xst_traced_action_base.h" 00077 00078 // free functions with one argument 00079 #include "xst_static_action.h" 00080 #include "xst_static_void.h" 00081 00082 // free functions with no arguments 00083 #include "xst_static_noarg_action.h" 00084 #include "xst_static_noarg_void.h" 00085 00086 // member functions with one argument 00087 #include "xst_member_action.h" 00088 #include "xst_member_void.h" 00089 00090 // member functions with no arguments 00091 #include "xst_member_noarg_action.h" 00092 #include "xst_member_noarg_void.h" 00093 00094 #include "xst_action_helpers.h" 00095 #include "xst_action_helpers_traced.h" 00096 #include "xst_member_action_alias.h" 00097 #include "xst_member_action_alias.h" 00098 #include <bitset> 00099 #include "xst_member_alias_bitset.h" 00100 00101 #endif // _CTTL_LAMBDA_H_INCLUDED_ 00102 00104 00234 00235 00273 00274 00292 00293 00358 00359 00443 00444 00491 00492 00512 00513 00547 00548 00549 00559 00560 00570 00571 00581 00582 00592 00593 00604 00605 00615 00616 00626 00627 00637 00638 00648 00649 00659 00660 00670 00671 00681 00682 00692 00693 00703 00704
1.3.9.1