将下面的文法改写为LL(1)文法。 〈布尔表达式)→〈布尔表达式〉V 〈布尔因子〉〈布尔表达式〉→〈布尔因子〉 〈布尔因子〉→《布尔因子〉A〈布尔二次量〉〈布尔因子〉→〈布尔二次量〉〈布尔二次量〉→〈布尔初等量〉〈布尔二次量〉→〈布尔初等量〉〈布尔初等量〉→(〈布尔表达式〉)〈布尔初等量〉→true | false
解为方便书写,记:<布尔表达式>为A,<布尔因子>为B,<布尔二次量>为c,<布尔初等量>为D,原文法可以简化为:A→AVB | B B→BAc | cc→┐D| DD→(A)| true / false,显然,文法含有左递归,消去后等价LL(1)文法为:A→BA’A’→VBA’|wB→CB’,B’→CB’| oc→┐D|DD→(A)/ true|false
举一反三
内容
- 0
(a) 为|x-5|[ 4.5编写布尔表达式。 (b) 为|x-5|] 4.5编写布尔表达式。
- 1
布尔运算操作不包括( )。 A: 布尔求交 B: 布尔求积 C: 布尔求和 D: 布尔求差
- 2
形体的布尔运算主要有: A: 布尔并 B: 布尔交 C: 布尔差 D: 布尔加
- 3
布尔代数的每一子布尔代数仍是布尔代数
- 4
求表示布尔函数的布尔表达式的另一种方法是:构造文字之布尔和的布尔积。求下面每个函数的和之积展开式。[tex=5.214x1.357]t4eUrz6NDwEuraLoZQHBMA==[/tex]