Skip to content

A face melting implementation of the Rockstar programming language in Go

License

Notifications You must be signed in to change notification settings

young-steveo/thrash

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Thrash

Thrash will eventually be an implementation of the Rockstar programming language by @dylanbeattie. I'm thinking a bytecode VM written in Go is sufficiently metal enough, so that's the plan.

So far I've handwritten a Lexer that's mostly complete. An AST parser is next, then I'll spit out some bytecode and write a simple VM to consume it.

NOTE: The Rockstar spec is very young and constantly changing. This implementation may not always match the current spec until things settle down.

Installation

$ git checkout https://github.com/young-steveo/thrash.git
$ cd thrash
$ go build
$ thrash -f ~/path/to/lyrics.rock

Flags

  • -f rockstar script to execute. default: ./main.rock
  • -r start a REPL. (TODO)
  • -d debug output. Currently spits out tokens from the lexer.

Current Status

I have finished the lexer and started the parser and AST.

About

A face melting implementation of the Rockstar programming language in Go

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages