Skip to content

Commit

Permalink
Avança no tratamento de símbolos do Lexador no Av. Sintático
Browse files Browse the repository at this point in the history
  • Loading branch information
VitBrandao committed Feb 18, 2025
1 parent 2431681 commit 27959df
Showing 1 changed file with 35 additions and 24 deletions.
59 changes: 35 additions & 24 deletions fontes/avaliador-sintatico/avaliador-sintatico.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1032,7 +1032,7 @@ export class AvaliadorSintatico implements AvaliadorSintaticoInterface {
}
}
}

return atribuicaoAbreviada;
}

Expand Down Expand Up @@ -1061,7 +1061,7 @@ export class AvaliadorSintatico implements AvaliadorSintaticoInterface {
tiposDeSimbolos.PSEUDO_CLASSE,
"Esperado nome de pseudoclasse."
);

return new SeletorPseudoclasse(
pseudoclasse.lexema,
{
Expand Down Expand Up @@ -1147,39 +1147,50 @@ export class AvaliadorSintatico implements AvaliadorSintaticoInterface {

protected seletorPorVariavel(): Seletor {
// console.log(this.simbolos[this.atual]);

while (this.simbolos[this.atual].tipo !== tiposDeSimbolos.PONTO_E_VIRGULA) {
// const valorModificador = this.avancarEDevolverAnterior();
// console.log(valorModificador);

this.consumir(
tiposDeSimbolos.CIFRAO,
"Esperado cifrão antes de declaração de variável."
)

Check warning on line 1158 in fontes/avaliador-sintatico/avaliador-sintatico.ts

View workflow job for this annotation

GitHub Actions / Coverage annotations (🧪 jest-coverage-report-action)

🧾 Statement is not covered

Warning! Not covered statement

this.consumir(
tiposDeSimbolos.VARIAVEL,
"Esperada declaração de variável."
)

const modificador = this.consumir(
tiposDeSimbolos.IDENTIFICADOR,
"Esperado nome do modificador."
);

this.consumir(
tiposDeSimbolos.DOIS_PONTOS,
"Esperado ':' após nome do modificador."
);
// console.log('até aqui chegamos');

switch(this.simbolos[this.atual].tipo) {
case tiposDeSimbolos.METODO:
// algo
case tiposDeSimbolos.QUALITATIVO:
this.consumir(
tiposDeSimbolos.QUALITATIVO,
"Esperada declaração de qualitativo."
);
if (this.simbolos[this.atual].tipo === tiposDeSimbolos.DOIS_PONTOS) {
this.consumir(
tiposDeSimbolos.DOIS_PONTOS,
"Esperado ':' após declaração de variável."
);

Check warning on line 1169 in fontes/avaliador-sintatico/avaliador-sintatico.ts

View workflow job for this annotation

GitHub Actions / Coverage annotations (🧪 jest-coverage-report-action)

🧾 Statement is not covered

Warning! Not covered statement

switch (this.simbolos[this.atual].tipo) {
case tiposDeSimbolos.IDENTIFICADOR:
this.consumir(
tiposDeSimbolos.IDENTIFICADOR,
"Esperado nome do modificador após declaração de variável."
);

Check warning on line 1176 in fontes/avaliador-sintatico/avaliador-sintatico.ts

View workflow job for this annotation

GitHub Actions / Coverage annotations (🧪 jest-coverage-report-action)

🧾 Statement is not covered

Warning! Not covered statement
break;

Check warning on line 1177 in fontes/avaliador-sintatico/avaliador-sintatico.ts

View workflow job for this annotation

GitHub Actions / Coverage annotations (🧪 jest-coverage-report-action)

🧾 Statement is not covered

Warning! Not covered statement

Check warning on line 1177 in fontes/avaliador-sintatico/avaliador-sintatico.ts

View workflow job for this annotation

GitHub Actions / Coverage annotations (🧪 jest-coverage-report-action)

🌿 Branch is not covered

Warning! Not covered branch
case tiposDeSimbolos.QUALITATIVO:
this.consumir(
tiposDeSimbolos.QUALITATIVO,
"Esperado qualitativo após declaração de variável."
);

Check warning on line 1182 in fontes/avaliador-sintatico/avaliador-sintatico.ts

View workflow job for this annotation

GitHub Actions / Coverage annotations (🧪 jest-coverage-report-action)

🧾 Statement is not covered

Warning! Not covered statement
break;

Check warning on line 1183 in fontes/avaliador-sintatico/avaliador-sintatico.ts

View workflow job for this annotation

GitHub Actions / Coverage annotations (🧪 jest-coverage-report-action)

🧾 Statement is not covered

Warning! Not covered statement

Check warning on line 1183 in fontes/avaliador-sintatico/avaliador-sintatico.ts

View workflow job for this annotation

GitHub Actions / Coverage annotations (🧪 jest-coverage-report-action)

🌿 Branch is not covered

Warning! Not covered branch
case tiposDeSimbolos.METODO:
this.resolverMetodo(this.simbolos[this.atual - 1].lexema);

Check warning on line 1185 in fontes/avaliador-sintatico/avaliador-sintatico.ts

View workflow job for this annotation

GitHub Actions / Coverage annotations (🧪 jest-coverage-report-action)

🧾 Statement is not covered

Warning! Not covered statement
break;

Check warning on line 1186 in fontes/avaliador-sintatico/avaliador-sintatico.ts

View workflow job for this annotation

GitHub Actions / Coverage annotations (🧪 jest-coverage-report-action)

🧾 Statement is not covered

Warning! Not covered statement

Check warning on line 1186 in fontes/avaliador-sintatico/avaliador-sintatico.ts

View workflow job for this annotation

GitHub Actions / Coverage annotations (🧪 jest-coverage-report-action)

🌿 Branch is not covered

Warning! Not covered branch
default:
console.log('nao deveria cair aqui')

Check warning on line 1188 in fontes/avaliador-sintatico/avaliador-sintatico.ts

View workflow job for this annotation

GitHub Actions / Coverage annotations (🧪 jest-coverage-report-action)

🧾 Statement is not covered

Warning! Not covered statement

Check warning on line 1188 in fontes/avaliador-sintatico/avaliador-sintatico.ts

View workflow job for this annotation

GitHub Actions / Coverage annotations (🧪 jest-coverage-report-action)

🌿 Branch is not covered

Warning! Not covered branch
}

Check warning on line 1189 in fontes/avaliador-sintatico/avaliador-sintatico.ts

View workflow job for this annotation

GitHub Actions / Coverage annotations (🧪 jest-coverage-report-action)

🧾 Statement is not covered

Warning! Not covered statement
}

Check warning on line 1190 in fontes/avaliador-sintatico/avaliador-sintatico.ts

View workflow job for this annotation

GitHub Actions / Coverage annotations (🧪 jest-coverage-report-action)

🧾 Statement is not covered

Warning! Not covered statement

Check warning on line 1190 in fontes/avaliador-sintatico/avaliador-sintatico.ts

View workflow job for this annotation

GitHub Actions / Coverage annotations (🧪 jest-coverage-report-action)

🌿 Branch is not covered

Warning! Not covered branch

}

Check warning on line 1192 in fontes/avaliador-sintatico/avaliador-sintatico.ts

View workflow job for this annotation

GitHub Actions / Coverage annotations (🧪 jest-coverage-report-action)

🧾 Statement is not covered

Warning! Not covered statement

// RETORNO GENÉRICO PARA EVITAR ERROS PONTUAIS
const pseudoclasse = this.resolverPseudoclasse();
return new SeletorClasse(
Expand Down

0 comments on commit 27959df

Please sign in to comment.