Neos\Eel\EelParser::match_Conjunction PHP Method

match_Conjunction() public method

public match_Conjunction ( $stack = [] )
    function match_Conjunction($stack = array())
    {
        $matchrule = "Conjunction";
        $result = $this->construct($matchrule, $matchrule, null);
        $_123 = NULL;
        do {
            $matcher = 'match_' . 'Comparison';
            $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 {
                $_123 = FALSE;
                break;
            }
            while (true) {
                $res_122 = $result;
                $pos_122 = $this->pos;
                $_121 = NULL;
                do {
                    if (($subres = $this->whitespace()) !== FALSE) {
                        $result["text"] .= $subres;
                    }
                    if (($subres = $this->rx('/ && | and\\s+ /')) !== FALSE) {
                        $result["text"] .= $subres;
                    } else {
                        $_121 = FALSE;
                        break;
                    }
                    if (($subres = $this->whitespace()) !== FALSE) {
                        $result["text"] .= $subres;
                    }
                    $matcher = 'match_' . 'Comparison';
                    $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 {
                        $_121 = FALSE;
                        break;
                    }
                    $_121 = TRUE;
                    break;
                } while (0);
                if ($_121 === FALSE) {
                    $result = $res_122;
                    $this->pos = $pos_122;
                    unset($res_122);
                    unset($pos_122);
                    break;
                }
            }
            $_123 = TRUE;
            break;
        } while (0);
        if ($_123 === TRUE) {
            return $this->finalise($result);
        }
        if ($_123 === FALSE) {
            return FALSE;
        }
    }