コンパイラ演習資料置き場

http://cis.k.hosei.ac.jp/~asasaki/lect/compiler

資料(2009年度秋学期)

 

レポートの形式など

フォーマット( doc,  pdf)

再提出フォーマット(doc , pdf )

 

課題B(コンパイラの作成)ガイドライン

http://cis.k.hosei.ac.jp/~asasaki/lectureCompiler/guideline.htm

 

プログラム課題(課題A)に関して(プログラムの提出方法)

 

課題B(コンパイラ実装編)

1224 問題B5「コンパイラ作成問題5

 演習資料 problem5.htm (problem5.pdf

  講義資料 Codegen5-RuntimeEnv.pdf

 

1210 問題B4「コンパイラ作成問題4

 演習資料 problem4.htm problem4.pdf

  講義資料 Codegen4-Control.pdf

 

1203 問題B3「コンパイラ作成問題3

 演習資料 problem3.htm problem3.pdf

  講義資料 Codegen3-Emit.pdf

 

1126 問題B2「コンパイラ作成問題2」

 演習資料 problem2.htm problem2.pdf

  講義資料 Codegen2.pdf

                  Codegen2-SymbolTable-ppt.pdf

1119 問題B1「コンパイラ作成問題1」

  演習資料 problem1.htm problem1.pdf

  講義資料 Codegen1.pdf 

           VM2.pdf

 

1112 コード生成の紹介とコンパイラ作成のための準備(JavaCC)

 

問題B0

JavaCC関係

  JavaCC-Eclipse (pdfファイル→ただし見にくい JavaCC-Eclipse.pdf

  JavaCC-Intro.pdf

講義資料

  CodeGen-Intro.pdf

  VM1.pdf

サンプル

              http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008B/ex9-javaccSamples.zip

 

課題A(コンパイラの理論と実装演習)

1105

LL-Parser-Ex8.pdf

ex8.zip (サンプルソース)

b2.zip (字句解析器問題2(2))

exParser.zip (式の構文解析器のサンプル)

 

1022

問題A6「DFAの最小化と字句解析プログラム」

2009-1022.pdf

2009-1022.zip (サンプルソース)

 

資料(2009年度春学期)

 

レポートの形式など

フォーマット( doc,  pdf)

プログラム課題に関して(プログラムの提出方法) コンパイラ作成演習の提出方法は、課題Bの「ガイドライン」を参照して下さい。

 

再提出フォーマット(doc , pdf )

 

課題B(コンパイラ作成演習)

ガイドライン

http://cis.k.hosei.ac.jp/~asasaki/lectureCompiler/guideline.htm

 

0713 問題B5「コンパイラ作成問題5」

 演習資料 problem5.htm (problem5.pdf)

 講義資料:RuntimeEnv.pdf

 

0706 問題B4「コンパイラ作成問題4

 演習資料 problem4.htm (problem4.pdf)

 講義資料:CodeGen-Control.pdf

 

0629 問題B3「コンパイラ作成問題3

 演習資料 problem3.htm (problem3.pdf)

 講義資料:前回の資料も使用します。

      Comp-CodeGeneration.pdf

0622 問題B2「コンパイラ作成問題2

 演習資料 problem2.htm (problem2.pdf)

 講義資料  前回(0615)の資料も使用します。

      CompA-2009-0622.pdf

      2009-0622-SymbolTable.pdf

 

0615 問題B1「コンパイラ作成問題1」

  演習資料 problem1.htm (problem1.pdf

  講義資料 CompA-2009-0615.pdf (ミスを一部修正 0615

           2009-0615-VM.pdf  (ミスを一部修正 0615

0608問題B0

JavaCC関係

  Comp-B0-JavaCC     (pdfファイル→ただし見にくい Comp-B0-JavaCC.pdf

  Comp-Lect8-JavaCC.pdf

講義資料(Virtual Machine)

  Comp8-VM.pdf

 

課題A(コンパイラの理論と実装演習)

0601

問題A8LL(1)構文解析器の作成」

Ex08.pdf

サンプルプログラム

 b2.zip

 ex8.zip

 exParser.zip

0525

問題A7LL(1)文法」

Ex07-1.pdf

Ex07-2.pdf

 

0518

問題A6「DFAの最小化と字句解析プログラム」

2009-0518.pdf

2009-0518.zip (サンプルソース)

 

0511(一部演習問題の補足をしますがしばらくお待ち下さい→補足しました。)

問題A5「正規表現とオートマトン」

レポートの表紙フォーマットを掲載した。

Ex05-1.pdf

Ex05-2.pdf

0511-supple.pdf

 

0427

問題A3,A4

Ex03.pdf

 

0420

問題A2「文法の演習」

 

0413(逆ポーランド記法への変換プログラムの解説)

Ex01.pdf

Ex01-trace.pdf

 

 

資料(2008年度秋学期)

0113(実行時環境、関数呼び出し) 課題B5

http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008B/2009-0113-ppt.pdf →資料

http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008B/problem/problem5.htm →演習課題

 

http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008B/problem/problem5.pdf 演習課題(pdf version)

 

1216(制御構造) 課題B4

http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008B/2008-1216-ppt.pdf 資料

http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008B/problem/problem4.htm 演習課題

http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008B/problem/problem4sup.htm 演習課題の補足

 

http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008B/problem/problem4.pdf 演習課題(pdf version)

http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008B/problem/problem4sup.pdf →補足(pdf version)

 

1209(変数機能、記号表) 課題B3

http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008B/2008-1202.pdf 1202の資料

http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008B/2008-1209-ppt.pdf →記号表

http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008B/problem/problem3.htm →演習課題

http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008B/problem/problem3.pdf 演習課題(pdf version)

 

1202(宣言、変数機能の追加) 課題B2

http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008B/2008-1202.pdf

http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008B/2008-1202-ppt.pdf

http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008B/problem/problem2.htm

 

Swing/Java hsm仮想機械は、下記です。

http://cis.k.hosei.ac.jp/~nakata/lectureCompiler/JavaHiStackMachine-ALL/index.html

 

1125 (JavaCCの準備など) 課題B1

http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008B/2008-1125.pdf

http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008B/2008-1125-ppt.pdf

http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008B/problem/problem1.pdf

 

1118(JavaCCの準備など) 課題B0

http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008B/2008-1118.pdf

http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008B/2008-1118-ppt.pdf

http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008B/2008-1118-1.pdf

 サンプル

              http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008B/ex9-javaccSamples.zip

 

ここより上がコンパイラ作成関連の資料

1111(構文解析プログラム)

http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008B/2008-1111.pdf

  字句解析部   http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008B/b2.zip

  サンプル1(B1)  http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008B/ex8.zip

 サンプル2 http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008B/exParser.zip

 

1028(構文解析)

http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008B/2008-1028.pdf

 

1014(字句解析)

http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008B/2008-1014-1.pdf

http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008B/2008-1014-2.pdf

 

0930 (下記課題の補足)

http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008B/2008-0930-1.pdf

http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008B/2008-0930-2.pdf

 

0923930日出題プログラム課題(10/14締め切り) http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008B/2008-0923.pdf

 

作成問題(2008年度春学期)

  ガイドライン

http://cis.k.hosei.ac.jp/~asasaki/lectureCompiler/guideline.htm

提出状況

http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008A/status/status.htm

問題5

http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008A/problem/problem5.htm

問題4

http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008A/problem/problem4.htm

問題3:

http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008A/problem/problem3.htm

問題2:

http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008A/problem/problem2.htm

 問題1:

  http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008A/problem/problem1.htm

資料

0707 http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008A/2008-0707-ppt.pdf

0630 http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008A/2008-0630-ppt.pdf

0623-1 http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008A/2008-0623-1.pdf

0623-2 http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008A/2008-0623-2.pdf

0623(VM資料)http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008A/2008-0623-ppt.pdf

 

0616 http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008A/2008-0616.pdf

0609(VM入門編)

http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008A/2008-0609-ppt.pdf

 

 

補足資料(4月28日分)

コンパイラ演習補足説明(1)

http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008A/2008-0502-1.pdf

コンパイラ演習補足説明(2)

http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008A/2008-0502-2.pdf

 

その他

中田先生、開先生による講義資料

http://cis.k.hosei.ac.jp/~nakata/lectureCompiler/index.html

 

http://cis.k.hosei.ac.jp/~nakata/lectureCompiler/Problem/index.html

Hi-StackMachine(hsm)

http://cis.k.hosei.ac.jp/~nakata/lectureCompiler/HiStackMachine-ALL/index.html

Swing/Java hsm

 http://cis.k.hosei.ac.jp/~nakata/lectureCompiler/JavaHiStackMachine-ALL/index.html

 

hsm命令一覧

http://cis.k.hosei.ac.jp/~nakata/lectureCompiler/HiStackMachine-ALL/node4.html

 

 

以下は昨年度までの資料。JavaCChsmの説明はほぼ共通

JavaCC

JavaCC(中田先生)

http://cis.k.hosei.ac.jp/~nakata/lectureCompiler/JavaCC/index.html

コンパイラ補助資料-3(11/13)

http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/compilerB-1113-javacc-tutorial.pdf

コンパイラ補助資料-2(11/13)

http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/compilerB-1113-2.pdf

コンパイラ補助資料(11/13)

http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/compilerB-1113.pdf

 

講義資料

仮想マシン(1)

http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2007-1120.pdf

仮想マシン(2), コード生成

http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2007-1204.pdf

コード生成(2)

http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2007-1211.pdf

コード生成(3

http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2007-1218.pdf

 

作成問題

作成問題4 (12/18)

http://cis.k.hosei.ac.jp/~asasaki/lectureCompiler/problem4.htm

作成問題3 (12/11)

http://cis.k.hosei.ac.jp/~asasaki/lectureCompiler/problem3.htm

作成問題2 (12/04)

http://cis.k.hosei.ac.jp/~asasaki/lectureCompiler/problem2.htm

作成問題2への準備 (11/27)

http://cis.k.hosei.ac.jp/~asasaki/lectureCompiler/problem2pre.htm

作成問題1 (11/20)

http://cis.k.hosei.ac.jp/~asasaki/lectureCompiler/problem1.htm

ガイドライン

http://cis.k.hosei.ac.jp/~asasaki/lectureCompiler/guideline.htm