AtoCC
# AtoCC

AtoCC (von engl. from Automaton to Compiler Construction) ist eine Lernumgebung im Bereich der theoretischen Informatik, speziell der Automatentheorie und der formalen Sprachen und deren Anwendung im Compilerbau. AtoCC fördert die Entwicklung und Schulung geistiger Techniken, welche für die Softwareentwicklung Programmierung in komplexen höheren Programmiersprachen benötigt werden. Die Software wird seit 2004 an der Hochschule Zittau/Görlitz entwickelt und ist für Schulen und den nichtkommerziellen Privatgebrauch kostenlos für Windows erhältlich.

## Entwicklungsgeschichte

Die Entwicklung AutoEdits begann im Jahr 2004. Ende 2005 wurde die Software erstmals als eigenständiges Werkzeug auf der Fachtagung „Informatik und Schule“ INFOS der Gesellschaft für Informatik vorgestellt. Im Juli 2006 wurde das Projekt durch weitere Bausteine im Bereich Parsergeneratoren ergänzt und wird seitdem unter dem Namen AtoCC angeboten.

Laut Serverstatistik wurde AutoEdit bisher (Stand September 2022) über 32.000-mal heruntergeladen. Laut statistischer Erhebungen mit Hilfe eines Download-Formulars, wurden etwa die Hälfte aller Downloads von Lehrern aus Deutschland (vorwiegend an Gymnasien) ausgeführt.

## Komponenten

AtoCC besteht aus sechs Komponenten: AutoEdit, AutoEdit Workbook, kfG Edit, T-Diag, VCC und SchemeEdit.

### AutoEdit

AutoEdit ist ein Programm, mit dem Transitionssysteme und -diagramme (Übergangsdiagramme) für Automaten für Web- und Druckmedienpublikationen aufbereitet werden können. Darüber hinaus können Automaten auf verschiedene Arten simuliert und transformiert werden. Exporte in diversen Grafikformaten und Scheme-Quelltext sind ebenfalls möglich. Der generierte Scheme-Quelltext kann mit SchemeEdit bearbeiten und mit Petite Chez Scheme interpretiert werden.

### AutoEdit Workbook

Mit AutoEdit Workbook können selbstgesteuerte Übungen durchgeführt werden. Hierzu werden entsprechende Aufgaben über einen Webserver bereitgestellt. Darüber hinaus können Übungsaufgaben erstellt und der Anwendergemeinde über AutoEdit Workbook zur Verfügung gestellt werden.

### kfG Edit

Dieses Werkzeug dient dazu reguläre und kontextfreie Sprachen in Form von Grammatiken (in Backus-Naur-Form) zu notieren. Entsprechende Ableitungen über Eingabewörter werden, in Form von Ableitungsbäumen, animiert dargestellt. Sowohl eine automatisch als auch manuelle Ableitung (Wahl der Produktionsregeln durch den Anwender) werden für Links- und Rechtsableitung angeboten.

### T-Diag

T-Diag wird verwendet, um so genannte T-Diagramme für Compileranwendungen und -entwicklungen zu erstellen. Übersetzungsprozesse können diagrammbezogen automatisiert ausgeführt werden.

### VCC

VCC (Visual Compiler Compiler) ist ein Parser- und Compilergenerator. Er ermöglicht die Entwicklung eigener Compiler und die anschließende Verwendung in T-Diag. Sowohl lexikalische Scanner (Lexer) als auch Parser werden dabei in VCC definiert. Als Ausgabesprache kann wahlweise Scheme oder C# eingestellt werden.

### SchemeEdit

SchemeEdit ist ein Texteditor, um vorzugsweise Quelltextdateien der Programmiersprache Petite Chez Scheme zu bearbeiten und auszuführen.

