Unit BrookMathExpression

Description

Contains class to evaluate mathematical expressions.

Uses

Overview

Classes, Interfaces, Objects and Records

Name Description
Packed Record TBrookMathExpressionError Structured type which holds the mathematical expression errors.
Packed Record TBrookMathExpressionExtension Structured type which holds the properties of a math expression extension.
Class TBrookMathExpression Mathematical expression evaluator.

Functions and Procedures

function Evaluate(const AExpression: string): Double;

Types

TBrookMathExpressionErrorKind = (...);
TBrookMathExpressionErrorEvent = procedure(ASender: TObject; AError: TBrookMathExpressionError) of object;
TBrookMathExpressionExtensionEvent = function(ASender: TObject; AExtension: TBrookMathExpressionExtension): Double of object;

Constants

SBrookInactiveMathExpression = 'Inactive math expression.';

Description

Functions and Procedures

function Evaluate(const AExpression: string): Double;

Evaluates a mathematical expression.

Types

TBrookMathExpressionErrorKind = (...);

Possible error types returned by the mathematical expression evaluator.

Values
  • ekNone: None error.
  • ekUnknown: Error not related to evaluation.
  • ekUnexpectedNumber: Unexpected number, e.g. '(1+2)3'.
  • ekUnexpectedWord: Unexpected word, e.g. '(1+2)x'.
  • ekUnexpectedParens: Unexpected parenthesis, e.g. '1(2+3)'.
  • ekMissingOperand: Missing expected operand, e.g. '0ˆ+1'.
  • ekUnknownOperator: Unknown operator, e.g. '(1+2).'.
  • ekInvalidFuncName: Invalid function name, e.g. 'unknownfunc()'.
  • ekBadParens: Bad parenthesis, e.g. '(1+2'.
  • ekTooFewFuncArgs: Too few arguments passed to a macro, e.g. '$()'.
  • ekFirstArgIsNotVar: First macro argument is not variable, e.g. '$(1)'.
  • ekBadVariableName: Bad variable name, e.g. '2.3.4'.
  • ekBadAssignment: Bad assignment, e.g. '2=3'.
TBrookMathExpressionErrorEvent = procedure(ASender: TObject; AError: TBrookMathExpressionError) of object;

Event signature used to handle errors in a mathematical expression.

TBrookMathExpressionExtensionEvent = function(ASender: TObject; AExtension: TBrookMathExpressionExtension): Double of object;

Event signature used to handle extension in a mathematical expression.

Constants

SBrookInactiveMathExpression = 'Inactive math expression.';

Error message 'Inactive math expression.'.


Generated by PasDoc 0.16.0.