CHatingPython
|
46d0de759a
|
feat(furc/ssa): implement SSA stage
|
2026-09-10 21:48:45 +02:00 |
|
CHatingPython
|
5403c0e1a4
|
feat(furc): actually use SSA
|
2026-08-18 17:49:43 +02:00 |
|
CHatingPython
|
cc88d6b6a0
|
refactor(furc): move IR to middle-end
|
2026-08-10 19:57:56 +02:00 |
|
CHatingPython
|
0e916c314a
|
feat(furc/IR): move IR from furlang to furc
First try baby, whoo!
|
2026-08-10 18:34:10 +02:00 |
|
CHatingPython
|
4b9f58b34f
|
feat(furc/parser): add function calls
|
2026-08-09 18:34:53 +02:00 |
|
CHatingPython
|
2126b03069
|
feat(furc/parser): add if expression
|
2026-08-09 17:26:21 +02:00 |
|
CHatingPython
|
47e8b1bf51
|
feat(furc/parser): add pre- and post- conditions
|
2026-08-09 17:17:47 +02:00 |
|
CHatingPython
|
7ebc27cab9
|
feat(furc/parser): add while statement
|
2026-08-08 00:07:38 +02:00 |
|
CHatingPython
|
ecdf6944a7
|
feat(furc/lexer): add integers
|
2026-08-07 11:59:45 +02:00 |
|
CHatingPython
|
79b6b9742d
|
feat(furc/parser): parse binary and unary ops
|
2026-08-07 11:24:52 +02:00 |
|
CHatingPython
|
db485af7f6
|
feat(furc): implement a basic parser
|
2026-08-06 10:54:54 +02:00 |
|
CHatingPython
|
3faafe371f
|
feat(furc): implement lexer
|
2026-08-05 12:35:49 +02:00 |
|
CHatingPython
|
224468446d
|
refactor: remove furc for later remake
|
2026-08-04 13:09:46 +02:00 |
|
CHatingPython
|
d49b4f5bc7
|
refactor: improve functions
Closes: #49
|
2026-07-08 00:19:37 +02:00 |
|
CHatingPython
|
ee9eadeea8
|
feat: introduce sizeof instruction
Closes: #34
|
2026-07-05 22:33:15 +02:00 |
|
CHatingPython
|
642d57622a
|
feat: introduce pointerof operation
Introduce pointerof operation and do some side-quests along the way.
Refs: #34
Closes: #17
|
2026-07-05 14:54:16 +02:00 |
|
CHatingPython
|
a7ab214ce3
|
refactor: make context inherit module handle container
Refs: #39
|
2026-07-03 19:41:28 +02:00 |
|
CHatingPython
|
42f020977e
|
feat: introduce more integer thing types
Closes: #31
|
2026-06-29 20:43:00 +02:00 |
|
CHatingPython
|
6ab9254746
|
refactor: improve thing types
Change thing_t enumeration to thing_type structure.
Closes: #30
|
2026-06-29 20:36:42 +02:00 |
|
CHatingPython
|
8466902281
|
feat(IR): improve IR functions
Add access specifiers and parameter counts to furlang's IR functions.
|
2026-06-28 13:21:13 +02:00 |
|
CHatingPython
|
d8d81851d3
|
feat(furc): introduce native and import functions
Closes: #19
|
2026-06-24 18:26:01 +02:00 |
|
CHatingPython
|
a61f5c194b
|
refactor(furc): improve function declarations
Refs: #16
|
2026-06-24 15:52:14 +02:00 |
|
CHatingPython
|
7d2e748c27
|
feat(furc): introduce furvm backend to furc
Closes: #14
|
2026-06-24 14:56:49 +02:00 |
|
CHatingPython
|
8909a0cfff
|
refactor(furc): bring back ADCE to post process
Refs: #12
|
2026-06-23 15:21:12 +02:00 |
|
CHatingPython
|
dad2c180d6
|
refactor(furc): bring back SCCP to post process
Refs: #12
|
2026-06-23 15:15:01 +02:00 |
|
CHatingPython
|
4478a839b7
|
refactor(furc): improve the SSA optimization class
Improve and rename the SSA optimization class to post process.
Refs: #12
|
2026-06-23 14:54:28 +02:00 |
|
CHatingPython
|
190aa8f985
|
refactor(furc): move arena allocator out of the parser
Refs: #12
|
2026-06-20 11:56:15 +02:00 |
|
CHatingPython
|
767970c69b
|
feat(furc): introduce while loop statement
Refs: #2
|
2026-06-12 23:10:26 +02:00 |
|
CHatingPython
|
b4fda8d7d0
|
feat(furc): start working on ssa optimizations
Compute dominance frontiers.
Refs: #2
|
2026-06-12 12:21:52 +02:00 |
|
CHatingPython
|
af982c11ed
|
refactor(parser): change node handles to node results
Refs: #1
|
2026-06-03 11:57:09 +02:00 |
|
CHatingPython
|
af10dfcd40
|
refactor(parser): organize the includes
|
2026-06-01 21:28:00 +02:00 |
|
CHatingPython
|
62619cd0bc
|
refactor(IR)!: change IR block structure
It now requires an exit instruction.
|
2026-06-01 18:27:36 +02:00 |
|
CHatingPython
|
7caaaac4a0
|
feat(furc): add compound statement
This one: { [statement]... }
|
2026-06-01 17:23:00 +02:00 |
|
CHatingPython
|
55f4435670
|
fix(furc): bring back the LIBFURC guard to main.cpp
|
2026-05-31 20:12:23 +02:00 |
|
CHatingPython
|
91ef7f01a4
|
Add if statement
Signed-off-by: CHatingPython <chatingpython@gmail.com>
|
2026-05-31 19:16:53 +02:00 |
|
CHatingPython
|
646d185d40
|
Implement basic IR generator
Signed-off-by: CHatingPython <chatingpython@gmail.com>
|
2026-05-31 19:16:53 +02:00 |
|
CHatingPython
|
737f637a38
|
Add comparison operators
Signed-off-by: CHatingPython <chatingpython@gmail.com>
|
2026-05-31 19:16:51 +02:00 |
|
CHatingPython
|
8d162f926a
|
Add var read expression
Signed-off-by: CHatingPython <chatingpython@gmail.com>
|
2026-05-31 19:16:51 +02:00 |
|
CHatingPython
|
b8b13d1635
|
Add paren expression
Signed-off-by: CHatingPython <chatingpython@gmail.com>
|
2026-05-31 19:16:51 +02:00 |
|
CHatingPython
|
f178b09f89
|
Add unary expression parsing
Signed-off-by: CHatingPython <chatingpython@gmail.com>
|
2026-05-31 19:16:51 +02:00 |
|
CHatingPython
|
f130553e20
|
Parse binop expressions
Signed-off-by: CHatingPython <chatingpython@gmail.com>
|
2026-05-31 19:16:50 +02:00 |
|
CHatingPython
|
7017d83204
|
Add default constructor to handle
Signed-off-by: CHatingPython <chatingpython@gmail.com>
|
2026-05-31 19:16:50 +02:00 |
|
CHatingPython
|
438288f8f1
|
Add gtest
Signed-off-by: CHatingPython <chatingpython@gmail.com>
|
2026-05-31 19:16:49 +02:00 |
|
CHatingPython
|
7df35fc075
|
Basic parser
Signed-off-by: CHatingPython <chatingpython@gmail.com>
|
2026-05-31 19:16:49 +02:00 |
|
CHatingPython
|
28f6deaba5
|
Basic lexer
|
2026-05-24 14:57:57 +02:00 |
|