@fuheimao
2020-04-06T12:25:51.000000Z
字数 892
阅读 628
编译原理
提取的公共左因子:
消除的直接左递归:
消除和的间接左递归:
消除上式的直接左递归:
综上所述,文法消除左递归并提取公共左因子后为:
消除的直接左递归:
递归下降分析过程:
void S() {
if (symbol == '(') {
advance();
L();
if (symbol == ')') {
advance();
}
else {
error();
}
}
else if (symbol == 'a') {
advance();
}
else {
error();
}
}
void L() {
S();
L'();
}
void L'() {
if (symbol == ',') {
advance();
S();
L'();
}
}
消除的直接左递归:
消除的直接左递归:
综上所述,文法:
非终结符 | 集 | 集 |
---|---|---|
预测分析表:
从上表可以看出,是文法。