valhallacValhalla 컴파일러

이것은 Valhalla의 파서 및 컴파일러로, 컴파일 된 바이트 코드가 실행되는 가상 컴퓨터 (Brokkr VM)를 제외합니다.
[!!] 완전한 재 작성 및 작업 균형 작업.
지금까지 프론트 엔드에서 한 일 :
VM, 즉 언어의 백엔드는 별도로 개발되고 있으며 반 독립적으로 진행될 것입니다.
당신의 껍질 에서이 저장소의 루트에서 다음을 쓸 수 있습니다.
cargo run [source-file-to-compile.vh] [-o out-file] [-v] 또는 컴파일러 --features=debug 토큰 스트림, 구문 트리, 기호 테이블, 바이트 코드 지침, & ct.와 같은 디버그 정보를 인쇄하도록하십시오.
cargo run --features=debug [source-file.vh]예를 들어, 실행할 수 있습니다.
cargo run test_source.vh -v # For verbose output. 포함 된 테스트 파일 ( test_source.vh )으로 컴파일을 보여줍니다. 물론 소스 파일의 주장은 물론 필요하다.
current_compiler_test.md
이 저장소에는 소스 코드의 구문 및 의미를 처리하는 프론트 엔드 (Parser 및 Bytecode 컴파일)가 포함되어 있습니다. 그런 다음 생성 된 AST는 BROKKR VM BYTECODE로 컴파일됩니다. 후속 바이트 코드의 실행은이 저장소와 별도로 존재하는 Brokkr이라는 언어의 VM (가상 머신)에 의해 처리됩니다.
Valhalla는 세트 이론 프로그래밍 언어입니다. 즉, 모든 유형이 단지 세트 인 방식으로 세트 이론의 원칙에 기초하여 모든 것이 세트의 요소 일뿐입니다. 이 언어는 유형과 상호 작용하는 새로운 방법을 제공하고 직관적 인 방법을 제공합니다. 목표는 또한 이론과 주변의 증거를 검증하는 데 사용될 수 있다는 것입니다.
언어는 일반적인 목적이지만 완전히 객체 지향적이거나 기능적인 등이있는 대신 이론을 기반으로 한 설정입니다. 내가 수집 한 것에서, 그것은 매우 인기있는 패러다임이 아닙니다 ... 가능성이 높지만, 흥미로울 것입니다.
크게 줄어 듭니다.
