curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
- JDK 20 (Wird in Tests für die Validierung des Codegens benötigt)
java
,javac
undjavap
müssen dabei für die Tests der Codegenerierung im Pfad sein, damit diese vom Test genutzt werden können.
Um eine .java in eine .class-datei zu kompilieren:
cargo r -r -- <input_file> [<output_file>]
- Projekt bauen:
cargo build
- Parser Tests ausführen:
cargo test --lib test_parser
Spezifischen Test ausführen: cargo test --lib <test_name>::test_parser
- Typechecker Tests ausführen:
cargo test --lib test_typechecker
Spezifischen Test ausführen: cargo test --lib <test_name>::test_typechecker
- Codegenerierung Tests ausführen:
cargo test --lib test_codegen
Spezifischen Test ausführen: cargo test --lib <test_name>::test_codegen
- Ausführung der Tests von den handgeschriebenen TASTs:
cargo test --lib test_class
Spezifischen Test ausführen: cargo test --lib <test_name>::test_class
Zur ausführung aller Tests: cargo test --lib
. Dabei sollte beachtet werden, dass die Tests teilweise die selben Dateien schreiben und entsprechend Probleme aufkommen können, wenn alle Tests gleichzeitig ausgeführt werden. Diese Probleme treten nicht auf, wenn die Teile des Compilers (Parser, Typchecker, Codegenerierung) einzeln getestet werden.