Added the MPExpressionTree Classes
This commit is contained in:
30
MathPad/MPExpressionTreeElement.h
Normal file
30
MathPad/MPExpressionTreeElement.h
Normal file
@@ -0,0 +1,30 @@
|
||||
//
|
||||
// MPExpressionTreeElement.h
|
||||
// MathPad
|
||||
//
|
||||
// Created by Kim Wittenburg on 09.10.14.
|
||||
// Copyright (c) 2014 Kim Wittenburg. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import "MPTokenStream.h"
|
||||
#import "MPParseError.h"
|
||||
#import "MPTokenStream.h"
|
||||
|
||||
#define MPTokenStreamRecordCurrentLocation(tokenStream) NSUInteger __tokenStreamStart = tokenStream.currentToken.range.location
|
||||
#define MPTokenStreamRecordedRange(tokenStream) NSMakeRange(__tokenStreamStart, tokenStream.currentToken.range.location - __tokenStreamStart)
|
||||
|
||||
@protocol MPExpressionTreeElement <NSObject>
|
||||
@required
|
||||
|
||||
- (instancetype)init;
|
||||
- (instancetype)initWithTokenStream:(MPTokenStream *)tokenStream;
|
||||
|
||||
- (NSRange)range;
|
||||
|
||||
- (BOOL)validate:(MPParseError *__autoreleasing *)error;
|
||||
- (NSDecimalNumber *)evaluate;
|
||||
|
||||
- (NSArray *)expressionElements; // Converts
|
||||
|
||||
@end
|
||||
Reference in New Issue
Block a user