Nästa: Vanliga kompileringsfel
Upp: Hur man kompilerar ett
Förra: Hur man kompilerar ett
PROGRAM synerr_example;
VAR i, j are Integer;
BEGIN
FOR j :* 1 TO 20 BEGIN
Write(j);
i = 2 ** j;
Writeln(i))
END
END. { synerr_example }
finns i filen synerr.p och får vid kompilering skärmutskriften
Wed Jun 18 14:28:38 1997 synerr.p:
2 VAR i, j are Integer;
e 18460--------------------^--- Replaced identifier with a ':'
4 FOR j :* 1 TO 20 BEGIN
E 18490-----------------^--- Expected keyword :=
E 18460-----------------^--- Replaced ':' with a identifier
e 18480----------------------------^--- Inserted keyword do
6 i = 2 ** j;
e 18480-------------^--- Inserted keyword if
E 18480--------------------^--- Inserted identifier
e 18480-----------------------^--- Inserted keyword then
7 Writeln(i))
e 18450-----------------------^--- Deleted ')'
Kompilatorn har en inbyggd felkorrigerare. E-felen är sådana som den inte kunde fixa, medan e-felen gick
att åtgärda. Om kompilatorn bara hittar e-fel i ditt program kommer kompileringen att fullbordas
och resultatfilen skapas.
Även om kompilatorn rättar felen korrekt vid kompileringen ska du naturligtvis ändå själv rätta felen i ditt
program.
Felmeddelanden som börjar med w är bara varningar. En sådan får man till exempel om man har deklarerat en lokal variabel
som aldrig används. Exempel: Programmet
PROGRAM Varning;
PROCEDURE Warning;
VAR i, j: integer;
BEGIN
Writeln(i);
END;
BEGIN
END.
finns i filen varning.p. Kompilering ger följande utskrift:
Wed Jun 18 15:37:36 1997 varning.p:
In procedure warning:
w 18280 variable i is used but never set
w 18260 variable j is neither used nor set
Om man kompilerar ett program med väljaren -s och någon rad i programmet
inte är i enlighet med standardpascal genereras en s-varning vid den raden, se
avsnitt 7.