/// <summary>
        /// Generates the code for a RotationConstant node.
        /// </summary>
        /// <param name="rc">The RotationConstant node.</param>
        /// <returns>String containing C# code for RotationConstant rc.</returns>
        private string GenerateRotationConstant(RotationConstant rc)
        {
            string retstr = "";

            retstr += Generate(String.Format("new {0}(", rc.Type), rc);
            retstr += GenerateNode((SYMBOL)rc.kids.Pop());
            retstr += Generate(", ");
            retstr += GenerateNode((SYMBOL)rc.kids.Pop());
            retstr += Generate(", ");
            retstr += GenerateNode((SYMBOL)rc.kids.Pop());
            retstr += Generate(", ");
            retstr += GenerateNode((SYMBOL)rc.kids.Pop());
            retstr += Generate(")");

            return retstr.ToString();
        }
        /// <summary>
        /// Generates the code for a RotationConstant node.
        /// </summary>
        /// <param name="rc">The RotationConstant node.</param>
        /// <returns>String containing C# code for RotationConstant rc.</returns>
        private string GenerateRotationConstant(RotationConstant rc)
        {
            StringBuilder retstr = new StringBuilder();

            retstr.Append(Generate(String.Format("new {0}(", rc.Type), rc));
            retstr.Append(GenerateNode((SYMBOL) rc.kids.Pop()));
            retstr.Append(Generate(", "));
            retstr.Append(GenerateNode((SYMBOL) rc.kids.Pop()));
            retstr.Append(Generate(", "));
            retstr.Append(GenerateNode((SYMBOL) rc.kids.Pop()));
            retstr.Append(Generate(", "));
            retstr.Append(GenerateNode((SYMBOL) rc.kids.Pop()));
            retstr.Append(Generate(")"));

            return retstr.ToString();
        }