プログラミング言語処理系の勉強(その3)

  • 2.2 誤り処理とエラーメッセージ
    • 誤りの処理について大切なことは、誤りを検出してもそこで止まらないで、誤りから復帰(誤り回復)し解析を続行することである(普通のコンパイラは一旦止まるようなよな)
  • 2.3 コンパイラの物理的構造
    • コンパイラの物理的構造では、入力ファイルを読んでそれに変換を施し出力ファイルを書き出す、という処理を繰り返す。その一つの処理あるいは処理モジュールをパス、中間にあるファイルを中間ファイルという。
    • パス数を減らした方が、中間ファイルの読み書きの時間が減ってコンパイル効率が上がる(なるほど)
    • パス数を減らせない要因:(1)前方参照がある場合(goto文ね),(2)大域的な最適化をするとき
    • パスコンパイラ:中間ファイルを作らない。最適化はあまり行われない。前方参照を扱うにはバックパッチング技法が用いられる。
    • コンパイラのフロントエンドとは、原始言語に依存し目的言語にほとんど依存しない部分のことをいう。バックエンドとは目的言語に依存し原始言語に依存しない部分。
  • 2.4 コンパイラ生成系

次、3章から。