Commit Graph

155 Commits

Author SHA1 Message Date
CHatingPython 0534359503 feat(furvm): add clone function to thing
Closes #9
2026-06-10 19:32:07 +02:00
CHatingPython efe028a54f chore: improve the pre-commit hook 2026-06-10 19:30:15 +02:00
CHatingPython 1e19d83d83 feat(furvm): implement duplicate instruction 2026-06-10 19:20:38 +02:00
CHatingPython 8afeabfd69 refactor(furvm): future-proofing thing ctor and dtor 2026-06-10 16:05:53 +02:00
CHatingPython a4fd939cd2 feat(furvm): add reference counting
Refs: #10
2026-06-10 15:42:45 +02:00
CHatingPython 26d77bdc02 refactor(furvm): use generational indexes for thing
Refs: #10
2026-06-10 15:42:09 +02:00
CHatingPython d86f38d166 docs: document stack underflow exception 2026-06-10 15:10:35 +02:00
CHatingPython 874d1f14cb refactor(furvm): use an arena allocator for thing data
Refs: #10
2026-06-10 15:09:35 +02:00
CHatingPython 48c6da1134 feat(furvm): add stack underflow exception 2026-06-07 12:02:36 +02:00
CHatingPython 464b24eeed feat(furvm): implement return value instruction 2026-06-07 11:43:38 +02:00
Aleksander Krajewski eaa74fd573 Merge pull request #11 from redblueek/master
docs(contrib): make CONTRIBUTING.md better
2026-06-07 11:42:42 +02:00
redblueek 9cd54c1c60 docs(contrib): make CONTRIBUTING.md better 2026-06-07 11:40:28 +02:00
CHatingPython e7e5f36380 feat(furvm): add step function to executor 2026-06-07 10:58:51 +02:00
CHatingPython bfdbbb0d5f refactor(furvm): better thing implementation 2026-06-06 23:16:59 +02:00
CHatingPython daf16c18e1 refactor(furvm): add shared pointer aliases 2026-06-06 23:08:20 +02:00
CHatingPython 6824015728 refactor(furvm): implement thing constructor 2026-06-06 23:05:34 +02:00
CHatingPython a077457636 feat(furvm): add a thing 2026-06-06 22:52:25 +02:00
CHatingPython 5ace40b6aa refactor(furvm): change unique pointer to shared pointer for module 2026-06-06 22:51:44 +02:00
CHatingPython a869f71f3a feat(furvm): introduce executor 2026-06-06 21:05:17 +02:00
CHatingPython 16b6b9549c feat(furvm): add push byte as int instruction 2026-06-06 17:49:49 +02:00
CHatingPython c6ec18aeb8 feat(furvm): add return instructions 2026-06-06 17:43:35 +02:00
CHatingPython 4895489511 refactor(furvm): add id to module 2026-06-06 12:53:31 +02:00
CHatingPython 5407f8cda7 refactor(furvm): remove function from fwd.hpp 2026-06-05 18:31:06 +02:00
CHatingPython 2030b66c7d docs: add missing alias comment 2026-06-05 18:17:05 +02:00
CHatingPython 0304911516 refactor: add bytecode to module 2026-06-05 18:16:54 +02:00
CHatingPython 6481c9c71d refactor(furvm): change instruction_t base to furvm::byte 2026-06-05 18:14:25 +02:00
CHatingPython 6605b3264f docs: fix typo in PushConstant instruction 2026-06-05 18:06:54 +02:00
CHatingPython 66fdd1dc9c feat(furvm): introduce module, instruction and constant 2026-06-05 17:55:40 +02:00
CHatingPython 2f9328d85a feat(furvm): introduce context 2026-06-05 12:17:00 +02:00
CHatingPython 4a3ce6040c chore: init furvm 2026-06-04 11:06:31 +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
Aleksander Krajewski 1b9514c49c Merge pull request #7 from CHatingPython/remove-handle
Remove handle
2026-06-03 14:14:38 +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
CHatingPython cb7a348540 refactor(lexer): change token_handle to token result
Refs: #1
2026-06-02 16:49:40 +02:00
CHatingPython 3491f9aebb refactor(result): add value comparison operators 2026-06-02 16:03:38 +02:00
Aleksander Krajewski d422b80907 Merge pull request #4 from CHatingPython/docs
Add doxygen documentation
2026-06-02 14:01:39 +02:00
CHatingPython 66a46d8b88 docs: document IR 2026-06-02 13:57:23 +02:00