logo

Semantisk feil

Under den semantiske analysefasen dukker denne typen feil opp. Denne typen feil oppdages ved kompilering.

De fleste av kompileringstidsfeilene er omfang og deklarasjonsfeil. For eksempel: uoppgitte eller flere deklarerte identifikatorer. Type mismatched er en annen kompileringstidsfeil.

Den semantiske feilen kan oppstå ved å bruke feil variabel eller bruke feil operator eller utføre operasjoner i feil rekkefølge.

Noen semantiske feil kan være:

  • Inkompatible typer operander
  • Ikke deklarert variabel
  • Ikke samsvar mellom faktisk argument og formelt argument

Eksempel 1: Bruk av en ikke-initialisert variabel:

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

I denne koden er t ikke deklarert, det er derfor den viser den semantiske feilen.

Eksempel 2: Typeinkompatibilitet:

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

Eksempel 3: Feil i uttrykk:

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