Compiler construction 构建预测解析器和解析表

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' | |

我正在尝试为以下语法构建解析器(dragon book ex.4.4.1第231页):

首先,我对语法进行了分解,得出:

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”。这也可以在您的表格中看到。