Compiler construction 构建预测解析器和解析表
我正在尝试为以下语法构建解析器(dragon book ex.4.4.1第231页): 首先,我对语法进行了分解,得出:Compiler construction 构建预测解析器和解析表,compiler-construction,parsing,Compiler Construction,Parsing,我正在尝试为以下语法构建解析器(dragon book ex.4.4.1第231页): 首先,我对语法进行了分解,得出: S -> 0 S' S' -> S 1 | 1 构造解析表得到: +-----------+---------+--------+ | 0 | 1 | $ | -----+-----------+---------+--------+ S | S -> 0 S' | |
S -> 0 S'
S' -> S 1 | 1
构造解析表得到:
+-----------+---------+--------+
| 0 | 1 | $ |
-----+-----------+---------+--------+
S | S -> 0 S' | | |
-----+-----------+---------+--------+
S' | S' -> S 1 | S' -> 1 | |
-----+---------------------+--------+
没有任何$(输入结束)符号的条目可以吗?
在这种情况下,预测解析器是如何执行解析的?是的,因为S和S不接受空符号 考虑:
S->0S'
S'->0S|1
S-> empty
您的桌子将是:
---------------------------------
| 0 | 1 | $ |
---------------------------------
S | S->0S'| | S-> empty |
---------------------------------
S' | S'->S1| S'->1 | |
---------------------------------
您可以观看此视频:是,因为S和S不接受空符号 考虑:
S->0S'
S'->0S|1
S-> empty
您的桌子将是:
---------------------------------
| 0 | 1 | $ |
---------------------------------
S | S->0S'| | S-> empty |
---------------------------------
S' | S'->S1| S'->1 | |
---------------------------------
你可以看这段视频:我认为第二段(第5行)有一个拼写错误:“S'->0S | 1”应该是“S'->S1 | 1”。这也可以在您的表格中看到。我相信第二段(第5行)中有一个拼写错误:“S'->0S | 1”应该是“S'->S1 | 1”。这也可以在您的表格中看到。