valhallacEl compilador de Valhalla

Este es el analizador y el compilador de Valhalla, que excluye la máquina virtual en la que se ejecuta el bytecodo compilado, que es, Brokkr VM.
[!!] Planeando una reescritura completa y un trabajo de equilibrio.
Lo que se ha hecho hasta ahora en el front-end:
La VM, es decir, el backend del idioma, se está desarrollando por separado y progresará de manera semi-independiente.
En su shell, en la raíz de este repositorio, puede escribir:
cargo run [source-file-to-compile.vh] [-o out-file] [-v] O bien, haga que el compilador imprima información de depuración como transmisiones de token, árboles de sintaxis, tablas de símbolos, instrucciones de bytecode, & ct., Use --features=debug :
cargo run --features=debug [source-file.vh]Por ejemplo, puedes ejecutar.
cargo run test_source.vh -v # For verbose output. Para demostrar la compilación con el archivo de prueba incluido ( test_source.vh ). El argumento de un archivo de origen para compilar es, por supuesto, necesario.
actual_compiler_test.md
Este repositorio contiene el front-end (compilación analizador y bytecode) que procesa la sintaxis y la semántica del código fuente. El AST generado se compila en BROKKR VM Bytecode. La ejecución del bytecodo posterior es manejada por la VM del idioma (máquina virtual) llamada Brokkr, que existe por separado de este repositorio.
Valhalla es un lenguaje de programación teórico establecido. Es decir, se basa en los principios de la teoría del set, de una manera que todos los tipos son solo conjuntos y, por lo tanto, todo es solo un elemento de un conjunto. El lenguaje está destinado a dar una nueva forma de interactuar con los tipos y proporciona una forma intuitiva de pensar en ellos. Un objetivo es que también se puede usar para verificar las pruebas y la teoría del conjunto en y alrededor.
El lenguaje es un propósito general, pero en lugar de estar totalmente orientado a objetos, o funcional, etc., solo se basa en la teoría. Por lo que he reunido, no es un paradigma muy popular ... probablemente por una buena razón, pero bueno, podría ser interesante.
Ser significativamente reducido.
