Make local variables available to blocks.

Local variables created outside of a block should be made available to the
inside of the block as well.

Signed-off-by: Yorick Peterse <yorickpeterse@gmail.com>
Don't break when no return value is found.

Signed-off-by: Yorick Peterse <yorickpeterse@gmail.com>
Handle multiple variable assignments.

When building variable definitions as well as analysing them assignments of
multiple variables (in the form of `first = second = third = 10`) should be
handled properly.

Signed-off-by: Yorick Peterse <yorickpeterse@gmail.com>