parse groups
parse groups

- capture group data
- use <var_char> to represent variable-name safe characters
- use <var_name> to represent variable names
- comments don't require any leading whitespace

atweiden/nightscape