この規格ページの目次
207
X 3003-1993
附属書G(参考) 基本BASICとFull BASICとの相違点
基本BASICとFull BASICの中核機能単位との相違は,構文の非互換性と意味上(実行時)の相違に分類
できる。
G1. 構文の非互換性 次の点を除いて,中核機能単位は,JIS X 3003-1982(電子計算機プログラム言語基
本BASIC)に対し上位互換 (upward compatible) の拡充構文を形成する。
(1) 規格合致プログラムのすべての配列は,参照より前に明示的に配列宣言しなければならない。
このため,基本BASICで書かれたプログラムは,中核機能単位に規格合致する処理系で実行すると,
誤りを生ずることがある。そのようなプログラムを正しく実行するには,次のとおり変更すればよい。
基本BASICの配列名は英字1文字に制限されているから,変更が必要な配列は,26個以下である。
(a) 暗黙的に配列宣言されているすべての配列を識別する。
(b) それらの配列に対して,上限値が10であるdim文を挿入する。dim文は,その配列を参照する文
より前になければならない。かつ,dim文より前にbase選択子をもったoption文がなければなら
ない。
例 基本BASICのプログラムで使用されたベクトルAが明示的に配列宣言されていないとき,次の
文を挿入する。
DIM A(10)
これによってプログラムは,ベクトルAに関して正しく実行される。
G2. 意味上の相違 中核機能単位は,更に幾つかの点で基本BASICと異なる。これらは,“実行時”の相
違ということもできる。この結果,基本BASICのプログラムを中核機能単位に規格合致する処理系で実行
すると,幾らか異なった結果を生ずることがある。
(1) 配列の暗黙の下限が,基本BASICでは0であったのに,中核機能単位では1である。
すべてのdim文に先立って,次の文を挿入すれば,基本BASICのプログラムを正しく実行できる。
OPTION BASE 0
(2) 中核機能単位は,算術演算は浮動小数点10進数表現を用いて実行すると規定している。精度は,少な
くとも10進10けたである。一方,基本BASICの規定はよりゆるやかであって,他の表現(例えば浮
動小数点2進数)を使用した算術演算を許している。精度は少なくとも10進6けたである(本体5.6
参照)。これによる唯一の効果は,プログラムがより正確な結果を与えることであり,通常,利用者に
とって問題は生じないだろう。arithmetic選択子でNATIVEを指定して,処理系固有の算術演算を行
うようにすることもできる。この場合,個々の処理系は,基本BASICと同じになるように定義しても
よい。
(3) 文字列の省略時想定の最大長は,基本BASICでは少なくとも18文字であったのに,中核機能単位の
処理系は,少なくとも132文字を許容する。これによる唯一の相違は,基本BASICでは発生する可能
性のあった文字列あふれの例外状態が,発生しないことである。以前の動きは,文字列の最大長を以
前の値で宣言することによって再現できる。
(4) 処理系は,input文の変数への値の代入に先立って,入力応答の1行全体の正当性を調べる必要はな
い。一方,基本BASICではその必要があった。したがって,INPUT I, A (I), Jという文に対して“2, 4,
――――― [JIS X 3003 pdf 211] ―――――
208
X 3003-1993
x”という間違った入力応答の行を与えたとき,中核機能単位ではA (2) の値が変更されうるが,これ
は基本BASICでは許されない。
(5) ある種の例外状態(例えば,あふれ,ゼロによる除算及びゼロの負数乗)は,基本BASICでは続行可
能であるが,Full BASICの中核機能単位では続行不能である。しかし,基本BASICの規格は,“続行
可能な例外状態をある環境のもとでは続行不能として処理系が取り扱うことができる”と規定してい
るので,基本BASICのプログラムは,これらの例外状態が続行可能であることに依存すべきでない。
――――― [JIS X 3003 pdf 212] ―――――
209
X 3003-1993
附属書H(参考) 将来の削除を考慮している言語要素
ANSI X3.113の原案作成委員会は,gosub文,on-gosub文及びreturn文を,将来,削除することを考慮
している。新しいプログラムを書いたり,既存のプログラムを改訂したりするときに,これらの文を使わ
ないようにして,この規格の将来の改訂版との互換性を高くしておくことを推奨する。
gosub機能の削除を考慮している理由は,次のとおりである。これは,多くの入口点をもつサブルーチ
ンを書くことを許す点で,わるいプログラミングの習慣を助ける。更に,この“サブルーチン”は,明確
な構文構造によって区切られていない。プログラムのどの文でも,サブルーチンの先頭の行になりうる。
サブルーチンが必要なときに,この規格に定める副プログラム機能(本体9.2参照)を利用することを推
奨する。
またgosub機能は,この言語の他の構文(例えば,内部手続き定義,例外処理区)と複雑な干渉を起こ
し,BASICプログラムの理解,規格合致処理系の作成,言語仕様の正確な記述を困難にする。したがって,
プログラマ,処理系作成者,教師,著述者のだれもが,BASICの仕事に当たって,能率がわるくなる。
――――― [JIS X 3003 pdf 213] ―――――
210
X 3003-1993
附属書I(参考) モジュール及び単文字入力
この附属書(参考)は,1989年7月26日に承認された次のアメリカ規格(ISOでもCD 10279 : 1991 Addendum
1からDISにすることに,1992年6月に承認された。)に基づいて,その技術的内容を変更することなく
作成した日本工業規格(日本産業規格)の参考である(解説1.3参照)。
ANSI X3.113A-1989 Supplement to ANSI X3.113-1987 American National Standard for Information Systems−
Programming Languages−Modules and Individual Character Input for Full BASIC, 14 pp., CD 10279 : 1991
Addendum 1
1. 序文 この附属書は,単文字入力機能及びモジュール機能を利用するさまざまな種類の自動データ処
理系の間での,BASICプログラムの移植可能性を高めるために規定する。この附属書は,本体を拡充する
ものであり,本体の規定と関連して適用する。この附属書の1.,2.及び3.は,この附属書にだけ適用する。
本体の1.,2.及び3.を置き換えるものではない。本体の4.16.の規定は,この附属書の規定によって影響
はされない。この附属書の17.及び本体の規定に合致したプログラムは,単文字入力機能をもつ規格Full
BASICで書かれているという。この附属書の18.及び本体の規定に合致したプログラムは,モジュール機
能をもつ規格Full BASICで書かれているという。
1.1 適用範囲
この附属書は,本体と関連して,次の事項を定める。
(1) 単文字入力やモジュールを用いて書かれたBASICプログラムの構文
(2) 単文字入力やモジュールを用いて書かれたBASICプログラムの意味を解釈する意味規則
(3) 検出されるべき誤り及び例外状態並びにそれらの誤り及び例外状態が処理される仕方
1.2 引用規格 本体1.3参照。
2. 規格への合致
規格への合致は,次による。
(1) 機能単位 この附属書は,本体の機能単位構成を拡充する。この規定への合致は,次の機能単位を本
体の15個の機能単位に追加した特定の組について定義する。
(p) 単文字入力機能単位 (individual character input module)。中核の規定及び17.の構文に従うすべてのプ
ログラムを範囲とする。
(q) モジュール機能単位 (modules module)。中核の規定及び18.の構文に従うすべてのプログラムを範囲
とする。
(2) 規格合致性 この附属書に定める機能単位の組に対する規格合致性の規定は,本体2.12.4(規格合
致プログラム,規格合致処理系,誤り及び例外状態)による。
3. 構文の記述法及び用語の定義
3.1 構文の記述法
構文の記述法は,本体3.1による。
3.2 用語の定義
この附属書の用語の定義は,本体3.2によるほか,次による。
規定された図形表現をもつ文字。情報交換用符号においては,
(1) 表示可能文字 (displayable character)
位置2/07/14の文字をいう。
(2) モジュール (module)変数,配列及び経路を,引き数によらないで共用できる外部手続きの集まり。
これらの手続き,共用の変数,配列及び経路を,統制された仕方で“広域的 (public)”に参照できる。
――――― [JIS X 3003 pdf 214] ―――――
211
X 3003-1993
(3) odule-option文 (module option) モジュール本体及びそのモジュール中の外部手続きに適用される
option文。
(4) 広域 (public)モジュール中の手続き,変数,配列及び経路が,そのモジュールの外部から参照でき
ることを表す用語。
モジュール名,小数点及び識別名をつないだものであって,そのモ
(5) 修飾識別名 (qualified-identifier)
ジュール中の広域的な手続き,変数又は配列を識別する。
(6) 共用 (share) モジュール中の変数,配列及び経路が,そのモジュール中の外部手続きから参照でき
ることを表す用語。
4. (本体参照)
5. (本体参照)
6. (本体参照)
7. (本体参照)
8. (本体参照)
9. (本体参照)
10. (本体参照)
11. (本体参照)
12. (本体参照)
13. (本体参照)
14. (本体参照)
15. (本体参照)
16. (本体参照)
17. 単文字入力
17.1 概要 character-input文 (char-input-statement) は,一時に1文字ずつをプログラムに入力する。こ
の機能は,本来,けん(鍵)盤上の打けん(鍵)を1文字単位で認識することを目的として設計してある。
しかし,ほかの目的で用いてもよい。
17.2 構文 構文は,次による。
――――― [JIS X 3003 pdf 215] ―――――
次のページ PDF 216
JIS X 3003:1993の引用国際規格 ISO 一覧
- ISO/IEC 10279:1991(IDT)
JIS X 3003:1993の国際規格 ICS 分類一覧
- 35 : 情報技術.事務機械 > 35.060 : 情報技術に使用される言語
JIS X 3003:1993の関連規格と引用規格一覧
- 規格番号
- 規格名称
- JISX0201:1997
- 7ビット及び8ビットの情報交換用符号化文字集合
- JISX0301:2002
- 情報交換のためのデータ要素及び交換形式―日付及び時刻の表記