# Literate programming/Bird conversion via sed

(Difference between revisions)

# bird2code.sed
/^>/ !p
/^>/ {
i\
\\begin{code}

:loop
N
/\n>[^\n]*$/{ b loop } s/^> // s/$$\n$$> /\1/g s/\n$//
a\
\\end{code}\

p
}


should be run as:

sed -nf bird2code.sed < code.lhs > code.tex


Note that the above sed script does not handle all input well. For example, if the last line of an input file is a line of bird-style code and there is no newline before end-of-file, than the last "/end{code}" is omitted. You are advised to consider using the alternative awk script.