Pritty printer --- make colored html format by BD&ASS
【ソフト名】pp*.htm, pp*.js
【検索キー】JAVAScript, VBScript, C, html, #UTY
【著作権者】BD&ASS (null), SGL00064@nifty.ne.jp
【動作環境】Windows 95/98
【分 類】フリーウェア(その他のツール)
【開発環境】エディタ、IE4
【備 考】
htmlとJAVA Scriptで書かれております。とはいえ、あくまでローカルマシンで動作
させることが目的です。
特定言語のソースを食わせると、その予約語や文字列定数に色を付けて表示するhtmlソースを生成します。こんな感じ……
JAVA Script
/*
Sample JAVA Script
*/
var x; // hoge
function foobar(a, b)
{
var c = /\*\//;
if (a!=b)/* コメント */{
return "文字";
}
return '文字';
}
VBScript
' Sample VBScript
Const hoge = "xyz"
Sub foobar(ByVal v) ' hoge
Dim x
If a<>b Then x = 0 Else x = 1
Do Until yy
if foo() then str = "長い文字列には継続行" &_
"が便利ね"
Loop
End Sub
C Source
// tests
#include <stdio.h>
#include <windows.h>
int main(int argc, char *argv[])
{
MessageBox(NULL, "hoge", "foo", MB_ICONINFORMATION); // win32
return 0/* no error */;
}
現在、JAVA Script、VB Script、C (C++のソースでもOKかも?)に対応。pp*.htmをIE4以降で実行し、対応する言語のソースをCopy & Pasteしてからボタンをクリックすると、別ウィンドウで処理結果が表示されるので、ブラウザで「ソースを表示」をしてからCopy & Pasteするとそういうhtmlが得られます。
VB Script用、JAVA Script用、C/C++用の順で作りました。それなりに動けばオッケー。といういい加減なものですので多くを期待すると悲しい思いをするでしょう(^^;;
ソースの書き方によってはIEが自殺するかも。そうなるとIEはOSに統合されているので(?) Windows 98も道連れになってマシンをリセットするしかなくなります(もちろん、Ctrl + Alt + Delでどーにかできるような状況ではありません)。
共通Readme、及び各自が欲する言語用のモジュールをダウンロードしてください。
なお、当方で確認できているのはWindows環境のみです。うちのLinux環境はNICがマイナー過ぎるのか未だに認識させることが出来ていないので孤立して動作してますから……(^^;;
一応、IE4とNN4では確認しました。が、NNでの使用はお薦めできません。IEに比べて高速なのは良いのですが……
#ちなみに、VB Script用は現在このサイトの某所でオンラインで実行できる版よりちょっとだけ進歩してます
#あっと。関係ないかも知れません(というか、関係しないと願ってます)が、うちのWindows9xは全てWSH 2.0にアップデートしてます。スクリプトエンジンは5.1です。
WSH 2.0はWindows 2000には最初から組み込まれてますが、95/98の場合はMSのサイトからモジュールを落として組み込む必要があります。最初期のWin95でもWSH 2.0は動作可能です。(多分、IE4以降が入っていないとDCOM95のインストールが必要と思うが)
#本来のPritty printerって、こーゆー動作はしないのでは?と突っ込まないでね(^^;;;
後から追加したC/C++用は無駄なテイルリカージョンをある程度排し、問題のあった処理を見直してます。いやその。JAVA用から安直に変更して使っていたC用を素面で全面見なおして見たら驚天動地なアホなことをしていたので。
それでもVBScript用とかJAVAScript用が私が使う限りは平気で動作してるようなので、修正してません。バグレポートもこないからには、私以外にはユーザがいないんだろうし、だとしたら、自分が使う分には問題なければそれで良いじゃ〜ん。ってことです(淋)
なお、C/C++版は、大文字と数字それに'_'で構成される文字列は最初が数字でない場合、
色が付きます。Windowsの予約語である、DWORDとかに色を付けないと寂しいなぁとか
思ったのですが、いちいちそれらを特別視するととっても処理が遅くなるだろうし、
漏れは避けられないと感じたので、そうしました。これによる弊害は、ユーザが定義した
全て大文字とかの定数にも色が付く。ということですが、まぁそれは許容範囲と思って
ます。これが気に入らないならソースを修正してください。
- #共通Readme:`pp.lzh' (4,069 bytes)
00/Jun/15
- VBScript用:`pp-vbs.lzh' (2,672 bytes)
- JAVA Script用:`pp-js.lzh' (2,819 bytes)
- bug fix C用:`pp-c.lzh' (3,131 bytes)
01/February
ではでは。お試し&ご活用なさいませ。
===
変更履歴
2001/February: bug fix
うぎゃ〜!!。C版、「do」を予約語に入れてなかった。ははは。これではWz Editor
4.0Dと一緒やんか。かのエディタを非難できんぞ。これでは。
ということで済みません。修正しました。
ちなみに、static_castとかが予約語扱いではないのは私の*怠慢*です。バグでは
ありません。*仕様*です(^^;;;)。
C++な色付きhtmlが欲しい方は各自修正してください。私、C++なソースをhtmlにして
公開する予定、今の所ありませんので。
2000/Jul/23: bug fix
#うぅ。C用、エンバグしてました。修正しました
(とても恥ずかしい)バグの内容:
if (x=0 /* hoge */)なんてのはOKなんだが、
/*
hoge
*/
というコメントがあると、以降黒文字のはずの所が全部コメント色になっちゃい
ました。これって、初期バージョンではちゃんと動いててたんだけどなぁ……。
とかいうのは言い訳ですね。ごめんなさい。
それから、
// #include <stdlib.h>
とかの処理もミスってましたm(_o_)m。「//」なコメント行では「<」や「>」の
変換処理をしてませんでした。
で、ついでにApple社純正のFree C/C++コンパイラ、MPW風の色使いも選べるようにしました。
(MPW*風*。ですよ。MPWの色付けはいい加減な所があるので、厳密な追随はしてません。
念のため)
===