38 lines
1.5 KiB
Objective-C
38 lines
1.5 KiB
Objective-C
//
|
|
// MPElementParser.h
|
|
// MathPad
|
|
//
|
|
// Created by Kim Wittenburg on 10.09.14.
|
|
// Copyright (c) 2014 Kim Wittenburg. All rights reserved.
|
|
//
|
|
|
|
#import <Foundation/Foundation.h>
|
|
#import "MPParsedProduct.h"
|
|
#import "MPParseError.h"
|
|
|
|
#define MPMaximumOperatorChainLength NSUIntegerMax
|
|
|
|
@interface MPElementParser : NSObject
|
|
|
|
+ (BOOL)isUsingDefaultValuesFromUserDefaults;
|
|
+ (void)setUsingDefaultValuesFromUserDefaults:(BOOL)flag;
|
|
|
|
@property (nonatomic) BOOL allowsImplicitMultiplications; // wether 2 3 is equal to 6 or error
|
|
// Default value uses the key "..." in NSUserDefaults or ... if the key does not exist.
|
|
@property (nonatomic) NSUInteger maximumOperatorChainLength; // +--++-5 -> Chain length: 6, 2 default (sign of number and operator) (0 is invalid?)
|
|
@property (nonatomic) NSUInteger maximumOperatorChainLengthInMultiplication; // Default: 1, 0 means actually 0
|
|
@property (nonatomic) NSUInteger maximumOperatorChainLengthInFunction; // For sin, cos, tan. Default: 1
|
|
|
|
- (NSArray *)parseElement:(NSString *)string
|
|
previousProduct:(MPParsedProduct *)previousProduct
|
|
nextFactor:(MPParsedFactor *)nextFactor
|
|
definesVariable:(BOOL)flag
|
|
definedVariable:(NSString *__autoreleasing *)variableName
|
|
error:(out MPParseError *__autoreleasing *)error;
|
|
- (NSArray *)parseElement:(NSString *)string
|
|
previousProduct:(MPParsedProduct *)previousProduct
|
|
nextFactor:(MPParsedFactor *)nextFactor
|
|
error:(out MPParseError *__autoreleasing *)error;
|
|
|
|
@end
|