Skip to content
Snippets Groups Projects
Commit 34b3227f authored by Edward Sabinus's avatar Edward Sabinus
Browse files

Initial Commit

parents
No related branches found
No related tags found
No related merge requests found
# Bewerter von struktureller Induktion
Automatische Bewertung von struktureller Induktion auf abstrakten Datentypen
## Kompilieren des Programms
Das Programm kann mit .NET oder mit Mono kompiliert werden.
### Komplilieren mit .NET
.NET kann auf jedem Betriebssystem installiert werden. Die kompilierte ausführbare Datei funktioniert Plattformunabhängig, solange die entsprechende .NET-Version installiert ist.
1. Installieren Sie [.NET](https://dotnet.microsoft.com/en-us/download/dotnet) Version 3.1 oder höher.
2. Navigieren Sie mit der Konsole in den Ordner der [.csproj](BaumtransformationBewerter/BaumtransformationBewerter.csproj)-Datei
3. Rufen Sie `dotnet build` auf. Der Kompiler findet automatisch die .csproj-Datei und kompiliert das Projekt entsprechend dieser Konfiguration.
### Kompilieren mit Mono
Wenn Sie das Projekt mit Mono kompilieren möchten, gibt es [eine Diskussion
auf Stackoverflow](https://stackoverflow.com/questions/8264323/how-to-compile-a-visual-studio-c-sharp-project-with-mono),
die Ihnen dabei behilflich sein kann. Aus der Diskussion geht heraus, dass die
Werkzeuge [MonoDevelop](https://www.monodevelop.com/) oder auch
[xbuild](https://www.mono-project.com/docs/about-mono/releases/2.6.0/#xbuild)
verwendet werden können, um Visual Studio Projekte mit Mono zu kompilieren.
### Zwei Programmeinstiegsmöglichkeiten
Es gibt zwei Programmeinstiegsmöglichkeiten für das Programm:
1. [ProgramForHuman](BaumtransformationBewerter/ProgramForHuman.cs) ist die Version des Programms, dessen Benutzerschnittstelle für die menschliche Verwendung optimiert ist. Wenn Sie diese Version kompilieren möchten, ersetzen Sie vor dem Kompilieren in der .csproj-Datei alle Vorkommen von "Yapex" durch "Human".
2. [ProgramForYapex](BaumtransformationBewerter/ProgramForYapex.cs) ist die Version des Programms, die eine optimale Schnittstelle für Yapex implementiert.
## Verwendung des Programms
Bevor Sie das Programm verwenden, stellen Sie sicher für welche Version Sie das Programm kompiliert haben.
### Version für Yapex
Alle Eingaben werden über die Argumente des Programms getätigt. Die Eingaben können in beliebiger Reihenfolge getätigt werden.
- ADT: Pfad zur Datei mit Endung .adt .
- Aufgabenstellung: Pfad zur Datei mit Endung .task .
- Beweis: Pfad zur Datei mit Endung .proof .
- Konfiguration: Pfad zur Datei mit Endung .config . Diese Eingabe ist optional. Ohne Eingabe der Konfigurationsdatei wird die Standardkonfiguration verwendet.
- Nur Syntax- und Namensanalyse: Option: "-checkSyntaxOnly" (Wenn Sie einen Syntax-check ohne Namensanalyse wünschen, installieren Sie ANTLR 4 und rufen Sie ANTLR auf, wie in [Test_Parsers.bat](Test_Parsers.bat))
#### Verhalten des Programms
- Wenn ein Pfad zu einer Datei nicht korrekt ist, wird das Programm mit einer entsprechenden Ausnahme unterbrochen.
- Wenn ADT / Task nicht erstellt werden können, hält das Programm mit ExitCode 0. Fehlermeldung wird in Konsole ausgegeben.
- Wenn Proof nicht erstellt werden kann, hält das Programm mit ExitCode 1. Fehlermeldung wird in Konsole ausgegeben.
- Bei Bewertung mit 0 Punkten hält das Programm mit ExitCode 1, sonst ExitCode 0.
- Mit der Option "-checkSyntaxOnly" wird nur versucht das Modell zu erstellen. Die eigentliche Überprüfung und Bewertung wird ausgelassen.
- Die Ausgabe der Bewertung und Überprüfung erfolgt auf die Konsole.
### Version für Mensch
Es gibt meherere Möglichkeiten das Programm zu verwenden
1. Keine Argumente. Das Programm fragt interaktiv nach den Pfaden zu ADT / Task / Proof und führt anschließend eine Überprüfung und Bewertung durch.
2. Argument `debug`. Es wird eine interaktive Shell geöffnet. Mit `?` können die Eingabemöglichkeiten angefragt werden.
3. Es werden drei Pfade über die Argumente angegeben: 1. ADT 2. Task 3. Proof. Das Programm führt eine Überprüfung und Bewertung durch.
- Konfiguration erfolgt über die Datei .config, die auch im selben Ordner liegen muss wie die ausführbare Datei.
- Die Ausgabe des Programms ist in der Datei
Automatische_Bewertung.txt, die in den selben Ordner generiert wird.
- Tritt ein Fehler bei der Erstellung des Modells auf, so wird der Fehler ausgegeben und ein erneuter Eingabeversuch wird gestartet.
## Beispiele
- Die Beispiele in [ANTRL-Grammatiken](ANTRL-Grammatiken) sind teilweise für ältere Versionen der Grammatik konzepiert und können inkompatibel zur aktuellen Version der Grammatik sein.
- Alle Beispiele in den [Tests](BaumtransformationBewerter/bin/Debug/netcoreapp3.1/Tests) funktionieren immer mit dem neuesten Stand der Grammatik und funktionieren auch mit der Yapex-Version.
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment