平成27年度 春期19テクノロジ系

基本情報 平成27年度 春期 問19:テクノロジ系に関する問題

コンパイラで構文解析した結果の表現方法の一つに四つ組形式がある。 (演算子, 被演算子 1 , 被演算子 2 , 結果) この形式は, 被演算子 1 と被演算子 2 に演算子を作用させたものが結果であるこ とを表す。次の一連の四つ組は, どの式を構文解析したものか。ここで, 征」, T。, T。 は一時変数を表す。 (*。 BC 工) (アモや)

  • aA+B*CノD正答
  • bA+B*CノT。
  • cB*C+AノD
  • dB*ネC+エンD
正答:AA+B*CノD

AI解説(初心者・標準・上級)

理解度に合わせて3レベルの解説を無料で読めます。

初心者向けまずはここから。やさしく要点を解説

答えは **a「A+BC/D」* です。

四つ組(クォドラプル)は「演算子・左の値・右の値・結果を入れる場所」を1セットにしたメモ書きみたいなもの。

計算機は人間と同じで「掛け算・割り算が先、足し算が後」というルール(演算子の優先順位)を守ります。

`A+B*C/D` という式を、優先順位に従って中間結果(T1, T2…)を作りながら分解した結果が、設問の四つ組の並びになります。

👉 覚え方:四つ組=計算手順をメモする方式。優先順位は「*/が先、+−が後」。

ほかの選択肢:b/c/dは式の構造が四つ組の手順と合わない。

標準試験対策の基準レベル

なぜこれが正解か

正解は a。四つ組形式(クォドラプル:Quadruple)は中間言語表現の一つで、(演算子, 被演算子1, 被演算子2, 結果) のタプルで各演算を表す。

式 `A + B C / D` は演算子優先順位( / が + より高い、左結合)に従い:

1. `T1 = B C`(, B, C, T1)

2. `T2 = T1 / D`(/, T1, D, T2)

3. `T3 = A + T2`(+, A, T2, T3)

の順で分解される。これが設問の四つ組列に対応する。

各選択肢の解説

  • b/c/d:いずれも演算子優先順位や被演算子の対応が四つ組列と合致しない。

覚え方・ひっかけ注意

中間言語表現は「三つ組(Triple)/四つ組(Quadruple)/構文木/逆ポーランド記法(RPN)」がセットで頻出。四つ組は「結果置き場(一時変数)」を明示する点が特徴。優先順位を逆算する練習が解答力向上の近道。

上級誤答論破・背景理論まで深掘り

理論的背景

コンパイラの構文解析後の中間表現(IR:Intermediate Representation)は最適化と機械語生成を分離するための抽象層。代表的なIRは (1) 三つ組(演算子, 被演算子1, 被演算子2):結果は暗黙の番号、(2) 四つ組(演算子, 被演算子1, 被演算子2, 結果):結果を明示、(3) 抽象構文木(AST)、(4) 静的単一代入形式(SSA:Static Single Assignment)、(5) 逆ポーランド記法(RPN)。LLVM IRやJava Bytecodeは四つ組に近い設計。

実務での使われ方

GCC・Clang・LLVMなど現代コンパイラは複数IRを段階的に変換する(高レベルIR→中レベルIR→低レベルIR)。最適化(定数畳み込み・共通部分式削除・ループ展開・インライン展開)はIRレベルで実施される。JITコンパイラ(V8・HotSpot)も内部でIRを構築し動的最適化を行う。

試験での位置づけ

言語処理系分野の頻出論点。基本情報・応用情報では中間言語表現の識別と式変換が定番。応用情報以上では「字句解析→構文解析→意味解析→中間コード生成→最適化→コード生成」の各フェーズの役割、LL/LR文法、再帰下降構文解析、左再帰除去まで踏み込む。

選択肢の発展補足

  • 逆ポーランド記法(RPN):`A+BC/D` → `A B C D / +`。スタック型計算機・電卓(HP電卓)で採用。
  • 演算子の結合性:左結合(`a-b-c` = `(a-b)-c`)と右結合(`a^b^c` = `a^(b^c)`)の違いも頻出。
  • 演算子優先構文解析・LL(1)・LR(1)・SLR・LALR等のパーサ理論は応用情報・データベーススペシャリスト・組込みシステムスペシャリスト試験で深く問われる。
出典・引用について

出典:IPA(情報処理推進機構)公式 基本情報技術者試験 平成27年度 春期19/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビによる独自AI解説です。

テクノロジ系の他の過去問

1
テクノロジ系
2
テクノロジ系
3
テクノロジ系
4
テクノロジ系
5
テクノロジ系

あなたの弱点を診断して、合格までの最短ルートを

この分野を連続演習し、AIがあなたの弱点を分析。合格ナビなら基本情報の過去問を解きながら学べます。