Pop() 개인적인 메소드

private Pop ( ParseStackEntry &elt, int depth, SYMBOL ns ) : void
elt ParseStackEntry
depth int
ns SYMBOL
리턴 void
예제 #1
0
        public override void Pass(ref ParseStackEntry top)
        {
            Parser yyps = top.yyps;
            SYMBOL ns   = this.m_action.Action(yyps);

            yyps.m_ungot = top.m_value;
            if (yyps.m_debug)
            {
                Console.WriteLine("about to pop {0} count is {1}", (object)this.m_depth, (object)yyps.m_stack.Count);
            }
            yyps.Pop(ref top, this.m_depth, ns);
            if (ns.pos == 0)
            {
                ns.pos = top.m_value.pos;
            }
            top.m_value = ns;
        }