#! lua
 local print = print
 local temp, src = arg[1], arg[2]
 local lines in io
 local cpat = "^\t(%d+)\t%[(%d+)%]\t(.*)$"
 local x, y = { }, { }  -- source, comment
 for line in lines (src) do
   x[1+#x] = line
 end -- for
 local lnum,op
 local lfmt = "%6d\t%s"
 for line in lines(temp) do
   cline, lnum, op = line:match (cpat)
   if lnum and op then
     y[1+#y] = { tonumber (lnum),lfmt:format (tonumber (cline),op), }
   end -- if
 end -- for
 local concat in table
 local fmt = "--[[\n%s\n--]]"
 local gather = \ (n)
   local o = {}
   for _,v in ipairs (y) do
     if v[1] == n then o[1+#o] = v[2] end -- if
   end -- for
   => (#o > 0) and fmt:format (concat (o,"\n")) or ""
   end -- function
 local g
 for i,l in ipairs (x) do
    print (l)
    g = (gather(i)):gsub ("\t"," ")
    if #g > 0 then print (g) end -- if
 end -- for
