Commit Graph

179 Commits

Author SHA1 Message Date
CHatingPython 91ef7f01a4 Add if statement
Signed-off-by: CHatingPython <chatingpython@gmail.com>
2026-05-31 19:16:53 +02:00
CHatingPython f431d9b725 Fix AST visitor
Add default constructor

Signed-off-by: CHatingPython <chatingpython@gmail.com>
2026-05-31 19:16:52 +02:00
CHatingPython 6eb689bfb9 Fix and rename branch_nz to branch_cond in furlang IR
Signed-off-by: CHatingPython <chatingpython@gmail.com>
2026-05-31 19:16:52 +02:00
CHatingPython b2e33e1bdd Add AST visitor
Signed-off-by: CHatingPython <chatingpython@gmail.com>
2026-05-31 19:16:52 +02:00
CHatingPython 2395ee9977 Forward furc ast
Signed-off-by: CHatingPython <chatingpython@gmail.com>
2026-05-31 19:16:52 +02:00
CHatingPython dfcbc4f23b Add IR instruction and block to furlang
Signed-off-by: CHatingPython <chatingpython@gmail.com>
2026-05-31 19:16:52 +02:00
CHatingPython 28656fdf90 Add IR operand to furlang
Signed-off-by: CHatingPython <chatingpython@gmail.com>
2026-05-31 19:16:52 +02:00
CHatingPython 82c9037a6a Add result to furlang
Signed-off-by: CHatingPython <chatingpython@gmail.com>
2026-05-31 19:16:52 +02:00
CHatingPython 737f637a38 Add comparison operators
Signed-off-by: CHatingPython <chatingpython@gmail.com>
2026-05-31 19:16:51 +02:00
CHatingPython f4efb53531 Add var assign expression
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 1fa9e50b57 Remove the paren 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 86988ffea5 Add node_handle alias suffix _h
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 e205d67443 Introduce binop_expression_node
Signed-off-by: CHatingPython <chatingpython@gmail.com>
2026-05-31 19:16:50 +02:00
CHatingPython 48593a4350 Add ast::node and handle<T*, Error> comparison
And parser test for literals fingerscrossed
This commit is good, innit? But there will also be second one, and dessert

Signed-off-by: CHatingPython <chatingpython@gmail.com>
2026-05-31 19:16:50 +02:00
CHatingPython 4a58e97812 Add git hooks
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 ad84bc50bd Add integers to lexer
Signed-off-by: CHatingPython <chatingpython@gmail.com>
2026-05-31 19:16:50 +02:00
CHatingPython cbb2efc187 Improve AST nodes
Signed-off-by: CHatingPython <chatingpython@gmail.com>
2026-05-31 19:16:49 +02:00
CHatingPython 156aa224ee Use arena in parser
Signed-off-by: CHatingPython <chatingpython@gmail.com>
2026-05-31 19:16:49 +02:00
CHatingPython d2cfbb6763 Add arena to furlang
Signed-off-by: CHatingPython <chatingpython@gmail.com>
2026-05-31 19:16:49 +02:00
CHatingPython 2cf4ff90a5 Parser tests
Signed-off-by: CHatingPython <chatingpython@gmail.com>
2026-05-31 19:16:49 +02:00
CHatingPython 535b088f81 Add comments to lexer
Signed-off-by: CHatingPython <chatingpython@gmail.com>
2026-05-31 19:16:49 +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