>サイトトップへ >このカテゴリの一覧へ

日本工業規格

JIS

 X

0130

-1995

木構造図用データ交換言語 DXL

Information technology

−DXL : Diagram

exchange language for tree-structured charts

1.

適用範囲  この規格は,木構造図用の CASE ツールのデータ交換言語 DXL について,次の事項を規

定する。

(1) DXL

の表現方法

(2) DXL

の構文規則

(3)

規格に対する準拠性

DXL

の適用対象としている木構造図の範囲は,JIS X 0128 に準拠したプログラム構成要素をもつ図,及

びそれを基にさらに詳細定義されたプログラム構成要素をもつ図とする。

参考  木構造図の例を,附属書 A(参考)に示す。

この規格は,次の事項を規定しない。

(1)

木構造図の図表現のための情報,図の配置のための情報,図を紙に出力するための情報など形に関す

る情報

(2)

木構造図の構成管理のための情報

(3)

データ構造及びデータの流れに関する情報

備考  附属書 の例にある木構造図の幾つかには,データ構造などに関する情報も含まれる。DXL

では,これを対象外とする。

2.

引用規格  この規格で引用する規格を,次に示す。

JIS X 0121

  情報処理用流れ図・プログラム網図・システム資源図記号

JIS X 0128

  プログラム構成要素及びその表記法

JIS X 0201

  情報交換用符号

JIS X 0202

  情報交換用符号の拡張法

JIS X 0208

  情報交換用漢字符号

JIS X 0212

  情報交換用漢字符号−補助漢字

ISO/IEC 646 : 1991

  Information technology−ISO 7-bit coded character set for information interchange

ISO/IEC 2022 : 1994

  Information technology−Character code structure and extension techniques

ISO/IEC 4873 : 1991

  Information technology−ISO 8-bit code for information interchange−Structure and

rules for implementation


2

X 0130-1995

3.

用語の定義  この規格で用いる主な用語の定義は,次のとおりとする。

(1)

プログラム構成要素 (program construct)   プログラムを手続的アルゴリズムの制御構造の表現方法と

して見たとき,プログラムを構成する要素。一つの要素は,ある階層において一つ以上の手続部及び

一つの制御部からなる。

各手続部は,一つ以上の実行される演算からなるか又は空である。

制御部は,指示と幾つかの条件とからなり,手続部を実行する方法を指定する。

制御部は,指示の性質及び条件の値に従って手続部を起動又は終了させる。

制御部には,指示も条件もない場合もある。

(2)

プログラムモジュール  (program module)    手続及びデータの宣言からなる言語構成要素とし,他の同

様の構成要素と相互に作用しうるもの。

この規格では,プログラムモジュールを単にモジュールと呼ぶ。

1. Fortran のプログラム及びサブルーチン副プログラム,Ada のパッケージ,PL/I の外部手続及び

C

の関数。

2. Ada のタスク及び UNIX のプロセス。

(3)

木構造図 (tree-structured chart)   JIS X 0128 で定義されたプログラム構成要素を組み合わせて作られ

た木の構造をもつ,プログラムモジュールの論理を表現する図。

(4)  CASE

ツール  (CASE tool)    ソフトウェアライフサイクルの開発プロセスにおいて,作業の一部を自

動化することによって,ソフトウェア開発者を支援する応用ソフトウェア。

備考 CASE は,Computer Aided Software Engineering の略。

4.

適合性  この規格に対する適合性は,次による。

(1)

水準 0  水準 0 は,JIS X 0128 に規定されたプログラム構成要素とモジュールの論理の表記に不可欠

な構成要素とからなる。

備考  追加した構成要素は,ブロック化文(6.8 参照)である。

(2)

水準 1  水準 1 は,水準 0 を満たし,更に細分化されたプログラム構成要素からなる。

5.

定義の方法  この規格では,DXL の構文を規定するために Backus−Naur 記法に幾つかの変更を加え

た記述法を用いる。この記述法で使う記号及びその意味は,

表 による。

表 1  構文の記述に使う記号

記号

意味

::

定義する

|

又は

[A] A

又は空

{A} A

を 0 個以上並べたもの

‘xyz’

水準 0 に属する終端記号 xyz

“xyz”

水準 1 に属する終端記号 xyz

<XYZ>

水準 0 に属する非終端記号 XYZ

<<XYZ>>

水準 1 に属する非終端記号 XYZ


3

X 0130-1995

6.

データ交換言語  DXL の構文規則を定める。

6.1

字句  ここに示す構文規則は,文字から字句を構成する方法及びこれらの字句の分類の方法につい

て規定する。字句は,DXL の最小の構文要素とする。

<1 バイト文字>は,JIS X 0201 及び JIS X 0202 で定義されている情報交換用符号からなる。

<2 バイト文字>は,JIS X 0208 及び JIS X 0212 で定義されている情報交換用符号からなる。

<書式制御文字>は,JIS X 0201 で定義されている書式制御キャラクタからなる。

<LF>

は,JIS X 0201 で定義されている改行とする。

<TAB>

は,JIS X 0201 で定義されている水平タブとする。

<

文字> ::=

<1

バイト文字>|<2 バイト文字>

<

文字列> ::=

{  <文字>  }

<

字句> ::=

<

特殊記号>    |  <予約語>    |  <識別子>  |  <仕様記述>  |

<<

付加情報>>  |  <説明記述>  |  <注釈>

<

特殊記号> ::=

‘;’  |  ‘:’  |  <LF>

<

予約語> ::=

‘M_Packet’  |  ‘End_M_Packet’  |

‘Profile’  |‘End_Profile’  |  ‘Identification’  |

‘Identifier’  |  ‘is’  |  ‘End_Identification’  |

‘Module_Algorithm’  |  ‘End_Module_Algorithm’  |

‘imperative’  |  “null”  |  “call”    |  “goto”  |

“abstract”    |

‘begin’  |  ‘end’  |

‘parallel’  |  ‘end_parallel’  |

‘loop’  |  ‘end_loop’  |  ‘condition’  |

“while”  |  “until”    |  “for”  |

‘if’  |  ‘then’  |  ‘end_if’  |

‘exclusive_select’  |  ‘else_if’  |  ‘else’  |

‘end_exclusive_select’  |

‘case’|‘when’  |

‘inclusive_select’  |  ‘end_inclusive_select’  |

‘terminate’  |  ‘system’  |  ‘module’  |  ‘block’

<

識別子> ::=

‘<’  <文字列>  ‘>’

<

仕様記述> ::=

[’

{  <文字列> | <書式制御文字>  }

[’

[<<付加情報>>]

<<

付加情報>> ::=

“%{”

{  <文字列> | <書式制御文字>  }

“}%”

<

説明記述> ::=

[’

{  <文字列> | <書式制御文字>  }

[’

<

注釈> ::=

‘--’

{  <文字列> | <TAB>  }<LF>

備考1.  1個以上の空白文字を<字句>の前後に置いてもよい。ただし,<予約語>が2個以上連続す

る場合,その間には1個以上の空白文字を置く。

2.

<識別子>は,モジュールの一部分を表す識別用の名前又はモジュール内の特定の場所を表

す識別用の名前である。

3.

<

仕様記述>には,手続と制御条件の仕様とを記述する。

4.

<<付加情報>>には,ソースコードなどを記述する。


4

X 0130-1995

5.

<<付加情報>>及び<説明記述>は,必要に応じて DXL の処理系が,任意に定めることが

できる。

6.

エスケープ文字”\”は,その直後の文字の構文上の意味又は書式制御文字の機能を失わせ

る。

7.

<注釈>は,DXL を直接読む人の理解を助けるための情報を記述する。

6.2

モジュールパケット

<

モジュールパケット> ::=

‘M_Packet’

<

プロファイル句>

{  <モジュール識別句> <モジュール論理句>  }

‘End_M_Packet’

‘;’

備考  <モジュールパケット>は,DXL の処理系の処理単位である。

6.3

プロファイル句

<

プロファイル句> ::=

‘Profile’

[  <説明記述>  ]

‘End_Profile’

‘;’

備考  <プロファイル句>には,<モジュールパケット>の解析に必要な情報を記述する。<説明記

述>には,次のような情報を記述することが望ましい。

(1)

使用する情報交換用符号の種類

(2)

<識別子>,<仕様記述>,<<付加情報>>,<説明記述>及び<注釈>の最大長などの

制限情報

(3)

使用した木構造図の種類名

(4)

水準に関する情報

6.4

モジュール識別句

<

モジュール識別句> ::= ‘Identification’

‘Identifier’

‘is’  <識別子>  ‘;’

[  <説明記述>  ]

‘End Identification’

‘;’

備考1.  <モジュール識別句>は,モジュールを識別する名前及びその説明からなる。

2.

一つの<モジュールパケット>の中に複数の<モジュール識別句>が存在する場合,<識別

子>が重複してはならない。

3.

<説明記述>には,モジュールに関する次のような情報を記述することが望ましい。

(1)

機能,使用法,インタフェースなどの仕様に関する情報

(2)

プログラム,タスク,手続,サブルーチン,関数などの種別

(3)

プログラム言語に関する情報

6.5

モジュール論理句

<

モジュール論理句> ::= ‘Module_Algorithm’

<

文の列>

‘End_Module_Algorithm’

‘;’


5

X 0130-1995

備考  <モジュール論理句>には,一つのモジュールの論理情報を記述する。

6.6

<

文の列> ::=

{ <<名札>>“:”

}  <文>  }

<

文> ::=

<

基本文>  |  <ブロック化文>  |  <打切り文>

<<

名札>> ::=

<

識別子>

備考  <<名札>>は,その直後の文を識別する。<<名札>>の有効範囲は,それが含まれる<モ

ジュール論理句>だけであり,一つの<モジュール論理句>内に同じ<<名札>>が重複して

はならない。

6.7

基本文

<

基本文> ::=

‘imperative’

[ <<基本文型>>  ]<手続仕様記述>‘;’

<

手続仕様記述> ::=

<

仕様記述>

<<

基本文型>> ::=

<<null>>

  |  <<モジュール呼出し>>  |  <<goto>>

<<null>> ::=

“null”

<<

モジュール呼出し>> ::=

“call”<<モジュール識別子>>

<<

モジュール識別子>> ::=

<

識別子>

<<goto>> ::=

“goto”<<名札>>

備考1.  <基本文>は,JIS X 0128の基本要素を表現する文である。この文は,<手続仕様記述>で

表現した手続を1回だけ実行し,制御を次の文に移すことを意味する。

2.

<<基本文型>>は,水準 0 からの拡張構文として,特別な用途の手続又は制御をもつこと

を表す。

3. <<null>>

を記述した場合,何も実行せず,制御を次の文に移すことを表す。

4.

<<モジュール呼出し>>を記述した場合,<<モジュール識別子>>で識別されるモジュ

ールに制御を移し,そのモジュールから制御が戻ってきたとき,制御を次の文に移すことを

表す。

5. <<goto>>

を記述した場合,<<名札>>で識別される文に制御を移すことを表す。

6.8

ブロック化文

<

ブロック化文> ::=

[  <ブロック識別子>  ]

[”abstract”<<ブロック仕様記述>>  ]  <複合文>

<

ブロック識別子> ::=

<

識別子>

<<

ブロック仕様記述>>

::= <

仕様記述>

<

複合文> ::=

<

順次文>  |  <並列文>  |  <繰返し文>  |  <選択文>

備考1.  <複合文>は,JIS X 0128の順次要素,並列要素,繰返し要素及び選択要素を表現する文で

ある。

2.

<ブロック化文>は,<複合文>を一つのブロックとして扱い,ブロックの識別名をもたせ

ること,及びブロック内の手続全体の仕様を記述できるようにする。

3.

<<ブロック仕様記述>>は,直後の<複合文>の中で実行する手続全体の仕様を表現する。

参考  これは,プログラム設計方法の一つである段階的詳細化における抽象度の高い処理を表現

する。

4.

<ブロック識別子>は,直後の<複合文>を識別する。<ブロック識別子>の有効範囲は,

それが含まれる<モジュール論理句>だけであり,一つの<モジュール論理句>内に同じ<


6

X 0130-1995

モジュール識別子>が重複してはならない。

6.9

順次文

<

順次文> ::= ‘begin’<文の列>  ‘end’

‘;’

備考  <順次文>は,JIS X 0128 の順次要素を表現する文であり,<文の列>を構成する文の並びを,

その順番に実行することを表す。

6.10

並列文

<

並列文> ::= ‘parallel’<文の列>  ‘end parallel’

‘;’

備考  <並列文>は,JIS X 0128 の並列要素を表現する文であり,<文の列>を構成するすべての文

を,並列に実行することを表す。

6.11

繰返し文

<

繰返し文> ::= <前判定繰返し文>  |

<

後判定繰返し文>  |

<

継続繰返し文>

<

前判定繰返し文> ::=

‘condition’

[ <<前判定繰返し型>>  ]<条件仕様記述>

‘loop’<文の列>‘end_loop’

‘;’

<

後判定繰返し文> ::=

‘loop’<文の列>  ‘end_loop’

‘condition’

[ <<後判定繰返し型>>  ]<条件仕様記述>‘;’

<

継続繰返し文> ::=

‘loop’<文の列>  ‘end_loop’

‘;’

<

条件仕様記述> ::=

<

仕様記述>

<<

前判定繰返し型>> ::= “while” | “until” | “for”

<<

後判定繰返し型>> ::= “while” | “until”

備考1.  <繰返し文>は,JIS X 0128の繰返し要素を表現する文であり,<条件仕様記述>で記述し

た制御条件に従って,<文の列>を繰り返し実行することを表す。

2.

<<前判定繰返し型>>及び<<後判定繰返し型>>は,次に示す制御方法の違いを区別するた

めに使う。

・ while:<条件仕様記述>の条件を満たしている間は,実行を繰り返す。

・ until:<条件仕様記述>の条件を満たしたとき,繰り返していた実行を終了する。

・ for:<条件仕様記述>で記述した離散範囲の指定に従い,範囲内にある間は繰り返し

実行する。

参考 for が選ばれた場合の離散範囲の記述は,Fortran の DO 文又は C の for 文などを参考とする。

6.12

選択文

<

選択文> ::=

<

単岐選択文>  |  <多岐選択文>  |  <多重岐選択文>

<

単岐選択文> ::=

‘if’<条件仕様記述>  ‘then’<文の列>  ‘end_if’

‘;’

<

多岐選択文> ::=

<if

型選択文>  |  <case 型選択文>

<if

型選択文> ::=

‘exclusive_select’

‘if’<条件仕様記述>  ‘then’<文の列>

{’else_if’<条件仕様記述>  ‘then’<文の列>  }

[’else’<文の列>  ]


7

X 0130-1995

‘end_exclusive_select’

‘;’

<case

型選択文> ::= ‘exclusive_select’

‘case’<評価式仕様記述>

‘when’<選択値仕様記述>  ‘:’<文の列>  }

‘end_exclusive_select’

;’

<

評価式仕様記述> ::=

<

仕様記述>

<

選択値仕様記述> ::=

<

仕様記述>

<

多重岐選択文> ::=

‘inclusive_select’

‘case’<評価式仕様記述>

{’when’<選択値仕様記述>  ‘:’<文の列>  }

‘end_inclusive_select’

‘;’

備考1.  <選択文>は,JIS X 0128の選択要素を表現する文であり,<条件仕様記述>に従って選択

した<文の列>を実行することを表す。

2.

<単岐選択文>は,JIS X 0128 の単岐選択を表現する文である。この文は,<条件仕様記述

>で記述した選択条件を満たした場合,

‘then’に続く<文の列>を実行することを表す。

3.

<多岐選択文>は,JIS X 0128 の双岐選択及び多岐選択を表現する文である。DXL では,JIS 

X 0128

の多岐選択に対して,選択制御方法の違いを区別するため,<if 型選択文>及び<case

型選択文>を規定する。

4.

<if 型選択文>は,

‘if’及び‘else_if’の後の<条件仕様記述>をその出現した順番に評価し,

最初に成立した<条件仕様記述>に対応する<文の列>を実行することを表す。すべての<条

件仕様記述>が成立せず,

‘else’が記述されていればそれに続く<文の列>を実行すること

を表す。

5.

<case 型選択文>は,<評価式仕様記述>と<選択値仕様記述>とをその出現した順番に評

価し,最初に一致した<選択値仕様記述>に対応する<文の列>を実行することを表す。

6.

<多重岐選択文>は,JIS X 0128 の多重岐選択を表現する文である。<多岐選択文>との違

いは,条件を満たす部分が複数個あれば,そのすべてを選んで実行することである。その実

行順序は,この規格では定めない。

6.13

打切り文

<

打切り文> ::=

‘terminate’<打切り対象> <仕様記述>‘;’

<

打切り対象> ::= ‘system’ |

‘module’ |

‘block’<ブロック識別子>

備考1.  <打切り文>は,JIS X 0128の打切りを表現する文である。

2.

<打切り対象>が’system’のときには,この打切り文の場所でシステム(

1

)

全体の実行を終

了することを表す。

(

1

)

システムとは,対象とするモジュールを含んだ最上位のモジュールを指す。最上位の範囲

は,計算機及びその実行系によって異なるので,この規格では定めない。

3.

<打切り対象>が‘module’のときには,この打切り文の場所でモジュールの実行を終了し,

そのモジュールを呼び出したモジュールの呼出し文に制御を戻すことを表す。

4.

<打切り対象>が‘block’のときには,この打切り文の場所で指定したブロックの実行を終

了し,そのブロックの次の文に実行制御を移すことを表す。指定する<ブロック識別子>は,

この打切り文を含む上位のブロックでなければならない。


8

X 0130-1995

5.

<打切り対象>以外の並列的に実行する要素の実行の打切り及び対象システム外部の実行要

素の打切りは,この規格では定めない。


9

X 0130-1995

附属書 A(参考)  木構造図の例

代表的な木構造図の表記方法について,その呼称とその呼称の元になった英語名を次に示す。

−  HCP

Hierarchical and ComPact description chart

− PAD

Problem

Analysis

Diagram

−  PSD

Program Structure Diagrams

−  SPD

Structured Programming Diagrams

−  TFF

Technical description Formula for Fifty steps/module design

−  YACII

Yet Another control Chart II

−  Hichart

  a HIerarchical flowCHART description language

−  DSD

Design Structure Diagrams

−  LCP

Logical Conception of Program hierarchical


10

X 0130-1995

附属書 B(参考)  DXL の記述例

B.1

Abstract”付きの DXL 記述例

M_Packet

−  この DXL は,英単語数え上げプログラムの記述例である。

Profile

   

  Codeset

:  DEFAULT

     Identifier

:

最大長 32 文字

  Specification :

DEFAULT

  Originated

TFFtools2.4

End_Profile

;

    

Identification

    

Identifier is <words_count> ;

タイトル:

英単語数え上げ

モジュール:

int words_count (char *)

入力:

ファイル名

出力:

ファイルに含まれる英単語数

概要:

与えられたファイルに含まれる英単語を数える。

制限:

英語のテキストファイルだけを対象とする。

       Revision

:  95/01/19

松尾尚典

     94/12/27

松尾尚典

       Design

:   94/12/22

松村一夫

End_Identification ;

  

Module_Algorithm

  

 <BLK001>

   abstract

[ファイルの中の英単語数を数える]

 begin

  

  <BLK002>

     abstract

[前処理]

  begin

 

       imperative

[ファイルを開く]

       imperative

[英単語数カウンタを初期化する]

e d


11

X 0130-1995

  <BLK003>

     abstract

[英単語数を数える]

  loop

 

       imperative

[レコードを読む]

       if

[ファイル終り]then

terminate block <BLK003>

[  ]  ;

   end_if

;

   <BLK004>

       abstract

[レコードの中の英単語数を数える]

   loop

    <BLK005>

    abstract

[英単語を抽出する]

be n

     <BLK006>

     abstract

[頭文字を見つける]

     loop

      <BLK007>

      abstract

[英字の始まりを見つける]

      exclusive_select

f

[英字]then

       terminate

block

<BLK006>

[  ]  ;

e e f

[英字以外]then

       imperative

null

[  ]  ;

e e f

[レコードの終り]then

       terminate

block

<BLK004>

[  ]  ;

      end_exclusive_select

;

     end_loop

;

     <BLK008>

     abstract

[区切りを見つける]

     loop

      <BLK009>

      abstract

[区切りの始まりを見つける]

      exclusive_select

f

[英字]then

       imperative

null

[  ]  ;

e e f

[英字以外]then

       terminate

block

<BLK008>

[  ]  ;

e e f

[レコードの終り]then

       terminate

block

<BLK004>

[  ]  ;

      end_exclusive_select

;


12

X 0130-1995

     end_loop

;

e d

    imperative

[英単語数カウンタの値を増す]

   end_loop

;

  end_loop

;

  <BLK010>

     abstract

[後処理]

  begin

 

       imperative

[ファイルを閉じる]

e d

e d

 End_Module_Algorithm ;

End_M_Packet ;

 

B.2

Abstract”なしの DXL 記述例

M_Packet

−  この DXL は,英単語数え上げプログラムの記述例である。

P o i

  Codeset

 DEFAULT

  Identifier

:

最大長 32 文字

  Specification

DEFAULT

  Originated

TFFtools2.4

End_Profile

;

   

Identification

   

Identifier is <words-count> ;

タイトル:

英単語数え上げ

モジュール:

int word_scount (char *)

入力:

ファイル名

出力:

ファイルに含まれる英単語数

概要:

与えられたファイルに含まれる英単語を数える。

制限:

英語のテキストファイルだけを対象とする。

   Revision : 95/01/19

松尾尚典

     94/12/27

松尾尚典

   Design :  94/12/22

松村一夫

End_Identification ;   

Module_Algorithm    

 <BLK001>

  


13

X 0130-1995

 begin

   

  <BLK002>

 

  begin

  

i p r i e

[ファイルを開く]

i p r i e

[英単語数カウンタを初期化する]

e d

  <BLK003>

 

  loop

  

i p r i e

[レコードを読む]

if

[ファイル終り]then

     terminate

block

<BLK003>

[  ]  ;

en _ ;

   <BLK004>

 

   loop

 

    <BLK005>

e n

     <BLK006>

     loop

      <BLK007>

      exclusive_select

if

[英字]then

       terminate

block

<BLK006>

[  ]  ;

e e f

[英字以外]then

       imperative

null

[  ]  ;

e e f

[レコードの終り]then

       terminate

block

<BLK004>

[  ]  ;

      end_exclusive_select

;

     end_loop

;

     <BLK008>

     loop

      <BLK009>

      exclusive_select

if

[英字]then

       imperative

null

[  ]  ;

e e f

[英字以外]then

       terminate

block

<BLKO08>

[  ]  ;

e e f

[レコードの終り]then

       terminate

block

<BLK004>

[  ]  ;

      end_exclusive_select

;

     end_loop

;


14

X 0130-1995

e d

i p r i e

[英単語数カウンタの値を増す]

   end_loop

;  

  end_loop

;  

  <BLK010>

 

  begin

  

i p r i e

[ファイルを閉じる]

e d

e d

End_Module_Algorithm ;

  

End_M_Packet ;

    


15

X 0130-1995

附属書 C(参考)  ”DXL 構文規則”と”JIS X 0128 プログラム構成要素”

との対応

<

モジュール論理句>次の構文規則について,JIS X 0128 プログラム構成要素との対応関係を表す。

備考  水準 0 に属する終端記号は,’xyz’で表す。

水準 0 に属する非終端記号は,<XYZ>で表す。

水準 1 に属する終端記号は,

”xyz”で表す。

水準 1 に属する非終端記号は,<<XYZ>>で表す。

<

モジュール論理句> ::= ‘Module_Algorithm’

<

文の列>

‘End_Module_ Algorithm’

‘;’

<

文の列> ::=

{  <文>  }

<

文> ::=

{ <<名札>>“:”

}<基本文>       |

{ <<名札>>“:”

}<ブロック化文> |

{ <<名札>>“:”

}<打切り文>

<<

名札>> ::= <識別子>

基本要素  (JIS X 0128)

<

基本文> ::=

‘imperative’

[ <<基本文型>>  ]<手続仕様記述>‘;’

<

手続仕様記述> ::=

<

仕様記述>

<<

基本文型>> ::=

<<null>>

  |  <<モジュール呼出し>>  |  <<goto>>

<<null>> ::=

“null”

<<

モジュール呼出し>>

::=

“call”<<モジュール識別子>>

<<

モジュール識別子>>

::= <

識別子>

<<goto>> ::=

“goto”<<名札>>

<

ブロック化文> ::=

[  <ブロック識別子>  ]

[  “abstract” <<ブロック仕様記述>>  ]<複合文>

<

ブロック識別子> ::=

<

識別子>

<<

ブロック仕様記述>>

::= <

仕様記述>

<

複合文> ::=

<

順次文>  |  <並列文>  |  <繰返し文>  |  <選択文>

順次要素  (JIS X 0128)

<

順次文> ::= ‘begin’<文の列>  ‘end’

‘;’

並列要素  (JIS X 0128)

<

並列文> ::= ‘parallel’<文の列>  ‘end_parallel’

‘;’

繰返し要素  (JIS X 0128)

<

繰返し文> ::= <前判定繰返し文>  |  <後判定繰返し文>  |  <継続繰返し文>

<

前判定繰返し文> ::=

‘condition’

[ <<前判定繰返し型>>  ]<条件仕様記述>

‘loop’<文の列>‘end_loop’

‘;’

<

後判定繰返し文> ::=

‘loop’<文の列>‘end_loop’


16

X 0130-1995

‘condition’

[ <<後判定繰返し型>>  ]<条件仕様記述>‘;’

<

継続繰返し文> ::=

‘loop’<文の列>  ‘end_loop’

‘;’

<

条件仕様記述> ::=

<

仕様記述>

<<

前判定繰返し型>> ::=

“while” | “until” | “for”

<<

後判定繰返し型>> ::=

“while” | “until”

選択要素  (JIS X 0128)

<

選択文> ::=

<

単岐選択文>  |  <多岐選択文>  |  <多重岐選択文>

<

単岐選択文> ::=

‘if’<条件仕様記述>  ‘then’<文の列>  ‘end_if’

‘;’

<

多岐選択文> ::=

<if

型選択文>  |  <case 型選択文>

<if

型選択文> ::=

‘exclusive_select’

‘if’<条件仕様記述>  ‘then’<文の列>

{’else_if’<条件仕様記述>  ‘then’<文の列>}

[’else’<文の列>  ]

‘end_exclusive_select’

‘;’

<case

型選択文> ::= ‘exclusive_select’

’case’<評価式仕様記述>

‘when’<選択値仕様記述>  ‘;’<文の列>}

‘end_exclusive_select’

‘;’

<

評価式仕様記述> ::=

<

仕様記述>

<

選択値仕様記述> ::=

<

仕様記述>

<

多重岐選択文> ::= ‘inclusive_select’

’case’<評価式仕様記述>

‘when’<選択値仕様記述>  ‘:’<文の列>}

‘end_inclusive_select’

‘;’

打切り要素  (JIS X 0128)

<

打切り文> ::=

‘terminate’<打切り対象><仕様記述>‘;’

<

打切り対象> ::= ‘system’ |

‘module’ |

‘block’<ブロック識別子>

JIS X 0130

  原案作成委員会  構成表

氏名

所属

(主査)

長  野  宏  宣

日本電信電話株式会社

(幹事)

忠  海      均

日本電信電話株式会社

浅  井  省  吾

エヌ・ティ・ティ・データ通信株式会社

大  場      充

広島市立大学(原案作成時,日本アイ・ビー・エム株式会社)

加  藤  潤  三

エレクトロニック・データ・システムズ株式会社

岸      知  二

日本電気株式会社

塩  谷  和  範

株式会社エスアールエー

志  村      武

沖電気工業株式会社

外  山  勝  保

日本電信電話株式会社

西  尾  高  典

株式会社日立製作所

西  山  和  雄

エヌ・ティ・ティ・ソフトウェア株式会社

藤  本  卓  也

三菱電機株式会社


17

X 0130-1995

氏名

所属

松  尾  尚  典

株式会社東芝

○  松  村  一  夫

株式会社東芝

夜  久  竹  夫

日本大学(第 12 回委員会以降)

山  本  喜  一

慶應義塾大学

吉  岡  明  彦

富士通株式会社

山  下  智  慎

日本電気株式会社

米  田  實  男

エヌ・ティ・ティ・ソフトウェア株式会社

梅  沢  茂  之

工業技術院(第 1 回から第 4 回委員会まで)

栗  川  正  仁

工業技術院(第 5 回委員会以降)

(事務局)

山  形      薫

財団法人日本規格協会

備考  ○印は,実験小委員会主査