Syntaxfehler - LinkFang.de





Syntaxfehler


Syntaxfehler (eng. Syntax error) 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. Ein syntaktisch korrektes Programm kann aber zu Laufzeitfehlern führen, wenn 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:

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

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 den Programmierern 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. Band 1. Addison-Wesley, Bonn 1988, ISBN 3-89319-150-X, S. 194.

Kategorien: Programmfehler | Syntax

Quelle: Wikipedia - http://de.wikipedia.org/wiki/Syntaxfehler (Vollständige Liste der Autoren des Textes [Versionsgeschichte])    Lizenz: CC-by-sa-3.0

Änderungen: Alle Bilder mit den meisten Bildunterschriften wurden entfernt. Ebenso alle zu nicht-existierenden Artikeln/Kategorien gehenden internen Wikipedia-Links (Bsp. Portal-Links, Redlinks, Bearbeiten-Links). Entfernung von Navigationsframes, Geo & Normdaten, Mediadateien, gesprochene Versionen, z.T. ID&Class-Namen, Style von Div-Containern, Metadaten, Vorlagen, wie lesenwerte Artikel. Ansonsten sind keine Inhaltsänderungen vorgenommen worden. Weiterhin kann es durch die maschinelle Bearbeitung des Inhalts zu Fehlern gerade in der Darstellung kommen. Darum würden wir jeden Besucher unserer Seite darum bitten uns diese Fehler über den Support mittels einer Nachricht mit Link zu melden. Vielen Dank!

Stand der Informationen: August 201& - Wichtiger Hinweis: Da die Inhalte maschinell von Wikipedia übernommen wurden, ist eine manuelle Überprüfung nicht möglich. Somit garantiert LinkFang.de nicht die Richtigkeit und Aktualität der übernommenen Inhalte. Sollten die Informationen mittlerweile fehlerhaft sein, bitten wir Sie darum uns per Support oder E-Mail zu kontaktieren. Wir werden uns dann innerhalb von spätestens 10 Tagen um Ihr Anliegen kümmern. Auch ohne Anliegen erfolgt mindestens alle drei Monate ein Update der gesamten Inhalte.