From ce2eda72a030adae00e2aa2e45bb979c7f7afa4a Mon Sep 17 00:00:00 2001 From: zxq5 Date: Tue, 3 Feb 2026 15:34:35 +0000 Subject: [PATCH] updated roadmap with progress --- resources/ideas/DSA_Project_Roadmap.md | 82 +++++++++++++++----------- 1 file changed, 48 insertions(+), 34 deletions(-) diff --git a/resources/ideas/DSA_Project_Roadmap.md b/resources/ideas/DSA_Project_Roadmap.md index 563498e..a9604c4 100644 --- a/resources/ideas/DSA_Project_Roadmap.md +++ b/resources/ideas/DSA_Project_Roadmap.md @@ -236,19 +236,19 @@ **Dependencies:** None **Deliverable:** `docs/language-spec.md` -- [ ] Define syntax goals (simplicity, systems programming) +- [x] Define syntax goals (simplicity, systems programming) - [ ] Design type system - - [ ] Primitive types - - [ ] Pointers/references + - [x] Primitive types + - [x] Pointers/references - [ ] Structs - [ ] Arrays - - [ ] Function types -- [ ] Control flow syntax -- [ ] Function declaration syntax -- [ ] Module/import system -- [ ] Operator precedence + - [x] Function types +- [x] Control flow syntax +- [x] Function declaration syntax +- [x] Module/import system +- [x] Operator precedence - [ ] Write EBNF grammar -- [ ] Create example programs +- [x] Create example programs --- @@ -258,9 +258,13 @@ **Dependencies:** 2.1.1 **Deliverable:** Parser in `dsc-compiler` crate -- [ ] Adapt existing C lexer to new syntax +- [x] Adapt existing C lexer to new syntax - [ ] Implement new parser for designed syntax -- [ ] AST node definitions + - [ ] Array syntax + - [ ] Struct syntax + - [x] Pointer syntax + - [ ] Namespaced call syntax +- [x] AST node definitions - [ ] Error recovery mechanisms - [ ] Comprehensive parser tests - [ ] Syntax error message quality testing @@ -273,16 +277,16 @@ **Dependencies:** 2.1.2, 1.2.2 **Deliverable:** Working code generator -- [ ] Review and fix existing codegen issues +- [x] Review and fix existing codegen issues - [ ] Implement missing language features - [ ] Structs - [ ] Arrays - - [ ] Pointers/memory operations + - [x] Pointers/memory operations - [ ] For loops - [ ] Switch statements - [ ] Break/continue - [ ] Optimize register allocation further -- [ ] Implement proper function calling conventions +- [x] Implement proper function calling conventions - [ ] Add constant folding optimization - [ ] Dead code elimination - [ ] Test each feature thoroughly @@ -321,7 +325,17 @@ - [ ] Memory allocation (malloc/free) - [ ] String operations - [ ] Math functions + - [x] Multiply + - [ ] Divide (fix as very slow and broken) - [ ] I/O functions (improved print, read) + - [x] Print number + - [x] Print hex value + - [x] Print word + - [x] Print byte + - [x] Print from string ptr + - [x] Print whitespace and newline + - [x] Reset display + - [x] Reset cursor - [ ] System call interface - [ ] Tests for each function @@ -785,14 +799,14 @@ ## Summary Timeline -| Phase | Duration | Key Dependencies | -|---|---|---| -| Phase 1: Foundation | 3–4 weeks | None | -| Phase 2: Compiler | 3–4 weeks | Phase 1 complete | -| Phase 3: Build System | 2–3 weeks | Phases 1–2 complete | -| Phase 4: Debugger | 3–4 weeks | Phases 1–3 complete | -| Phase 5: Integration | 1–2 weeks | Phases 1–4 complete | -| Phase 6: CLI Emulator *(NTH)* | 4+ weeks | Phase 4 complete | +| Phase | Duration | Key Dependencies | +| ----------------------------- | --------- | ------------------- | +| Phase 1: Foundation | 3–4 weeks | None | +| Phase 2: Compiler | 3–4 weeks | Phase 1 complete | +| Phase 3: Build System | 2–3 weeks | Phases 1–2 complete | +| Phase 4: Debugger | 3–4 weeks | Phases 1–3 complete | +| Phase 5: Integration | 1–2 weeks | Phases 1–4 complete | +| Phase 6: CLI Emulator _(NTH)_ | 4+ weeks | Phase 4 complete | **Total Estimated Time: 12–17 weeks (3–4 months) for Phases 1–5** @@ -817,18 +831,18 @@ The following tasks are on the critical path and will block other work if delaye ## Recommended Work Order -| Weeks | Focus | Tasks | -|---|---|---| -| 1–2 | Binary Format & Linker | 1.1.1 → 1.1.2 → 1.1.3 | -| 3–4 | Assembler Rewrite | 1.2.1 → 1.2.2 | -| 5–6 | Compiler Syntax & Parser | 2.1.1 → 2.1.2 *(start 1.3 docs in parallel)* | -| 7–9 | Compiler Codegen & Types | 2.1.3 → 2.1.4 *(start 2.2.1 runtime in parallel)* | -| 10–11 | Build System | 3.1.1 → 3.1.2 → 3.1.3 | -| 12–13 | Package Management *(if desired now)* | 3.2.1 → 3.2.2 → 3.2.3 | -| 14–15 | Debug Symbols | 4.1.1 → 4.1.2 → 4.1.3 | -| 16–18 | Core Debugger | 4.2.1 → 4.2.2 → 4.2.4 | -| 19–20 | Editor Enhancements | 4.3.1 → 4.3.2 → 4.3.3 → 4.3.4 | -| 21–22 | Integration & Polish | 5.1.1 → 5.1.2 → 5.1.3 | +| Weeks | Focus | Tasks | +| ----- | ------------------------------------- | ------------------------------------------------- | +| 1–2 | Binary Format & Linker | 1.1.1 → 1.1.2 → 1.1.3 | +| 3–4 | Assembler Rewrite | 1.2.1 → 1.2.2 | +| 5–6 | Compiler Syntax & Parser | 2.1.1 → 2.1.2 _(start 1.3 docs in parallel)_ | +| 7–9 | Compiler Codegen & Types | 2.1.3 → 2.1.4 _(start 2.2.1 runtime in parallel)_ | +| 10–11 | Build System | 3.1.1 → 3.1.2 → 3.1.3 | +| 12–13 | Package Management _(if desired now)_ | 3.2.1 → 3.2.2 → 3.2.3 | +| 14–15 | Debug Symbols | 4.1.1 → 4.1.2 → 4.1.3 | +| 16–18 | Core Debugger | 4.2.1 → 4.2.2 → 4.2.4 | +| 19–20 | Editor Enhancements | 4.3.1 → 4.3.2 → 4.3.3 → 4.3.4 | +| 21–22 | Integration & Polish | 5.1.1 → 5.1.2 → 5.1.3 | ---