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(iter_collect_into)]
|
||||
#![feature(if_let_guard)]
|
||||
#![feature(core_float_math)]
|
||||
|
||||
pub mod sexpr;
|
||||
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