master > master: allgemeine Aufräumung
This commit is contained in:
@@ -6,24 +6,30 @@ Diese dienen nur zur Demonstration / konkreten Verwirklichung von Verfahren, die
|
||||
|
||||
Der Gebrauch dieser Skripte unterliegt der Eigenverantwortung von Studierenden.
|
||||
|
||||
Da ich kein Informatiker bin, sind auch einige Aspekt bestimmt nicht optimal programmiert/strukturiert.
|
||||
Da ich kein Informatiker bin,
|
||||
sind auch einige Aspekt bestimmt nicht optimal programmiert/strukturiert.
|
||||
Dafür kann jeder in seiner Kopie einfach alles anpassen.
|
||||
Das hier soll einfach funktionieren.
|
||||
|
||||
## Systemvoraussetzungen ##
|
||||
|
||||
- bash (auch bash-for-windows).
|
||||
- golang (mind. 1.6.x)
|
||||
- Java11
|
||||
- Java8+
|
||||
|
||||
Um Schemata in Lexer und Parser zu verwandeln, wird **ANTLR4** gebraucht,
|
||||
(welches wiederum mithilfe eines Java-Archives kompiliert wird, weshalb man Java benötigt).
|
||||
Siehe
|
||||
<https://blog.gopheracademy.com/advent-2017/parsing-with-antlr4-and-go/>
|
||||
für weitere Informationen dazu.
|
||||
|
||||
Dieses Projekt macht von ANTLR4 Gebrauch, um Schemata in Lexer und Parser zu verwandeln. Siehe <https://blog.gopheracademy.com/advent-2017/parsing-with-antlr4-and-go/> für mehr Informationen dazu.
|
||||
## Voreinstellungen ##
|
||||
|
||||
- In einer bash-console zu diesem Ordner navigieren und folgenden Befehl ausführen:
|
||||
```bash
|
||||
chmod +x build.sh test.sh
|
||||
## oder
|
||||
chmod +x *.sh
|
||||
chmod +x scripts/*.sh
|
||||
```
|
||||
- In `build.sh` gibt es eine Zeile, die zur Kompilierung des Go-Projektes notwendigen Module über **go** installieren lässt.
|
||||
- In `scripts/build.sh` gibt es eine Zeile, die zur Kompilierung des Go-Projektes notwendigen Module über **go** installieren lässt.
|
||||
(Die Liste der Packages findet man in der Datei `requirements`).
|
||||
Diese Zeile kann man ruhig nach der ersten Ausführung rauskommentieren.
|
||||
- Dazu kommt, dass **antlr4.jar** heruntergeladen wird.
|
||||
@@ -37,7 +43,7 @@ In `data.env` kann man Daten (aktuell: auszuwertenden Ausdruck + Interpretation/
|
||||
|
||||
In einer bash-console zu diesem Ordner navigieren und
|
||||
```bash
|
||||
./build.sh
|
||||
source scripts/build.sh
|
||||
## oder
|
||||
go build main.go && ./main
|
||||
```
|
||||
@@ -72,14 +78,20 @@ Wer etwas standardisierter seine Methoden testen will, kann automatisiertes Test
|
||||
|
||||
- In der Console (wenn noch nicht geschehen) folgenden Befehl einmalig ausführen:
|
||||
```bash
|
||||
chmod +x test.sh
|
||||
chmod +x scripts/test.sh
|
||||
```
|
||||
- In `aussagenlogik/rekursion/rekursion_test.go` beim relevanten Testteil eine oder mehrere der Zeilen
|
||||
```go
|
||||
test.Skip("Methode noch nicht implementiert")
|
||||
```
|
||||
rauskommentieren/löschen.
|
||||
- Jetzt
|
||||
```bash
|
||||
source scripts/test.sh
|
||||
```
|
||||
ausführen.
|
||||
|
||||
Jetzt `test.sh` ausführen. Die unittests testen Methoden gegen mehrere vorkonstruierte Testfälle samt erwarteten Ergebnissen geprüft. Sollten einige Tests scheitern, dann Fehlermeldung durchlesen, und Methode entsprechend der Kritik überarbeiten.
|
||||
Die unittests testen Methoden gegen mehrere vorkonstruierte Testfälle samt erwarteten Ergebnissen geprüft.
|
||||
Sollten einige Tests scheitern, dann Fehlermeldung durchlesen, und Methode entsprechend der Kritik überarbeiten.
|
||||
|
||||
Die geschriebenen Unittests sind natürlich nicht ausführlich. Man kann diese nach Bedarf ergänzen. Am sinnvollsten baut man welche, die wirklich scheitern können, sonst sagen die Tests nichts aus.
|
||||
|
||||
Reference in New Issue
Block a user