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
|
7b609f87c9
|
feat(furc): introduce function call expression and call instruction
|
2026-06-28 13:21:13 +02:00 |
|
CHatingPython
|
0bcbe1d7d1
|
feat(furc): add access specifiers to functions
Introduce public and private access specifiers to functions.
Closes: #26
|
2026-06-28 13:21:05 +02:00 |
|
CHatingPython
|
d8d81851d3
|
feat(furc): introduce native and import functions
Closes: #19
|
2026-06-24 18:26:01 +02:00 |
|
CHatingPython
|
abeb5b390b
|
feat(furc): introduce function declaration parameters
Closes: #16
|
2026-06-24 18:06:40 +02:00 |
|
CHatingPython
|
a61f5c194b
|
refactor(furc): improve function declarations
Refs: #16
|
2026-06-24 15:52:14 +02:00 |
|
CHatingPython
|
d497e2de45
|
feat: introduce arrow tokens
Refs: #16
|
2026-06-24 15:50:37 +02:00 |
|
CHatingPython
|
70b7b6a2f4
|
feat: introduce parse type function
Refs: #15
|
2026-06-24 15:30:45 +02:00 |
|
CHatingPython
|
b5dcd6690a
|
feat: introduce AST type class
Refs: #15
|
2026-06-24 15:30:28 +02:00 |
|
CHatingPython
|
0baf896c3a
|
feat: introduce int32 keyword
Refs: #15
|
2026-06-24 15:27:29 +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
|
b35a274e81
|
refactor(furlang/ir): rename module to mod
Refs: #12
|
2026-06-16 11:25:41 +02:00 |
|
CHatingPython
|
a262014348
|
feat(furc/ssa): implement de-ssa phase
Refs: #2
|
2026-06-14 12:52:14 +02:00 |
|
CHatingPython
|
986015bc09
|
feat(furc/ssa): implement copy propagation
Refs: #2
|
2026-06-14 11:59:39 +02:00 |
|
CHatingPython
|
ac1e226b4b
|
feat(furc/ssa): add dead code elimination
Refs: #2
|
2026-06-13 22:33:57 +02:00 |
|
CHatingPython
|
d0f3637539
|
feat(furc/ssa): implement basic constant propagation
Refs: #2
|
2026-06-13 14:46:16 +02:00 |
|
CHatingPython
|
f1f62fad8c
|
refactor(furc/ssa): change to semi-pruned SSA
Refs: #2
|
2026-06-13 12:38:01 +02:00 |
|
CHatingPython
|
065a2af699
|
refactor(furc/ssa): fix typo
Refs: #2
|
2026-06-13 12:20:20 +02:00 |
|
CHatingPython
|
767970c69b
|
feat(furc): introduce while loop statement
Refs: #2
|
2026-06-12 23:10:26 +02:00 |
|
CHatingPython
|
97c01bc96c
|
refactor(furc/ssa): add exit instruction awareness
Refs: #2
|
2026-06-12 23:09:36 +02:00 |
|
CHatingPython
|
abd975be23
|
refactor(furc/ssa): revert back to maximal SSA
Refs: #2
|
2026-06-12 23:05:33 +02:00 |
|
CHatingPython
|
be386cf230
|
feat(furc/ssa): implement renaming
Refs: #2
|
2026-06-12 22:07:26 +02:00 |
|
CHatingPython
|
a14252bd1d
|
refactor(furlang/ir): improve instruction interface
Refs: #2
|
2026-06-12 14:45:26 +02:00 |
|
CHatingPython
|
6b92e19b23
|
refactor(furlang/ir): add version to register_operand
Refs: #2
|
2026-06-12 14:07:09 +02:00 |
|
CHatingPython
|
865691df26
|
feat(furc, ssa): implement phi instruction placement
Refs: #2
|
2026-06-12 13:45:35 +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
|
b8e1de8f68
|
refactor(AST): make operation node names consistent
Fixes #5
|
2026-06-03 18:25:18 +02:00 |
|
CHatingPython
|
2cfbc12977
|
refactor(AST): use pointers instead of results inside of AST nodes
|
2026-06-03 18:19:20 +02:00 |
|
CHatingPython
|
3006b58212
|
refactor(AST): add aliases for AST node pointers
Refs: #8
|
2026-06-03 16:20:08 +02:00 |
|
CHatingPython
|
b68a559980
|
refactor(AST): improve function declaration AST node
Change p_name to be of type std::string instead of furc::token.
|
2026-06-03 16:11:20 +02:00 |
|
CHatingPython
|
02ce25df2d
|
refactor(AST): improve AST node print operator
|
2026-06-03 16:10:35 +02:00 |
|
CHatingPython
|
ab6b65a70e
|
refactor(result): add print operator to result
Fixes #6
|
2026-06-03 16:06:59 +02:00 |
|
CHatingPython
|
d50bfc868f
|
refactor(AST): improve literals
Changed literal node to templated class and literals to aliases.
|
2026-06-03 14:13:28 +02:00 |
|
CHatingPython
|
52537e0955
|
refactor(AST): node location
Add location function to node and introduce a new abstract_node class.
Refs: #1
|
2026-06-03 13:47:01 +02:00 |
|
CHatingPython
|
9b92c06d87
|
refactor(handle): remove handle
Refs: #1
|
2026-06-03 11:59:36 +02:00 |
|
CHatingPython
|
af982c11ed
|
refactor(parser): change node handles to node results
Refs: #1
|
2026-06-03 11:57:09 +02:00 |
|
CHatingPython
|
a1b5726271
|
refactor(handle): remove non-pointer handle
Previous commit rendered it obsolete.
Refs: #1
|
2026-06-03 11:10:01 +02:00 |
|
CHatingPython
|
d1e32baffe
|
refactor(parser): change value and name handles to results
Refs: #1
|
2026-06-03 11:08:51 +02:00 |
|
CHatingPython
|
cf9c53a9e8
|
refactor(parser): add print operator to AST error
|
2026-06-03 10:53:34 +02:00 |
|
CHatingPython
|
26340c279d
|
refactor(parser): change body_h to body result
Refs: #1
|
2026-06-03 10:45:57 +02:00 |
|
CHatingPython
|
6ce2fba9d2
|
docs: document token error
|
2026-06-03 10:43:25 +02:00 |
|