Neos\Eel\EelParser::match_Comparison PHP Method

match_Comparison() public method

public match_Comparison ( $stack = [] )
    function match_Comparison($stack = array())
    {
        $matchrule = "Comparison";
        $result = $this->construct($matchrule, $matchrule, null);
        $_132 = NULL;
        do {
            $matcher = 'match_' . 'SumCalculation';
            $key = $matcher;
            $pos = $this->pos;
            $subres = $this->packhas($key, $pos) ? $this->packread($key, $pos) : $this->packwrite($key, $pos, $this->{$matcher}(array_merge($stack, array($result))));
            if ($subres !== FALSE) {
                $this->store($result, $subres, "lft");
            } else {
                $_132 = FALSE;
                break;
            }
            $res_131 = $result;
            $pos_131 = $this->pos;
            $_130 = NULL;
            do {
                if (($subres = $this->whitespace()) !== FALSE) {
                    $result["text"] .= $subres;
                }
                $stack[] = $result;
                $result = $this->construct($matchrule, "comp");
                if (($subres = $this->rx('/ == | != | <= | >= | < | > /')) !== FALSE) {
                    $result["text"] .= $subres;
                    $subres = $result;
                    $result = array_pop($stack);
                    $this->store($result, $subres, 'comp');
                } else {
                    $result = array_pop($stack);
                    $_130 = FALSE;
                    break;
                }
                if (($subres = $this->whitespace()) !== FALSE) {
                    $result["text"] .= $subres;
                }
                $matcher = 'match_' . 'SumCalculation';
                $key = $matcher;
                $pos = $this->pos;
                $subres = $this->packhas($key, $pos) ? $this->packread($key, $pos) : $this->packwrite($key, $pos, $this->{$matcher}(array_merge($stack, array($result))));
                if ($subres !== FALSE) {
                    $this->store($result, $subres, "rgt");
                } else {
                    $_130 = FALSE;
                    break;
                }
                $_130 = TRUE;
                break;
            } while (0);
            if ($_130 === FALSE) {
                $result = $res_131;
                $this->pos = $pos_131;
                unset($res_131);
                unset($pos_131);
            }
            $_132 = TRUE;
            break;
        } while (0);
        if ($_132 === TRUE) {
            return $this->finalise($result);
        }
        if ($_132 === FALSE) {
            return FALSE;
        }
    }