Skip to content
Snippets Groups Projects
Commit 4172fe4e authored by Pedro Folloni Pesserl's avatar Pedro Folloni Pesserl
Browse files

fix wrong format error output

parent ec877f2c
No related branches found
No related tags found
No related merge requests found
File added
...@@ -46,9 +46,7 @@ int converte_operador(t_operador *op, char c) { ...@@ -46,9 +46,7 @@ int converte_operador(t_operador *op, char c) {
/* Retorna 1 se o operador op1 tem precedencia sobre o operador op2. /* Retorna 1 se o operador op1 tem precedencia sobre o operador op2.
Retorna 0 caso contrario. */ Retorna 0 caso contrario. */
int precedencia_maior_ou_igual(t_operador op1, t_operador op2) { int precedencia_maior_ou_igual(t_operador op1, t_operador op2) {
if(floor(op1) >= floor(op2)) return floor(op1) >= floor(op2);
return 1;
return 0;
} }
...@@ -173,6 +171,11 @@ int main() { ...@@ -173,6 +171,11 @@ int main() {
return 1; return 1;
} }
if( !(isdigit(*c) || *c == '('))
/* Se o primeiro caracter não for nem um dígito nem um abre parênteses,
o formato está errado. */
erro("formato incorreto", c - entrada + 1, &flag_erro);
while(*c != 'q' && *c != '\n' && !flag_erro) { while(*c != 'q' && *c != '\n' && !flag_erro) {
/* Percorre o ponteiro c pela entrada até achar um q, o final da linha ou um erro. */ /* Percorre o ponteiro c pela entrada até achar um q, o final da linha ou um erro. */
...@@ -266,9 +269,9 @@ int main() { ...@@ -266,9 +269,9 @@ int main() {
} }
/* Após o processamento, o resultado final da expressao esta no topo da /* Após o processamento, o resultado final da expressao esta no topo da
pilha de valores. */ pilha de valores. A pilha deve conter apenas esse valor. */
if(!flag_erro) { if(!flag_erro) {
if(!desempilha(&resultado, pilha_valores)) if(!desempilha(&resultado, pilha_valores) || !pilha_vazia(pilha_valores))
erro("formato incorreto", c - entrada + 1, &flag_erro); erro("formato incorreto", c - entrada + 1, &flag_erro);
else { else {
memoria = resultado; memoria = resultado;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment