ll(1)文法自动生成语法分析程序流程图
时间: 2023-10-16 19:08:47 浏览: 41
下面是LL(1)文法自动生成语法分析程序的流程图:
![LL(1)文法自动生成语法分析程序流程图](https://i.imgur.com/9hKv4hj.png)
1. 输入LL(1)文法,包括非终结符、终结符、产生式以及FIRST集和FOLLOW集。
2. 根据FIRST集和FOLLOW集构建预测分析表。
3. 生成语法分析程序代码,包括程序框架、栈、输入串等。
4. 读入输入串,并将结束符号$放在输入串的末尾。
5. 初始化栈,将文法的起始符号和结束符号$压入栈中。
6. 从输入串中读入一个符号a。
7. 从栈中弹出栈顶符号X。
8. 如果X是终结符,则判断X是否等于a,如果相等,则从输入串中读入下一个符号a,否则语法分析出错。
9. 如果X是非终结符,则查找预测分析表中(X, a)对应的产生式,并将该产生式的右部符号逆序压入栈中。
10. 重复步骤7-9,直到栈为空或者出现语法错误。
11. 如果栈为空且输入串已经被处理完毕,则语法分析成功。