Skip to content

ujjwal-kr/ram

Repository files navigation

The Ram programming language

A stack-based programming language developed to experiment with my language development skills. Runs on an emulated virtual machine, using custom memory, allocation, and garbage collection methods.

How to run

  1. Download the release binary [Only for windows and linux].
  2. Make it executable using chmod +x ./ram
  3. Make a .ram file with the following contents in the same directory as the binary:
main:
    ram lx
    ram 1
    add
    ram lx prev
    print var lx
    ram lx
    ram 500
    cmp
    je halt:
    jmp main:

halt:
    halt
  1. run ./ram ./example.ram and press enter.

Documentation

The language documentation is available in the wiki. You can read about the detailed work of the project in my blog.

How to test

Run cargo test to run all the tests. This is the output of the test runner:

tests

Contribution

Im not accepting any breaking changes to the specs, as the language syntax is still in development. But suggestions can be made using the issue tracker. All other types of contributions are welcome. Check the dev branch, PRs to the master branch won't be accepted.