Skip to content
/ CSR Public template

Common Script Runtime for JASM Bytecode

License

Notifications You must be signed in to change notification settings

ysufender/CSR

Repository files navigation

CSR - Common Script Runtime

CSR is the runtime of JASM bytecode. The purpose of CSR is to give life to JASM bytecode and make it useful. After all, a bytecode that can't be run doesn't really mean anything. In addition, the future plans for this project includes adding JIT compilation support for JASM bytecode.

CSR is a part of CSLB project. The CSLB project (which stands for Common Scripting Language Backend, pronunced as SeezleBee) consists of three parts: Assembler, Linker and Runtime. The runtime part is CSR itself, as can be understood from the name. The assembler and linker make up JASM and it has its own repo.

NOTE: FlatVM is the currently in progress VM type and is the only supported one. If you want to use the other VM under bytemode/structured/ I can't guarantee that it'll work with the existing JASM.

Quickstart

Installation

You can either grab the compiled binaries from the release section (if there is any), or build CSR from source. I recommend building from source since it's pretty easy.

Building From The Source

See BUILD.md

Basic CLI Usage

Here is the helper text from the current version of CSR:


Common Script Runtime (CSR)
        Description: Common Script Runtime for JASM Bytecode
        Version: 0.2.1
        Enable JIT: Unavailable

Available Flags:
        --help , -h : Print this help text.
        --version , -v : Print version.

        --no-new , -n : Do not create a new instance of CSR, use an already running one.
        --no-strict-messages , -nsm : Don't strictly verify messages in each checkpoint when dispatching.

        --exe <..params..>, -e : Executable files to execute.

        --unsafe , -u : Load extender dll of each executable.

        --step , -s : Run the VM once every input.

CSR Documentation

If you want to know more about how CSR works you can start by reading the docs

Footnotes

The licenses, readmes and citations for every library used lies within its own directory under lib.

About

Common Script Runtime for JASM Bytecode

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Languages