Syntaxfehler

Syntaxfehler

Syntaxfehler im allgemeinen sind Verstöße gegen die Satzbauregeln einer Sprache. In der Informatik bezieht sich das Wort in der Regel auf den sogenannten kontextfreien Anteil der syntaktischen Regeln einer Programmiersprache. Programme mit Syntaxfehlern werden von einem Compiler oder Interpreter zurückgewiesen. Das ändert nichts an der Tatsache, dass auch ein syntaktisch korrektes Programm inhaltlich falsch sein kann, weil es semantische Fehler enthält.

Definition

Syntaxfehler werden vom Parser in der Analysephase eines Compilerlaufs erkannt, genauer in der syntaktischen Analyse. Dabei muss der Parser nicht nur erkennen, dass der analysierte Quellcode nicht der formalen Grammatik der Programmiersprache entspricht, sondern auch eine verständliche Fehlermeldung ausgeben.[1] Da sich nicht alle Eigenschaften einer Programmiersprache durch kontextfreie Grammatiken beschreiben lassen, werden manche Fehler, z. B. Verstöße gegen die Typregeln der Programmiersprache, auch erst in der semantischen Analyse vom Compiler erkannt. Andere Denkfehler im Programm lassen sich zur Übersetzungszeit gar nicht erkennen; Compiler fügen dort jedoch häufig Prüfcode ein, der zu einem Laufzeitfehler erst während der Programmausführung führt. Im Gegensatz dazu lassen sich semantische Fehler, also Fehler in der beabsichtigten Bedeutung eines Programmtextes, überhaupt nicht maschinell erkennen.

Beispiel

In vielen Fällen werden Syntaxfehler durch falsch gesetzte oder fehlende Zeichen wie Semikola, Kommata und Klammern oder bedeutungstragende Wörter wie for oder BEGIN hervorgerufen. Integrierte Entwicklungsumgebungen sind in der Regel so konstruiert, dass derartige Fehler sofort erkannt und dem Programmierer signalisiert werden.

Ein Beispiel eines Syntaxfehlers in Java:

public class Beispiel {
    public static void main(String[] args) {
        System.out.println("Hallo Welt!")
    }
}

Ein typischer Java-Compiler würde bei diesem Beispiel in Zeile 3 das fehlende Semikolon hinter der schließenden Klammer bemängeln, wie es die Java-Syntax erfordert. Die Ausgabe des Compilers gibt dem Programmierer Hinweise auf Art und ungefähre Lage des Fehlers:

Syntax error, insert ";" to complete BlockStatements       Beispiel.java   line 3

Hierbei wird üblicherweise der Dateiname des Quelltextes, die Zeile und die eigentliche Fehlermeldung ausgegeben. Die Reihenfolge und Anzahl der Ausgaben variiert von Compiler zu Compiler.

Einzelnachweise

  1. Alfred V. Aho, Ravi Seti, Jeffrey D. Ullmann: Compilerbau. 1, Addison-Wesley, Bonn 1988, ISBN 3-89319-150-X, S. 194.

Wikimedia Foundation.

Игры ⚽ Нужна курсовая?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Syntaxfehler — Syntaxfehler,   Fehler, Syntax …   Universal-Lexikon

  • Syntaxfehler — sintaksės klaida statusas T sritis automatika atitikmenys: angl. composition error; syntactic error; syntax error vok. Satzaufbaufehler, m; Syntaxfehler, m rus. синтаксическая ошибка, f pranc. erreur syntaxique, f …   Automatikos terminų žodynas

  • Programmierung — Ausschnitt aus einem BASIC Listing für den C64 Programmierung (von griechisch prógramma „Vorschrift“) bezeichnet die Tätigkeit, Computerprogramme zu schreiben. Dies umfasst vor allem die Umsetzung (Implementierung) des Softwareentwurfs in… …   Deutsch Wikipedia

  • Bohrbug — Ein Programmfehler oder Softwarefehler, häufig auch im Deutschen mit dem englischen Wort Bug (genau genommen Wanze, im erweiterten Sinne auch für jedes andere Insekt; Aussprache [bʌg]) bezeichnet, ist ein Ausdruck aus dem EDV Bereich. Ein Fehler… …   Deutsch Wikipedia

  • Bugfix — Ein Programmfehler oder Softwarefehler, häufig auch im Deutschen mit dem englischen Wort Bug (genau genommen Wanze, im erweiterten Sinne auch für jedes andere Insekt; Aussprache [bʌg]) bezeichnet, ist ein Ausdruck aus dem EDV Bereich. Ein Fehler… …   Deutsch Wikipedia

  • Bʌg — Ein Programmfehler oder Softwarefehler, häufig auch im Deutschen mit dem englischen Wort Bug (genau genommen Wanze, im erweiterten Sinne auch für jedes andere Insekt; Aussprache [bʌg]) bezeichnet, ist ein Ausdruck aus dem EDV Bereich. Ein Fehler… …   Deutsch Wikipedia

  • Compiler-Front-End — Ein Compiler (auch Übersetzer oder Kompilierer genannt) ist ein Computerprogramm, das ein in einer Quellsprache geschriebenes Programm – genannt Quellprogramm – in ein semantisch äquivalentes Programm einer Zielsprache (Zielprogramm) umwandelt.… …   Deutsch Wikipedia

  • Computerwanze — Ein Programmfehler oder Softwarefehler, häufig auch im Deutschen mit dem englischen Wort Bug (genau genommen Wanze, im erweiterten Sinne auch für jedes andere Insekt; Aussprache [bʌg]) bezeichnet, ist ein Ausdruck aus dem EDV Bereich. Ein Fehler… …   Deutsch Wikipedia

  • Computerwanzen — Ein Programmfehler oder Softwarefehler, häufig auch im Deutschen mit dem englischen Wort Bug (genau genommen Wanze, im erweiterten Sinne auch für jedes andere Insekt; Aussprache [bʌg]) bezeichnet, ist ein Ausdruck aus dem EDV Bereich. Ein Fehler… …   Deutsch Wikipedia

  • Fehlerfreiheit — Ein Programmfehler oder Softwarefehler, häufig auch im Deutschen mit dem englischen Wort Bug (genau genommen Wanze, im erweiterten Sinne auch für jedes andere Insekt; Aussprache [bʌg]) bezeichnet, ist ein Ausdruck aus dem EDV Bereich. Ein Fehler… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”