41 lines
1.1 KiB
C#
Executable File
41 lines
1.1 KiB
C#
Executable File
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;}
|
|
}
|
|
}
|
|
}
|