构建Predictive Parser和解析表

时间:2009-03-25 04:05:40

标签: compiler-construction parsing

我正在尝试为以下语法构建解析器(龙书ex.4.4.1 pg.231):

S -> 0 S 1 | 0 1

所以首先我把语法考虑在内并得到了:

S  -> 0 S'
S' -> S 1 | 1

构建解析表产生了:

     +-----------+---------+--------+
     |     0     |    1    |    $   |
-----+-----------+---------+--------+
  S  | S -> 0 S' |         |        |
-----+-----------+---------+--------+
  S' | S' -> S 1 | S' -> 1 |        |
-----+---------------------+--------+

是否可以没有$(输入结束)符号的任何条目? 在这种情况下,预测解析器如何执行解析?

1 个答案:

答案 0 :(得分:1)

是,因为S和S'不接受空符号。

考虑:

S->0S' 
S'->0S|1
S-> empty

你的桌子将是:

---------------------------------
   | 0     | 1      | $         |
---------------------------------
S  | S->0S'|        | S-> empty |
---------------------------------
S' | S'->S1| S'->1  |           |
---------------------------------

您可以观看此视频:http://www.youtube.com/watch?v=E4to0HuZh3Q