summaryrefslogtreecommitdiff
path: root/web/noweb/contrib/norman/generate-to
diff options
context:
space:
mode:
Diffstat (limited to 'web/noweb/contrib/norman/generate-to')
-rwxr-xr-xweb/noweb/contrib/norman/generate-to24
1 files changed, 24 insertions, 0 deletions
diff --git a/web/noweb/contrib/norman/generate-to b/web/noweb/contrib/norman/generate-to
new file mode 100755
index 0000000000..9bc8f65e6e
--- /dev/null
+++ b/web/noweb/contrib/norman/generate-to
@@ -0,0 +1,24 @@
+#!/usr/bin/env lua5.1
+
+-- Usage: $0 filename
+-- Reads from stdin and writes to filename, renumbering directives
+-- that say "generated code"
+
+assert(#arg == 1, 'Usage: $0 outfilename')
+local filename = assert(arg[1])
+
+local f = assert(io.open(filename, 'w'))
+
+local n = 0 -- how many lines have already been written to f
+local function rewrite()
+ return string.format('#line %d "%s"', n, filename)
+end
+for l in io.lines() do
+ n = n + 1
+ l = l:gsub('%#line%s+%d+%s*"generated code"', rewrite, 1)
+ f:write(l, '\n')
+end
+
+f:close()
+
+ \ No newline at end of file