ソフトウェアシステム論 I
Software Systems I

講義内容

ソフトウェアを設計・製作するにあたって,最も基本となるツールであるプロ グラミング言語とその処理系の構成法について述べる。
まず,ソフトウェアを開発する際の様々なプログラミングパラダイムを比較す る。その中から,近年注目を集めているオブジェクト指向によるソフトウェア の設計法を考え,言語として C++ をとりあげる。
次いで,言語処理系について,コンパイラの構成の中で,意味解析を中心にと りあげる。具体的には,コンパイラ記述言語としての属性文法と,それによる コンパイラ・ジェネレータの問題を考える。
  1. 様々なプログラムパラダイムの比較と例題
  2. オブジェクト指向設計法における概念
  3. オブジェクト指向言語(C++)による表現
  4. C++ によるプログラム設計例
  5. コンパイラの構成と属性文法
  6. コンパイラ生成システム(Compiler Generator)

教科書

教科書として一冊に纒まったものはない。下記の参考書を順次参考にする。

参考書

  1. 柴田望洋 : CプログラマのためのC++入門,ソフトバンク,1992
  2. A. V. エイホ他(原田賢一訳): コンパイラ I - 原理,技法,ツール, (5, 6章),サイエンス社,1990
  3. 米澤明憲, 柴山悦哉 : モデルと表現(3, 4章), 岩波講座ソフトウェア科学17,1992
  4. Reinhard Wilhelm, Dieter Maurer:Compiler Design, Addison-Wesley, 1995 (Chap. 2-5)

前提とする知識(必ずしも先修条件ではない)

基礎として,システムプログラム概論,計算機構造概論 および,関連科目として,計算理論 I(形式言語理論,計算可能性)