/// <summary>Enters a symbol into this scope.</summary> /// <remarks>Enters a symbol into this scope.</remarks> public virtual void PutSymbol(Symbol symbol) { if (symbol.GetName() == null) { throw new ArgumentException("null symbol name"); } EnsureSymbolTable(); symbolTable.Put(symbol.GetName(), symbol); symbol.SetContainingTable(this); top.AddSymbol(symbol); }