范围:词法分析,语法分析(考到LL(1)语法分析表)
题目一
字符集为{a, b},已知正则表达式 b*(a | ab)*,画出其NFA (8分);得出DFA D的转换表Dtran (8分);画出DFA状态变迁图 (8分);
题目二
有如下上下文无关文法G:
它包含的9个产生式如右框所示
其中的终结符号集是 {id,+,−,×,(,)}.。非终结符号有S,T,E,M。
- 对上述文法提取左公因式,得出相应的无左公因式、无左递归的文法;(11分)(提示:先消去非终结符号M,再提取左公因式,然后再检查每个非终结符号,是否还存在左公因式。消去左公因式后,应该有6个非终结符号(其中包括原文法中的S, T, E),11个产生式)
- 对(1)得出的不含左公因式的文法中的每个产生式,求出其左部的FIRST()函数值(11分);对每一个非终结符号,求出其 FOLLOW()函数值;(6分)
- 填出LL(1)的预测分析表;(12分)。基于预测分析表,说明其是LL(1)文法的理由;(2分);