RBIL2HTML
BIOS命令を調べなければ・・・と思いをめぐらせていたら、前に作ったperlスクリプトの存在を思い出しました。
HTML版がやたら見難いのですよ。原版もよくわからないフォーマットだし・・・。と怒りを込めて作った思い出が蘇ります(笑
rbil2html.pl
#!usr/bin/perl # Ralf Brown Interrupt List to HTML # perl rbil2html.pl 入力ファイル名(INTERRUP.a) > 出力ファイル名(INTERRUP.html) # 仕様 # ^---- コンテンツを区切る # ^INT タイトルとする。 # <dt>:<dd> dtとddに分離 # ※出力は全てpreタグで囲まれるorz # todo : インデックスを付けたい # todo : もうちょっと整形する。 # todo : フラグだらけのスパゲッティなソースをなんとかする。 $buffer = ""; # html tag flags [open - 1] [close - 0] $preFlag = 0; $dlFlag = 0; $ddFlag = 0; while ( <> ) { # open contents & close contents if ( /^----/ ) { # close tags if ( $preFlag ) { $buffer =~ s/\n$//; $buffer .= "</pre>"; $preFlag = 0; } if ( $ddFlag ) { $buffer =~ s/\n$//; $buffer .= "</dd>\n"; $ddFlag = 0; } if ( $dlFlag ) { $buffer .= "</dl>\n"; $dlFlag = 0; } # add <hr> tag $buffer .= "<hr />\n\n"; } else { # title if ( /^INT/ ) { $_ =~ s/\n//; $buffer .= "<h3>$_</h3>"; } elsif ( /(.*):(.*)/ ) { # open <dl> tag if ( $preFlag ) { $buffer =~ s/\n$//; $buffer .= "</pre>\n"; $preFlag = 0; } if ( $ddFlag ) { $buffer =~ s/\n$//; $buffer .= "</dd>\n"; $ddFlag = 0; } if ( !$dlFlag ) { $buffer .= "<dl>\n"; $dlFlag = 1; } $buffer .= "\t<dt>$1 :</dt>\n"; $buffer .= "\t<dd>"; $ddFlag = 1; $buffer .= "<pre>"; $preFlag = 1; $tmp = $2; $tmp =~ s/^[ \t]//; $buffer .= $tmp; } else { if ( $ddFlag ) { $_ =~ s/^[\t]//; $buffer .= "$_"; } else { if ( !$preFlag ) { $preFlag = 1; $buffer .= "\n<pre>"; } $buffer .= $_; } } } } print <<EOM; <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>title</title> <link href="style.css" rel="stylesheet" type="text/css" /> </head> <body> $buffer </body> </html> EOM
結構使えます。