Skip to content

Commit 0d3ab6a

Browse files
🔥 Clean up files, update todos for next stage of development
1 parent 21452de commit 0d3ab6a

File tree

8 files changed

+85
-93
lines changed

8 files changed

+85
-93
lines changed

README.md

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,88 @@ Link: https://yutian-chen.gitbook.io/c0vm.ts-dev-documentation/user-manual/user-
2424
# Developer Documentation
2525

2626
Link: https://yutian-chen.gitbook.io/c0vm.ts-dev-documentation/
27+
28+
# Ongoing Developments
29+
30+
## C0VM.ts Main Functionality
31+
32+
- [ ] **Error Handling**: Friendly Error Message
33+
- [ ] **Function**: Change `NativeIO::Readline` to `async` function
34+
- [ ] **Function**: Improve type inference system - allow struct on stack **[Breaking change required]**
35+
- [x] **Function**: Type Inference System during runtime
36+
- [x] **Function**: Show local variable’s value during runtime
37+
- [x] **Function**: `NativeIO::Readline`
38+
- [x] **Debug**: Check the bug when running `buggy_SSA_test.bc0` problem.
39+
- [x] **Parser**: Deal with “dummy return value” (occurs at `void` functions)
40+
- [x] **Future**: Map the source code line number to bytecode line number **@Iliano**
41+
- [x] **Type Inference**: Resolve `typedef` in C0 source code automatically
42+
- [x] **Function**: Support `NativeParse` functions
43+
- [x] **Function**: Partially support `NativeFloat` functions (`printint` and `printhex`)
44+
- [x] **Debugger**: Add `Details` panel in debugger options. Show all C0VM details (`V`, `S`, etc.)
45+
- [ ] <del>**Function**: Heap allocator garbage collection based on ref count</del>
46+
47+
## UI/UX Enhancements
48+
49+
- [ ] **UX**: Shortcut key for Run and Step
50+
- [ ] **UX**: Rename editor tab on second-key click
51+
- [ ] **UI**: flexible grid proportion *(Nice to have)*
52+
- [ ] **React**: Encapsulate the application using `shadowRoot` in HTML *(Nice to have)*
53+
- [x] **UI**: Add gap between rows in `stacknode` of graphical debugger
54+
- [x] **UI**: Add border to values in `stacknode`
55+
- [x] **UI**: Optimize user workflow
56+
- [x] **UI**: File import based on popup window dialog
57+
- [x] **UI**: Enable/Disable buttons in main function area based on input area
58+
- [x] **UI**: Fix CSS style of the react application page
59+
- [x] **UI**: Right aligned variable names in stack
60+
- [x] **UI**: Right aligned struct field names
61+
- [x] **React**: Add breakpoint as a component state instead of global variable (which may lead to strange problems, sometimes toggled breakpoint does not work at all)
62+
- [x] **React**: Add execution line (highlight line) as component state instead of global state
63+
64+
## Debug Console
65+
66+
- [ ] **Debugger**: Show pointer address on hover on struct component
67+
- [ ] **Debugger**: Store break point state when user switch between BC0 and C0 mode using `toJSON` and `fromJSON` serialization methods in Codemirror.
68+
- [x] **Debugger**: Show function call stack
69+
- [x] **Debugger**: Show struct field value whenever possible
70+
- [x] **Debugger**: Show array content (elements in `arr`) whenever possible
71+
- [x] **Debugger**: change pointer value display
72+
- [x] **Debugger**: Expand first level by default
73+
- [x] **Debugger**: Make struct debug display more compact
74+
- [x] **Debugger**: Add a button/arrow on func name collapse/expand
75+
- [x] **Debugger**: When array is not initialized, it’s by default an empty array (currently displayed as NULL)
76+
- [x] **Debugger**: Just show the function name on debug console (not `f main` as it currently shows)
77+
- [x] **Debugger**: Darken breakpoint column on hover
78+
- [ ] <del>**Debugger**: Add a “step over” option?</del>
79+
80+
81+
## Feature Enhancements
82+
83+
- [x] **Feature**: Breakpoint, Step and Run
84+
- [x] **Feature**: Show execution position
85+
- [x] **Feature**: Compile Multiple Files
86+
- [x] **Feature**: Compile with flags
87+
88+
## Editor Enhancement
89+
90+
- [ ] **Syntax Highlighting**: Rewrite the parser generator profile to match with formal definition in `C0Reference.pdf`
91+
- [ ] **Editor**: Jump to the line executing
92+
- [ ] **Debug**: Fix drag & drop import not working problem
93+
- [ ] **Editor**: Import project (folder)
94+
- [ ] **Editor**: Import object file (`.o0` and `.o1` file)
95+
- [ ] **Editor**: Autocomplete for C0 Language *(Nice to have)*
96+
- [ ] **Editor**: Recover editor content based on `localStorage`
97+
- [x] **Editor**: Refresh & Render problem when scrolling
98+
- [x] **Editor**: Syntax Highlighting (BC0)
99+
- [x] **Editor**: Middle comment in BC0 in another color
100+
- [x] **Editor**: Syntax Highlighting (C0)
101+
- [x] **Editor**: Multiple File Editors (Tabs?)
102+
- [x] **Syntax Highlighting**: Swap the syntax highlight between instruction and comment
103+
- [ ] <del>**Editor**: Auto language-detection & switch</del>
104+
105+
## C0VM.ts Backend Server
106+
107+
- [x] **Server**: Change the synchronous system-calls to `async`.
108+
- [x] **Server**: Support the -d flag option
109+
- [x] **Server**: Documentation of Compile-code API
110+
- [x] **Server**: Extended Bytecode format to allow c0 - bc0 correspondence
111+

docs/logo192.png

-5.22 KB
Binary file not shown.

docs/logo512.png

-9.44 KB
Binary file not shown.

docs/manifest.json

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,6 @@
66
"src": "favicon.ico",
77
"sizes": "64x64 32x32 24x24 16x16",
88
"type": "image/x-icon"
9-
},
10-
{
11-
"src": "logo192.png",
12-
"type": "image/png",
13-
"sizes": "192x192"
14-
},
15-
{
16-
"src": "logo512.png",
17-
"type": "image/png",
18-
"sizes": "512x512"
199
}
2010
],
2111
"start_url": ".",

misc/C0VM.ts Todos.md

Lines changed: 0 additions & 73 deletions
This file was deleted.

public/logo192.png

-5.22 KB
Binary file not shown.

public/logo512.png

-9.44 KB
Binary file not shown.

public/manifest.json

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,6 @@
66
"src": "favicon.ico",
77
"sizes": "64x64 32x32 24x24 16x16",
88
"type": "image/x-icon"
9-
},
10-
{
11-
"src": "logo192.png",
12-
"type": "image/png",
13-
"sizes": "192x192"
14-
},
15-
{
16-
"src": "logo512.png",
17-
"type": "image/png",
18-
"sizes": "512x512"
199
}
2010
],
2111
"start_url": ".",

0 commit comments

Comments
 (0)