Exemple #1
0
        /// <summary>
        /// Return the unique symbol associated with a
        /// string. Repeated calls to CreateSymbol will return the
        /// same Symbol.
        /// </summary>
        internal static Symbol CreateSymbol(string n)
        {
            n = LateBinding.MapToInternalName(n);
            string u = String.Intern(n);
            Symbol s = (Symbol)dict [u];

            if (s == null)
            {
                s        = new Symbol(u);
                dict [u] = s;
            }
            return(s);
        }