JIS X 3003:1993 電子計算機プログラム言語Full BASIC | ページ 3

                                                                                              7
X 3003-1993
(2) 等号 例を用いて,生成規則の詳細を規定する。5.1に次のような生成規則がある。
小数部=小数点 符号なし整数
これは,“小数部”というものを,小数点の次に符号なし整数をおいたものとすることを定める。
“小数点”は,終端構文単位名であり,これを左辺とする生成規則はない。4.1の“意味”の項で,
小数点の具体的な文字を定義する。
(3) 星印 “符号なし整数”とは何かの定義として,次のような生成規則がある。
符号なし整数=数字 数字*
これは,“符号なし整数”というものを,1個の数字の後ろに0個以上の数字をつないだものとする
ことを定める。星印“*”は,反復を表す構文演算子 (syntactic operator) とし,その直前の構文単位が
0回以上何回繰り返されてもよいことを示す。
(4) 縦線 “数字”とは何かの定義として,4.1に次のような生成規則がある。
数字=0|1|2|3|4|5|6|7|8|9
これは,“数字”というものを,“0”,“1”,···,“9”のどれか一つとすることを定める。縦線“|”
は,“又は”を表す構文演算子とし,左辺の構文単位名を右辺のどれか一つで書き換えることを示す。
右辺の“0”“9”は,もはやどの生成規則の左辺にも現れない終端構文単位名であるから,“小数
部”に関する書換えは,これで終結する。4.1の“意味”の項で,“0”“9”の具体的な文字を定義
する。
(5) 疑問符 疑問符“?”は,星印と似て省略可能を表す構文演算子とし,その直前の構文単位があって
もなくてもよいことを示す。例えば,次のような生成規則がある。
指数部=E 符号? 符号なし整数
これは,“指数部”というものを,英字“E”又は“e”の後ろに0個又は1個の符号をおき,その
後ろに符号なし整数をおいたものとすることを定める。
(6) 波括弧 波括弧“[{”,“}]”は,構文単位名の列を一まとめにして扱うことを示す。例えば,次のよう
な生成規則がある。
変数名並び=変数名{コンマ 変数名}*
これは,“変数名並び”というものを,1個の変数名の後ろに0個以上の変数名をコンマで区切って
つないだものとすることを定める。構文単位をまとめるためでなく,文字の列の中に波括弧を実際に
書きたい場合には,“左波括弧”又は“右波括弧”という終端構文単位名によって示す。
(7) 優先順位 一つの生成規則の中に幾つもの構文演算子を用いた場合には,優先順位を次のとおりに定
める。疑問符“?”及び星印“*”は,その直前の日本語の語である一つの構文単位名,英大文字から
なる一つの英単語(例 NOT,REST)又は波括弧でくくられた一つの構文式に対して適用する。縦線
“|”は,空白で分けて並べられた語及び構文式の列に対して適用する。その列の左端は,等号,縦
線又はまだ閉じられていない左波括弧のうちの最も近いものとする。例えば,
有効数字部=符号なし整数 小数点?|符号なし整数? 小数部
は,
有効数字部={符号なし整数{小数点}?}|{{符号なし整数}? 小数部}
と同等とする。
(8) 空白 生成規則中の空白は,構文単位名を区切るのに用いる。BASICプログラム中の空白の用法に関
しては,特別に規定する(4.1参照)。
(9) 含号 ある種の構文単位名は,二つ以上の生成規則によって定義される。例えば,5.2に次のような生

――――― [JIS X 3003 pdf 11] ―――――

8
X 3003-1993
成規則がある。
単純変数名⊃数値単純変数名
更に,6.2に次のような生成規則がある。
単純変数名⊃文字列単純変数名
この二つの生成規則は,(ほかに単純変数名の定義が存在しないならば)次のようなただ一つの生成
規則と同等とする。
単純変数名=数値単純変数名|文字列単純変数名
複数個の構文定義を含む等号“=”は,すべて含号“⊃”で置き換えることができる。含号による
構文定義は,それぞれの右辺を縦線“|”で区切って並べた形の一つの右辺をもつ,等号による構文
定義と同等とする。
3.1.2 例示 構文の記述法の例として,この記述法自身の生成規則を示す。ここで現れる終端構文単位名
は,その名前の表す文字とする。
(1) 生成規則=日本語の構文単位名 空白列{等号|含号} 空白列 構文式
(2) 日本語の構文単位名={英小文字|日本文字} 構文文字*
(3) 構文文字=英小文字|日本文字|ハイフン
(4) 空白列=空白* 行末? 空白* 空白
(5) 構文式=構文項{空白列? 縦線 空白列? 構文項}*
(6) 構文項=構文因子{空白列 構文因子}*
(7) 構文因子=構文一次子 構文反復?
(8) 構文一次子= 日本語の構文単位名|数字 数字*|英大文字 英大文字*|左波括弧 空白* 構文式
空白* 右波括弧
(9) 構文反復=星印|疑問符

3.2 用語の定義

 この規格で用いる主な用語の定義は,次による。
(1) ASIC ある類似の構文と意味をもった言語の族に対して与えられた名称。Beginners All-purpose
Symbolic Instruction Codeの頭文字をとった頭字語である。
(2) あふれ (overflow)数値演算の場合,前の演算で絶対値がMAXNUM(5.4.4参照)を超える結果又
は固定小数点宣言の精度指定によって表現することのできる最大値を超える結果を生成しようとした
状態。
文字列演算の場合,前の演算が処理系定義の最大長より長い文字列の結果を生成しようとした状態。
文字列代入の場合,前の演算が文字列変数又は文字列関数の宣言された最大長又は省略時想定によ
る最大長より長い結果を代入しようとした状態。
(3) 誤り (error) プログラムが正しくなくなるような,プログラムの構文上の欠陥。
(4) 一括方式 (batch mode) 利用者との対話によらない環境でプログラムを処理する方式。
(5) 印字欄 (print zone)印字出力行中のある連続した文字位置。print文による一つの印字項目を評価し
た結果を,ここに配置することができる。
(6) 下位けたあふれ (underflow) 数値演算において,前の演算で絶対値が機械最小値よりも小さく,か
つゼロでない結果を生成しようとした状態。
(7) 外部 (external) 構文的に,より大きいプログラム単位に含まれていない手続きを指す修飾語。
(8) 機械最小値 (machine infinitesimal) BASIC処理系が表現でき,かつ処理できる最小の(ゼロでない)
正の値。

――――― [JIS X 3003 pdf 12] ―――――

                                                                                              9
X 3003-1993
(9) 機能語 (keyword) プログラム言語で用いる文又は文の構成要素を識別する文字の列。通常,よく使
われる単語や記憶しやすい単語でつづる。
この規格の定めるすべての機能語を表3.1に示す。この規格は,機能単位によって構成されている
ので,必要な機能語は機能単位ごとに異なる。各機能語がどの機能単位に含まれるかをも示す。
機能語のつづりの英大文字の一部又は全部を,英小文字で書いてもよい。
(10) 行 (line)プログラムの行を2通りの観点で規定する。一つは物理行 (physical line) とし,もう一つ
は論理行 (logical line) とする。物理行は,順番に並んでいる文字の列とする。行番号又はアンド記号
で始まり,行末で終わる。論理行は,行番号の後ろにBASIC言語の本文を順番に並べたものとする。
行継続 (line-continuation) は,論理的に,1文字の空白で置き換える。
(11) 行末 (end-of-line)行の終りを識別する文字,文字の列又は指示。
行には,プログラムの行,印字の行及び入力応答の行の3種類の行がある。行末は,行の種類や環
境に応じて異なっていてもよい。例えばある処理系で,入力応答の行末が,対話方式や一括方式で用
いる入力源に応じて異なっていてもかまわない。
行末の代表的な例としては,復帰 (carriage-return),復改 (carriage-return line-feed) 又はカードの終端
などの記録末 (end of record) がある。
高精度の数値表現から低精度の数値表現を得る方法の一つ。もとの表現中の不
(12) 切捨て (truncation)
必要な下位のけたを単に取り除く。
(13) 固有 (native)記録形式において,記録中で欄が特定の構造をもち,同じシステム内の別の言語が生
成した記録と互換性があることを指す修飾語。
数値データや文字列データにおいて,親ハードウェアが直接に実現できるように,ある種の意味規
則(例えば,精度や文字の大小順序)の実現方法が処理系定義に任されていることを指す修飾語。
(14) 識別名 (identifier)変数,配列,配列値,例外処理区,関数,絵,副プログラム及びプログラムを
命名する文字の列。実時間プログラムにおいては,識別名は,並行単位,事象,構造,処理域,共用
域及び通報域を命名するのにも用いる。
(15) してもよい (may)この用語は,処理系に対する許容の意味で用いる。すなわち,規格合致処理系
(standard-conforming implementation) が,ある機能を実現してもよいし,実現しなくてもよいことを示
す。
この用語は,要求の意味で用いる。すなわち,規格合致しているとい
(16) しなければならない (shall)
えるために,プログラムがとらなければならない形及び処理系がとらなければならない動作を規定す
ることを示す。
(17) 対話方式 (interactive mode) プログラムを対話的に処理する方式。利用者は,個々のプログラムの
動作に対して直接に応答ができ,更に,プログラムの実行の開始と終了を制御することができる。
(18) できる (can)この用語は,プログラムに対する許容の意味で用いる。すなわち,規格合致プログラ
ム (standard-conforming program) の中に,ある形式を書いてもよく,規格合致処理系がこのプログラ
ムを正しく処理しなければならないことを示す。
記録形式において,データの型及び正確な値を保持して生成し,後の読込み操作で
(19) 内部 (internal)
そのとおりに再入力できるデータ表現を指す修飾語。
手続きにおいて,構文的に,より大きいプログラム単位に含まれて,データを共用する手続きを指
す修飾語。
(20) プログラム単位 (program unit) ASICプログラムの独立した部分。主プログラム(end文の行まで

――――― [JIS X 3003 pdf 13] ―――――

10
X 3003-1993
の行の列),外部副プログラム定義,外部関数定義,外部絵定義又は並行単位。
(21) 丸め (rounding)高精度の数値表現から低精度の数値表現を得る方法の一つ。もとの数値のうちの
除去される部分の大きさによって,結果の下位のけたを調整する。例えば,Xを最も近い整数値に丸
めるには,INT (X+0.5) とすることができる(5.4参照)。
数値表現中の,ゼロでない最高位の数字から最低位の数字までの数字
(22) 有効数字 (significant digits)
の列。小数点の位置には無関係である。通常,正規化浮動小数点表現においては,数値表現中の有効
数字だけが,内部表現の仮数部に保持される。固定小数点表現においては,最低位の数字が明示的に
最右端のけたに位置付けられ,有効数字の左側のゼロも保持されることがある。
(23) 予約語 (reserved word) ASICプログラム中で,ルーチン識別名,文字列識別名又は数値識別名と
して用いてはならない文字の列。4.4.2(11)参照。次のものがある。
(a) 引き数のない組込み関数名
(b) 配列値の識別名
(c) ある種の機能語
(24) 例外状態 (exception) プログラムの実行中に,規格の意味規則どおりに動作できないこと又は何ら
かの資源の制限を超えそうになったことを,処理系が認識したときの状態。ある種の例外状態[続行
可能 (nonfatal) な例外状態]は,規格の定める自動回復手続きで処理することができる。これらも含
めてすべての例外状態は,プログラムで指定する回復手続き (recovery procedure) で処理することもで
きる(12.1参照)。規格が回復手続を定めていない例外状態[続行不能 (fatal) な例外状態]及び処理
系のハードウェア又は操作環境の制約によって規格の定めた回復手続きがとれない例外状態は,プロ
グラム中に回復手続きの指定がなければ,その例外状態の発生した環境に従って,次のとおり処理さ
れる。
(a) 関数,絵又は副プログラムの呼出し中に起こったときには,例外状態は,呼出し側のプログラム単
位中のその呼び出した文に“伝達”される(12.1参照)。
(b) (a)の伝達が主プログラム若しくは並行単位に到達したとき又は例外状態が主プログラム中若しく
は並行単位中で起こったときには,その例外状態が,そのプログラム又は(実時間プログラムの場
合には)その並行単位の実行を終了させる。

――――― [JIS X 3003 pdf 14] ―――――

                                                                                             11
X 3003-1993
表3.1 機能語一覧[3.2(9)参照]
機能単位は,次の略号によって示す。
中 : 中核,フ : 拡充ファイル,図 : 図形,実 : 実時間,小 : 固定小数点,編 : 編集
ACCESS 中 EVENT 実 NEXT 中 SELECT 中実
AND 中 EXCEPTION 中 NOT 中 SEND 実
ANGLE 中図 EXIT 中図実 NUMERIC 中フ実小 SEQUENTIAL 中
AREA 図 EXTERNAL 中図小 OF フ実 SET 中
ARITHMETIC 中小 EXTRACT 編 OFF 中 SETTER 中
ARRAY 図 FILETYPE 中 ON 中実 SHARED 実
ASK 中図 FIRST 編 OPEN 中 SIGNAL 実
AT 図編 FIXED 小 OPTION 中 SIZE 中図
BASE 中 FOR 中 OR 中 SKIP 中フ
BEGIN 中 FROM 実 ORGANIZATION 中 STANDARD 中フ
BREAK 中 FUNCTION 中小 OUT 実 START 実
CALL 中 GET 図実 OUTIN 中実 STATUS 図
CASE 中実 GO 中 OUTPUT 中実 STEP 中編
CAUSE 中 GOSUB 中 PARACT 実 STOP 中
CELLS 図 GOTO 中 PARSTOP 実 STREAM 中
CHAIN 中 GRAPH 図 PICTURE 図 STRING 中フ実
CHOICE 図 HANDLER 中 PIXEL 図 STRUCTURE 実
CLEAR 図 HEIGHT 図 PLOT 図 STYLE 図
CLIP 図 IF 中 POINT 図 SUB 中
CLOSE 中 IMAGE 中 POINTER 中 TAB 中
COLLATE 中フ IN 中図実 POINTS 図 TEMPLATE フ
COLOR 図 INPUT 中実 PORT 実 TEXT 図
CONNECT 実 INTERNAL 中 PRINT 中 THEN 中
CONTINUE 中 IS 中 PROCESS 実 THERE 中
DATA 中 JUSTIFY 図 PROGRAM 中 TIME 実
DATUM 中 KEY フ PROMPT 中 TIMEOUT 中実
DEBUG 中 KEYED フ PUT 実 TO 中図実編
DECIMAL 中 LAST 編 RADIANS 中 TRACE 中
DECLARE 中実 LENGTH 中 RANDOMIZE 中 UNTIL 中
DEF 中小 LET 中 RANGE 図 URGENCY 実
DEGREES 中 LIMIT 図 READ 中 USE 中
DELAY 実 LINE 中図 RECEIVE 実 USING 中図
DELETE フ編 LINES 図 RECORD フ VALUE 図
DEVICE 図 LIST 編 RECSIZE 中 VARIABLE 中
DIM 中 LOCATE 図 RECTYPE 中 VIEWPORT 図
DISCONNECT 実 LOOP 中 RELATIVE フ WAIT 実
DISPLAY 中 MARGIN 中 REM 中 WHEN 中
DO 中 MAT 中フ図 RENUMBER 編 WHILE 中
DRAW MAX 図 REST 中 WINDOW 図
ELAPSED 中 MESSAGE 実 RESTORE 中 WITH 中フ図
ELSE 中 MISSING 中 RETRY 中 WRITE 中
ELSEIF 中 MIX 図 RETURN 中 ZONEWIDTH 中
END 中図実 MULTIPOINT 図 REWRITE フ
ERASABLE 中 NAME 中 SAME 中
ERASE 中 NATIVE 中フ SEIZE 実
参考 ANSI X3.113には語MAXがないが,誤りと考えられるので補った。

――――― [JIS X 3003 pdf 15] ―――――

次のページ PDF 16

JIS X 3003:1993の引用国際規格 ISO 一覧

  • ISO/IEC 10279:1991(IDT)

JIS X 3003:1993の国際規格 ICS 分類一覧

JIS X 3003:1993の関連規格と引用規格一覧