PASCAL HATA MESAJLARI
Pascal ile yazilan programlarin derlenmesinde derleyicinin saptadigi hatalar ve
programin çalistirilmasi sirasinda ortaya çikan hatalar olmak üzere iki çesit hata
durumu vardir.
1. Compiler Errors Messagee
2. Run Time Errors Messages
Compiler Errors (Derleme Hatalari)
Yazim kurallarina ters düsen, hatali kodlamalar yapilan programin derlenmesi sirasinda
ortaya çikan hatalardir. Saptanan hata, hataya iliskin kod ile birlikte açiklanir.
1) Out of memory
Hafizanin yetersiz oldugunu belirtir. Bu problemi çözmek için asagidaki yollar
denenmelidir.
??Compile menüsündeki “Destination memory” seçenegi “Disk” olarak degistirilir.
??“Options” menüsündeki “Linkler” seçenegide “Linker buffer” alani “Disk” yapilir.
Bu islemin DOS komutu satirindaki derleme seçenegi /L ‘dir. (>TPC/L...)
??Hafizada çalisan TSR programlarinin hafizadan silinmesini saglar.
Bu islemlere ragmen hata çözülmezse unit programlarin hacimleri küçültülmelidir.
2) Identifier expected
Turbo Pascalin bir kelime (reserved word) kelime, tanitici ismi olarak kullaniyor.
3) Unknown identifier
Tanimlanmis bir degisken kullaniyor.
4) Duplicate identifier
Tanitici isim mevcut program blogu içerisinde daha önce tanimlanmis.
Ek A. Hata Mesajlari
Pascal 7.0 ile Programlama A.ORAL
209
5) Syntax error
Kaynak text içerisinde geçersiz karakter bulundu.
6) Error in real constant
Sabit real taniminda hata var.
7) Error in integer constant
Sabit integer taniminda hata var.

String constant exceeds line
String sabitlerde kullanilan tirnak eksik veya fazla.
9) To many nested files
Içiçe çok fazla dosya baglantisi var
10) Unexpected end of file
Program sonundaki END yazilmamis veya dosya sonunu belirten (.) unutulmus.
11) Line too long
Bir satir üzerinde 120 karakterden fazla bilgi bulunamaz.
12) Type identifier expected
Type tanimlayici gerekli
13) Too many open files
Ayni anda açik olan dosya sayisi çok fazla. Config.Sys dosyasindaki Files=xx
seçeneginde xx arttirilmalidir. xx ayni anda açilabilecek dosya sayisini gösterir.
14) Invalid file name
Geçersiz dosya adi veya bulunmayan directory.
15) File not found
Belirtilen dosya aktif directory içerisinde bulunmuyor.
16) Disk full
Disk dolu. Diskten silinebilecek dosyalari silin.
17) Invalid compiler direvtive
Geçersiz compiler bildirisi.
18) Too many files
Programin tamaminda cok fazla dosya veya unit var.
19) Undefined type in pointer definition
Pointer taniminda bilinmeyen tip.
20) Variable identifier expected
Degisken tanimlayicisi bekleniyor.
Ek A. Hata Mesajlari
Pascal 7.0 ile Programlama A.ORAL
210
21) Error in type
Tip hatasi. Sembol ile tip tanimina baslanamaz.
22) Structure too large
Yapi çok büyük. Yapisal tip taniminda yapi olusturan alanlarin toplam uzunlugu
65520 byte olmalidir. Bunun için alan tanimlamalarinda, alan uzunluklari
kisaltilmalidir.
23) Set base type out of range
Küme çok uzun. Küme tipi taniminda kümeyi olusturan toplam eleman sayisi 256k
yi geçemez. Küme tanimlamalarinda eleman sayisi azaltilmalidir.
24) File compenents may not be files
Bir dosyaya ait tip olarak baska bir dosya tipi kullanilmaz
25) Invalid string length
String?in uzunlugu geçersiz. Bir stringin maksimum uzunlugu 255 karakter olabilir.
Bu uzunluk kisaltilmali veya parçalanmalidir.
26) Type mismatch
Tip uyusmazligi. Asagidaki durumlarda meydana gelir:
??Atama veya hesaplama islemlerinde sol taraftaki degisken ile sag taraftaki
ifadelerin tipleri ayni olmayabilir.
??Procedure veya function?larda karsilikli gelen parametrelerin tipleri farkli.
??Islemlerde tip uyusmazligi var.
27) Invalid subrange base type
Sayilabilir tipteki elemanlara geçerli tanimlama yapilmalidir.
28) Lover bound greater than upper bound
Alt sinir üst sinirdan büyük.
29) Ordinal type expected
Sayilabilir tip gerekir. Real, String, yapisal tip veya Pointer tipleri burada
kullanilmaz.
30) Integer constant expected
Tamsayi sabiti gerekiyor. Tamsayi tipinde tanimlanmamis bir alana tam sayi
konulmaktadir. Saha tanimi veya degeri düzeltmek gerekir.
31) Constant expected
Sabit gerekiyor. ?const? yazilmis fakat, sabit tanimi olmadigi zaman bu hata mesaji
gerekir.
32) Integer or real constant expected
Tam sayi veya gerçek sayi sabiti gerekiyor. Sayisal tanimlanmis bir alana, sayisal
bilgi disinda bir bilgi yerlestiriliyor.
Ek A. Hata Mesajlari
Pascal 7.0 ile Programlama A.ORAL
211
33) Type indentifier expected
Tip tanimi gerekiyor. Tipin belirlenmesi gerekli olan bir degisken tipi belirtilmemis.
34) Invalid function resul type
Fonksiyon sonucunda tipi hatali. Bir fonksiyonun neticesi yapisal tip olamaz.
35) Label isentifier expacred
Etiket tanimi gerekiyor. LABEL kelimesinden sonra bir etiket tanimlamak gerekir. Ya
?LABEL? kelimesi kaldirilmali yada etiket tanimlanmalidir.
36) Begin expected
BEGIN gerekiyor. Ana program veya procedure/function? larda islemler BEGIN
komutundan sonra yazilmalidir.
37) End expected
END bekleniyor.
38) Integer expression expected
Tam sayi bir ifade gerekiyor. Tam sayi kullanilmasi gerekli olan bir islemde baska
tip kullanilmistir.
39) Ordinal expression expected
Sayilabilir tipte bir ifade gerekiyor. Sayilabilir tip yerine, islemde baska tip
kullanilmistir.
40) Boolean expression expected
Mantiksal tipte bir ifade gerekiyor.
41) Operand types do not match operator
Islem ile isareti arasinda uyusmazlik var.
42) Error in expression
Ifadede hata var. Aritmetik bir islemde bir taraf eksik olabilir veya sabit taniminda
sag taraf yazilmamistir.
43) Illegal assignment
Hatali atama yapilmis Bir atama isleminde Fonksiyonlar sag tarafta bulunamazlarr.
44) Field identifer expected
Alan tanimi gerekir. RECORD taniminda alan ismi belirtilmemistir.
47) Object file too large
Object dosya hacmi 64 K? dan daha büyük.
48) Code segment too large
Program çok büyük. Bir program veya ünite maksimum 65520 byte
olabilir.Programda unitler kullanilmalidir.Unit çok büyük ise, Unit içerisinde baska
unit? ler kullanilarak program kisaltilmalidir.
Ek A. Hata Mesajlari
Pascal 7.0 ile Programlama A.ORAL
212
49) Data segment too large
Tanimlanan sabit ve degiskenlerin hacmi çok fazla. Bir programda tanimlanan
sahalarin toplami maksimum 65520byte olabilir. Buna Unit? lerde kullanilan alanlar
da dahildir. Hatayi gidermek için alan sayisi veya uzunluklar azaltilmalidir.
50) Do expected
DO gereklidir. WHILE, FOR komutlarinda DO gerekir.
54) Of expected
OF gereklidir. CASE komutunda, ARRAY taniminda vs.. gerekli olan OF kelimesi
kullanilmistir.
55) Interface expected
INTERFACE gereklidir. UNIT içerisinde ?INTERFACE? kelimesi yazilmamis.
57) Then expected
THEN gereklidir. IF komutunda THEN kelimesi yazilmamis.
58) To or downto expected
TO veya DOWNTO gereklidir. FOR komutunda TO/DOWNTO kelimelerinden biri
kullanilmamis.
59) Undefined forward
FORWARD tanimlanmamis.
??Unit? in INTEFACE bölümünde tanimlanan PROCEDURE veya FUNCTION
IMPLEMENTATION bölümünde tanimlanmamistir.
??PROCEDURE/FUNCTION? da FORWARD kullanildigi halde
PROCEDURE/FUNCTION hiç tanimlanmamistir.
61) Invalid typecast
Geçersiz çevrim yapilmis. Bazi tipler, tanimlandigi gibi degil de uyumlu uyumlu bir
tipte de kullanilabilir.
62) Division by zero
0? a bölme. Bilindigi gibi bir sayinin sifira bölünmesi tanimsizdir.
63) Invalid file type
Geçersiz dosya tipi. Örnegin, tipli dosyada Readln veya text dosyada Seek komutu
kullanilmaz.
64) Connot read or write variables of this type
Bu tip için okuma veya yazma yapilamaz. Yapisal tipler ekranda dogrudan
görüntülenemezler ve ekrandan alinamazlar.
66) String variable expected
String degisken gerekiyor. String tipte olmasi gereken bir degisken yerine baska
tipte bir degisken kullanilmistir.
Ek A. Hata Mesajlari
Pascal 7.0 ile Programlama A.ORAL
213
67) String expression expected
String ifade gerekli.
68) Circular Unit
Unitlerin birbirini kullanimi hatali tanimlanmis
69) Unit name mismatch
Unit ismi uyusmazligi var. Unit programinin disk üzerindeki ismi (dosya adi) ile Unit
komutundan sonra yazilan isim ayni olmamalidir.
70) Unit version mismatch
Unit versiyonlari uyusmuyor. Derlenen Unit versiyonu ile, su anda kullanilan Turbo
Pascal versiyonu uyusmuyor. Unit yeniden derlenmelidir. Bunun için;
???Compile? seçeneginden ?Make? veya ?Build? ile yeniden derleme yapilmalidir.
??TPC ile derleme yapiliyorsa, /M veya /B parametreleri kullanilmalidir.
71) Internal stack overflow
Stack segment 'te tasma var. Uzun Procedure alt programi bölün
72) Unit file format error
Unit program kullanilmasi halinde, Dos için .TPU, .TPP, Windows için .TPW uzantili
dosya yok. .PAS dosyaya uygun .TPU, .TPP veya .TPW dosya olusturulmali.
73) Impelementation expected.
Unit tanimi içerisinde zorunlu olarak bulunmasi gereken IMPELEMENTATION
kullanilmamis.
74) Constant and case types do not match
Sabit ve CASE? de kullanilan tipler uyusmuyor. CASE komutunda kullanilan alan
tipi, test edildigi sabitlerle ayni tipte olmalidir.
75) Record variable expected
Kayit degiskeni gerekiyor. Su anda kullanilan degisken tipi RECORD tipinden
olmali.
76) Constant out of range
Sabit, olmasi gereken sinirlari tasiyor.
77) File variable expected
Dosya degiskeni gerekli.
79) Integer or real expression expected
Tam sayi veya gerçek sayi ifade gerekli.
80) Label not within current block
Etiket mevcut blok disinda. Goto komutu ile program akisinin gönderilecegi etiket
yanlis yerde kullanilmis.
Ek A. Hata Mesajlari
Pascal 7.0 ile Programlama A.ORAL
214
81) Label already defined
Etiket zaten tanimlanmis. Ayni etiket ismi ikinci defa tanimlaniyor.
82) Undefined label in preceding statment
Tanimlanmamis etiket kullaniliyor. Etiket tanimi yapilmalidir.
84) UNIT expected
UNIT kelimesinin yazilmasi gerekir.
85) ?;? expected
Noktali-virgül isaretinin yazilmasi gerekir.
86) ?:?expected
?:? isaretinin yazilmasi gerekir.
87) ?,? expected
Virgül isaretinin yazilmasi gerekir.
88) ?(? expected
?(? Isaretinin yazilmasi gerekir.
89) ?)? expected
?)? isaretinin yazilmasi gerekir.
90) ?=? expected
?=? isaretinin yazilmasi gerekir.
91) ?:=? expected
?:=? isaretinin yazilmasi gerekir.
92) ?[? or ?(.? expected
?[? veya ?(.? isaretinin yazilmasi gerekir.
93) ?]? or ?.)? expected
?]? veya ?.)? isaretinin yazilmasi gerekir.
94) ?.? expected
?.? isaretinin yazilmasi gerekir.
95) ?..? expected
?..? isaretinin yazilmasi gerekir.
96) Too many variables
Degiskenlerin toplam uzunlugu 64 K sinirini asiyor.
97) Invalid FOR control variable
FOR komutu ile kullanilan degiskenin tipi yanlis. Örnegin; For komutunda Real
degisken kullanilamaz.
Ek A. Hata Mesajlari
Pascal 7.0 ile Programlama A.ORAL
215
98) Integer variable expected
Integer degisken kullanilmalidir.
99) Files are not allower here
Dosyalar burada kullanilamaz.
100) String length mismatch
Alfasayisal degisken için tanim blogunda verilen uzunlukla islem tanimindaki
uzunluk ölçüleri uygun degil.