<?php
/**
 * IBSE
 *
 * Information Bot Service Engine
 *
 * @package        IBSE
 * @author        HSDN Team
 * @copyright    Copyright (c) 2006-2010, Information Networks Ltd.
 * @link        http://www.hsdn.org
 * @since        Version 4.0
 */

/**
 * IBAPI
 *
 * Information Bot Application Program Interface
 *
 * @package        IBSE
 * @author        HSDN Team
 * @copyright    Copyright (c) 2006-2010, Information Networks Ltd.
 * @since        Version 4.0
 */

// ------------------------------------------------------------------------

/**
 * Класс Stack
 *
 * @author        HSDN Team
 *
 * @see            http://ru.wikipedia.org/wiki/Стек
 */
class Stack
{
    
/*
     * Массив стека
     *
     * @access    public
     */
    
public $v = array();


    
/**
     * Вставка элемента в стек
     *
     * @access    public
     * @param    mixed
     * @return    mixed
     */
    
public function push($s)
    {
        
array_push($this->v$s);

        return 
$s;
    }

    
/**
     * Выталкивание верхнего элемента стека
     *
     * @access    public
     * @return    mixed
     */
    
public function pop()
    {
        return 
array_pop($this->v);
    }

    
/**
     * Возврат верхнего элемента стека
     *
     * @access    public
     * @param    mixed
     * @return    mixed
     */
    
public function top()
    {
        if (
sizeof($this->v) > 0)
        {
            return 
end($this->v);
        }

        return 
FALSE;
    }
}

/* EOF Stack.class.php */