logo

Semantisk fejl

Under den semantiske analysefase opstår denne type fejl. Disse typer fejl opdages på kompileringstidspunktet.

De fleste af kompileringstidsfejlene er omfang og deklarationsfejl. For eksempel: udeklarerede eller flere deklarerede identifikatorer. Type mismatched er en anden kompileringstidsfejl.

Den semantiske fejl kan opstå ved at bruge den forkerte variabel eller ved at bruge forkert operator eller udføre handlingen i forkert rækkefølge.

Nogle semantiske fejl kan være:

  • Inkompatible typer operander
  • Udeklareret variabel
  • Ikke matchning af faktisk argument med formel argument

Eksempel 1: Brug af en ikke-initialiseret variabel:

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

I denne kode er t ikke-deklareret, derfor viser den den semantiske fejl.

Eksempel 2: Typeinkompatibilitet:

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

Eksempel 3: Fejl i udtryk:

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