+++ /dev/null
-# Copyright (C) 1999, 2000, 2001, 2002, 2005, 2006 by Wolfgang Bangerth, University of Heidelberg
-
-print " * <h1> The commented program</h1>\n";
-
-# ignore comments at the start of the program. this includes CVS
-# tags and copyright notices.
-$_ = <>;
-while ( m!^/[/\*]! || m!\s*\*! || m/^$/ ) {
- $_ = <>;
-}
-
-# have two states, in which the program can be:
-# comment-mode and program-mode
-$comment_mode = 0;
-$program_mode = 1;
-$state = $comment_mode;
-
-print " * \n";
-
-do {
- # substitute special characters
- s/\t/ /g;
-
- if (($state == $program_mode) && m!^\s*//!)
- {
- $state = $comment_mode;
- print " * \@endcode\n";
- print " * \n";
- }
- # if in comment mode and no comment line: toggle state.
- # don't do so, if only a blank line
- elsif (($state == $comment_mode) && !m!^\s*//! && !m!^\s*$!)
- {
- $state = $program_mode;
- print " * \n";
- print " * \@code\n";
- }
-
- if ($state == $comment_mode)
- {
- # in comment mode: first skip leading whitespace and
- # comment // signs
- s!\s*//\s*(.*)\n!$1!;
-
- # make sure template arguments are printed correctly
- s!<!\@<!g;
- s!>!\@>!g;
-
- # second, replace section headers, and generate addressable
- # anchor
- if ( /\@sect/ ) {
- s!\@sect(\d)\{(.*)\}\s*$!<h$1>$2</h$1>!g;
- $sect_name = $2;
- $sect_name =~ s/\s/_/g;
- $sect_name =~ s/[\'\`]/_/g;
- $_ = "\n * \@anchor $sect_name \n * $_";
- }
-
- # then replace references to other example programs automatically:
- s!step-(\d+)!\@ref step_\1 \"step-\1\"!g;
-
- # finally print this line
- print " * $_\n";
-
- # if empty line, introduce paragraph break
- print " * \n" if $_ =~ m!^\s*$!;
- }
- else
- {
- print " * $_";
- }
-} while (<>);
-
-if ($state == $program_mode) {
- print " * \@endcode\n";
-}
-
+++ /dev/null
-# Copyright (C) 1999, 2000, 2001, 2002, 2006 by Wolfgang Bangerth, University of Heidelberg
-
-print "<p>\n";
-print "<pre><code>\n";
-
-
-while (<>) {
- # ignore comment lines
- if ( ! m!^\s*//! ) {
- # substitute special characters
- s/&/&/g;
- s/</</g;
- s/>/>/g;
- s/\t/ /g;
-
- print " $_";
- } else {
- # second, replace section headers, and generate addressable
- # anchor
- if ( /\@sect/ ) {
- # replace quotation marks by the appropriate HTML quotation marks
- s!``!“!g;
- s!''!”!g;
-
- # replace double dashes in comments by —
- s!--!—!g;
-
- m!\@sect(\d)\{(.*)\}\s*$!;
- $sect_name = $2;
- $sect_name =~ s/\s/_/g;
- $_ = "\n<a name=\"plain-$sect_name\"></a>";
- print;
- }
- }
-}
-
-print "</code></pre>\n</p>\n\n";