Software wird durch das Schreiben von Quellcode in einer Programmiersprache erstellt. Der Quellcode ist Ausgangspunkt für den Compiler zur Erstellung von Maschinencode oder Bytecode. Der Quellcode in einer Sprache wird am häufigsten in textuellen Editoren verfasst. Diese Form des Schreibens von Quellcode ist fehleranfällig, da leicht syntaktisch falsche Sprachelemente in den Quelltext geschrieben werden können. Diese Fehler können aber auch dann entstehen, wenn durch Refaktorisierungen betroffene, abhängige Stellen innerhalb des Quelltextes geändert werden müssen, dies jedoch durch den Entwickler vergessen wird. Diese beschriebenen Anfälligkeiten verursachen syntaktische Fehler innerhalb des Quelltextes. Eine Weiterentwicklung der textuellen Programmierung ist das Schreiben des Codes auf Basis des Syntaxbaums eines Programms. Die hierarchische Struktur eines Programms wird durch einen Syntaxbaum dargestellt, welcher während der Kompilierung erstellt wird. Dieser Syntaxbaum wird als Abstract Syntax Tree (AST) bezeichnet. Innerhalb des AST werden die Ausdrücke des Programms in einer Baumstruktur dargestellt. Editoren, die auf dem AST einer Programmiersprache arbeiten, können den Aufwand für Formatierung und Prüfung des Codes reduzieren und somit die Produktivität des Entwicklers steigern, da der AST ein konsistentes Modell ist.