第八回: 上向き構文解析
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
ヒント: 非終端記号の追加が必要