Literate programming/Bird conversion via awk

From HaskellWiki
< Literate programming
Revision as of 17:21, 9 October 2006 by BrettGiles (talk | contribs) (Breaking out from main literate programming page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Thanks to Peter Tillier from the comp.lang.awk newsgroup.

# bird2code.awk
^[^>] || ^$ {print; next}

^> {
  print "\\begin{code}"
  sub(/^> /,"")
  print
  rc = getline
  while(($0 ~ ^>) && (rc > 0)) {
    sub(/^> /,"")
    print
    rc = getline
  }
  print "\\end{code}\n"
}