Skip to content

ZanderBrown/aqabler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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:

cargo build --release

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

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

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

Releases

No releases published

Packages

 
 
 

Contributors

Languages