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.