UNIXにおける正規表現[A-Z]+[0-9]*が表現する文字列の集合の要素となるものはどれか。ここで,正規表現は次の規則に従う。
[A-Z]は,大文字の英字1文字を表す。
[0-9]は,数字1文字を表す。
+は,直前の正規表現の1回以上の繰返しであることを表す。
*は,直前の正規表現の0回以上の繰返しであることを表す。
解答 エ
[A-Z]+ ⇒ 大文字の英字で始まり,1文字以上の大文字の英字の繰り返し。
続いて,[0-9]* ⇒ 数字が0文字以上の繰り返し(数字はなくても良い)。
よって,ABCDEF。
次のBNFにおいて非終端記号<A>から生成される文字列はどれか。
<R0>::= 0 | 3 | 6 | 9
<R1>::= 1|4 | 7
<R2>::= 2|5 | 8
<A>::=<R0>|<A><R0>|<B><R2>|<C><R1>
<B>::=<R1>|<A><R1>|<B><R0>|<C><R2>
<C>::=<R2>|<A><R2>|<B><R1>|<C><R0>
解答 ア
【頭の準備体操】
BNF
(例)
<R0>::= 0 | 3 | 6 | 9
<R0>は,0 または 3 または 6 または 9 と定義できる。