学籍番号 学年 年 氏名 第 4 章 下降型構文解析(1) (5/18〆切) レポート課題 解答例 1. BNF 記法で記述された左再帰性を持つ以下の文法を(1)右再帰に書き換えよ。また (2)EBNF 記法に書き換えよ。(p.58 4.1 節) <T> ::= <T> “*” <F> | <T> “/” <F> | <F> (1) <T> ::= <F> <T’> <T’> ::= “*” <F> <T’> | “/” <F> <T’> | ε (2) <T> ::= <F> { ( “*” | “/” ) <F> } 2. 以下の文法を左括り出しを行え。(p.58 4.1 節) <E> ::= <T> “+” <E> | <T> “-” <E> | <T> <E> ::= <T> [ ( “+” | “-” ) <E> ] 3. 以下の文法が与えられたとき、各非終端記号の First 集合を求めよ。ただし、NAME, INTEGER はそれぞれ変数名, 整数を表す終端記号とする。(p.64 4.2 節) <E> ::= <T> { (“+” | “-”) <T> } <T> ::= <F> { (“*” | “/” | “%” ) <F> } <F> ::= “-” <U> | “!” <U> | <U> <U> ::= NAME | NAME (“++” | “--” ) | INTEGER | “(” <E> “)” First (<U>) = { NAME, INTEGER, “(” } First (<F>) = { “-” , “!”} + First (<U>) = { “-”, “!”, NAME, INTEGER, “(” } First (<T>) = First (<F>) = { “-”, “!”, NAME, INTEGER, “(” } First (<E>) = First (<T>) = { “-”, “!”, NAME, INTEGER, “(” }
© Copyright 2024 ExpyDoc