EP 0.1.1 Symbolization

This commit is contained in:
ninemine
2025-06-30 20:20:26 +08:00
parent d68bb27e3b
commit f92a688c77
5 changed files with 109 additions and 71 deletions

View File

@@ -0,0 +1,40 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Convention.Symbolization.Internal
{
public class Variable
{
}
public readonly struct VariableSymbol
{
public readonly string SymbolName;
public readonly Type VariableType;
public VariableSymbol(string symbolName, Type variableType)
{
this.SymbolName = symbolName;
this.VariableType = variableType;
}
public bool Equals(VariableSymbol other)
{
return other.SymbolName.Equals(SymbolName) && other.VariableType.Equals(VariableType);
}
public override int GetHashCode()
{
return new Tuple<string, Type>(SymbolName, VariableType).GetHashCode();
}
}
public class VariableContext
{
public Dictionary<VariableSymbol, Variable> Variables = new();
}
}