updated roadmap with progress
This commit is contained in:
@@ -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 |
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user