Differences from v3

Lexers

  • no nongreedy '//' .* '\n'
  • added modes

grammars

no global scopes, but rules can see all vals from invoking rules