<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">#
# Copyright 1999-2002,2004 The Apache Software Foundation.
# 
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# 
#      http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#

my $filename = $ARGV[0];
open(IN,"&lt; $filename") || die("Couldn't open input file: $filename");

while (&lt;IN&gt;) {
  if ($_=~/^\s*class\s+[A-Z0-9_]+_EXPORT\s+([^\s]+)/) {
    $classname = $1;
    last;
  }
}

open(OUT,"&gt;out.html") || die("Could not write to out.html");

print OUT &lt;&lt;"END1";
&lt;h3&gt;
&lt;font color="#000000"&gt;$filename:&lt;/font&gt;&lt;/h3&gt;

&lt;div id="$classname"&gt;&lt;font face="Courier New,Courier"&gt;&lt;font size=-1&gt;class
$classname&lt;/font&gt;&lt;/font&gt;
&lt;table&gt;
END1

while (&lt;IN&gt;) {
  if ($_=~/^\s*public\s*:/) {
    print OUT &lt;&lt;"END5";

&lt;tr ALIGN=LEFT VALIGN=TOP&gt;
&lt;td&gt;&lt;font face="Courier New,Courier"&gt;&lt;font size=-1&gt;{&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;

&lt;td&gt;&lt;/td&gt;

&lt;td&gt;&lt;/td&gt;

&lt;td&gt;&lt;/td&gt;

&lt;/tr&gt;

&lt;tr ALIGN=LEFT VALIGN=TOP&gt;
&lt;td&gt;&lt;font face="Courier New,Courier"&gt;&lt;font size=-1&gt;public:&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;

&lt;td&gt;&lt;/td&gt;

&lt;td&gt;&lt;/td&gt;

&lt;td&gt;&lt;/td&gt;

&lt;/tr&gt;
END5
    last;
  }
}

while (&lt;IN&gt;) {
  if ($_=~/^\s*(virtual)\s+([^\s\(][^\(]*[^\s\(])\s+([^\s\(]+\(.*)/) {
    $a=$1;
    $b=$2;
    $c=$3;
    while ($c!~/\)/) {
      $c.=&lt;IN&gt;;
    }
    print OUT &lt;&lt;"END";

&lt;tr ALIGN=LEFT VALIGN=TOP&gt;
&lt;td&gt;&lt;/td&gt;

&lt;td&gt;&lt;font face="Courier New,Courier"&gt;&lt;font size=-1&gt;$a&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;

&lt;td&gt;&lt;font face="Courier New,Courier"&gt;&lt;font size=-1&gt;$b&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;

&lt;td&gt;&lt;font face="Courier New,Courier"&gt;&lt;font size=-1&gt;$c&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;
&lt;/tr&gt;
END
  } elsif ($_=~/^\s*(enum)\s+([^\s]+)\s*{/) {
    print OUT &lt;&lt;"END2";

&lt;tr ALIGN=LEFT VALIGN=TOP&gt;
&lt;td&gt;&lt;/td&gt;

&lt;td&gt;&lt;font face="Courier New,Courier"&gt;&lt;font size=-1&gt;$1&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;

&lt;td&gt;&lt;font face="Courier New,Courier"&gt;&lt;font size=-1&gt;$2 {&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;

&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
END2

    while (&lt;IN&gt;) {
      if ($_=~/([^\s]+)\s*=\s*([^\s,]+),?(\s|$)/) {
        print OUT &lt;&lt;"END3";
&lt;tr ALIGN=LEFT VALIGN=TOP&gt;
&lt;td&gt;&lt;/td&gt;

&lt;td&gt;&lt;/td&gt;

&lt;td&gt;&lt;font face="Courier New,Courier"&gt;&lt;font size=-1&gt;$1&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;

&lt;td&gt;&lt;font face="Courier New,Courier"&gt;&lt;font size=-1&gt;= $2,&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;
&lt;/tr&gt;
END3
      }
      if ($_=~/}\s*;/) {
        print OUT &lt;&lt;"END4";
&lt;tr ALIGN=LEFT VALIGN=TOP&gt;
&lt;td&gt;&lt;font face="Courier New,Courier"&gt;&lt;font size=-1&gt;};&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;

&lt;td&gt;&lt;/td&gt;

&lt;td&gt;&lt;/td&gt;

&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
END4
        last;
      }
    }
  }

#  enum ExceptionCode {
#    INVALID_EXPRESSION_ERR = 51,
#    TYPE_ERR = 52,
#  };
}

print OUT &lt;&lt;"END6";
&lt;tr ALIGN=LEFT VALIGN=TOP&gt;
&lt;td&gt;&lt;font face="Courier New,Courier"&gt;&lt;font size=-1&gt;};&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;

&lt;td&gt;&lt;/td&gt;

&lt;td&gt;&lt;/td&gt;

&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
END6

close(OUT);
close(IN);
</pre></body></html>