Commit Graph

31 Commits

Author SHA1 Message Date
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