2 プログラム構成

1 記述ルールとはどういうもの?

 このソフトウェア(以下IDEと言います)は、マウスとキーボードを使い操作しますが、
 内蔵プログラム言語のルールに従って書いたプログラムを実行することが基本操作です。
 プログラム編集用メモにプログラムの命令文を書き連ねてファイル保存しておけば、
 必要なときにそれらが利用できます。



 記述ルールというのは

 記述ルール = IDE機能の働きと、その呼び出し方法

 とも言えるでしょう。

 一例として、WEBページから文字列を取り出し、保存することを考えます。

  WEBページの取り込み命令文は次のように簡単な記述で済みます。

    &MYPAGE[ ] = <*> UTF8 ” http://zeusoo.com/index.html”;

 この命令文では、&MYPAGE [ ] は複数テキストを保持する変数として <*>をURL文字列に作用させた
  HTTP要求の結果として戻されるテキストを持ちます。  UTF8は WEBページのコード変換の指定です。
 
 特定のキーワードで囲まれた文字列ブロックを抽出するには次にような記述で済みます。

    &店舗情報[] = [++] &MYPAGE [ "店舗名" -> "." ];

 これは、 店舗名 から始まり、 文字列 . で囲まれたテキストブロックを
 [++] オプションで両キーワードを含む形で取り出し &店舗情報[] というリスト変数に出力します。

 そしてWEBページから取り出した店舗情報をファイル保存するには次の命令で済みます。

    <*> “c:\data\店舗情報保存.txt” = &店舗情報[];

 この例では、&店舗情報[] というリスト変数の値を <*> によって、絶対パス指定ファイルに保存します。

 このようにして、わずか3行ほどのプログラムコード(命令)で特定のWEBページから特定情報を取り出し
 ファイル保存が出来るのです。

2 機能を組み合わせて使うプログラム

 このIDE用プログラム言語は変数として数値や文字、文字リスト、数値の配列などで“データ”を
 取り扱います。
 それらは目的に応じて値を設定したり、その値を判断したり繰り返しや、まとまった命令の呼び出し
 などと組み合わせることで、必要なデータの取り扱いが出来るようになっています。

 各変数の設定例(初期値など)として、


  今週の集計A = 200000;   数値変数を初期化
  &XYZHOME = “○○〇家”;      文字列変数を初期化
  &MYLIST[] += “アイテム1”;    リスト変数に1行文字列を追加
  %MYMAT[0] = 1, 0, 1, 0, 1+X;    行列の1行を数値リストで初期化


 変数判定や繰り返しの命令文の例として、


  If 今週の集計A < 300000 then
     &表示メッセージ = “頑張ろうね!”;
  end

  Each &MYLIST [ k ] do
     &WORK = &MYLIST[k]<”#”->””>;
     if &work = “” then break; end
     …
  end


 他に、画面の一部にそれらの結果を表示させたり、グラフなどで図的に表示することもできます。
 



 もう一つ例をあげましょう。
 
 次の例では、特定キーワードを含む行から、特定の文字列以降の文字列を抜き出します。
 

   &ファックス番号 = [--]&店舗情報 [ “FAX” ]<”FAX”->””>;

 
 この例では、テキスト &店舗情報[] から FAX が含まれる行を指定し、[--]指示で FAX 文字列を
 含まず、その行の最後までを取り出して &ファックス番号 という文字列変数 に保存します。
 
 このような命令の使い方を覚えるだけで、容易くテキスト処理ができるのですが、これでもまだ
 面倒と思う場合もあるので、ビジュアルに抽出を手伝ってくれる機能も用意されています。

3 インタープリタとは?

 このIDEは作成されたプログラムは内部形式に変換されて、その変換されたデータを解釈して動作する
 機能があり、インタープリタなどと呼ばれる場合があります。





 このIDEがそう呼ばれるのが適当かは分かりませんが、プログラムがIDEの記述ルールに違反している
 場合には変換が停止されるようにしています。その場合、IDEがプログラムを正しく実行できないことになります。



 そうしたプログラム実行前の規則チェックを行いながら別の形式に変換する動作から、作者はコンパイラ
 (編集機)と呼ぶ方がより近いと思います。

 ここでは深くは書きませんが、このIDEの動作としてはインタープリタなのか?コンパイラなのか?微妙に
 混在したようなものになっています。

 ランタイムチェック(ランタイムエラー)

 IDEがプログラムを実行するときにも、様々にチェック動作が行われています。
 その実行時のプログラムチェックで動作継続が困難な場合にはランタイムエラーとしてIDEが検出して
 プログラムが停止するように作られています。



 IDEの設定機能でそれらは機能させなくしたり、動作が変だと思われるプログラムにはチェックを入れたりする
 ことができます。



4 タスク動作の現実

 このIDEでは、プログラムは内部コードに変換されて実行可能な形式で登録されます。
 それをタスクと呼んでいます。

 タスクは、3つの状態を持ち、アクティブ、ストップ、終了があります。



 アクティブはいつでも実行可能な状態を意味します。ストップはデバッガなどで一時的に
 停止状態にあることを示し、終了は一連の動作が終了した状態、実行が終了した状態を意味しています。

 タスクが登録される場所はタスクスロットと呼んでいますが、現在このタスクスロットに登録され
 ているタスクは実行指示により同時に動作するようになっています。



 これはマルチタスク機能と呼び、このIDEでは複数のプログラムを並列動作させる仕組みと
 して取り入れています。


 複数のタスクはそれぞれが均等に実行許可を与えられる為、コンソール出力などでは同じ画面に
 個々のタスクが文字列を出すことができます。 便利な半面、見づらくなる場合もあるので注意が必要です。