logo

Semantische fout

Tijdens de semantische analysefase treedt dit soort fouten op. Dit soort fouten worden gedetecteerd tijdens het compileren.

De meeste compileerfouten zijn scope- en declaratiefouten. Bijvoorbeeld: niet-aangegeven of meervoudig aangegeven identificatiegegevens. Type komt niet overeen is een andere compileerfout.

De semantische fout kan optreden als u de verkeerde variabele gebruikt, de verkeerde operator gebruikt of de bewerking in de verkeerde volgorde uitvoert.

Een semantische fout kan zijn:

  • Incompatibele soorten operanden
  • Niet-gedeclareerde variabele
  • Het niet matchen van feitelijke argumenten met formele argumenten

Voorbeeld 1: Gebruik van een niet-geïnitialiseerde variabele:

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

In deze code is t niet gedeclareerd en daarom wordt de semantische fout weergegeven.

Voorbeeld 2: Type incompatibiliteit:

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

Voorbeeld 3: Fouten in expressies:

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