unless foo; bar end ^^^^^^^^^^^^^^^^^^^
bar unless foo ^^^^^^^^^^^^^^
until foo; bar end ^^^^^^^^^^^^^^^^^^
bar until foo ^^^^^^^^^^^^^
undef foo ^^^^^^^^^
unless foo; bar end ^^^^^^^^^^^^^^^^^^^
bar unless foo ^^^^^^^^^^^^^^
until foo; bar end ^^^^^^^^^^^^^^^^^
bar until foo ^^^^^^^^^^^^^
Reset nil attributes to their default values to make the spec valid
Parses the most indented lines into blocks that are marked and added to the frontier
If the bounds of a range node are empty parentheses, then they do not get replaced by their usual s(:nil), but instead are s(:begin).