From 054b33b35f03180732f56f0fdd98f1bf477d2f6a Mon Sep 17 00:00:00 2001 From: Sergio Queiroz Date: Fri, 16 Dec 2016 11:05:04 -0300 Subject: Updating error message related to / and //{} --- relabelrec.lua | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/relabelrec.lua b/relabelrec.lua index 16ca7f0..af1a440 100644 --- a/relabelrec.lua +++ b/relabelrec.lua @@ -31,7 +31,7 @@ local errinfo = { {"NoPatt", "no pattern found"}, {"ExtraChars", "unexpected characters after the pattern"}, - {"ExpPatt1", "expected a pattern after '/' or the label(s)"}, + {"ExpPatt1", "expected a pattern after '/' or '//{...}'"}, {"ExpPatt2", "expected a pattern after '&'"}, {"ExpPatt3", "expected a pattern after '!'"}, @@ -305,6 +305,14 @@ local function lineno (s, i) return 1 + num, (r ~= 0 and r or 1) + adjustment end +local function calcline (s, i) + if i == 1 then return 1, 1 end + local rest, line = s:sub(1,i):gsub("[^\n]*\n", "") + local col = #rest + return 1 + line, col ~= 0 and col or 1 +end + + local function splitlines(str) local t = {} local function helper(line) tinsert(t, line) return "" end @@ -325,6 +333,7 @@ local function compile (p, defs) if not cp then local lines = splitlines(p) local line, col = lineno(p, #p - #suffix + 1) + --local line, col = calcline(p, #p - #suffix + 1) local err = {} tinsert(err, "L" .. line .. ":C" .. col .. ": " .. errmsgs[label]) tinsert(err, lines[line]) @@ -372,13 +381,6 @@ local function setlabels (t) tlabels = t end -local function calcline (s, i) - if i == 1 then return 1, 1 end - local rest, line = s:sub(1,i):gsub("[^\n]*\n", "") - local col = #rest - return 1 + line, col ~= 0 and col or 1 -end - -- exported names local re = { -- cgit v1.2.3-55-g6feb