#!/usr/bin/perl -w
@A = (
[ "01", "drawingLines", "Drawing Lines", 1, "" ],
[ "02", "drawingOtherStuff", "Drawing Other Stuff", 1, "" ],
[ "03", "color", "Color", 2,
"introduces arrays" ],
[ "04", "mouseInput", "Mouse Input", 2,
"introduces showStatus( ) and Vector" ],
[ "05", "keyboardInput", "Keyboard Input", 2, "" ],
[ "06", "threads", "Threads and Animation", 1,
"introduces System.out.println( )" ],
[ "07", "backbuffer", "Backbuffers", 1,
"introduces Math.random( ) and Graphics.drawImage( )" ],
[ "08", "painting", "Painting", 2, "" ],
[ "09", "clocks", "Clocks", 1, "" ],
[ "10", "text", "Playing with Text", 0,
"introduces 2D arrays and hyperlinks" ],
[ "11", "3d", "3D Graphics", 1,
"introduces classes" ],
[ "12", "miscellaneous", "Odds and Ends", 1, "" ],
);
$index = ""; # used to be "index.html"
$lenA = @A;
for ( $j = 0; $j < $lenA; $j++ ) {
$j2 = $j + 1;
# generate an entry in the table of contents
#
# print " $j2 : " .
# "$A[$j][2]";
# if ( $A[$j][4] ne "" ) {
# print "\n - $A[$j][4]";
# }
# print "
\n";
print "
\n";
open( INPUT2, $1 ) or die "Can't open $1\n";
# We're supposed to strip all comments and blank lines,
# *except* when either of these ends with a trailing blank.
while ( ) {
# is there a trailing blank ?
if ( /^(.*) $/ ) {
print OUTPUT "$1\n"; # echo it, without the trailing blank
}
# is the line empty, or does it only contain whitespace ?
elsif ( /^(\s*)$/ ) {
# don't echo anything
}
# does the line contain "//" preceded only by whitespace ?
elsif ( /^(\s*)\/\/(.*)$/ ) {
# don't echo anything
}
# does the line contain "//" ?
elsif ( /^(.*)\/\/(.*)$/ ) {
# output contents preceding comment
# (unfortunately, trailing blanks might get output too)
print OUTPUT "$1\n";
}
else {
print OUTPUT "$_"; # output entire line
}
}
close( INPUT2 );
print OUTPUT " \n";
}
elsif ( /__SOURCE (.*)/ ) {
print OUTPUT "\n";
open( INPUT2, $1 ) or die "Can't open $1\n";
while ( ) {
print OUTPUT "$_";
}
close( INPUT2 );
print OUTPUT " \n";
}
elsif ( /__APPLET (.*)/ ) {
print OUTPUT "