para cada item do estado:
    se a posição do ponto de item for a ultima posição da regra:
        continua para próxima iteração
    símbolo <- símbolo após a posição do ponto na produção de item
    se símbolo é um terminal:
        continua para próxima iteração
    para cada produção p na gramática:
        se lado esquerdo de psímbolo:
            continua para próxima iteração
        se existe um item em estado com mesma produção p e posição 0:
            continua para próxima iteração
        adiciona novo item { produção: p, posição: 0 } ao estado