构造LR(0)活前缀状态机LRSM的算法要点: 构造初始状态lSo:lS=CL0SURE({z→·S}),并给|S标 上No。 从已构造的LRSM部分图选择被标为N0的任一状态|S, 并做 1]对每个符号XeVN,做下面动作: 令|S1=CL0SURE(|S),若非空。 2)若在LRSM部分图中已有s与|S有相同项目 集,则令mk;否则构造|S的状态点|S 并给|S标上NO,同时令mj。 3)在S和S之间画有向X边:1s1Sn。 [2]给lS标上0K。 ◆重复上一步骤,直至没有被标记为N的状态结点为止构造LR(0)活前缀状态机LRSM的算法要点: ◆ 构造初始状态IS0:IS0=CLOSURE({Z→•S}),并给IS0标 上NO。 ◆ 从已构造的LRSM部分图选择被标为NO的任一状态IS, 并做 [1] 对每个符号XVTVN,做下面动作: 1) 令ISj = CLOSURE( IS(X)),若非空。 2) 若在LRSM部分图中已有ISk与ISj有相同项目 集,则令m=k;否则构造ISj的状态点ISj, 并给ISj标上NO,同时令m=j。 3) 在IS和ISm之间画有向X边:IS ISm 。 [2] 给IS标上OK。 ◆ 重复上一步骤,直至没有被标记为NO的状态结点为止。 x