generated/Parser/ParserImpl.php
protected function parseDisjunction()
    {
        $a = [];

        if (null === ($parsed = yield 'Conjunction')) { return $this; }
        $a[] = $parsed;

        // ( ( 'or' | '||' ) Conjunction )*
        $a2 = [];
        while (true) {
            $o2 = $this->offset;
            $c2 = [];

            // 'or' | '||'
            $o3 = $this->offset;
            while ($o3 !== null) {
                if ($this->type !== 'or') { break; }
                $c3 = $this->consume();


                $o3 = null;
            }

            while ($o3 !== null) {
                if ($this->type !== '||') { break; }
                $c3 = $this->consume();


                $o3 = null;
            }

            if ($o3 !== null) {
                $o2 = null; break;
            }

            $c2[] = $c3;

            if (null === ($parsed = yield 'Conjunction')) { $this->error("Error parsing \"Disjunction\" on line %s:"); }
            $c2[] = $parsed;

            $a2[] = $c2;
        }

        $a[] = $a2;

        return ($this->action)('Disjunction', 'parseDisjunction', $a);
    }
protected function parseDisjunction()
    {
        $a = [];

        if (null === ($parsed = yield 'Conjunction')) { return $this; }
        $a[] = $parsed;

        // ( ( 'or' | '||' ) Conjunction )*
        $a2 = [];
        while (true) {
            $o2 = $this->offset;
            $c2 = [];

            // 'or' | '||'
            $o3 = $this->offset;
            while ($o3 !== null) {
                if ($this->type !== 'or') { break; }
                $c3 = $this->consume();


                $o3 = null;
            }

            while ($o3 !== null) {
                if ($this->type !== '||') { break; }
                $c3 = $this->consume();


                $o3 = null;
            }

            if ($o3 !== null) {
                $o2 = null; break;
            }

            $c2[] = $c3;

            if (null === ($parsed = yield 'Conjunction')) { $this->error("Error parsing \"Disjunction\" on line %s:"); }
            $c2[] = $parsed;

            $a2[] = $c2;
        }

        $a[] = $a2;

        return ($this->action)('Disjunction', 'parseDisjunction', $a);
    }
Disjunction ::= Conjunction ( ( 'or' | '||' ) Conjunction )*