総視聴再生時間43万分以上(2017年5月13日現在)の動画で基本情報技術者試験の過去問&キーワード解説!スキマ時間に動画!〜これじょIT〜

PR広告

平成28年度秋 基本情報技術者試験午後 過去問2設問1 ソフトウェア 合格率アップ!動画付き解説!

コンパイラの字句解析と構文解析に関する次の記述を読んで、設問1~2に答えよ。

 コンパイラの字句解析では、原始プログラムを文字列として読み込んで、文字列中の文字の並びが字句として認識できるかどうかを解析し、その結果を字句の並びとして出力する。字句とは、原始プログラム中の名前や定数など、構文規則で規定されている文字の並びの最小単位である。構文解析では、字句解析が出力した字句を読み込みながら、字句の並びが構文規則で規定されている文法に合っているかどうかを解析し、その結果を構文木などの中間表現で出力する。

設問1 字句解析の処理について、次の記述中の に入れる正しい答えを、解答群の中から選べ。

 123. や 123.4e-1 など、構文規則で規定されている符号なし浮動小数点定数を例として字句解析の処理を考える。

"→"は、左側の構文要素が右側で定義されることを示す。

"|"は、"又は"を意味する。

"["と"]"で囲まれた部分は、省略可能を意味する。

[符号なし浮動小数点定数の構文規則]

符号なし浮動小数点定数 → 小数点定数[指数部]|数字列 指数部

小数点定数 → [数字列].数字列|数字列.

指数部 → e[符号]数字列

数字列 → 数字|数字列 数字

符号 → +|-

数字 → 0|1|2|3|4|5|6|7|8|9

 構文規則は、状態遷移図で表現することもできる。符号なし浮動小数点定数の構文規則に対する状態遷移図を、図1に示す。字句解析では、文字の並び中の文字を読み込みながら初期状態から状態を遷移させて、文字の並びを読み終えたときの状態が最終状態ならば、その文字の並びは符号なし浮動小数点定数であると判定する。ここで、円の中の数字は状態番号を示す。初期状態の状態番号は 0 であり、最終状態は二重円で示している。また、文字の並びは左から右に向けて1文字ずつ処理される。

平成28年度秋 基本情報技術者試験午後問2 ソフトウェア

a、b に関する解答群

  • ア:.
  • イ:e
  • ウ:指数部
  • エ:数字
  • オ:符号

解説 設問1

正解は

aには「ア .」が、

bには「イ e」が入ります!

[符号なし浮動小数点定数の構文規則]

符号なし浮動小数点定数 → 小数点定数[指数部]|数字列 指数部

小数点定数 → [数字列].数字列|数字列.

指数部 → e[符号]数字列

数字列 → 数字|数字列 数字

符号 → +|-

数字 → 0|1|2|3|4|5|6|7|8|9

上と、状態遷移図を見比べてみましょう!

平成28年度秋 基本情報技術者試験午後問2 ソフトウェア

[符号なし浮動小数点の構文規則]を見ると

符号なし浮動小数点定数は

符号なし浮動小数点定数 → 小数点定数[指数部]|数字列 指数部なので

小数点定数[指数部]

数字列 指数部

となります。

数字列 指数部となった場合、必ず先頭に数字列が入ります。

数字列は

数字列 → 数字|数字列 数字 なので

必ず数字が先頭に入ります。

状態遷移図を見ると、数字列が先頭に入るパターンはすでにあります。

数字以外が先頭にくるパターンはあるのでしょうか?

小数点定数の場合を考えます。

小数点定数は

小数点定数 → [数字列].数字列|数字列. なので

[数字列].数字列

数字列.

となります。

[数字列].数字列を考えると先頭の[数字列]は省略できるので、「.」が先頭にくる場合があります。

従って、状態遷移図のaには「ア .」が入ります!

続いて、数字が先頭に入った場合を考えます。その場合、「.」はすでに状態遷移図に記載しています。それ以外があるかを考えます。

符号なし浮動小数点定数 → 小数点定数[指数部]|数字列 指数部 で、小数点定数[指数部]の場合を考えます。

小数点定数は

小数点定数 → [数字列].数字列|数字列. なので

数字が並びます。これは状態遷移図で表現されています。

小数点定数[指数部]の「小数点定数」を表現した後、[指数部]ですが、指数部は

指数部 → e[符号]数字列 です。

数字が続いた後にeが入る可能性があります。

従って、状態遷移図のbには「イ e」が入ります!

平成28年度秋 基本情報技術者試験過去問午後 目次

PR広告

フェイスブックコメント

平成28年度秋 基本情報技術者試験 午後 テキスト・動画解説

平成28年度秋 基本情報技術者試験 午前 テキスト・動画解説

平成28年度春 基本情報技術者試験 午後 テキスト・動画解説

平成28年度春 基本情報技術者試験 午前 テキスト・動画解説

平成27年度秋 基本情報技術者試験 午後 テキスト・動画解説

平成27年度春 基本情報技術者試験 午後 テキスト・動画解説

平成27年度春 基本情報技術者試験 午前 テキスト・動画解説

平成26年度秋 基本情報技術者試験 午前 テキスト・動画解説

平成26年度春 基本情報技術者試験 午前 テキスト・動画解説