2007/07/11: We need a way to have a rule that matches the end of the line. Many languages have regions whose "end" token is merely the end of the line. In those cases, our grammars employ hacks (with varying levels of success) to get around the fact that rules must match 1-or-more characters from the buffer. One solution would be to artificially include a newline character at the end of the line, which could be matched in regexes. Another would be to create a new type of rule and write some special-case code in the region rules.