- 2
- 0
- 约1.19万字
- 约 12页
- 2022-07-21 发布于江苏
- 举报
(二)
DO-WHILE 循环语句的翻译程序设计(简单优先法、输出四元式)
一、1.简单优先法的基本思想
根据优先关系的定义,将简单优先文法中各文法符号之间的这种关系用一个矩阵表示,
称作简单优先矩阵。PDA读入一个单词后,比较栈顶符号和该单词的优先级,若栈顶符号优
先级低于该单词,继续读入;若栈顶符号优先级高于或等于读入符号,则找句柄进行归约,
找不到句柄就继续读入。直到最后栈内只剩下开始符号,输入串读到“#”为止。此时识别
正确。可分点描述如下:
(1)、对句型中相邻的文法符号规定优先关系,以寻找句型中的句柄;
(2)、规定句柄内各相邻符号之间具有相同的优先级;
(3)、规定句柄两端符号优先级要比位于句柄之外而又和句柄相邻的符号的优先级高,以先
归约句柄;
(4)、对于文法中所有符号,只要它们可能在某个句型中相邻,就要为它们规定相应的优先
关系,若某两个符号永远不可能相邻,则它们之间就无关系.
2.简单优先矩阵
用于表示文法符号之间的简单优先关系的矩阵。
3.简单优先法的优缺点
优点:技术简单,当做简单优先矩阵是要求较短。
缺点:适用范围小,分析表尺寸太大。
二、源代码实现:
#includeiostream
#define MAX 35
#includelist
#includestrin
原创力文档

文档评论(0)