Yield
-----
<?php

function gen()
{
    yield;
    yield $a;
    yield $a => $b;
    $a = yield;
    $a = (yield $b);
    $a = (yield $b => $c);
}
// TODO Get rid of parens for cases 2 and 3
-----
function gen()
{
    yield;
    (yield $a);
    (yield $a => $b);
    $a = yield;
    $a = (yield $b);
    $a = (yield $b => $c);
}
-----
<?php

function gen()
{
    $a = yield $b;
    $a = yield $b => $c;
    yield from $a;
    $a = yield from $b;
}
// TODO Get rid of parens for last case
-----
!!php7
function gen()
{
    $a = (yield $b);
    $a = (yield $b => $c);
    yield from $a;
    $a = (yield from $b);
}