defputCommentChar(): Unit

a stack of tokens which indicates whether line-ends can be statement separators
also used for keeping track of nesting levels.

a stack of tokens which indicates whether line-ends can be statement separators
also used for keeping track of nesting levels.
We keep track of the closing symbol of a region. This can be
RPAREN if region starts with '('
RBRACKET if region starts with '['
RBRACE if region starts with '{'
ARROW if region starts with case'
STRINGLIT if region is a string interpolation expression starting with '${'
(the STRINGLIT appears twice in succession on the stack iff the
expression is a multiline string literal).