2006年08月23日

◆ PP(プログラム・プロセッサ)

 プログラムを開発するための専用ソフトとして、PP(プログラムプロセッサ)というものがあるといいだろう。──

 似たものに、プログラム・エディタというものがある。たとえば、MS-Word 付属の Visual Basic Editor だ。これらのエディタのやることといえば、プログラムに関係する特定の文字列(のある行)を、カラー表示にして目立たせることぐらいだ。
 ただのカラー表示であるから、つまりは、文字列を操作するだけのエディタであるにすぎない。

 さて。エディタでプログラムを表現すると、プログラムは行の順番に並ぶ。つまり、一次元の順序で並ぶ。(線形だ、と言ってもいい。)
 一方、プログラム自体は、複雑な階層構造を取る。(言わずもがな。)
 となると、両者はうまく合致しない。

 階層構造であるプログラムを編集するには、線形で処理するエディタよりも、階層構造で処理するソフトの方が便利だ。そういうソフトは、あるか? ある。アウトライン・プロセッサと言われるものがそうだ。(いろいろと知られている。)
 このようなソフトを使って、プログラムの階層構造を表現すると、いろいろと便利だろう。
 たとえば、「Goto AA10」というような行があったとして、「AA10」という文字をダブルクリックすると、「AA10」というパートにジャンプする。そして「AA10」のパートだけが別ウィンドウに表示される。

 同様に、「Sub shori / ....... / End Sub」というパートがあれば、それもまたそのパートだけが別ウィンドウに表示されることがある。

 このようなパートは、それ単独でカット・コピー・ペーストしたり、移動したりすることができる。(エディタでやるように、いちいち行を範囲指定する必要はない。)

 当然ながら、「Sub shori / ....... / End Sub / End Sub」という矛盾したパートはありえない。あればすぐに警告される。(ま、現状のプログラム・エディタでも、警告してくれるものはある。)

 「If / ....... / End If」も、パートと同様に処理が可能となる。

 こういうことは、通常は、半角スペースを使って、見やすく書いているだろう。次のように。

   If .......
    If .......
     If .......
     End If
    End If
   End If

 しかし、これでは、あまりにも原始的だ。見やすくない。どうせなら、階層構造をそのまま自動的にパーツとして表示する方が見やすい。

 まずは、カラー化によって、階層を区別する。次のように。

   If .......
    If .......
     If .......
     End If
    End If
   End If



 また、二番目の If をダブルクリックすると、次の箇所だけが別ウィンドウに表示される。

    If .......
     If .......
     End If
    End If

 つまり、その外側の   If.... / End If    は 表示されない。

 このようにして常に階層構造が明らかになるから、プログラムミスによるバグの発生する確率が激減して、プログラム生産の能率が非常に向上するだろう。
 かなり高い値段を付けても、売れそうだ。一本百万円でも売れるかも。

 【 注記 】
 そのミソは? HTML の発想を、プログラムエディタに取り込むことだ。
 ハイパーリンクによってジャンプできる、という発想を Goto に当てはめる。
 UL や OL の階層を、If ... EndIf に当てはめる。
 ただし、HTML タグをいちいち書く必要はなく、自動的にタグができる。
 (メーラーのなかで自動的に HTML タグができるのと同様。)

 【 補足 】
 Goto のような文法語は、反転表示するのが好ましい。次のように。
     If x = y then Goto bye

 ※ 上の反転文字の1行は MS-IE では正しく表示されますが、Firefox や Opera では正しく表示されないようです。(最新バージョンでは大丈夫かもしれないが。)(── css の記述ミスだったので、修正しました。)
posted by 管理人 at 22:04 | Comment(0) | コンピュータ_01 | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

  ※ コメントが掲載されるまで、時間がかかることがあります。

過去ログ