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

        // T_LABEL | ( QuotedString ':' )
        $o1 = $this->offset;
        while ($o1 !== null) {
            if ($this->type !== 'T_LABEL') { break; }
            $c1 = $this->consume();


            $o1 = null;
        }

        while ($o1 !== null) {
            $c1 = [];

            if (null === ($parsed = yield 'QuotedString')) { break; }
            $c1[] = $parsed;

            if ($this->type !== ':') { $this->error("Error parsing \"MapEntry\" on line %s:"); }
            $c1[] = $this->consume();


            $o1 = null;
        }

        if ($o1 !== null) {
            return $this;
        }

        $a[] = $c1;

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

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

        // T_LABEL | ( QuotedString ':' )
        $o1 = $this->offset;
        while ($o1 !== null) {
            if ($this->type !== 'T_LABEL') { break; }
            $c1 = $this->consume();


            $o1 = null;
        }

        while ($o1 !== null) {
            $c1 = [];

            if (null === ($parsed = yield 'QuotedString')) { break; }
            $c1[] = $parsed;

            if ($this->type !== ':') { $this->error("Error parsing \"MapEntry\" on line %s:"); }
            $c1[] = $this->consume();


            $o1 = null;
        }

        if ($o1 !== null) {
            return $this;
        }

        $a[] = $c1;

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

        return ($this->action)('MapEntry', 'parseMapEntry', $a);
    }
MapEntry ::= ( T_LABEL | ( QuotedString ':' ) ) Statement