Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

lambda.h

Go to the documentation of this file.
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 

Generated on Thu Nov 2 17:48:20 2006 for CTTL Lambda Expression by  doxygen 1.3.9.1