Archived
1

Added the MPExpressionTree Classes

This commit is contained in:
Kim Wittenburg
2014-10-13 23:53:04 +02:00
parent 82259f87e2
commit 5592128926
60 changed files with 1981 additions and 725 deletions

View 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