Added ruleName() function which can be called inside semantic actions to return the currently executing rule
issue #30: begin implementing ranges support. Changes in grammar and handling in passes.
issue #30: Realize range in bytecode and in javascript generator, optimized for speed.
#30: Add description of new range feature to README.
#30: realize range feature in optimize=size mode.
#30: remove usage of BREAK opcode.
#30: remove usage of BREAK opcode.
#30: add support for delimiter.
#30: update code to latest `master` changes -- error handling rewriting.
#30: regenerate parser.
#30: Fixes some bugs in auxiliary compiler passes.
#30: Fix existing, because renumbering opcodes.
#30: Add range testcases.
#30: Fix bug with incorrect parsing, when after last delimiter no more elements. Example:

  start = 'a'|2..3, ','|;

on input:

  a,a,a,

now failed. If you need optional trailing delimiter, specify it explicitly in grammar:

  start = 'a'|2..3, ','| ','?;
#30: Add some more testcases.
Small utility for decompilation of bytecode, generated by generate-bytecode compiler pass.
Add new |region| function which can be used in actions and returns object:
`{ begin: <beginPos>, end: <endPos>}`, where <beginPos> and <endPos> are:
`{offset: <offset>, line: <line>, column: <column>}`
for begin of match rule and end of match rule accordingly.

Also, if call |region(true)|, also will be present field |text| with input part of match (similarly |text()| function).

Add new function invocation to all AST nodes (as |region: region()|), so compiler passes may forming more informative error messages.
Regenerate parser and upgrade testcases to new feature.
As side effect, small bug fix: instead of |simple not| |simple and| was checked in |report-...| specs.
Add annotations to grammar and regenerate parser.
Correct testcases.