zxq5
a0b02cb955
Create tasks.json
2026-02-14 11:50:59 +00:00
zxq5
240f0e553f
fixed failing tests
...
TODO: add comprehensive testing to everything
2026-02-14 11:50:54 +00:00
zxq5
25a59a6b19
fixed clippy lints
2026-02-14 11:50:36 +00:00
zxq5
c67217a6b8
Merge branch 'main' into compiler
2026-02-14 11:09:33 +00:00
zxq5
7ccbd9258f
- fixed some clippy lints
...
- updated comments in compiler codegen
- deleted old dsa compiler outputs
- settings for zed
2026-02-14 11:05:15 +00:00
zxq5
201b18069b
continued on register allocator rewrite, slow progress as scoping is
...
proving to be a challenge
2026-02-14 02:46:29 +00:00
zxq5
d66baf6f99
moved loc
2026-02-13 21:42:59 +00:00
zxq5
75ad04cf95
forgot to commit these
2026-02-10 16:37:33 +00:00
zxq5
8361833b1c
broken commit, started working on scopes
2026-02-10 16:33:32 +00:00
zxq5
5e575e2cd8
used claude to write a language spec (syntax and simple examples) for
...
DSC that we can follow as a reference for implementation.
2026-02-10 10:05:13 +00:00
zxq5
931af90789
- renamed assembler_runner to just assembler
...
- implemented type parsing including custom types and generics (useless
for now as we do no semantic analysis)
- implemented struct literal parsing
- implemented struct definition parsing (no generics yet)
- implemented tuple parsing
- registers are now allocated starting from zero
- updated to-dos
2026-02-10 10:03:48 +00:00
zxq5
509b3465f1
docs update
2026-02-09 00:10:49 +00:00
zxq5
22241a5633
- implementation of <var> <op> = <expr> type statements such as `x +=
...
5`
- implementation of logical and shift operations in parser and codegen.
- implementation of sizeof keyword as unary operator
in progress (non functional)
- implementation of prefix and postfix inc/dec operators
- array access by index (implemented, untested as arrays aren't
implemented yet). essentially just a pointer write with offset.
- struct/member access (parsing implemented, untested.)
2026-02-09 00:10:37 +00:00
zxq5
e2be83414b
- updated assembler to support new shift implementation
...
- updated emulator to support new shift implementation
- updated emulator to rename NoReg to Null as in the common lib
2026-02-09 00:05:45 +00:00
zxq5
f7ed764e96
renamed NoReg to Null in common
2026-02-09 00:04:19 +00:00
zxq5
328741eb51
updated compiler with support for more operators.
...
(only the unary operators from this are implemented for now)
2026-02-08 20:03:31 +00:00
zxq5
9f35fc9415
block allocator implementation and example
2026-02-08 12:36:49 +00:00
zxq5
828f5bfb2d
fixed pointers and stuff.
2026-02-08 11:45:26 +00:00
zxq5
6699333b2c
- C frontend broken for now
...
- If statements work properly now (hopefully)
- still issues with while loops pushing vars to the stack. need scoping
implemented to fix this!
- refactored registers.rs and fixed faulty logic.
- made register allocation optimisations
2026-02-08 00:14:18 +00:00
zxq5
e9329eca95
update roadmap and ISA spec
2026-02-07 18:21:37 +00:00
zxq5
250b780e14
fix broken build system commit
2026-02-07 18:20:59 +00:00
zxq5
bbcef7178f
updated assembler to write to binary files correctly 🤦
2026-02-06 15:15:10 +00:00
zxq5
1fcfb3120b
started working on build system
2026-02-05 03:12:44 +00:00
zxq5
e69514e46e
modified editor to include syntax for .dsc files
2026-02-05 01:26:37 +00:00
zxq5
b8abbfd02f
added a brainf&&k module to the compiler (specialised module so no
...
frontend/backend distinction or use of standard model)
2026-02-05 01:11:38 +00:00
zxq5
c2bf9f6667
added a (very incomplete) C frontend for DSAC
2026-02-05 01:10:47 +00:00
zxq5
2f91c4127c
reorganised code examples
2026-02-05 01:10:31 +00:00
zxq5
89762b54e3
updated docs
2026-02-05 01:09:38 +00:00
zxq5
a35cfbe864
updated compiler to support multiple frontends and backends
2026-02-05 01:09:14 +00:00
zxq5
8d130a870c
deleted the c compiler
2026-02-05 01:07:59 +00:00
zxq5
a1099249e9
updated roadmap
2026-02-04 01:59:50 +00:00
zxq5
cb65a928c8
fixed bug where stack inspector shows incorrect addresses
2026-02-04 01:59:43 +00:00
zxq5
fa8aa1cd29
integrated compiler in DSA editor
2026-02-04 01:58:55 +00:00
zxq5
7780f5804f
deleted old files and modified some dsa source files
2026-02-04 01:58:37 +00:00
zxq5
889ee8ef71
wrote dsa/dsc code examples including an allocator
2026-02-04 01:58:03 +00:00
zxq5
dd20401ad6
added basic logging to common
...
TODO: improve logging
2026-02-04 01:57:40 +00:00
zxq5
f4933b55fb
forgot to commit this
2026-02-04 01:57:18 +00:00
zxq5
14a04a524c
added support for DSA libraries to compiler and made some optimisations.
...
provided an API for the editor to use.
2026-02-04 01:56:58 +00:00
zxq5
f25db6c8fd
updated assembler logging
2026-02-04 01:56:15 +00:00
zxq5
48a74bfde2
updated dsc example to reflect current feature set.
2026-02-03 15:38:40 +00:00
zxq5
7973b2afca
- refactored lexer
...
- updated lexer to allow hex and binary integer literals
- updated parser with support for writing to pointers
- updated code generation to support writing to pointers
- fixed a bug with codegen where args are loaded from incorrect offsets
due to saving registers prior to calling.
2026-02-03 15:37:38 +00:00
zxq5
ce2eda72a0
updated roadmap with progress
2026-02-03 15:34:35 +00:00
zxq5
3afeafc9d4
- compiler works for basic maths expressions and functions
...
- basic pointers and reading values from pointers works
- writing to pointers not yet implemented (looks painful so a problem
for tomorrow)
- updated print library. the compiler has this hardcoded in all programs
for now
2026-02-03 02:11:30 +00:00
zxq5
5573c5a609
minor code changes for codegen
2026-02-02 11:15:45 +00:00
zxq5
8f7163c459
added some documentation and started on compiler for custom language (not C) based on previous prototypes. pretty broken state rn.
2026-02-01 22:16:09 +00:00
zxq5
52ef7872f0
compiler working for some mathematical expressions, function calls and
...
simple conditionals
2026-01-31 13:28:42 +00:00
zxq5
e31deb594f
fixed a bug with the multiply function in core.dsa and added a print_num
...
function to print.dsa for decimal numbers
2026-01-31 13:28:11 +00:00
zxq5
63c9d858b4
added a to-do list and bacon.toml for developing the compiler
2026-01-31 13:27:31 +00:00
zxq5
782c842a42
updated gitignore
2026-01-29 19:33:30 +00:00
zxq5
259746558f
codegen progress
2026-01-29 19:29:48 +00:00
zxq5
b9f98bff7b
started on codegen, scaffolding basically done
2025-11-15 02:58:36 +00:00
zxq5
091dabfbf3
Merge remote-tracking branch 'refs/remotes/origin/compiler' into compiler
2025-11-14 23:37:57 +00:00
zxq5
fd5b305576
started work on c compiler
2025-11-14 23:36:51 +00:00
zxq5
b33fdbfeec
rust macros make me want to unalive.
2025-07-01 01:08:37 +01:00
zxq5
2582ad10fa
started work on compiler
2025-06-30 20:44:39 +01:00