Archived
1
This repository has been archived on 2022-08-08. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
mathpad/MathPad/MPParsedElement.h
2014-09-07 16:45:31 +02:00

45 lines
1.5 KiB
Objective-C

//
// MPParsedElement.h
// MathPad
//
// Created by Kim Wittenburg on 05.09.14.
// Copyright (c) 2014 Kim Wittenburg. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "MPParseError.h"
@interface MPParsedElement : NSObject <NSCopying>
@property (nonatomic, copy) NSString *definedVariable;
@property (nonatomic) NSUInteger afterVariableDefinitionIndex; // Only set if defineVariable != nil
@property (nonatomic) BOOL isFactor;
// If isFactor is YES this is the factor otherwise it is the independant summant
// of the element (may be 0).
@property (nonatomic) NSDecimalNumber *value;
@property (nonatomic, getter = isPrefixOperatorExplicit) BOOL prefixOperatorExplicit;
@property (nonatomic, getter = isPrefixValueExplicit) BOOL prefixValueExplicit;
@property (nonatomic) NSDecimalNumber *prefixMultiplicator;
@property (nonatomic, getter = isSuffixOperatorExplicit) BOOL suffixOperatorExplicit;
@property (nonatomic, getter = isSuffixValueExplicit) BOOL suffixValueExplicit;
@property (nonatomic) NSDecimalNumber *suffixMultiplicator;
@property (nonatomic) NSUInteger suffixIndex;
// No error checking done
- (NSDecimalNumber *)valueAtBeginning;
- (NSDecimalNumber *)valueAtEnd;
- (NSDecimalNumber *)standaloneValue;
// For error checking
- (BOOL)isValidElementAtBeginning:(MPParseError **)error;
- (BOOL)isValidStandaloneElement:(MPParseError **)error;
- (BOOL)isValidElementAtEnd:(MPParseError **)error;
- (BOOL)isValidVariableDefinition:(MPParseError **)error;
@end