logo

Semantička pogreška

Tijekom faze semantičke analize pojavljuje se ova vrsta pogreške. Ove vrste grešaka otkrivaju se tijekom kompajliranja.

Većina pogrešaka tijekom kompajliranja su pogreške opsega i deklaracije. Na primjer: nedeklarisani ili višestruko deklarirani identifikatori. Tip neusklađen je još jedna pogreška vremena kompajliranja.

Semantička pogreška može nastati korištenjem pogrešne varijable ili korištenjem pogrešnog operatora ili izvođenjem operacija krivim redoslijedom.

Neke semantičke pogreške mogu biti:

  • Nekompatibilne vrste operanda
  • Nedeklarisana varijabla
  • Ne podudaranje stvarnog argumenta s formalnim argumentom

Primjer 1: Upotreba neinicijalizirane varijable:

 int i; void f (int m) { m=t; } 

U ovom kodu, t nije deklariran i zato prikazuje semantičku pogrešku.

Sridevi

Primjer 2: Nekompatibilnost tipa:

 int a = 'hello'; // the types String and int are not compatible 

Primjer 3: Greške u izrazima:

 String s = '...'; int a = 5 - s; // the - operator does not support arguments of type String