この規格ページの目次
20
X 3017 : 2013 (ISO/IEC 30170 : 2012)
8.5 コメント
構文規則
《コメント》 ::
《単一行コメント》
|《複数行コメント》
《単一行コメント》 ::
“#” 《コメント内容》・
《コメント内容》 ::
《行内容》
《行内容》 ::
《ソース文字》+ − ( 《ソース文字》* 《行終端子》 《ソース文字》* )
《複数行コメント》 ::
《複数行コメント開始行》 《複数行コメント行》・
《複数行コメント終了行》
《複数行コメント開始行》 ::
[行頭] “=begin” 《開始・終了行残り》・ 《行終端子》
《複数行コメント終了行》 ::
[行頭] “=end” 《開始・終了行残り》・ ( 《行終端子》|[プログラムの末尾] )
《開始・終了行残り》 ::
《空白類》+ 《コメント内容》
《複数行コメント行》 ::
《コメント行》 − 《複数行コメント終了行》
《コメント行》 ::
《コメント内容》 《行終端子》
[行頭]という記法は,プログラムの先頭,又は《行終端子》の直後の位置を表す。
《コメント》は,《単一行コメント》又は《複数行コメント》のいずれかである。5.2.3に規定しているとおり,
箇条8及び15.2.15.4以外では,《コメント》は生成規則から省かれている。
《単一行コメント》は,“#” で開始され,行末まで続く。行末の《行終端子》は,コメントには含まれない。
《単一行コメント》は,《行終端子》以外の任意の文字を含むことができる。
《複数行コメント》は,“=begin” が行頭に出現する行から開始され,“=end” が行頭に出現する行まで
続く。《単一行コメント》と異なり,《複数行コメント終了行》の《行終端子》は,コメントの一部とみなされ
る。
注記1 《行内容》は《ソース文字》の並びである。ただし,《行内容》の生成規則で規定しているとおり,
《行内容》の中に《行終端子》が出現してはならない。
注記2 コメントにISO/IEC 646:1991の国際基準版にない文字を含むプログラムは規格に厳密に適
合するプログラムではないが,規格適合プログラムにはなり得る。この規格のコード例では
利用者の利便性を考慮し,便宜上コメントに日本語を使用している。
――――― [JIS X 3017 pdf 26] ―――――
21
X 3017 : 2013 (ISO/IEC 30170 : 2012)
8.6 プログラム終端指示子
構文規則
《プログラム終端指示子》 ::
[行頭] “END” ( 《行終端子》|[プログラムの末尾] )
《プログラム終端指示子》は,プログラムの終端を指示する。《プログラム終端指示子》より後のいかなる
文字も,プログラムテキストとして扱ってはならない。
注記 “END” はキーワードではなく,《局所変数識別子》とすることができる。
8.7 字句
8.7.1 概要
構文規則
《字句》 ::
《キーワード》
|《識別子》
|《区切り子》
|《演算子》
|《リテラル》
《区切り子》及び《演算子》は,独立した構文的及び意味的な機能をもつ記号とし,その意味は箇条9箇
条14で定義する。
8.7.2 キーワード
構文規則
《キーワード》 ::
“LINE”|“ENCODING”|“FILE”|“BEGIN”|“END”|“alias”
|“and”|“begin”|“break”|“case”|“class”|“def”|“defined・”|“do”
|“else”|“elsif”|“end”|“ensure”|“for”|“false”|“if”|“in”
|“module”|“next”|“nil”|“not”|“or”|“redo”|“rescue”|“retry”
|“return”|“self”|“super”|“then”|“true”|“undef”|“unless”
|“until”|“when”|“while”|“yield”
キーワード中の大文字と小文字とは区別される。
注記 “LINE”,“ENCODING”,“FILE”,“BEGIN” 及び “END” は,将来の使用のため
予約されている。
8.7.3 識別子
構文規則
《識別子》 ::
《局所変数識別子》
|《大域変数識別子》
|《クラス変数識別子》
|《インスタンス変数識別子》
|《定数識別子》
|《メソッド専用識別子》
――――― [JIS X 3017 pdf 27] ―――――
22
X 3017 : 2013 (ISO/IEC 30170 : 2012)
|《代入風メソッド識別子》
《局所変数識別子》 ::
( ( 《小文字》|“” ) 《識別子文字》* ) − 《キーワード》
《大域変数識別子》 ::
“$” 《識別子開始文字》 《識別子文字》*
《クラス変数識別子》 ::
“@@” 《識別子開始文字》 《識別子文字》*
《インスタンス変数識別子》 ::
“@” 《識別子開始文字》 《識別子文字》*
《定数識別子》 ::
( 《大文字》 《識別子文字》* ) − 《キーワード》
《メソッド専用識別子》 ::
( 《定数識別子》|《局所変数識別子》 ) ( “!”|“・” )
《代入風メソッド識別子》 ::
( 《定数識別子》|《局所変数識別子》 ) “=”
《識別子文字》 ::
《小文字》
|《大文字》
|《10進数字》
|“”
《識別子開始文字》 ::
《小文字》
|《大文字》
|“”
《大文字》 ::
“A”|“B”|“C”|“D”|“E”|“F”|“G”|“H”|“I”|“J”|“K”|“L”
|“M”|“N”|“O”|“P”|“Q”|“R”|“S”|“T”|“U”|“V”|“W”|“X”
|“Y”|“Z”
《小文字》 ::
“a”|“b”|“c”|“d”|“e”|“f”|“g”|“h”|“i”|“j”|“k”|“l”
|“m”|“n”|“o”|“p”|“q”|“r”|“s”|“t”|“u”|“v”|“w”|“x”
|“y”|“z”
《10進数字》 ::
“0”|“1”|“2”|“3”|“4”|“5”|“6”|“7”|“8”|“9”
8.7.4 区切り子
構文規則
《区切り子》 ::
“[”|“]”|“(”|“)”|“[{”|“}]”|“::”|“,”|“;”|“..”|“...”
|“・”|“:”|“=>”
――――― [JIS X 3017 pdf 28] ―――――
23
X 3017 : 2013 (ISO/IEC 30170 : 2012)
8.7.5 演算子
構文規則
《演算子》 ::
“!”|“!=”|“!~”|“&&”|“||”
|《演算子メソッド名》
|“=”
|《代入演算子》
《演算子メソッド名》 ::
“^”|“&”|“|”|“<=>”|“==”|“===”|“=~”|“>”|“>=”|“<”|“<=”
|“<<”|“>>”|“+”|“-”|“*”|“/”|“%”|“**”|“~”|“+@”|“-@”
|“[]”|“[]=”|“”
《代入演算子》 ::
《代入演算子名》 “=”
《代入演算子名》 ::
“&&”|“||”|“^”|“&”|“|”|“<<”|“>>”|“+”|“-”|“*”|“/”|“%”|“**”
8.7.6 リテラル
8.7.6.1 概要
《リテラル》 ::
《数値リテラル》
|《文字列リテラル》
|《配列リテラル》
|《正規表現リテラル》
|《シンボル》
8.7.6.2 数値リテラル
構文規則
《数値リテラル》 ::
《符号付き数》
|《符号なし数》
《符号付き数》 ::
( “+”|“-” ) 《符号なし数》
《符号なし数》 ::
《整数リテラル》
|《浮動小数点数リテラル》
《整数リテラル》 ::
《10進整数リテラル》
|《2進整数リテラル》
|《8進整数リテラル》
|《16進整数リテラル》
《10進整数リテラル》 ::
――――― [JIS X 3017 pdf 29] ―――――
24
X 3017 : 2013 (ISO/IEC 30170 : 2012)
《前置子なし10進整数リテラル》
|《前置子付き10進整数リテラル》
《前置子なし10進整数リテラル》 ::
“0”
|《0以外の10進数字》 ( “”・ 《10進数字》 )*
《前置子付き10進整数リテラル》 ::
“0” ( “d”|“D” ) 《10進整数部》
《10進整数部》 ::
《10進数字》 ( “”・ 《10進数字》 )*
《2進整数リテラル》 ::
“0” ( “b”|“B” ) 《2進数字》 ( “”・ 《2進数字》 )*
《8進整数リテラル》 ::
“0” ( “”|“o”|“O” )・ 《8進数字》 ( “”・ 《8進数字》 )*
《16進整数リテラル》 ::
“0” ( “x”|“X” ) 《16進数字》 ( “”・ 《16進数字》 )*
《浮動小数点数リテラル》 ::
《指数なし浮動小数点数リテラル》
|《指数付き浮動小数点数リテラル》
《指数なし浮動小数点数リテラル》 ::
《前置子なし10進整数リテラル》 “.” 《10進整数部》
《指数付き浮動小数点数リテラル》 ::
《有効数字部》 《指数部》
《有効数字部》 ::
《指数なし浮動小数点数リテラル》
|《前置子なし10進整数リテラル》
《指数部》 ::
( “e”|“E” ) ( “+”|“-” )・ 《10進整数部》
《0以外の10進数字》 ::
“1”|“2”|“3”|“4”|“5”|“6”|“7”|“8”|“9”
《2進数字》 ::
“0”|“1”
《8進数字》 ::
“0”|“1”|“2”|“3”|“4”|“5”|“6”|“7”
《16進数字》 ::
《10進数字》|“a”|“b”|“c”|“d”|“e”|“f”|“A”|“B”|“C”|“D”|“E”|“F”
《符号付き数》の直前の字句が《局所変数識別子》,《定数識別子》又は《メソッド専用識別子》の場合,その
《局所変数識別子》,《定数識別子》又は《メソッド専用識別子》と,《符号付き数》との間に,少なくとも一つ
の《空白類》又は《行終端子》が存在しなければならない。
例 次のプログラムでは,“x” と “-123” との間に《空白類》があるため,“-123” は《符号付き数》で
――――― [JIS X 3017 pdf 30] ―――――
次のページ PDF 31
JIS X 3017:2013の引用国際規格 ISO 一覧
- ISO/IEC 30170:2012(IDT)
JIS X 3017:2013の国際規格 ICS 分類一覧
- 35 : 情報技術.事務機械 > 35.060 : 情報技術に使用される言語