|
教員名 : 五百木 伸洋
|
開講年度
2025年度
開講学期
前期
科目名
言語処理系特論
授業種別
講義
科目名(英語)
Language Processor
授業情報(授業コード・クラス名・授業形態)
Z0700005 言語処理系特論 [対面]
担当教員
五百木 伸洋
単位数
2.0単位
曜日時限
火曜4限
キャンパス
新宿
教室
A-0511教室
学位授与の方針
A 専攻する研究領域における高度な専門知識を身につけたもの 60%
B 科学技術を運用する能力を身につけたもの 40% C 主体的に研究に取り組み、社会や職業についての知識や技術者や研究者として必要な倫理観を身につけたもの 0% D 特定の専門領域における創成能力を身につけたもの 0% 具体的な到達目標
本講義で解説する言語処理とは、プログラミング言語で記述されたソースプログラムを計算機が理解可能な機械語に翻訳するソフトウェアである。翻訳の方法には、ソースプラグラムを一括して翻訳するコンパイラ方式とソースプラグラムを1行ずつ翻訳しながら実行するインタープリタ方式がある。本講義ではコンパイラの言語処理方式を解説すると共に、昨今広く利用されているオブジェクト指向言語であるJava及びマルチパラダイムプログラミング言語Pythonの動作の仕組みについて解説する。
コンパイラの特長の1つが最適化処理である。計算機アーキテクチャには、命令セット,メモリ、キャッシュメモリ、レジスタファイルといった計算機の基本的な構造に加え、スーパスカラ、ベクトル命令、メニイコアなど、並列実行のための機構がある。最適化処理では、これらの計算機アーキテクチャを有効活用することでプログラムの実行時間の短縮を図っている。一方、Javaはインタープリタ言語であるため計算機アーキテクチャを考慮した最適化は困難であることから、JITコンパイラの適用やメモリ管理方式を考慮したプログラミングが性能向上にとって重要となる。 本講義では、コンパイラの基本的な処理である字句解析、構文解析、意味解析について解説すると共に、計算機アーキテクチャについて解説しコンパイラの最適化処理が計算機アーキテクチャどのように有効活用しているかを解説する。Javaについては、動作の仕組み及びメモリ管理方式について解説し、実行性能を向上させるためのプログラミング技術について解説する。 コンパイラの基本構造に加え計算機の性能を引き出すため最適化処理と計算機アーキテクチャとの関係、JavaやPythonの動作及びメモリ管理の仕組み理解することで実効性能の高いプログラムを作成する技術を習得することを到達目標とする。 受講にあたっての前提条件
プログラムの作成経験があることが望ましい。
2025年度の講義は「対面」にて実施しますので、教室での参加が可能です。 AL・ICT活用
プレゼンテーション
授業計画
1 計算機発展の歴史と計算機アーキテクチャ
2 プログラミング言語の歴史(機械語からScript言語まで) 3 コンパイラの構成と字句解析 4 後置記法(逆ポーランド記法) 5 オートマトン 6 決定性有限オートマトン 7 構文解析と意味解析 8 命令レベル最適化とループ構造変換最適化 9 メモリ構造とキャッシュメモリ向け最適化 10 自動並列化技術 11 Java及びPythonの処理方式 12 仮想計算機JavaVM(Virtual Machine)の概要 13 Java実行時のメモリ割当方式とGC(Garbage Collection) 14 Javaの最適化技術(HotSpotVM及びJITコンパイラ) 成績評価の方法
出席点(10%)及びレポート提出(90%)により評価。
受講生へのフィードバック方法
講義の内容に関して、理解できた点及び疑問点を小レポートに纏め、次回の講義の前までに提出してもらい、講義の中で小レポートについて講評します。
教科書
特定の教科書を使用せず,必要に応じて授業の際に資料又は文献を配布する。
参考書
1.中田育夫:コンパイラの構成と最適化,朝倉書店,1999年
2.今城哲二,布広永示,岩沢京子,千葉雄司;コンパイラとバーチャルマシン,オーム社,2004年 3.金田康正,片桐孝洋,黒田久泰,山本有作,五百木伸洋,並列処理 −高速化と性能向上のために−,コロナ社,2010年 オフィスアワー
授業に対する質問・意見はメールで随時受け付けます。 メールアドレスは,第1回目の講義の時に連絡します。
受講生へのメッセージ
最先端の計算機アーキテクチャとコンパイラの最適化・自動並列化技術に興味がある学生の受講を歓迎します。
実務家担当科目
実務家担当科目ではない
実務経験の内容
科学技術計算向け数値計算ライブラリ
コンパイラ(C言語、FORTRAN) 人工知能 クラウド及びマイクロサービスアーキテクチャ 分散トランザクション管理 教職課程認定該当学科
情報学専攻
|