logo

Szemantikai hiba

A szemantikai elemzés fázisában ez a fajta hiba jelentkezik. Az ilyen típusú hibákat a rendszer a fordítás során észleli.

A legtöbb fordítási idő hiba hatókör- és deklarációs hiba. Például: nem bejelentett vagy többszörösen deklarált azonosítók. A nem egyező típus egy másik fordítási időbeli hiba.

A szemantikai hiba előfordulhat rossz változó használatával vagy rossz operátor használatával, vagy rossz sorrendben végzett műveletekkel.

Néhány szemantikai hiba lehet:

  • Nem kompatibilis típusú operandusok
  • Nem deklarált változó
  • Nem egyeztethető össze a tényleges érvelés a formális érvvel

1. példa: Nem inicializált változó használata:

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

Ebben a kódban a t nem deklarált, ezért a szemantikai hibát mutatja.

2. példa: Típus-összeférhetetlenség:

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

3. példa: Hibák a kifejezésekben:

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