第八回: 上向き構文解析
2010 年 5 月 28日
http://www.sw.it.aoyama.ac.jp/2010/Compiler/lecture8.html
© 2005-10 Martin J. Dürst 青山学院大学
(scanner.c 参照)
nextChar
に保持
(one-character lookahead)nextChar
に読み込むinitScanner
で初期化getNextToken
で次々とトーケンを読むnextChar
がグローバル変数だが、グローバル変数なしの実装も可能getNextToken
の実装:
nextToken
に保持
(one-token lookahead)nextToken
に読み込むinitScanner
と getNextToken
で準備Expression()
) を呼び出すnextToken
がグローバル変数だが、グローバル変数なしの実装も可能nextToken
と比較bison
の演習のためノートパソコンを持参(提出不要)
次の文法の曖昧性を除去し、曖昧性のない文法を作りなさい。曖昧性がないことを複数の例で確認してください。
E → E '+' E
(Expression, 式)
E → E '*' E
E → '(' E ')'
E → integer
ヒント: 非終端記号の追加が必要