Skip to content
/ nail Public

Toy programming language I wrote to learn about programming languages

License

Notifications You must be signed in to change notification settings

m-r-hunt/nail

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nail

Nail is a programming language I wrote to learn about writing programming languages. It is not production ready, but it was an instructive and succesful project.

Nail was originally based on Lox, the language presented in Crafting Interpreters by Bob Nystrom, rewritten in Rust, but it has diverged substantially and is mostly unrecognisable.

The Nail compiler and virtual machine are implemented in Rust. It uses a handwritten recursive descent parser, parses into an AST, and then produces bytecode directly. There are currently no optimisations performed.

Nail is mostly feature complete, although it is notably lacking any kind of garbage collection.

There's a decent body of example Nail code in my Advent of Code 2018 solutions. I also wrote a bit about my experience writing Nail on my blog.

About

Toy programming language I wrote to learn about programming languages

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages