Readme and early CI
This commit prepares the code to be uploaded to gitlab. Included is a small readme and basic CI. Signed-off-by: Ava Affine <ava@sunnypup.io>
This commit is contained in:
parent
e4c6e0924a
commit
528a61749d
3 changed files with 45 additions and 0 deletions
28
.gitlab-ci.yml
Executable file
28
.gitlab-ci.yml
Executable file
|
|
@ -0,0 +1,28 @@
|
||||||
|
default:
|
||||||
|
image: rustlang/rust:nightly
|
||||||
|
|
||||||
|
stages:
|
||||||
|
- build
|
||||||
|
- test
|
||||||
|
|
||||||
|
compile-library:
|
||||||
|
stage: build
|
||||||
|
script:
|
||||||
|
- cargo build --lib
|
||||||
|
|
||||||
|
compile-decomposer:
|
||||||
|
stage: build
|
||||||
|
script:
|
||||||
|
- cargo build --bin decomposer
|
||||||
|
|
||||||
|
unit-test-language-frontend:
|
||||||
|
stage: test
|
||||||
|
script:
|
||||||
|
- cargo test lexer
|
||||||
|
- cargo test parser
|
||||||
|
|
||||||
|
unit-test-number-package:
|
||||||
|
stage: test
|
||||||
|
script:
|
||||||
|
- cargo test number
|
||||||
|
|
||||||
|
|
@ -19,6 +19,7 @@
|
||||||
#![feature(let_chains)]
|
#![feature(let_chains)]
|
||||||
#![feature(iter_collect_into)]
|
#![feature(iter_collect_into)]
|
||||||
#![feature(if_let_guard)]
|
#![feature(if_let_guard)]
|
||||||
|
#![feature(core_float_math)]
|
||||||
|
|
||||||
pub mod sexpr;
|
pub mod sexpr;
|
||||||
pub mod lexer;
|
pub mod lexer;
|
||||||
|
|
|
||||||
16
readme.md
16
readme.md
|
|
@ -0,0 +1,16 @@
|
||||||
|
# Mycelium
|
||||||
|
|
||||||
|
Mycelium aims to provide an efficient compiled to intermediate bytecode implementation
|
||||||
|
of R7RS Scheme as well as a virtual machine that will execute such bytecode.
|
||||||
|
|
||||||
|
Two major use cases are at the forefront of mind when designing and implementing this
|
||||||
|
project: a POSIX shell interpreter as well as a compiled to bytecode language for
|
||||||
|
running on ESP32 devices.
|
||||||
|
|
||||||
|
## Current Status
|
||||||
|
Currently the lexer and parser are implemented. On an X86 machine equipped with 64GB
|
||||||
|
RAM and an AMD Ryzen 7900 CPU this lexer and parser are capable of creating a fully
|
||||||
|
validated abstract syntax tree from approximately 11200 lines of handwritten scheme
|
||||||
|
in about 55 milliseconds on average.
|
||||||
|
|
||||||
|
Currently the bytecode VM and its instruction set are next to implement.
|
||||||
Loading…
Add table
Add a link
Reference in a new issue