Semantiskās analīzes fāzē parādās šāda veida kļūda. Šāda veida kļūdas tiek atklātas kompilēšanas laikā.
Lielākā daļa kompilēšanas laika kļūdu ir tvēruma un deklarācijas kļūda. Piemēram: nedeklarēti vai vairāki deklarēti identifikatori. Veids neatbilstošs ir vēl viena kompilēšanas laika kļūda.
Semantiskā kļūda var rasties, izmantojot nepareizu mainīgo vai izmantojot nepareizu operatoru vai veicot darbības nepareizā secībā.
Dažas semantiskas kļūdas var būt:
- Nesaderīgi operandu veidi
- Nedeklarēts mainīgais
- Faktiskā argumenta neatbilstība formālajam argumentam
1. piemērs: Neinicializēta mainīgā izmantošana:
int i; void f (int m) { m=t; }
Šajā kodā t nav deklarēts, tāpēc tas parāda semantisko kļūdu.
2. piemērs: Veidu nesaderība:
int a = 'hello'; // the types String and int are not compatible
3. piemērs: Kļūdas izteiksmēs:
mia khalifa vecums
String s = '...'; int a = 5 - s; // the - operator does not support arguments of type String