言語理論とコンパイラ

第十一回: 上向き構文解析、エラー処理

2013 年 6 月 28 日

http://www.sw.it.aoyama.ac.jp/2013/Compiler/lecture11.html

Martin J. Dürst

AGU

© 2005-13 Martin J. Dürst 青山学院大学

今日の予定

前回のまとめ

 

前回の宿題

[ 削除 ]

文法のパターン: 繰り返し

一回以上の繰り返し:

項目列: 項目 項目列
| 項目
;

ゼロ回以上の繰り返し:

項目列: 項目 項目列
|
;

文法のパターン: 結合

左結合の場合:

大式: 大式 左結合演算子 小式
| 小式
;

右結合の場合:

大式: 小式 左結合演算子 大式
| 小式
;

文法のパターン: 優先度

(優先度は 小式 > 中式 > 大式)

大式: 大式 演算子 中式
| 中式
;
中式: 中式 演算子 小式
| 小式
;

文法のパターン: 括弧類

小式: 開括弧 大式 閉括弧
| 定数
;

構文エラーの処理

エラー処理の難しさ

エラー処理の要点

エラー処理の技法

bison でのエラー処理

宿題: 簡単なプログラム言語

提出: 再来週の木曜日 (7月11日) 19 時 00 分、O 棟 529号室の前

形式は A4、両面印刷、表紙なし、左上ホチキス止め、名前、ふりがな、学生番号を右上に明記

簡単なプログラム言語をflex と bison で実装し、.lex.y のファイルを印刷して提出

 

宿題のヒント