On this page:
1.1 Quickstart
1.2 Building
1.3 Testing
1.4 Manifesto
6.1.1.7

1 Overview

    1.1 Quickstart

    1.2 Building

    1.3 Testing

    1.4 Manifesto

1.1 Quickstart

The main entry point is zordoz.rkt. If you have a bytecode file ready, run

racket zordoz.rkt FILE.zo

and you’re started. Type help at the REPL to see available commands.

zo> help
At your service. Available commands:
  alst        Print command aliases
  back        Move up to the previous context
  dive ARG    Step into struct field ARG
  find ARG    Search the current subtree for structs with the name ARG
  help        Print this message
  info        Show information about current context
  jump        Revert to last saved position
  save        Save the current context as jump target
  quit        Exit the interpreter

1.2 Building

The included Makefile runs raco make zordoz.rkt to generate an executable. The Makefile additionally renames this executable to zordoz, so you can run:

./zordoz FILE.zo

If you installed via raco, then the command raco zordoz FILE.zo should work just as well.

1.3 Testing

Each source file contains a module+ test with unit tests. Run them all with:

make test

or individually using:

raco test FILE.rkt

1.4 Manifesto

The goal of this project is to help explore Racket bytecode in any useful way.

Racket offers a de-compilation API, however the structs it produces are still dense reading. This project takes a de-compiled zo struct and offers:

We hope to add more features, especially a tool for comparing two bytecode files. Feedback and suggestions appreciated!