//*
        // * Checks if this pattern is recursive on the left-hand side.
        // * This method checks if any of the production pattern
        // * alternatives is left-recursive.
        // *
        // * @return true if at least one alternative is left recursive, or
        // * false otherwise
        //

        public bool IsLeftRecursive()
        {
            ProductionPatternAlternative alt = default(ProductionPatternAlternative);

            for (int i = 0; i <= alternatives.Count - 1; i++)
            {
                alt = (ProductionPatternAlternative)alternatives[i];
                if (alt.IsLeftRecursive())
                {
                    return(true);
                }
            }
            return(false);
        }