# Path: pigeon/xerblin/btree.py
# def get(node, key):
#     '''
#     Return the value stored under key or raise KeyError if not found.
#     '''
#     if not node:
#         raise KeyError, key
# 
#     node_key, value, lower, higher = node
# 
#     if key == node_key:
#         return value
# 
#     return get(lower if key < node_key else higher, key)
# 
# Path: pigeon/xerblin/stack.py
# def push(stack, *items):
#     '''Push arguments onto a stack.'''
#     for item in items:
#         stack = item, stack # push
#     return stack


from pigeon.xerblin.btree import get
from pigeon.xerblin.stack import push
        I = func(I)
    return I


# This is the main point of this module.  It implements the system with
# the help of the apply_func() function.
def interpret(I, command):
    '''
    Given an interpreter and a string command, interpret that string on
    the interpreter and return the modified interpreter.
    '''
    for word in command:

        # Is it an integer?
        try:
            literal = int(word)
        except ValueError:

            # Is it a float?
            try:
                literal = float(word)
            except ValueError:

                # Is it a string literal?
                if word.startswith('"') and word.endswith('"'):
                    literal = word[1:-1]

                # Nope, it must be a command word.
                else:
                    # Interpret the word.

# Path: pigeon/xerblin/btree.py
# def get(node, key):
#     '''
#     Return the value stored under key or raise KeyError if not found.
#     '''
#     if not node:
#         raise KeyError, key
# 
#     node_key, value, lower, higher = node
# 
#     if key == node_key:
#         return value
# 
#     return get(lower if key < node_key else higher, key)
# 
# Path: pigeon/xerblin/stack.py
# def push(stack, *items):
#     '''Push arguments onto a stack.'''
#     for item in items:
#         stack = item, stack # push
#     return stack


# Path: pigeon/xerblin/base.py
from pigeon.xerblin.btree import get
from pigeon.xerblin.stack import push

        I = func(I)
    return I


# This is the main point of this module.  It implements the system with
# the help of the apply_func() function.
def interpret(I, command):
    '''
    Given an interpreter and a string command, interpret that string on
    the interpreter and return the modified interpreter.
    '''
    for word in command:

        # Is it an integer?
        try:
            literal = int(word)
        except ValueError:

            # Is it a float?
            try:
                literal = float(word)
            except ValueError:

                # Is it a string literal?
                if word.startswith('"') and word.endswith('"'):
                    literal = word[1:-1]

                # Nope, it must be a command word.
                else:
                    # Interpret the word.

                    func = get(I[1], word)