忘却のセミコロン、迷子の中括弧

セミコロン中括弧族(C++,JAVA,JavaScript,Peal)の綺麗なソースを書くために




セミコロン中括弧色分け表示ツール ←click here!

1.セミコロン中括弧族って?

 ちょっと0〜9までを表示するプログラムをいろいろなプログラム言語で書いて表にして見ました。 さらっとご覧になると、C++から後ろにあるプログラム言語ではセミコロン;と中括弧{}を使っているところが良く似ているのが分かります。
FORTRANは昔から標準化が進んでいて、自然科学の分野等で、今も世界中で広く使われている様なのですが、インターネット系で良く使われているのは、 C言語の子供達(?)、JAVA,JavaScript,Pealなど、行末が殆どセミコロンと中括弧で終わる言語の様に思われます。この言語をひっくるめて、私は密かに、 個人的に、セミ中族と名付けたのでした(笑)。

BASICFORTRAN
    FOR I=0 to 9
    PRINT I,
    NEXT I
      DO 100 I=0,9
      WRITE (*,*) I
  100 CONTINUE
C++JavaScript
#include <stdio.h>
int main(){
    int i;
    for(i = 0;i <= 9;i++){
        printf("%2d",i);
    }
    return(0);
}
for (i=0 ;i<10;i++){
    window.document.write(i);
}
PealJAVAアプレット
for ($i=0 ;$i<10;$i++){
    Print $i;
}
import java.applet.Applet;
import java.awt.Graphics;

public class test extends Applet{
  public void paint(Graphics g){
    int i;
    for(i=0;i<=9;i++){
      g.drawString(i+"",50+10*i,20);
    }
  }
}


2.セミコロン中括弧族のプログラムを書くために

 私はBASIC FORTRAN から入ったので、このセミ中族のソフトを書こうとして一番間違うのはセミコロンの打ち忘れなんですね(涙)。
作りかけのソフトに10行くらいのコードを書き足して突然動かなくなり、1つ1つチェックした後、『ああっ、この行にセミコロンが抜けていた!』と気づく時の脱力感。
そこで、行末にセミコロンがあるかどうかをビジュアルに色分け表示するツールが有ったらいいな、と考えました。
また、BASIC、FORTRANは、FORに対してNEXT、DOに対してCONTINUEみたいに見ただけで何処から何処までが繰り返し処理になっているのか分かりやすいのですが、 セミ中括族では、繰り返し処理も分岐処理も全部中括弧“}”で閉じているだけなので、処理が多くなったり階層が深くなったりすると、 どこまでその命令が有効なのか分かりにくくなってしまいます。
そういうわけで、中括弧の階層の深さに応じて色分けをしてソースを読みやすくする機能も追加したいと考えました。

3.セミコロン中括弧族のプログラムソースの色分け表示ツール

    #並べ替えボタンが押された場合の処理
    if($voteon eq $sortKey1){
        for($i=0;$i<$lastnum;$i++){
            for($j=$i;$j<$lastnum;$j++){
                if($yomi[$snum[$i]] gt $yomi[$snum[$j]]){
                    $dmynum=$snum[$i];
                    $snum[$i]=$snum[$j];
                    $snum[$j]=$dmynum;
                }
            }
        }
    }
上の図は、Pealによって書かれた、並べ替えのプログラムのコードを、色分け表示したものです。
一行目の注釈は、行末がセミコロンでも中括弧でもないので、行全体が青で表示されています。
それ以降の行は、全てセミコロンや中括弧で終わっていますので、文字は黒で表示されています。
また、中括弧の背景色が色分けされていますので、if文が何処で閉じているのか、$iのforループが何処で閉じているのか等を見分けるのが楽になります。


ただし、簡単にテキストファイルとしてチェックしているだけのものなので、中括弧の認識にはいくつかのルールが有ります。中括弧が認識できるのは、 認識できないものは、 などです。このツールを使用する場合は改行などをいれて、このような記述を避けるようにして下さい。


参考のためいろいろなサイトのJavaScriptのページのソースを試してみましたが、人によっていろいろと記述の流儀が有るものですね?勉強になりました!!

2002.10.25

[HOME][とまて週報TOP]