Antiprism 0.23
|
Namespace for mathematical applications. More...
Namespaces | |
namespace | Test |
Namespace for test cases. | |
Classes | |
class | Parser |
Mathematical expressions parser. More... | |
class | ParserBase |
Mathematical expressions parser (base parser engine). More... | |
class | ParserByteCode |
Bytecode implementation of the Math Parser. More... | |
class | ParserCallback |
Encapsulation of prototypes for a numerical parser function. More... | |
class | ParserErrorMsg |
A class that handles the error messages. More... | |
class | ParserError |
Error class of the parser. More... | |
class | ParserInt |
Mathematical expressions parser. More... | |
class | ParserStack |
Parser stack implementation. More... | |
struct | TypeInfo |
A class singling out integer types at compile time using template meta programming. More... | |
struct | MathImpl |
A template class for providing wrappers for essential math functions. More... | |
class | ParserToken |
Encapsulation of the data for a single formula token. More... | |
class | ParserTokenReader |
Token reader for the ParserBase class. More... | |
Typedefs | |
typedef std::map< string_type, ParserCallback > | funmap_type |
Container for Callback objects. | |
typedef MUP_BASETYPE | value_type |
The numeric datatype used by the parser. | |
typedef MUP_STRING_TYPE | string_type |
The stringtype used by the parser. | |
typedef string_type::value_type | char_type |
The character type used by the parser. | |
typedef std::basic_stringstream < char_type, std::char_traits < char_type >, std::allocator < char_type > > | stringstream_type |
Typedef for easily using stringstream that respect the parser stringtype. | |
typedef std::map< string_type, value_type * > | varmap_type |
Type used for storing variables. | |
typedef std::map< string_type, value_type > | valmap_type |
Type used for storing constants. | |
typedef std::map< string_type, std::size_t > | strmap_type |
Type for assigning a string name to an index in the internal string table. | |
typedef value_type(* | generic_fun_type )() |
Callback type used for functions without arguments. | |
typedef value_type(* | fun_type0 )() |
Callback type used for functions without arguments. | |
typedef value_type(* | fun_type1 )(value_type) |
Callback type used for functions with a single arguments. | |
typedef value_type(* | fun_type2 )(value_type, value_type) |
Callback type used for functions with two arguments. | |
typedef value_type(* | fun_type3 )(value_type, value_type, value_type) |
Callback type used for functions with three arguments. | |
typedef value_type(* | fun_type4 )(value_type, value_type, value_type, value_type) |
Callback type used for functions with four arguments. | |
typedef value_type(* | fun_type5 )(value_type, value_type, value_type, value_type, value_type) |
Callback type used for functions with five arguments. | |
typedef value_type(* | fun_type6 )(value_type, value_type, value_type, value_type, value_type, value_type) |
Callback type used for functions with five arguments. | |
typedef value_type(* | fun_type7 )(value_type, value_type, value_type, value_type, value_type, value_type, value_type) |
Callback type used for functions with five arguments. | |
typedef value_type(* | fun_type8 )(value_type, value_type, value_type, value_type, value_type, value_type, value_type, value_type) |
Callback type used for functions with five arguments. | |
typedef value_type(* | fun_type9 )(value_type, value_type, value_type, value_type, value_type, value_type, value_type, value_type, value_type) |
Callback type used for functions with five arguments. | |
typedef value_type(* | fun_type10 )(value_type, value_type, value_type, value_type, value_type, value_type, value_type, value_type, value_type, value_type) |
Callback type used for functions with five arguments. | |
typedef value_type(* | bulkfun_type0 )(int, int) |
Callback type used for functions without arguments. | |
typedef value_type(* | bulkfun_type1 )(int, int, value_type) |
Callback type used for functions with a single arguments. | |
typedef value_type(* | bulkfun_type2 )(int, int, value_type, value_type) |
Callback type used for functions with two arguments. | |
typedef value_type(* | bulkfun_type3 )(int, int, value_type, value_type, value_type) |
Callback type used for functions with three arguments. | |
typedef value_type(* | bulkfun_type4 )(int, int, value_type, value_type, value_type, value_type) |
Callback type used for functions with four arguments. | |
typedef value_type(* | bulkfun_type5 )(int, int, value_type, value_type, value_type, value_type, value_type) |
Callback type used for functions with five arguments. | |
typedef value_type(* | bulkfun_type6 )(int, int, value_type, value_type, value_type, value_type, value_type, value_type) |
Callback type used for functions with five arguments. | |
typedef value_type(* | bulkfun_type7 )(int, int, value_type, value_type, value_type, value_type, value_type, value_type, value_type) |
Callback type used for functions with five arguments. | |
typedef value_type(* | bulkfun_type8 )(int, int, value_type, value_type, value_type, value_type, value_type, value_type, value_type, value_type) |
Callback type used for functions with five arguments. | |
typedef value_type(* | bulkfun_type9 )(int, int, value_type, value_type, value_type, value_type, value_type, value_type, value_type, value_type, value_type) |
Callback type used for functions with five arguments. | |
typedef value_type(* | bulkfun_type10 )(int, int, value_type, value_type, value_type, value_type, value_type, value_type, value_type, value_type, value_type, value_type) |
Callback type used for functions with five arguments. | |
typedef value_type(* | multfun_type )(const value_type *, int) |
Callback type used for functions with a variable argument list. | |
typedef value_type(* | strfun_type1 )(const char_type *) |
Callback type used for functions taking a string as an argument. | |
typedef value_type(* | strfun_type2 )(const char_type *, value_type) |
Callback type used for functions taking a string and a value as arguments. | |
typedef value_type(* | strfun_type3 )(const char_type *, value_type, value_type) |
Callback type used for functions taking a string and two values as arguments. | |
typedef int(* | identfun_type )(const char_type *sExpr, int *nPos, value_type *fVal) |
Callback used for functions that identify values in a string. | |
typedef value_type *(* | facfun_type )(const char_type *, void *) |
Callback used for variable creation factory functions. | |
Enumerations | |
enum | ECmdCode { cmLE = 0, cmGE = 1, cmNEQ = 2, cmEQ = 3, cmLT = 4, cmGT = 5, cmADD = 6, cmSUB = 7, cmMUL = 8, cmDIV = 9, cmPOW = 10 , cmASSIGN = 13, cmBO = 14, cmBC = 15, cmIF = 16, cmELSE = 17, cmENDIF = 18, cmARG_SEP = 19, cmVAR = 20, cmVAL = 21 , cmFUNC, cmFUNC_STR, cmFUNC_BULK, cmSTRING, cmOPRT_BIN, cmOPRT_POSTFIX, cmOPRT_INFIX, cmEND, cmUNKNOWN } |
Bytecode values. More... | |
enum | ETypeCode { tpSTR = 0, tpDBL = 1, tpVOID = 2 } |
Types internally used by the parser. More... | |
enum | EOprtAssociativity |
Parser operator precedence values. | |
enum | EOprtPrecedence { , prLOGIC = 3, prCMP = 4, prADD_SUB = 5, prMUL_DIV = 6, prPOW = 7, prINFIX = 6, prPOSTFIX = 6 } |
Parser operator precedence values. More... | |
enum | EErrorCodes { ecUNEXPECTED_OPERATOR = 0, ecUNASSIGNABLE_TOKEN = 1, ecUNEXPECTED_EOF = 2, ecUNEXPECTED_ARG_SEP = 3, ecUNEXPECTED_ARG = 4, ecUNEXPECTED_VAL = 5, ecUNEXPECTED_VAR = 6, ecUNEXPECTED_PARENS = 7, ecUNEXPECTED_STR = 8, ecSTRING_EXPECTED = 9, ecVAL_EXPECTED = 10, ecMISSING_PARENS = 11, ecUNEXPECTED_FUN = 12, ecUNTERMINATED_STRING = 13, ecTOO_MANY_PARAMS = 14, ecTOO_FEW_PARAMS = 15, ecOPRT_TYPE_CONFLICT = 16, ecSTR_RESULT = 17, ecINVALID_NAME = 18, ecINVALID_BINOP_IDENT = 19, ecINVALID_INFIX_IDENT = 20, ecINVALID_POSTFIX_IDENT = 21, ecBUILTIN_OVERLOAD = 22, ecINVALID_FUN_PTR = 23, ecINVALID_VAR_PTR = 24, ecEMPTY_EXPRESSION = 25, ecNAME_CONFLICT = 26, ecOPT_PRI = 27, ecDOMAIN_ERROR = 28, ecDIV_BY_ZERO = 29, ecGENERIC = 30, ecLOCALE = 31 , ecINTERNAL_ERROR = 35, ecCOUNT, ecUNDEFINED = -1 } |
Error codes. More... | |
Functions | |
std::ostream & | console () |
Encapsulate cout. | |
std::istream & | console_in () |
Encapsulate cin. |
Namespace for mathematical applications.
typedef string_type::value_type mu::char_type |
The character type used by the parser.
Depends on wether UNICODE is used or not.
typedef MUP_STRING_TYPE mu::string_type |
The stringtype used by the parser.
Depends on wether UNICODE is used or not.
typedef MUP_BASETYPE mu::value_type |
The numeric datatype used by the parser.
Normally this is a floating point type either single or double precision.
enum mu::ECmdCode |
Bytecode values.
enum mu::EErrorCodes |
Error codes.
enum mu::EOprtPrecedence |
Parser operator precedence values.
enum mu::ETypeCode |
std::ostream& mu::console | ( | ) | [inline] |
Encapsulate cout.
Used for supporting UNICODE more easily.
std::istream& mu::console_in | ( | ) | [inline] |
Encapsulate cin.
Used for supporting UNICODE more easily.