@internal<EOL>def statements_to_HWProcesses(statements: List[HdlStatement])-> Generator[HWProcess, None, None]:
<EOL>statements = copy(statements)<EOL>processes = []<EOL>while statements:<EOL><INDENT>stm = statements.pop()<EOL>proc_statements = [stm, ]<EOL>ps = _statements_to_HWProcesses(proc_statements, True)<EOL>processes.extend(ps)<EOL><DEDENT>yield from reduceProcesses(processes)<EOL>
Pack statements into HWProcess instances,
* for each out signal resolve it's drivers and collect them
* split statements if there is and combinational loop
* merge statements if it is possible
* resolve sensitivitilists
* wrap into HWProcess instance
* for every IO of process generate name if signal has not any