15 releases

0.1.15 Oct 13, 2024
0.1.14 Jul 30, 2024

#210 in Programming languages

GPL-3.0-or-later

2MB
2K SLoC

Rust 2K SLoC // 0.0% comments C 315 SLoC // 0.0% comments

Contains (static library, 1.5MB) lib_wasm/libraylib.a

AWA5.RS

An AWA5.0 CLI tool written in Rust (btw)

Runs as an AWA5.0 interpreter for Awatisms with file extension .awasm and Awatalk with file extension .awa

Can also run as an assembler for Awatisms and Awatalk to object files, and assembled object files with extension .o can be run by the interpreter

Installation

To install or build from source, you will need to have rust or rustup installed

# using Arch Linux's package manager
$ sudo pacman -S rust # or rustup

If you installed rustup, you need to install a toolchain

$ rustup toolchain install latest

With Cargo

You can install from crates.io using cargo

$ cargo install awa5_rs

And then run from the command line

$ awa5_rs --help

From source

Or clone this repository and build it from source using cargo

$ git clone https://github.com/liraymond04/awa5_rs.git
$ cd awa5_rs
$ cargo build
$ ./target/debug/awa5_rs # you can also build and run with `cargo run`, and you can pass flags with `cargo run -- --help` for example

Web builds

You need Emscripten or emsdk installed

$ cd examples/wasm/raylib
$ cargo build --target wasm32-unknown-emscripten
$ cd target/wasm32-unknown-emscripten/debug
$ emrun index.html # opens the web build on localhost:6931, which can be opened in a browser

Usage

Usage: awa5_rs [OPTIONS] [input]

Arguments:
  [input]  File to interpret or convert

Options:
  -o, --output <output>  Output to file with new format .awasm .awa .o
  -s, --string <string>  String to interpret or convert
      --awasm            Parse string as awasm
      --awa              Parse string as awatalk
  -p, --path <path>      Search paths separated by ';' for shared libraries
  -i, --include <include>  Include paths separated by ';' for source files
  -h, --help             Print help
  -V, --version          Print version

Dependencies

~1.2–6.5MB
~40K SLoC