valhallacDer Valhalla -Compiler

Dies ist der Parser und Compiler für Valhalla, der die virtuelle Maschine ausschließt, auf der der kompilierte Bytecode läuft, dh Brokkr VM.
[!!] Planen Sie eine vollständige Umschreibung und balancieren Arbeiten.
Was wurde bisher am Front-End gemacht:
Die VM, dh das Backend für die Sprache, wird separat entwickelt und wird halbunabhängig fortschreiten.
In Ihrer Shell können Sie in der Stammin dieses Repositorys schreiben:
cargo run [source-file-to-compile.vh] [-o out-file] [-v] Oder lassen Sie den Compiler -Debug -Informationen wie Token -Streams, Syntaxbäume, Symboltabellen, Bytecode -Anweisungen usw., verwenden --features=debug :
cargo run --features=debug [source-file.vh]Zum Beispiel können Sie laufen.
cargo run test_source.vh -v # For verbose output. Um die Kompilierung mit der eingeschlossenen Test-File ( test_source.vh ) zu demonstrieren. Das Argument einer Kompilierung einer Quelldatei ist natürlich notwendig.
current_compiler_test.md
Dieses Repository enthält das Front-End (Parser- und Bytecode Compilation), das die Syntax und die Semantik des Quellcode verarbeitet. Der erzeugte AST wird dann zu BrokKR VM -Bytecode zusammengestellt. Die Ausführung des nachfolgenden Bytecode wird von der VM (Virtual Machine) der Sprache als BrokKR bearbeitet, die getrennt von diesem Repository existiert.
Valhalla ist eine set-theoretische Programmiersprache. Das heißt, es basiert auf Prinzipien aus der festgelegten Theorie, so dass alle Typen nur Sätze sind, und daher ist alles nur ein Element eines Satzes. Die Sprache soll eine neue Möglichkeit geben, mit Typen zu interagieren, und bietet eine intuitive Möglichkeit, über sie nachzudenken. Ein Ziel ist, dass es auch verwendet werden kann, um Beweise und dergleichen in und um die festgelegte Theorie zu überprüfen.
Die Sprache ist ein allgemeiner Zweck, aber anstatt vollständig objektorientiert oder funktional usw. zu sein, ist sie nur festgelegt. Nach dem, was ich gesammelt habe, ist es kein sehr beliebtes Paradigma ... wahrscheinlich aus gutem Grund, aber hey, es könnte interessant sein.
Erheblich reduziert sein.
