-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
从项集族的构造,到基于ItemSets的s/r表的生成,是shift/reduce的核心,虽然最终是查询s/r表决定自动机的工作,但ItemSets表,是将CFG -> productions / firsts / follows -> ItemSets -> s/r表,整个流程中核心的步骤。
- LR(1)自动机,每个状态是一个项集。项集中每个项,其输入点可能在最后,也可能不在最后。
- 在项集X中,输入点不在末尾的项i,会基于输入点位置的符号a,使用goto(X, a)函数创建一个新的项集Y。而新项集Y,和原项集X之间的关系,就是goto(X, a) === Y。
- 项集中的每个项,其输入点后的符号,如果是一个终结符a,则在parse时,遇到这个token-a,就将自动机进入下一个状态,就是这个项集的goto表上,通过移入a转换到的下一个状态(项集)。
Metadata
Metadata
Assignees
Labels
No labels