Skip to content

Tags: LimeEng/brainrust

Tags

v0.1.5

Toggle v0.1.5's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Profiling Interpreter

Implemented a profiling interpreter as an alternative to the regular interpreter. It is currently pretty flawed and barebones, and ridiculously slow. It would be desirable to speed it up but this is a good baseline for now.

v0.1.4

Toggle v0.1.4's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
General fixes & edition 2024

- Flattened cargo workspace into a simple crate
- Updated to edition 2024
- Updated dependencies
- Fixed issues as reported by `cargo clippy` and `cargo fmt`
- Updated descriptions
- Modernized and simplified workflows
- Bumped version

v0.1.3

Toggle v0.1.3's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Merge pull request #19 from LimeEng/cli-options

Added support for controlling total memory allocation and for printing the time spent parsing and executing a specified program.

While this does not completely solve #9, it does implement important aspects of it.

Closes #9

Signed-off-by: Emil Englesson <englesson.emil@gmail.com>

v0.1.2

Toggle v0.1.2's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Merge pull request #18 from LimeEng/ci

Parallelized the CI workflow and updated some github actions

Signed-off-by: Emil Englesson englesson.emil@gmail.com

v0.1.1

Toggle v0.1.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Merge pull request #13 from LimeEng/clippy-suggestions

Clippy suggested some improvements to the code which were applied.

Signed-off-by: Emil Englesson <englesson.emil@gmail.com>

v0.1.0-prerelease

Toggle v0.1.0-prerelease's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Merge pull request #3 from LimeEng/basic-optimization

This pull request adds a simple optimizer that merges pointer movements and cell value updates.

For example, if the optimizer finds two instructions in a row that adds 1 to the current cell, it takes those two instructions and replaces them with a single instruction that adds 2 to the current cell, like this: Add(1), Add(1) => Add(2)

Since this changes the number of instructions the optimizer needs to re-link the loops, which incurs an extra traversal of the all the instructions. A future version might be able to avoid linking the loops a second time.

Signed-off-by: Emil Englesson englesson.emil@gmail.com