git @ Cat's Eye Technologies UampirNexol / adding-routines
adding-routines

Tree @adding-routines (Download .tar.gz)

UampirNexol

UampirNexol is a proof-of-concept implementation of Machine State Combinators.

It is a language in which MOS 6502 machine language programs can be expressed as functions which map machine states to machine states. From these functions, 6502 machine code can then be extracted that can be executed on a 6502-based computer.

For a fuller description of the language, see the file doc/Definition-of-UampirNexol.md, which gives a definition of the language as a literate test suite written in Falderal.

Quick start

  • Install ghc.
  • Clone this repo.
  • cd into the repo directory.
  • Run ./build.sh.
  • The resulting executable will be found in bin. If you like, you can put bin on your executable search path.

TODO

  • trash location function (pseudo-instruction)
  • implement extraction of call and routine
  • extract routines from let
  • resolve routine map addresses
  • dedup extraction of let when the binding is a sub
  • multiple bindings in a let
  • extern with location and type