Parser source: count line/column using an extra state layer instead of pre-processing input; split the error-reporting section in 2: one for error messages, the second for position as well