Caso o programa-fonte não respeite as regras gramaticais da linguagem o compilador produz mensagens de erro correspondentes. Observe o que ocorre se, por exemplo, fosse omitido o “;” ao final da primeira linha:
$> cat alomamae.pas program alomamae begin writeln ('Alo mamae!'); end. $> fpc alomamae.pas Free Pascal Compiler version 2.2.2-8 [2008/12/20] for i386 Copyright (c) 1993-2008 by Florian Klaempfl Target OS: Linux for i386 Compiling alomamae.pas alomamae.pas(3,1) Fatal: Syntax error, ";" expected but "BEGIN" found Fatal: Compilation aborted Error: /usr/bin/ppc386 returned an error exitcode (normal if you did not specify a source file to be compiled)
Durante o processo de compilação, após ler a palavra reservada program e o identificador alomamae, o compilador esperava encontrar o símbolo ;. Ao invés disso, encontrou na linha 3, coluna 1, o símbolo begin. Como resultado deste erro, não foi gerado o programa executável.
Na verdade, o compilador é incapaz de dizer, com absoluto acerto, o local exato onde ocorreu o erro. Neste caso, sabe-se que faltou um ponto-e-vírgula no final da linha 1.