grammar: correctly report error locations

Line is reported using 1-based indexing.
Column is reported instead of offset and does not gets reduced
when line is longer 80 characters.
test: add error location report test