#! /usr/bin/env perl
#
# This script extracts the text blocks from a source file and creates a
# simple text block out of them.
#
# Initially, we will use this to create LaTeX blocks so that the ADI reference
# manual can contain the comments from the example source files adi3.c and
# adi3.h.
#
use warnings;
$debug = 0;
while (<>) {
if (/\/\*T([^ ]*)[ ]*\n/) {
$filename = $1;
print "Filename = |$filename|\n" if $debug;
$filename =~ s/\s*//;
if ($filename ne "") {
open( OUTFILE, ">$filename" ) || die "Could not open $filename\n";
$OUTFILE = OUTFILE;
}
else {
$OUTFILE = STDOUT;
}
# Process until we find the matching T*/
$_=<>;
if (/Section[ ]*[0-9:]*[ ]*(.*)/) {
print $OUTFILE "\\section{$1}\n";
}
else {
s/^ \*//;
if (/[A-Za-z]:[ ]*$/) {
s/[ ]*(.*):/\\subsection{$1}/g;
}
s/^.vb/\\begin{verbatim}/g;
s/^.ve/\\end{verbatim}/g;
s/\'([^\']*)\'/]\texttt{$1}/g;
s/\\:/:/g;
print $OUTFILE $_;
}
while (<>) {
if (/T\*\//) { last ; }
s/^ \*//;
if (/[A-Za-z]:[ ]*$/) {
s/[ ]*(.*):/\\subsection{$1}/g;
}
s/^.vb/\\begin{verbatim}/g;
s/^.ve/\\end{verbatim}/g;
s/\'([^\']*)\'/\\texttt{$1}/g;
s/\`([^\`]*)\`/\\emph{$1}/g;
s/\\:/:/g;
print $OUTFILE $_;
}
if ($filename ne "") { close(OUTFILE); }
}
}