0d54b319f1
dsx/dsx_server repo system first implementation
zxq52026-02-25 14:52:04 +00:00
ba4ced6433
added icon and .desktop file to DSA arch package
zxq52026-02-23 23:52:22 +00:00
4bee36eb7f
- added support for args in Builder trait - added is_lib arg for compiler to produce non-main assembly outputs - updated templates to use include_str
zxq52026-02-23 22:06:07 +00:00
42bc666c11
commented out debug print statements and removed some commented out code that's no longer needed
zxq52026-02-23 19:52:25 +00:00
1d38aca523
added serial-out support to emulator + serial lib & command line mode for dsa emulator
zxq52026-02-23 19:51:05 +00:00
7ab1ac8842
added logging to builder trait and implemented for compiler and assembler crates.
zxq52026-02-23 09:04:30 +00:00
a1d7b54479
- created dsx and dsx_server in place of dsx-build - dsx replaces dsx-build and is a build tool/package manager for the DSA ecosystem - dsx_server is the repository/server for dsx packages.
zxq52026-02-22 21:44:41 +00:00
7117b927f3
- updated common with new compiler/builder trait to provide a common interface for build tools - updated editor and build tooling to use new system
zxq52026-02-22 21:43:22 +00:00
4ed5da259e
continued work on new register allocator implementation.
zxq52026-02-14 20:23:20 +00:00
7b18922cc7
Merge pull request 'Merge compiler and emulator progress from last few months into main.' (#11) from compiler into main
main
zxq52026-02-14 11:54:15 +00:00
75ad04cf95
forgot to commit these
zxq52026-02-10 16:37:33 +00:00
8361833b1c
broken commit, started working on scopes
zxq52026-02-10 16:33:32 +00:00
5e575e2cd8
used claude to write a language spec (syntax and simple examples) for DSC that we can follow as a reference for implementation.
zxq52026-02-10 10:05:13 +00:00
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
zxq52026-02-10 10:03:48 +00:00
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
zxq52026-02-09 00:10:37 +00:00
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
zxq52026-02-09 00:05:45 +00:00
f7ed764e96
renamed NoReg to Null in common
zxq52026-02-09 00:04:19 +00:00
328741eb51
updated compiler with support for more operators. (only the unary operators from this are implemented for now)
zxq52026-02-08 20:03:31 +00:00
9f35fc9415
block allocator implementation and example
zxq52026-02-08 12:36:49 +00:00
828f5bfb2d
fixed pointers and stuff.
zxq52026-02-08 11:45:26 +00:00
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!
zxq52026-02-08 00:14:18 +00:00
e9329eca95
update roadmap and ISA spec
zxq52026-02-07 18:21:37 +00:00
250b780e14
fix broken build system commit
zxq52026-02-07 18:20:59 +00:00
bbcef7178f
updated assembler to write to binary files correctly 🤦zxq52026-02-06 15:15:10 +00:00
1fcfb3120b
started working on build system
zxq52026-02-05 03:12:44 +00:00
e69514e46e
modified editor to include syntax for .dsc files
zxq52026-02-05 01:26:37 +00:00
b8abbfd02f
added a brainf&&k module to the compiler (specialised module so no frontend/backend distinction or use of standard model)
zxq52026-02-05 01:11:38 +00:00
c2bf9f6667
added a (very incomplete) C frontend for DSAC
zxq52026-02-05 01:10:47 +00:00
fa8aa1cd29
integrated compiler in DSA editor
zxq52026-02-04 01:58:55 +00:00
7780f5804f
deleted old files and modified some dsa source files
zxq52026-02-04 01:58:37 +00:00
889ee8ef71
wrote dsa/dsc code examples including an allocator
zxq52026-02-04 01:58:03 +00:00
dd20401ad6
added basic logging to common
zxq52026-02-04 01:57:40 +00:00
f4933b55fb
forgot to commit this
zxq52026-02-04 01:57:18 +00:00
14a04a524c
added support for DSA libraries to compiler and made some optimisations. provided an API for the editor to use.
zxq52026-02-04 01:56:58 +00:00
48a74bfde2
updated dsc example to reflect current feature set.
zxq52026-02-03 15:38:40 +00:00
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.
zxq52026-02-03 15:37:38 +00:00
ce2eda72a0
updated roadmap with progress
zxq52026-02-03 15:34:35 +00:00
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
zxq52026-02-03 02:11:30 +00:00
5573c5a609
minor code changes for codegen
zxq52026-02-02 11:15:45 +00:00
8f7163c459
added some documentation and started on compiler for custom language (not C) based on previous prototypes. pretty broken state rn.
zxq52026-02-01 22:16:09 +00:00
52ef7872f0
compiler working for some mathematical expressions, function calls and simple conditionals
zxq52026-01-31 13:28:42 +00:00
e31deb594f
fixed a bug with the multiply function in core.dsa and added a print_num function to print.dsa for decimal numbers
zxq52026-01-31 13:28:11 +00:00
63c9d858b4
added a to-do list and bacon.toml for developing the compiler
zxq52026-01-31 13:27:31 +00:00
d15e00c272
tokeniser: refactor to store Module directly in Tokeniser
nullndvoid2025-06-28 23:13:44 +01:00
a65dca6c5c
tokeniser: errors now print with SourceInfo if added
nullndvoid2025-06-28 23:11:24 +01:00
b8be1bd95f
tokeniser: add some actual tokeniser errors
nullndvoid2025-06-28 23:05:07 +01:00
f42c6d4095
assembler: refactor error handling and use ModuleId::new constructor
nullndvoid2025-06-28 23:03:13 +01:00
05a25447b2
minor optimisation to reduce unnecessary allocations
zxq52025-06-28 03:43:20 +01:00
56d2abe17f
- optimised main emulator loop, allowing updates only once every roughly 32,000 instructions. - optimised memory access patterns, removing unecessary mutability and accesses. - replaced the standard HashMap with an implementation that uses a faster hashing algorithm.
zxq52025-06-28 03:21:46 +01:00
eaaefd1b07
added rule to .gitignore
zxq52025-06-27 18:31:52 +01:00