/// <summary>
 /// Returns the value of a variable as a literal.
 /// </summary>
 /// <param name="variable">
 /// The variable to look up.
 /// </param>
 /// <returns>
 /// The value of the variable.
 /// </returns>
 public Literal Lookup(Variable variable)
 {
     return new Literal(m_variables[variable.Name]);
 }
        public bool Equals(Variable other)
        {
            if (null == other) {
                return false;
            }

            return Name.Equals(other.Name);
        }
 /// <summary>
 /// Instantiates a variable.
 /// </summary>
 /// <param name="variable">
 /// The variable to instantiate
 /// </param>
 public void Instantiate(Variable variable)
 {
     m_variables[variable.Name] = null;
 }