Skip to content

liraymond04/awa5_rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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