valhallacKompiler Valhalla

Ini adalah parser dan kompiler untuk Valhalla, yang tidak termasuk mesin virtual yang dijalankan oleh bytecode yang dikompilasi, yaitu, Brokkr VM.
[!!] Merencanakan penulisan ulang lengkap, dan menyeimbangkan pekerjaan.
Apa yang telah dilakukan sejauh ini di front-end:
VM, yaitu backend untuk bahasa, sedang dikembangkan secara terpisah dan akan berkembang secara semi-independen.
Di shell Anda, di akar repositori ini, Anda dapat menulis:
cargo run [source-file-to-compile.vh] [-o out-file] [-v] atau, mintalah kompiler mencetak informasi debug seperti stream token, pohon sintaks, tabel simbol, instruksi bytecode, & ct., gunakan --features=debug :
cargo run --features=debug [source-file.vh]Misalnya, Anda dapat berlari.
cargo run test_source.vh -v # For verbose output. Untuk menunjukkan kompilasi dengan file uji yang disertakan ( test_source.vh ). Argumen file sumber untuk dikompilasi, tentu saja, diperlukan.
Current_compiler_test.md
Repositori ini berisi kompilasi front-end (parser dan bytecode) yang memproses sintaks dan semantik kode sumber. AST yang dihasilkan kemudian dikompilasi untuk bytecode Brokkr. Eksekusi bytecode berikutnya ditangani oleh VM bahasa (mesin virtual) yang disebut brokkr, yang ada secara terpisah dari repositori ini.
Valhalla adalah bahasa pemrograman set-teoretik. Dengan kata lain, itu didasarkan pada prinsip -prinsip dari teori yang ditetapkan, dengan cara yang hanya semua jenis hanyalah set, dan karenanya semuanya hanyalah elemen dari satu set. Bahasa ini dimaksudkan untuk memberikan cara baru untuk berinteraksi dengan tipe, dan memberikan cara intuitif untuk memikirkannya. Suatu tujuan adalah agar juga dapat digunakan untuk memverifikasi bukti dan di dalam dan di sekitar teori yang ditetapkan.
Bahasa adalah tujuan umum, tetapi alih-alih menjadi sangat berorientasi objek, atau fungsional, dll., Itu hanya berdasarkan teori. Dari apa yang saya kumpulkan, ini bukan paradigma yang sangat populer ... mungkin untuk alasan yang bagus, tapi hei, itu mungkin menarik.
Berkurang secara signifikan.
