Was ist die abstrakte Syntax?
Abstrakte Syntax ist eine Möglichkeit für Computerprogrammierer, die Struktur des zu erstellenden Programms abzubilden, ohne sich Gedanken über den tatsächlichen Code zu machen, der für die Implementierung erforderlich ist. Es ermöglicht dem Programmierer, sich auf das zu konzentrieren, was das Programm tun muss, bevor er sich darauf konzentriert, wie er den Computer dazu bringt, die gewünschten Funktionen tatsächlich auszuführen. Die abstrakte Syntax umreißt die spezifischen Aufgaben des Programms, z. B. das Addieren von zwei Zahlen, und zeigt, welche Datentypen in diesem Programm verwendet werden können. Sobald die abstrakte Zuordnung abgeschlossen ist, wird ein abstrakter Syntaxbaum gezeichnet, der die abstrakten Konzepte mit konkreter Syntax verbindet - den tatsächlichen Symbolen, die ein Programmierer eingeben muss, um das von ihm erstellte Programm auszuführen.
Die Idee für die abstrakte Syntax besteht darin, sich auf Datentypen und ihre Beziehungen zu konzentrieren, ohne sich in die Details der Codierung zu vertiefen. Computercode unterscheidet sich stark von der menschlichen Sprache, und es ist schwierig, in diesen Begriffen zu denken. Stattdessen erstellen Programmierer eine Liste der Schritte, die das Programm ausführen muss, und verwenden dann eine konkrete Syntax, um die abstrakten Begriffe mit den Computercode-Begriffen abzugleichen, die diese Schritte ausführen. Oft nimmt die Programmiererin Datentypen in ihr abstraktes Markup auf, um zu zeigen, mit welchen Datentypen - seien es Zahlen, Buchstaben oder Dezimalstellen - das Programm arbeiten kann. Bestimmte Datentypen sind in dieser Phase der Programmierung jedoch nicht erforderlich, und der Programmierer kann abstrakte Datentypen verwenden, die rein theoretisch sind und beim Schreiben des Programms durch bestimmte Datentypen ersetzt werden.
Diese abstrakte Idee der Programmierung wird häufig in der Compilertheorie verwendet. Computer können nur zwei Werte verstehen: 1 und 0. Dies ist als Binärcode bekannt. Damit der Computer ein in einer Programmiersprache geschriebenes Programm versteht, muss er die Wörter und Buchstaben in einen Strom von Einsen und Nullen kompilieren oder übersetzen. Compiler sind komplex in der Erstellung und das Zuordnen einer vagen oder abstrakten Vorstellung davon, was sie tun müssen, hilft einem Programmierer, fehlerfreien Code zu planen.
Wenn der Programmierer die abstrakte Syntax einer konkreten Syntax zuordnen und mit der Codierung des Programms oder Compilers beginnen möchte, erstellt er einen abstrakten Syntaxbaum. Dies ist einfach eine Liste aller abstrakten Anweisungen, die sie geschrieben hat, z. B. "2 Variablen hinzufügen", wobei von jedem abstrakten Begriff eine Linie zu der spezifischen Codezeile gezogen wird, die zur Ausführung dieser Anweisung erforderlich ist. Der Programmierer kann alle von ihm gewünschten abstrakten Begriffe verwenden, es ist jedoch üblicher, bekannte Codebegriffe wie "var" für Variable und "int" für Ganzzahl zu verwenden.