value); $blockBuffer = null; while ($word = array_shift($words)) { if ($word->register === 'N') { if (!is_null($blockBuffer)) { $program->addBlock($blockBuffer); } $blockBuffer = new Block($word->value); continue; } $blockBuffer->addWord($word); } if (!is_null($blockBuffer)) { $program->addBlock($blockBuffer); } return $program; } }