Exemple #1
0
        internal IokeObject Pop()
        {
            if(head != null) {
                while(Message.IsTerminator(head) && Message.GetNext(head) != null) {
                    head = Message.GetNext(head);
                    Message.SetPrev(head, null);
                }
            }

            IokeObject headToReturn = head;

            head = chains.head;
            last = chains.last;
            chains = chains.parent;

            return headToReturn;
        }
Exemple #2
0
 internal void Push(int precedence, IokeObject op, Level.Type type)
 {
     currentLevel = new Level(precedence, op, currentLevel, type);
     chains = new BufferedChain(chains, last, head);
     last = head = null;
 }