Algoritmo tabela slr:
tabela <- Mapa〈estado, Mapa〈símbolo, ação〉〉
alfabeto <- [terminais, não-terminais] concatenados
para cada estado s em autômato.estados:
    tabela[s.index] <- novo Mapa contendo todas as entradas de alfabeto inicializadas com ''
para cada estado s em autômato.estados:
    para cada item i em s.items:
        se i.pos == comprimento da produção OU produção é vazia:
            follow <- followSet do lado esquerdo da produção de i
            se follow não existe:
                continua
            se i.ruleIndex == 0:
                tabela[s.index]['$'] <- 'a'
                continua
            para cada símbolo em follow:
                tabela[s.index][símbolo] <- 'r' + i.ruleIndex
            continua
        símbolo_atual <- símbolo na posição i.pos da produção de i
        transição <- estado de destino da transição de s.index com símbolo_atual
        se símbolo_atual é não-terminal:
            tabela[s.index][símbolo_atual] <- 'g' + transição
        senão:
            tabela[s.index][símbolo_atual] <- 's' + transição
retorna tabela