项目作者: ZanderBrown

项目描述 :
AQA ALI Interpreter
高级语言: Rust
项目地址: git://github.com/ZanderBrown/aqabler.git
创建时间: 2018-06-19T20:51:16Z
项目社区:https://github.com/ZanderBrown/aqabler

开源协议:

下载


AQAbler

aqabler logo

“aquabler”, an implementation of AQA ALI (which is subset of ARM Assembly). While not a true assembler (and lacking debugging tools) aqabler gives students a chance to play with the ALI that will be used in their exams (AQA AS/A-Level Computer Science 7516 or 7517)

The implementation is in Rust to gain the performance of the likes of C but with pointer safety. We target rust stable and the aqabler library only requires std::collections::HashMap & std::fmt for the standard library with no other dependancies, whilst the cli requires parts of std::fs & std::path to read source files

Aqabler provides a very simple language with very few verbs, it doesn’t even have comments) but this is because we only intend to support the language as AQA defines it. Feel free to fork and add extra commands just be aware we are unlikly to accept such pull requests

Usage

Like most projects written in rust we use cargo as our build system. To build aqabler first use rustup to install the rust toolchain & cargo. Then clone aqabler to you machine and navigate to it’s directory in a terminal & run:

  1. cargo build --release

To make a release build of aqabler or to compile & run

  1. cargo run --release --bin aqabler <file.aqb>

Where <file.aqb> is a path to a file containing AQA ALI code