言語理論とコンパイラ

第八回: 上向き構文解析

2010 年 5 月 28日

http://www.sw.it.aoyama.ac.jp/2010/Compiler/lecture8.html

Martin J. Dürst

AGU

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

目次

手造り下向き構文解析の詳細: 字句解析

(scanner.c 参照)

手造り下向き構文解析の詳細

(parser1.c, parser.c 参照)

手造り下向き構文解析の詳細: 非終端記号

上向き構文解析の単純な実装: Dynamic Programming

次回への準備

宿題

(提出不要)

次の文法の曖昧性を除去し、曖昧性のない文法を作りなさい。曖昧性がないことを複数の例で確認してください。

E → E '+' E    (Expression, 式)

E → E '*' E

E → '(' E ')'

E → integer

ヒント: 非終端記号の追加が必要