//
//  PSToken.h
//  GSFontTools
//
//  Created by Georg Seifert on 31.07.11.
//  Copyright 2011 schriftgestaltung.de. All rights reserved.
//

typedef NS_ENUM(uint8_t, PSTokenType) {
	PSTokenTypeOperator = 0,
	PSTokenTypeInt = 1,
	PSTokenTypeFloat = 2,
};

@interface PSToken : NSObject <NSCopying>

@property (assign, readonly) PSTokenType type;
@property (nonatomic, readonly) int operatorValue;
@property (nonatomic, readonly) int intValue;
@property (nonatomic, readonly) float floatValue;
@property (nonatomic, readonly) NSNumber *numberValue;

+ (instancetype)operatorWithCode:(int)value NS_RETURNS_RETAINED;
+ (instancetype)operandWithInt:(int)value NS_RETURNS_RETAINED;
+ (instancetype)operandWithFloat:(double)value NS_RETURNS_RETAINED;

@end
