Skip to content

dhconnelly/crab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

crab
====

A dynamically-typed, bytecode-compiled, garbage-collected scripting language. Basic
control flow, integers, functions, strings, vectors and simple I/O is about
all you get. Passing arguments to functions as well as assignment are by
value, but string and vector values are just fat pointers to heap data, so
passing and copying them is cheap. Mark-and-sweep is used for garbage
collection and is triggered when there's not enough heap space to allocate new
memory.

Status: heap stuff isn't implemented and I'm sufficiently happy with having
done compilation for the first time that I'm moving on to something new. Will
come back to heap data and GC later, but most likely not in this project :)

TODO:

- heap
- strings
- vectors
- garbage collection
- read()

To compile and execute a script stored in `filename.crb`:

    cargo run filename.crb

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages