logo

Semantiskt fel

Under den semantiska analysfasen uppstår denna typ av fel. Dessa typer av fel upptäcks vid kompilering.

De flesta av kompileringstidsfelen är omfattning och deklarationsfel. Till exempel: odeklarerade eller flera deklarerade identifierare. Typ som inte matchar är ett annat kompileringstidsfel.

Det semantiska felet kan uppstå när man använder fel variabel eller använder fel operator eller gör operationen i fel ordning.

Några semantiska fel kan vara:

  • Inkompatibla typer av operander
  • Odeklarerad variabel
  • Inte matchning av faktiska argument med formellt argument

Exempel 1: Användning av en icke-initierad variabel:

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

I den här koden är t odeklarerat och det är därför det visar det semantiska felet.

Exempel 2: Typinkompatibilitet:

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

Exempel 3: Fel i uttryck:

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