Added: While support (semanter + generator)
Changed: empty scopes do not have a newline at the end in JS generator