JKQTPlotter
an extensive Qt4/Qt5 Plotter framework (including a fast variant and a LaTeX equation renderer!), written fully in C/C++ and without external dependencies
Collaboration diagram for Parser/Evaluator for Mathematical Expressions:

Modules

 JKQTPMathParser Error Handling
 
 JKQTPMathParser: Memory Representation of Expressions
 
 JKQTPMathParser: Utilities
 

Classes

class  JKQTPMathParser::jkmpBinaryArithmeticNode
 This class represents a binary arithmetic operation: add (+), subtract (-), multiply (*), divide (/), a to the power of b (a^b) More...
 
class  JKQTPMathParser::jkmpBinaryBoolNode
 This class represents a binary boolean operation: and, or, xor, nor, nand. More...
 
class  JKQTPMathParser::jkmpCompareNode
 This class represents a binary compare operation: !=, ==, >=, <=, >, <. More...
 
class  JKQTPMathParser::jkmpConstantNode
 This class represents a number, a string contant or a boolean contant (true/false) More...
 
class  JKQTPMathParser::jkmpException
 error handling: exceptions of the type of this class will be thrown if an error occurs More...
 
struct  JKQTPMathParser::jkmpFunctionDescriptor
 description of a user registered function More...
 
class  JKQTPMathParser::jkmpFunctionNode
 This class represents an arbitrary function. More...
 
class  JKQTPMathParser::jkmpNode
 This class is the abstract base class for nodes. All allowed node types must inherit from jkmpNode. More...
 
class  JKQTPMathParser::jkmpNodeList
 This class represents a list of jkmpNode. More...
 
struct  JKQTPMathParser::jkmpResult
 result of any expression
More...
 
struct  JKQTPMathParser::jkmpTempVariable
 This struct is for managing temporary variables. It is generally like jkmpVariable. More...
 
class  JKQTPMathParser::jkmpUnaryNode
 This class represents a unary operations: ! (bool negation), - (arithmetic negation) More...
 
struct  JKQTPMathParser::jkmpVariable
 This struct is for managing variables. Unlike jkmpResult this struct only contains pointers to the data. More...
 
class  JKQTPMathParser::jkmpVariableAssignNode
 This class represents a variable assignment (a = expression) More...
 
class  JKQTPMathParser::jkmpVariableNode
 This class represents a variable. More...
 
class  JKQTPMathParser
 A simple function parser to parse (build memory tree representation) and evaluate simple mathematical expressions. More...
 

Detailed Description

In this group there are classes that form a parser and evaluator for mathematical expressions. In the context of the sequencer program this is a tool class that can be used by the classes in the project. E.g. used by JKQTPXParsedFunctionLineGraph, JKQTPYParsedFunctionLineGraph


Class Documentation

◆ JKQTPMathParser::jkmpFunctionDescriptor

struct JKQTPMathParser::jkmpFunctionDescriptor

description of a user registered function

Collaboration diagram for JKQTPMathParser::jkmpFunctionDescriptor:
Class Members
jkmpEvaluateFunc function a pointer to the function implementation
string name name of the function

◆ JKQTPMathParser::jkmpTempVariable

struct JKQTPMathParser::jkmpTempVariable

This struct is for managing temporary variables. It is generally like jkmpVariable.

Collaboration diagram for JKQTPMathParser::jkmpTempVariable:
Class Members
bool * boolean this points to the variable data if type==jkmpBool
bool internal this is an internal variable
string name name of the variable
double * num this points to the variable data if type==jkmpDouble
string * str this points to the variable data if type==jkmpString
jkmpResultType type type of the variable