示例#1
0
        ///<summary>Вызвать посетителя для обхода всего дерева
        ///в указаном режиме order(VisitorMode:: PRE,POST IN)</summary>
        public void Visit(VisitorMode order, Action <Node <T> > act)
        {
            switch (order)
            {
            case VisitorMode.PRE:
                _visitor.PreOrder(this, act);
                break;

            case VisitorMode.POST:
                _visitor.PostOrder(this, act);
                break;

            case VisitorMode.IN:
                _visitor.InOrder(this, act);
                break;

            default:
                break;
            }
        }
示例#2
0
 protected AstVisitorBase(VisitorMode intitialMode)
 {
     this.PushMode(intitialMode);
 }
示例#3
0
 protected void PushMode(VisitorMode mode)
 {
     _modeStack.Push(mode);
 }
示例#4
0
 protected ScopedAstVisitorBase(VisitorMode intitialMode)
     : base(intitialMode)
 {
 }