Para construir os estados LR(0), precisamos primeiro adicionar um novo estado inicial e uma nova produção para a gramática. Vamos fazer isso adicionando a produção S' → S. As produções da gramática ficam assim: S' → S S → B $ B → id P B → id ( E ] P → P → ( E ) E → B E → B, E Agora, vamos construir os conjuntos de itens LR(0): I0: S' → .S S → .B $ B → .id P B → .id ( E ] P → . P → .( E ) E → .B E → .B, E I1: S' → S. B → id .P B → id .( E ] I2: B → ( E ]. I3: P → ( .E ) E → .B E → .B, E I4: E → B. I5: E → B, .E Agora, vamos construir a tabela LR(0): Estado | id | ( | ) | , | $ | B | P | E | S | -------|----|---|---|---|---|---|---|---|---| 0 | S5 | | | | | S1| | S4| S2| 1 | | S3| | | | | | | | 2 | | | | | Acc| | | | | 3 | S5 | | S6| | | | | S4| | 4 | | | R3| R3| R3| | R1| | | 5 | | S3| R5| R5| R5| | | | | 6 | S5 | | | | | | | S7| | 7 | | | R2| R2| R2| | R2| | | A tabela LR(0) não apresenta conflitos, portanto, a gramática é SLR.
Para escrever sua resposta aqui, entre ou crie uma conta
Compartilhar