34 lines
1.0 KiB
Objective-C
34 lines
1.0 KiB
Objective-C
//
|
|
// MPExpressionEvaluator.h
|
|
// MathPad
|
|
//
|
|
// Created by Kim Wittenburg on 31.08.14.
|
|
// Copyright (c) 2014 Kim Wittenburg. All rights reserved.
|
|
//
|
|
|
|
#import <Foundation/Foundation.h>
|
|
#import "MPExpression.h"
|
|
#import "MPElementParser.h"
|
|
|
|
@class MPExpressionEvaluator, MPExpression, MPParsedElementOld;
|
|
|
|
@interface MPExpressionEvaluator : NSObject
|
|
|
|
// Do not instanciate yourself, use evaluator property of MPExpression instead
|
|
- (instancetype)initWithExpression:(MPExpression *)expression;
|
|
|
|
@property (readonly, nonatomic, weak) MPExpression *expression;
|
|
|
|
#pragma mark Evaluating Expressions
|
|
@property (readonly, nonatomic, strong) NSDictionary *variableBindings;
|
|
|
|
- (void)bindValue:(NSDecimalNumber *)value toVariableName:(NSString *)name;
|
|
- (void)unbindVariableName:(NSString *)name;
|
|
|
|
@property (readonly, nonatomic, strong) NSString *definedVariable;
|
|
|
|
- (NSDecimalNumber *)evaluateWithError:(MPParseError *__autoreleasing *)error;
|
|
- (NSDecimalNumber *)evaluateVariableDefinition:(BOOL)flag error:(MPParseError *__autoreleasing *)error;
|
|
|
|
@end
|