DesignLiquido/FolEs

Erro ao executar código com pseudo-classe

Closed this issue · 1 comments

Após #68, tentei o seguinte:

.minha-classe {
    alinhar-conteudo: inseguro;
    estilo-contorno: herdar;
    cor-destaque: rgb(12, 13, 24);
    cor-fundo: vermelho;
    tamanho-fonte: 16px;
    largura-maxima: 20cm;
}

.minha-classe:sobrepor {
    cor-fundo: azul;
}

Tive o seguinte erro:

D:\Delegua\FolEs\fontes\avaliador-sintatico\avaliador-sintatico.ts:23
        const excecao = new ErroAvaliadorSintatico(simbolo, mensagemDeErro);
                        ^
ErroAvaliadorSintatico [Error]: Esperado '{' após declaração de seletor.
    at AvaliadorSintatico.erro (D:\Delegua\FolEs\fontes\avaliador-sintatico\avaliador-sintatico.ts:23:25)
    at AvaliadorSintatico.consumir (D:\Delegua\FolEs\fontes\avaliador-sintatico\avaliador-sintatico.ts:45:20)
    at AvaliadorSintatico.declaracaoDeclaracao (D:\Delegua\FolEs\fontes\avaliador-sintatico\avaliador-sintatico.ts:140:14)
    at AvaliadorSintatico.declaracaoPorSeletor (D:\Delegua\FolEs\fontes\avaliador-sintatico\avaliador-sintatico.ts:128:21)
    at AvaliadorSintatico.declaracao (D:\Delegua\FolEs\fontes\avaliador-sintatico\avaliador-sintatico.ts:202:29)
    at AvaliadorSintatico.analisar (D:\Delegua\FolEs\fontes\avaliador-sintatico\avaliador-sintatico.ts:215:35)
    at FolEs.converterParaCssInterno (D:\Delegua\FolEs\fontes\foles.ts:30:69)
    at FolEs.converterParaCss (D:\Delegua\FolEs\fontes\foles.ts:49:21)
    at principal (D:\Delegua\FolEs\execucao.ts:27:27)
    at Object.<anonymous> (D:\Delegua\FolEs\execucao.ts:38:1) {
  simbolo: Simbolo {
    tipo: 'DOIS_PONTOS',
    lexema: null,
    literal: null,
    linha: 18
  }
}

@samuelrvg @rafaellavarela deixo aqui a observação de que quando o Avaliador retorna esse erro, é muito provável que os ajustes precisem ser feitos no Lexador, por mais que o erro venha do Avaliador. Acontece que essa é a primeira análise que o Avaliador faz sobre o objeto montado pelo Lexador, logo, é mais provável que o erro esteja no objeto.

Recomendo fazer a mesma operação que o Leonel e dar um console.log no Lexador para analisar como o objeto está sendo montado.