| MADNESS
    version 0.9
    | 
This file contains standard definitions used by the parser. More...


Go to the source code of this file.
| Classes | |
| struct | mu::STATIC_ASSERTION_FAILURE< bool > | 
| Static type checks.  More... | |
| struct | mu::STATIC_ASSERTION_FAILURE< true > | 
| Namespaces | |
| mu | |
| Namespace for mathematical applications. | |
| Macros | |
| #define | MUP_BASETYPE double | 
| Define the base datatype for values.  More... | |
| #define | MUP_BYTECODE_TYPE long | 
| Definition of the basic bytecode datatype.  More... | |
| #define | _T | 
| #define | MUP_STRING_TYPE std::string | 
| Definition of the basic parser string type.  More... | |
| #define | MUP_FAIL(MSG) | 
| #define | MUP_ASSERT(COND) | 
| Typedefs | |
| typedef MUP_BASETYPE | mu::value_type | 
| The numeric datatype used by the parser.  More... | |
| typedef MUP_STRING_TYPE | mu::string_type | 
| The stringtype used by the parser.  More... | |
| typedef MUP_BYTECODE_TYPE | mu::bytecode_type | 
| The bytecode type used by the parser.  More... | |
| typedef string_type::value_type | mu::char_type | 
| The character type used by the parser.  More... | |
| typedef std::basic_stringstream < char_type, std::char_traits < char_type >, std::allocator < char_type > > | mu::stringstream_type | 
| Typedef for easily using stringstream that respect the parser stringtype.  More... | |
| typedef std::map< string_type, value_type * > | mu::varmap_type | 
| Type used for storing variables.  More... | |
| typedef std::map< string_type, value_type > | mu::valmap_type | 
| Type used for storing constants.  More... | |
| typedef std::map< string_type, std::size_t > | mu::strmap_type | 
| Type for assigning a string name to an index in the internal string table.  More... | |
| typedef value_type(* | mu::fun_type0 )() | 
| Callback type used for functions without arguments.  More... | |
| typedef value_type(* | mu::fun_type1 )(value_type) | 
| Callback type used for functions with a single arguments.  More... | |
| typedef value_type(* | mu::fun_type2 )(value_type, value_type) | 
| Callback type used for functions with two arguments.  More... | |
| typedef value_type(* | mu::fun_type3 )(value_type, value_type, value_type) | 
| Callback type used for functions with three arguments.  More... | |
| typedef value_type(* | mu::fun_type4 )(value_type, value_type, value_type, value_type) | 
| Callback type used for functions with four arguments.  More... | |
| typedef value_type(* | mu::fun_type5 )(value_type, value_type, value_type, value_type, value_type) | 
| Callback type used for functions with five arguments.  More... | |
| typedef value_type(* | mu::multfun_type )(const value_type *, int) | 
| Callback type used for functions with a variable argument list.  More... | |
| typedef value_type(* | mu::strfun_type1 )(const char_type *) | 
| Callback type used for functions taking a string as an argument.  More... | |
| typedef value_type(* | mu::strfun_type2 )(const char_type *, value_type) | 
| Callback type used for functions taking a string and a value as arguments.  More... | |
| typedef value_type(* | mu::strfun_type3 )(const char_type *, value_type, value_type) | 
| Callback type used for functions taking a string and two values as arguments.  More... | |
| typedef int(* | mu::identfun_type )(const char_type *sExpr, int *nPos, value_type *fVal) | 
| Callback used for functions that identify values in a string.  More... | |
| typedef value_type *(* | mu::facfun_type )(const char_type *, void *) | 
| Callback used for variable creation factory functions.  More... | |
| typedef char | mu::MAP_TYPE_CANT_BE_UNSIGNED [sizeof(STATIC_ASSERTION_FAILURE< bytecode_type(-1)< 0 >)] | 
| This is a static typecheck.  More... | |
| Enumerations | |
| enum | mu::ECmdCode { mu::cmLE = 0, mu::cmGE = 1, mu::cmNEQ = 2, mu::cmEQ = 3, mu::cmLT = 4, mu::cmGT = 5, mu::cmADD = 6, mu::cmSUB = 7, mu::cmMUL = 8, mu::cmDIV = 9, mu::cmPOW = 10, mu::cmAND = 11, mu::cmOR = 12, mu::cmXOR = 13, mu::cmASSIGN = 14, mu::cmBO = 15, mu::cmBC = 16, mu::cmARG_SEP, mu::cmVAR, mu::cmVAL, mu::cmFUNC, mu::cmFUNC_STR, mu::cmSTRING, mu::cmOPRT_BIN, mu::cmOPRT_POSTFIX, mu::cmOPRT_INFIX, mu::cmEND, mu::cmUNKNOWN } | 
| Bytecode values.  More... | |
| enum | mu::ETypeCode { mu::tpSTR = 0, mu::tpDBL = 1, mu::tpVOID = 2 } | 
| Types internally used by the parser.  More... | |
| enum | mu::EPrec { mu::prLOGIC = 1, mu::prCMP = 2, mu::prADD_SUB = 3, mu::prMUL_DIV = 4, mu::prPOW = 5, mu::prINFIX = 4, mu::prPOSTFIX = 4 } | 
| Parser operator precedence values.  More... | |
| Functions | |
| std::ostream & | mu::console () | 
| Encapsulate cout.  More... | |
| std::istream & | mu::console_in () | 
| Encapsulate cin.  More... | |
This file contains standard definitions used by the parser.
| #define _T | 
| #define MUP_ASSERT | ( | COND | ) | 
| #define MUP_BASETYPE double | 
Define the base datatype for values.
This datatype must be a built in value type. You can not use custom classes. It has been tested with float, double and long double types, int should work as well.
| #define MUP_BYTECODE_TYPE long | 
Definition of the basic bytecode datatype.
This defines the smalles entity used in the bytecode.
| #define MUP_FAIL | ( | MSG | ) | 
| #define MUP_STRING_TYPE std::string | 
Definition of the basic parser string type.
 1.8.8
 1.8.8