function identify_strings(code) -- returns list of positions {start,end} of literal strings in lua code local i = 0; local j; local length = string.len(code); local mode = 0; -- 0: not in string, 1: in '...' string, 2: in "..." string, 3. in [==[ ... ]==] string local modes = { {"'","'"}, {"\"","\""}, {"%[=*%[","%]=*%]"} } local ret = {} while i < length do i=i+1 local jmin = length+1; if mode == 0 then -- not yet inside string for k=1,#modes do j = string.find(code,modes[k][1],i); if j and j