Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
4a54fce
refactor(architecture)!: simplify architecture definition
ALVAROPING1 Sep 16, 2025
be3de86
chore: bump version to 2.0.0
ALVAROPING1 Sep 16, 2025
d1e27ce
feat(architecture): timer support
rajayonin Sep 19, 2025
5c2713f
refactor(architecture)!: disallow using strings as decimal numbers
ALVAROPING1 Sep 19, 2025
dd90320
refactor(architecture)!: simplify interrupt attribute names
rajayonin Sep 19, 2025
0bbbd14
ci: run tests on 2.0 branch
ALVAROPING1 Sep 19, 2025
8e24bfa
refactor(achitecture/json): remove instruction syntax `signature` field
ALVAROPING1 Oct 3, 2025
7343f2f
refactor(architecture/json)!: remove ugly hack to add `,` to instruct…
ALVAROPING1 Oct 3, 2025
b06d1c9
refactor(architecture): remove instruction help field
ALVAROPING1 Oct 3, 2025
f07f8f5
refactor(compiler/section): fix clippy warnings
ALVAROPING1 Oct 3, 2025
be64341
fix(architecure)!: fix misspelled names in architecture
ALVAROPING1 Oct 3, 2025
d5eff8b
feat(architecture)!: allow specifying binary encoding of registers
ALVAROPING1 Oct 7, 2025
221c0de
refactor(architecture)!: rename `cop` value field
ALVAROPING1 Oct 7, 2025
83fba96
refactor(architecture/json): auto-generate human-readable instruction…
ALVAROPING1 Oct 7, 2025
9c6a801
refactor(architecture): remove no longer used instruction `separated`…
ALVAROPING1 Oct 3, 2025
ddb1e68
refactor(architecture)!: remove support for linked registers
ALVAROPING1 Oct 9, 2025
43ed7a1
chore(parser): remove `IterInput` TODOs
ALVAROPING1 Oct 26, 2025
73180d1
perf(parser/expression): remove support for newlines within expressions
ALVAROPING1 Oct 26, 2025
53b090f
docs(js): fix typo in doc comment
ALVAROPING1 Nov 4, 2025
a923194
fix(parser): fix incorrect error on invalid line right after instruction
ALVAROPING1 Nov 17, 2025
d3ef512
fix(parser): fix incorrect span of instruction args when arg list is …
ALVAROPING1 Nov 17, 2025
addb564
refactor(parser/error): fix clippy warnings
ALVAROPING1 Nov 17, 2025
55cb944
refactor(architecture)!: change interrupt interface
rajayonin Dec 1, 2025
02d5dc4
chore!: rename to CreatorAssembler
ALVAROPING1 Dec 3, 2025
974a7d9
docs(architecture): fix typo in comment
ALVAROPING1 Jan 20, 2026
04e76c3
refactor: fix clippy/rustc warnings
ALVAROPING1 Jan 20, 2026
d9713ee
ci: disable running tests on 2.0 branch
ALVAROPING1 Jan 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
[package]
name = "creator-compiler"
version = "1.1.0"
name = "creator-assembler"
version = "2.0.0"
edition = "2021"
license = "LGPL-2.1-or-later"
description = "A reimplementation of Creator (https://creatorsim.github.io/)'s compiler"
description = "A reimplementation of Creator (https://creatorsim.github.io/)'s assembler"
categories = ["command-line-utilities", "compilers"]
keywords = ["compiler", "assembly", "assembler", "Creator"]
rust-version = "1.89"
Expand All @@ -17,7 +17,7 @@ crate-type = [
]

[[bin]]
name = "creator-compiler"
name = "creator-assembler"
required-features = ["cli"]

[features]
Expand Down
20 changes: 10 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Creator Compiler
# CREATOR Assembler

Reimplementation of the compiler used by [Creator](https://creatorsim.github.io/)
Reimplementation of the assembler used by [CREATOR](https://creatorsim.github.io/)
to have better performance, more helpful error messages, and a more correct output.

## Building
Expand All @@ -11,20 +11,20 @@ The only requirement is the rust toolchain, which can be installed through [`rus

### Running locally (CLI)

The compiler can be built from source using `cargo build --release`, which will
place the binary in `./target/release/creator-compiler`. The `--release` flag can
The assembler can be built from source using `cargo build --release`, which will
place the binary in `./target/release/creator-assembler`. The `--release` flag can
be omitted to generate debug binaries. Additionally, `cargo run --release -- [<ARGS>]`
can be used as a shortcut to build and run the binary. Running the application
without arguments provides a short description of the application and subcommands,
and using `creator-compiler help <command>` provides a description and usage
and using `creator-assembler help <command>` provides a description and usage
instructions for each command.

The compiler currently supports 3 modes of execution:
The assembler currently supports 3 modes of execution:

- Print architecture specification schema to `stdout`: `creator-compiler schema`
- Validate architecture specification file: `creator-compiler validate <architecture.json>`
- Print architecture specification schema to `stdout`: `creator-assembler schema`
- Validate architecture specification file: `creator-assembler validate <architecture.json>`
- Compile assembly input and print the result to `stdout`:
`creator-compiler compile <architecture.json> <assembly.s>`
`creator-assembler compile <architecture.json> <assembly.s>`
- The `-v`/`--verbose` flag can be used to also print the parsed AST

### JS Bindings
Expand All @@ -46,4 +46,4 @@ use the generated package, both for the web and Node.js:
which allows loading the page at `localhost:8080/js_example`.
- `web.js`: main module for the web example, shows how to load the package in the web
- `node.js`: main module for the Node.js example, shows how to load the package in Node.js
- `compiler.mjs`: module responsible for interaction with the package, shows how to use the provided API
- `assembler.mjs`: module responsible for interaction with the package, shows how to use the provided API
Loading