O que causa Syntax Error ao compilar fontes

No artigo de hoje, vamos mostrar 5 situações que podem ocasionar o aviso “Syntax Error” em um fonte prw em AdvPL.

Todas as situações abaixo, irei anexar o print com o problema (a esquerda) e solucionado (a direita).

1 – Estrutura sem fechar

Esse primeiro caso é quando temos um laço de repetição com While ou For ou uma estrutura de condição com If e não fechamos ela.

Por exemplo, se for While esta faltando EndDo, se for For esta faltando Next, se for If esta faltando EndIf.

Laço ou condição sem fechar

2 – Alteração de Constante

Esse segundo, é quando temos uma constante via #Define, e as constantes não podem ser alteradas, apenas variáveis.

Então a solução é ao invés de usar uma constante, criar uma variável.

Alterando constante

3 – Faltando completar o comando

Quando se usa comandos com espaços, e esta faltando completar, pode ocasionar esse problema.

Por exemplo, ao usar o TCQuery sem passar a variável e o nome do alias.

Falta de completar comando

4 – Quando não tem comando depois do ponteiro

Quando se usa o ponteiro em algum alias com -> e não é inserido nenhum comando após.

Portanto, quando se tem um ponteiro ->, tem sempre que colocar comandos a direita.

Falta de colocar função após a referência

5 – Quando a linha termina com um sinal de +

Quando utilizamos a continuação de linhas, nós temos que encerrar com ; para que continua na linha de baixo.

Então, se por exemplo, estiver montando um texto ou quebrando um array e esquecer de continuar com ; no final, esse problema será exibido.

Falta de continuação nas próximas linhas

Obs.: Além dos cenários acima, existem palavras reservadas que você não pode usar, por exemplo, cFilial em declaração de função, tendo que mudar para algo como cFilialVar.

Obs.2: Podem existir outras situações, aqui sintetizei as mais comuns, se você lembra de alguma outra, deixe nos comentários.

Bom pessoal, por hoje é só.

Abraços e até a próxima.

Dan (Daniel Atilio)
Cristão de ramificação protestante. Especialista em Engenharia de Software pela FIB, graduado em Banco de Dados pela FATEC Bauru e técnico em informática pelo CTI da Unesp. Entusiasta de soluções Open Source e blogueiro nas horas vagas. Autor e mantenedor do portal Terminal de Informação.

Deixe uma resposta

Terminal de Informação