valhallacValhallaコンパイラ

これは、Valhallaのパーサーとコンパイラであり、コンパイルされたByteCodeが実行する仮想マシン、つまりBrokkr VMを除外します。
[!!]完全な書き直しを計画し、仕事のバランスをとる。
これまでにフロントエンドで行われたこと:
VM、つまり言語のバックエンドは個別に開発されており、半独立して進行します。
あなたのシェルで、このリポジトリのルートで、あなたは次のことを書くことができます:
cargo run [source-file-to-compile.vh] [-o out-file] [-v]または、コンパイラにトークンストリーム、構文ツリー、シンボルテーブル、バイトコード命令、&ct。などのデバッグ情報を印刷してもらいます--features=debug :
cargo run --features=debug [source-file.vh]たとえば、実行できます。
cargo run test_source.vh -v # For verbose output.付属のテストファイル( test_source.vh )でコンパイルを実証する。コンパイルするソースファイルの議論は、もちろん必要です。
current_compiler_test.md
このリポジトリには、ソースコードの構文とセマンティクスを処理するフロントエンド(パーサーとバイトコードコンパイル)が含まれています。次に、生成されたASTをBROKKR VMバイテコードにコンパイルします。後続のバイトコードの実行は、このリポジトリとは別に存在するBrokkrと呼ばれる言語のVM(仮想マシン)によって処理されます。
Valhallaは、セット理論のプログラミング言語です。つまり、それはすべてのタイプが単なるセットであるという方法で、セット理論からの原則に基づいているため、すべてが単なるセットの要素です。この言語は、タイプと対話する新しい方法を提供することを目的としており、それらについて考える直感的な方法を提供します。目標は、セット理論とその周辺の証明などを検証するためにも使用される可能性があることです。
言語は一般的な目的ですが、完全にオブジェクト指向、または機能的である代わりに、理論に基づいたものに基づいているだけです。私が集めたものから、それは非常に人気のあるパラダイムではありません...正当な理由でおそらくそうですが、ちょっと、それは面白いかもしれません。
大幅に減少する。
