Commit Graph

  • c02ecd58e8 add dsx clone command dsx-pkg zxq5 2026-02-25 22:16:52 +00:00
  • 0d54b319f1 dsx/dsx_server repo system first implementation zxq5 2026-02-25 14:52:04 +00:00
  • ba4ced6433 added icon and .desktop file to DSA arch package zxq5 2026-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 zxq5 2026-02-23 22:06:07 +00:00
  • 71b36dc6b5 reoganised project zxq5 2026-02-23 20:32:45 +00:00
  • 42bc666c11 commented out debug print statements and removed some commented out code that's no longer needed zxq5 2026-02-23 19:52:25 +00:00
  • 1d38aca523 added serial-out support to emulator + serial lib & command line mode for dsa emulator zxq5 2026-02-23 19:51:05 +00:00
  • 7ab1ac8842 added logging to builder trait and implemented for compiler and assembler crates. zxq5 2026-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. zxq5 2026-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 zxq5 2026-02-22 21:43:22 +00:00
  • 4ed5da259e continued work on new register allocator implementation. zxq5 2026-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 zxq5 2026-02-14 11:54:15 +00:00
  • a0b02cb955 Create tasks.json zxq5 2026-02-14 11:50:59 +00:00
  • 240f0e553f fixed failing tests zxq5 2026-02-14 11:50:54 +00:00
  • 25a59a6b19 fixed clippy lints zxq5 2026-02-14 11:50:36 +00:00
  • c67217a6b8 Merge branch 'main' into compiler zxq5 2026-02-14 11:09:33 +00:00
  • 7ccbd9258f - fixed some clippy lints - updated comments in compiler codegen - deleted old dsa compiler outputs - settings for zed zxq5 2026-02-14 11:05:15 +00:00
  • 201b18069b continued on register allocator rewrite, slow progress as scoping is proving to be a challenge zxq5 2026-02-14 02:46:29 +00:00
  • d66baf6f99 moved loc zxq5 2026-02-13 21:42:59 +00:00
  • 75ad04cf95 forgot to commit these zxq5 2026-02-10 16:37:33 +00:00
  • 8361833b1c broken commit, started working on scopes zxq5 2026-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. zxq5 2026-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 zxq5 2026-02-10 10:03:48 +00:00
  • 509b3465f1 docs update zxq5 2026-02-09 00:10:49 +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 zxq5 2026-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 zxq5 2026-02-09 00:05:45 +00:00
  • f7ed764e96 renamed NoReg to Null in common zxq5 2026-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) zxq5 2026-02-08 20:03:31 +00:00
  • 9f35fc9415 block allocator implementation and example zxq5 2026-02-08 12:36:49 +00:00
  • 828f5bfb2d fixed pointers and stuff. zxq5 2026-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! zxq5 2026-02-08 00:14:18 +00:00
  • e9329eca95 update roadmap and ISA spec zxq5 2026-02-07 18:21:37 +00:00
  • 250b780e14 fix broken build system commit zxq5 2026-02-07 18:20:59 +00:00
  • bbcef7178f updated assembler to write to binary files correctly 🤦 zxq5 2026-02-06 15:15:10 +00:00
  • 1fcfb3120b started working on build system zxq5 2026-02-05 03:12:44 +00:00
  • e69514e46e modified editor to include syntax for .dsc files zxq5 2026-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) zxq5 2026-02-05 01:11:38 +00:00
  • c2bf9f6667 added a (very incomplete) C frontend for DSAC zxq5 2026-02-05 01:10:47 +00:00
  • 2f91c4127c reorganised code examples zxq5 2026-02-05 01:10:31 +00:00
  • 89762b54e3 updated docs zxq5 2026-02-05 01:09:38 +00:00
  • a35cfbe864 updated compiler to support multiple frontends and backends zxq5 2026-02-05 01:09:14 +00:00
  • 8d130a870c deleted the c compiler zxq5 2026-02-05 01:07:59 +00:00
  • a1099249e9 updated roadmap zxq5 2026-02-04 01:59:50 +00:00
  • cb65a928c8 fixed bug where stack inspector shows incorrect addresses zxq5 2026-02-04 01:59:43 +00:00
  • fa8aa1cd29 integrated compiler in DSA editor zxq5 2026-02-04 01:58:55 +00:00
  • 7780f5804f deleted old files and modified some dsa source files zxq5 2026-02-04 01:58:37 +00:00
  • 889ee8ef71 wrote dsa/dsc code examples including an allocator zxq5 2026-02-04 01:58:03 +00:00
  • dd20401ad6 added basic logging to common zxq5 2026-02-04 01:57:40 +00:00
  • f4933b55fb forgot to commit this zxq5 2026-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. zxq5 2026-02-04 01:56:58 +00:00
  • f25db6c8fd updated assembler logging zxq5 2026-02-04 01:56:15 +00:00
  • 48a74bfde2 updated dsc example to reflect current feature set. zxq5 2026-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. zxq5 2026-02-03 15:37:38 +00:00
  • ce2eda72a0 updated roadmap with progress zxq5 2026-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 zxq5 2026-02-03 02:11:30 +00:00
  • 5573c5a609 minor code changes for codegen zxq5 2026-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. zxq5 2026-02-01 22:16:09 +00:00
  • 52ef7872f0 compiler working for some mathematical expressions, function calls and simple conditionals zxq5 2026-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 zxq5 2026-01-31 13:28:11 +00:00
  • 63c9d858b4 added a to-do list and bacon.toml for developing the compiler zxq5 2026-01-31 13:27:31 +00:00
  • 782c842a42 updated gitignore zxq5 2026-01-29 19:33:30 +00:00
  • 259746558f codegen progress zxq5 2026-01-29 19:29:48 +00:00
  • b9f98bff7b started on codegen, scaffolding basically done zxq5 2025-11-15 02:58:36 +00:00
  • 091dabfbf3 Merge remote-tracking branch 'refs/remotes/origin/compiler' into compiler zxq5 2025-11-14 23:37:57 +00:00
  • fd5b305576 started work on c compiler zxq5 2025-11-14 23:36:51 +00:00
  • b33fdbfeec rust macros make me want to unalive. zxq5 2025-07-01 01:08:37 +01:00
  • 2582ad10fa started work on compiler zxq5 2025-06-30 20:44:39 +01:00
  • b91207bfde misc: update release profile for optimised builds elf nullndvoid 2025-06-29 04:33:24 +01:00
  • 458661b02a misc: add 'profiling' profile. nullndvoid 2025-06-29 04:11:41 +01:00
  • 4ac630ba02 misc: add 'profiling' profile. nullndvoid 2025-06-29 04:10:54 +01:00
  • 85e3d443cc assembler: small misc updates, I am tired nullndvoid 2025-06-29 03:52:53 +01:00
  • c41e5328e6 docs: fix failing doctest nullndvoid 2025-06-29 02:20:47 +01:00
  • 67ebf48d6f removed old log file zxq5 2025-06-29 02:08:06 +01:00
  • 98668c681e more optimisations test program ~54MIPS -> ~110MIPS zxq5 2025-06-29 02:04:14 +01:00
  • 0528768947 fmt: ran 'cargo fmt'. nullndvoid 2025-06-29 01:43:31 +01:00
  • 21582f1297 tokeniser/syntax: (db varname: -> db varname) dropped colon, updated tests. nullndvoid 2025-06-29 00:22:10 +01:00
  • 6ceb35d439 tokeniser: bugfixes to comma handling, regexes nullndvoid 2025-06-29 00:11:36 +01:00
  • 8bb252e941 tokeniser: return TokeniserErrors where relevant. nullndvoid 2025-06-28 23:35:55 +01:00
  • 5317988fdd assembler: SourceInfo doc comment added to self.module. nullndvoid 2025-06-28 23:14:30 +01:00
  • d15e00c272 tokeniser: refactor to store Module directly in Tokeniser nullndvoid 2025-06-28 23:13:44 +01:00
  • a65dca6c5c tokeniser: errors now print with SourceInfo if added nullndvoid 2025-06-28 23:11:24 +01:00
  • b8be1bd95f tokeniser: add some actual tokeniser errors nullndvoid 2025-06-28 23:05:07 +01:00
  • f42c6d4095 assembler: refactor error handling and use ModuleId::new constructor nullndvoid 2025-06-28 23:03:13 +01:00
  • 05a25447b2 minor optimisation to reduce unnecessary allocations zxq5 2025-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. zxq5 2025-06-28 03:21:46 +01:00
  • eaaefd1b07 added rule to .gitignore zxq5 2025-06-27 18:31:52 +01:00
  • 5302ad3876 removed junk files zxq5 2025-06-27 18:30:53 +01:00
  • 2280f1e5d9 updated vscode settings zxq5 2025-06-27 18:30:26 +01:00
  • ae92510fb8 dsa lib bugfixes zxq5 2025-06-26 20:53:51 +01:00
  • 7c63340888 minor changes to assembler zxq5 2025-06-26 20:53:22 +01:00
  • eebea82c4a assembler: start tokenising multiline strings (WIP) nullndvoid 2025-06-26 17:42:48 +01:00
  • ed4fcc8495 assembler: enhance error handling and tokenization logic nullndvoid 2025-06-26 17:00:14 +01:00
  • e9f04824ea updates to dsa libs zxq5 2025-06-26 00:51:20 +01:00
  • 620584488b fixed unit tests & misc changes to workspace config zxq5 2025-06-26 00:50:58 +01:00
  • 40f8b1d57b assembler: fix clippy warnings nullndvoid 2025-06-25 19:49:20 +01:00
  • 68e459f32b assembler: use common to match registers nullndvoid 2025-06-25 19:29:56 +01:00
  • d9807b5b36 assembler: update tokeniser to allow extra prefixes and separators (0xDEAD_BEEF) nullndvoid 2025-06-25 19:15:51 +01:00
  • 7cb7525484 assembler: remove some current dead code nullndvoid 2025-06-25 17:56:45 +01:00
  • 7565374d5b assembler: Tokeniser updates, Compiler Engine is back finally nullndvoid 2025-06-25 17:55:34 +01:00
  • 9b9e153500 assembler: wrap Module's with Arc and update Tokeniser (still WIP) nullndvoid 2025-06-25 17:35:03 +01:00