Most keywords don't just require the correct characters to match, they have to ensure that subsequent characters *don't* match in order for it to be a keyword.
Most keywords don't just require the correct characters to match, they have to ensure that subsequent characters *don't* match in order for it to be a keyword.
Parses whitespace, including newlines.
Parses all whitespace, excluding newlines.
Parses all whitespace, excluding newlines. This is only really useful in e.g. {} blocks, where we want to avoid capturing newlines so semicolon-inference would work
helper printing function
helper printing function