//
//  MPVariable.h
//  MathKit
//
//  Created by Kim Wittenburg on 09.10.14.
//  Copyright (c) 2014 Kim Wittenburg. All rights reserved.
//

#import "MPTerm.h"


/*!
 @header
 This file contains the <code>MPVariable</code> class.
 */



@class MPVariable;


/*!
    @class      MPVariable
    @abstract   This class represents a variable.
 
    @discussion Variables are evaluated in the <code>@link
                //apple_ref/occ/cl/MPEvaluationContext@/link</code> and generate
                errors if they are not defined.
 */
@interface MPVariable : MPTerm

/*!
    @method     initWithVariableName:
    @abstract   Initializes a <code>MPVariable</code> with the specified
                <code>variableName</code>

    @param      variableName
                The name of the variable. Must not be <code>nil</code> and must
                be at least one character long.
 
    @return     A new <code>MPVariable</code> instance.
 */
- (instancetype)initWithVariableName:(NSString *)variableName; /* designated initializer */


/*!
    @property   variableName
    @abstract   The receiver's variable name.
 */
@property (readonly, nonatomic, strong) NSString *variableName;

@end
