protected function expression(&$out)
    {
        if ($this->value($lhs)) {
            $out = $this->expHelper($lhs, 0);

            // look for / shorthand
            if (!empty($this->env->supressedDivision)) {
                unset($this->env->supressedDivision);
                $s = $this->seek();
                if ($this->literal('/') && $this->value($rhs)) {
                    $out = array('list', '',
                        array($out, array('keyword', '/'), $rhs), );
                } else {
                    $this->seek($s);
                }
            }

            return true;
        }

        return false;
    }
protected function expression(&$out)
    {
        if ($this->value($lhs)) {
            $out = $this->expHelper($lhs, 0);

            // look for / shorthand
            if (!empty($this->env->supressedDivision)) {
                unset($this->env->supressedDivision);
                $s = $this->seek();
                if ($this->literal('/') && $this->value($rhs)) {
                    $out = array('list', '',
                        array($out, array('keyword', '/'), $rhs), );
                } else {
                    $this->seek($s);
                }
            }

            return true;
        }

        return false;
    }
protected function expression ( & $ out ) { if ( $ this -> value ( $ lhs ) ) { $ out = $ this -> expHelper ( $ lhs , 0 ) ; // look for / shorthand if ( ! empty ( $ this -> env -> supressedDivision ) ) { unset ( $ this -> env -> supressedDivision ) ; $ s = $ this -> seek ( ) ; if ( $ this -> literal ( '/' ) && $ this -> value ( $ rhs ) ) { $ out = array ( 'list' , '' , array ( $ out , array ( 'keyword' , '/' ) , $ rhs ) , ) ; } else { $ this -> seek ( $ s ) ; } } return true ; } return false ; }
Attempt to consume an expression.

@link http://en.wikipedia.org/wiki/Operator-precedence_parser#Pseudo-code
Attempt to consume an expression .