Professional Documents
Culture Documents
Leksion - Errors
Leksion - Errors
Leksion - Errors
Lexical Error
Gjatë fazës së analizës leksikore mund të zbulohet ky lloj gabimi.
• Gabimi leksikor është një sekuencë karakteresh që nuk përputhen
me modelin e asnjë token.
• Gabim fazes leksikor gjendet gjatë ekzekutimit të programit.
Gabimi i fazës leksikore mund të jetë:
• Gabim drejtshkrimor.
• Tejkalimi i gjatësisë së konstantave identifikuese ose numerike.
• Shfaqja e personazheve të paligjshëm.
• Për të hequr karakterin që duhet të jetë i pranishëm.
• Për të zëvendësuar një karakter me një karakter të pasaktë.
• Transpozimi i dy karaktereve
Shembull
• Void main()
• {
• int x=10, y=20;
• char * a;
• a= &x;
• x= 1xab;
• }
• Në këtë kod, 1xab nuk është as numër dhe as identifikues. Pra, ky kod
do të tregojë gabimin leksikor
Syntax Error
Gjatë fazës së analizës sintaksore, shfaqet ky lloj gabimi. Gabim
sintaksor konstatohet gjatë ekzekutimit të programit
• Disa gabime sintaksore mund të jenë:
• Gabim në structure
• Mungojnë operatorët
• Parantezë e pabalancuar
Kur një llogaritje e pavlefshme hyn në një kalkulator, atëherë mund të
ndodhë edhe një gabim sintaksor. Kjo mund të shkaktohet nga futja e
disa pikave dhjetore në një numër ose nga hapja e kllapave pa i mbyllur
ato
• Për shembull 1: Përdorimi i "=" kur nevojitet "==".
• 16 if (number=200)
• 17 count << "number is equal to 20";
• 18 else
• 19 count << "number is not equal to 2
Shembull :
• int a = 5 // semicolon is missing
Errors in expressions:
• x = (3 + 5; // missing closing parenthesis ')'
• y = 3 + * 5; // missing argument between '+' and '*'
Semantic Error
• Gjatë fazës së analizës semantike shfaqet ky lloj gabimi. Këto lloj
gabimesh zbulohen në kohën e përpilimit.
• Shumica e gabimeve të kohës së përpilimit janë gabimi i
fushëveprimit dhe i deklarimit.
Për shembull:
• identifikues të padeklaruar ose të shumëfishtë të deklaruar.
• Lloji i mospërputhshëm është një tjetër gabim në kohën e përpilimit.
• Gabimi semantik mund të lindë duke përdorur variablin e gabuar ose
duke përdorur operatorin e gabuar ose duke kryer funksionimin në
mënyrë të gabuar.
Disa gabime semantike mund të jenë:
• Llojet e papajtueshme të operandëve
• Ndryshore e padeklaruar
• Mospërputhja e argumentit aktual me argumentin formal
Shembulli
Përdorimi i një variabli të pa inicializuar:
• int i;
• void f (int m)
• {
• m=t;
• }
Në këtë kod, t është i padeklaruar për këtë arsye tregon gabimin
semantik.
Shembulli :Papajtueshmëria e tipit:
• int a = "hello"; // the types String and int are not compatible
• Shembull : Errors in expressions:
String s = "...";
Inta=5-s; // the - operator does not support arguments of type String