Files
2025-03-25 21:38:29 -04:00

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;}
}
}
}