Literate programming/Bird conversion via awk
From HaskellWiki
< Literate programming(Difference between revisions)
(Breaking out from main literate programming page) |
(fix missing slashes) |
||
| Line 3: | Line 3: | ||
<pre> | <pre> | ||
# bird2code.awk | # bird2code.awk | ||
| - | ^[^>] || ^$ {print; next} | + | /^[^>]/ || /^$/ {print; next} |
| - | ^> { | + | /^>/ { |
print "\\begin{code}" | print "\\begin{code}" | ||
sub(/^> /,"") | sub(/^> /,"") | ||
print | print | ||
rc = getline | rc = getline | ||
| - | while(($0 ~ ^>) && (rc > 0)) { | + | while(($0 ~ /^>/) && (rc > 0)) { |
sub(/^> /,"") | sub(/^> /,"") | ||
print | print | ||
Current revision
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"
}
