You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+6-2Lines changed: 6 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,25 +14,29 @@ Cinder currently supports compiling (Please note that this list is subject to ch
14
14
- Integer arithmetic
15
15
- Bitwise operators
16
16
- SSA construction
17
+
- For and While loops
17
18
- Fixed size arrays (stack allocated)
18
19
- Pointers (Deref and Address of)
20
+
- Variadic function calls
19
21
- aacps64
20
-
-Basic if statements, short circuiting and condition materialization
22
+
-If statements with short circuiting and condition materialization for boolean and conditional arithmetic
21
23
22
24
## Planned Features
23
25
24
26
Future planned features are
25
27
26
28
- Better cli infra (base is already done)
29
+
- Ternary operator
30
+
- Do-While loops (Just mechanical implementation, was too lazy til now)
27
31
- Enums
28
-
- For and While loops (lol)
29
32
- Switch statements
30
33
- Function pointer invocation
31
34
- Basic optimization passes like Constant Folding, Constant Propagation, DCE and maybe some memory analysis
32
35
- Some experimental optimization passes
33
36
- Structs (This is a far reach, as implementing aacps64 for structs is a real hassle so expect this to take time)
34
37
- Some simple pre-processor for handling includes and basic macro expansion documented [here](https://www.spinellis.gr/blog/20060626/cpp.algo.pdf)
35
38
39
+
Somewhere down the line I will also have to refactor a great part of the compiler, as some of the design choices I made in the past turned out to not be the correct ones going forward.
36
40
## Architecture
37
41
38
42
Cinder tries to mimik a large portion of the well established clang and llvm architecture.
0 commit comments