using System; // FileName : Symbol.cs // Author : Sean Kessler namespace Axiom.Interpreter { public class Symbol { public enum SymbolType { KeywordSymbol,FunctionSymbol, UserSymbol, UserDynamicSymbol, DirectiveSymbol}; private bool isMutable=true; private bool isModified=false; public Symbol() { IsMutable = true; } public Symbol(String symbolName, Scanner.ScanSymbols identifier,SymbolType symbolType = SymbolType.UserSymbol) { this.SymbolName = symbolName; this.Identifier = identifier; this.TypeOfSymbol = symbolType; if (symbolType.Equals(SymbolType.UserSymbol)) IsMutable = true; else IsMutable = false; } public String SymbolName{get;set;} public Scanner.ScanSymbols Identifier{get;set;} public SymbolType TypeOfSymbol{get;set;} public GenericData GenericData { get; set; } public bool IsMutable { get { return isMutable; } set {isMutable=value;} } public bool IsModified { get {return isModified;} set {isModified=value;} } } }