/// <summary>
        /// Creates an iterator for the LexerDescription node
        /// </summary>
        /// <param name="iteratorFactory"></param>
        /// <returns></returns>
        public override CAbstractIterator <CASTElement> AcceptIterator(CASTAbstractConcreteIteratorFactory iteratorFactory)
        {
            IASTAbstractConcreteIteratorFactory typedFactory = iteratorFactory as IASTAbstractConcreteIteratorFactory;

            if (typedFactory != null)
            {
                return(iteratorFactory.CreateLexerDescriptionIterator(this));
            }
            return(iteratorFactory.CreateIteratorASTElementDescentantsFlatten(this));
        }
        public override CAbstractIterator <CASTElement> AcceptEventIterator(CASTAbstractConcreteIteratorFactory iteratorFactory,
                                                                            CASTGenericIteratorEvents events, object info = null)
        {
            IASTAbstractConcreteIteratorFactory typedFactory = iteratorFactory as IASTAbstractConcreteIteratorFactory;

            if (typedFactory != null)
            {
                return(iteratorFactory.CreateLexerDescriptionIteratorEvents(this, events, info));
            }
            return(iteratorFactory.CreateIteratorASTElementDescentantsFlattenEvents(this, events, info));
        }
Example #3
0
 /// <summary>
 /// Accepts the event iterator.
 /// </summary>
 /// <param name="iteratorFactory">The iterator factory.</param>
 /// <returns></returns>
 public abstract CAbstractIterator <CASTElement> AcceptEventIterator(CASTAbstractConcreteIteratorFactory iteratorFactory,
                                                                     CASTGenericIteratorEvents events, object info = null);
Example #4
0
 /// <summary>
 /// Accepts the iterator.
 /// </summary>
 /// <param name="iteratorFactory">The iterator factory.</param>
 /// <returns></returns>
 public abstract CAbstractIterator <CASTElement> AcceptIterator(CASTAbstractConcreteIteratorFactory iteratorFactory);