7 releases (4 breaking)

0.15.1 May 8, 2023
0.15.0 May 5, 2023
0.14.0 Jul 14, 2022
0.13.0 Apr 10, 2022
0.11.2 Feb 26, 2022

#484 in Programming languages

31 downloads per month

MPL-2.0 license

105KB
2.5K SLoC

cambridge-asm-cli

GitHub Workflow Status Crates.io

Command line interface to execute pseudoassembly programs

Usage

casm -h

Cambridge Pseudoassembly Interpreter x.y.z
Saadi Save <github.com/SaadiSave>
Run pseudoassembly from Cambridge International syllabus 9618 (2021)

USAGE:
    casm <SUBCOMMAND>

OPTIONS:
    -h, --help       Print help information
    -V, --version    Print version information

SUBCOMMANDS:
    compile    Compile pseudoassembly
    help       Print this message or the help of the given subcommand(s)
    run        Run compiled or plaintext pseudoassembly

casm help run

casm-run 
Run compiled or plaintext pseudoassembly

USAGE:
    casm run [OPTIONS] <PATH>

ARGS:
    <PATH>    Path to the input file containing compiled or plaintext pseudoassembly

OPTIONS:
    -f, --format <FORMAT>    Format of input file [default: pasm] [possible values: pasm, json, ron,
                             yaml, bin]
    -h, --help               Print help information
    -t, --bench              Show execution time
    -v, --verbose            Increase logging level

casm help compile

casm-compile 
Compile pseudoassembly

USAGE:
    casm compile [OPTIONS] <INPUT>

ARGS:
    <INPUT>    Path to the input file containing pseudoassembly

OPTIONS:
    -f, --format <FORMAT>    Format of output file [default: json] [possible values: json, ron,
                             yaml, bin]
    -h, --help               Print help information
    -m, --minify             Minify output
    -o, --output <OUTPUT>    Path to output file
    -v, --verbose            Increase logging level

Log levels

  • OFF by default
  • -v = WARN: Enable warnings
  • -vv = INFO: Enable info logs
  • -vvv = DEBUG: Enable debugging logs
  • -vvvv = TRACE: Trace execution line by line

WARN

Arithmetic overflows are logged as warnings.

INFO

General status is logged as info.

DEBUG

Steps in the parsing procedure and internal structs created are shown in debug logs

TRACE

Line-by-line execution is logged

Dependencies

~9–18MB
~220K SLoC