Commit Graph

197 Commits

Author SHA1 Message Date
kayomn bc3b9051dd Integrate Kym table directly into Kym VM code
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2023-08-12 13:14:00 +01:00
kayomn 1f9df3fc1d Refactor and clean up virtual machine 2023-08-12 12:57:50 +01:00
kayomn 1f8f3fd9dc Consolidate syscalls and calls into new expressions tree
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-07-31 02:29:50 +01:00
kayomn 4ee0bcab67 Fix incorrect stack popping order in set_dynamic opcode 2023-07-31 00:30:44 +01:00
kayomn 9435348877 Apply workaround for Zig struct re-assign miscompilation 2023-07-31 00:12:16 +01:00
kayomn 3173dd52fe Consolidate variable operations into expressions 2023-07-30 23:18:43 +01:00
kayomn b6f7ab1edb Add support for field get access of objects
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2023-07-30 14:34:19 +01:00
kayomn a62588dfe4 Fix compilation error in speed and size-optimized release builds 2023-07-30 14:33:41 +01:00
kayomn 8cb0f007d5 Fix compilation errors
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-07-29 16:04:27 +01:00
kayomn 0141c9c2ed Partially complete work on table overhaul
continuous-integration/drone/push Build is passing Details
2023-07-23 03:12:45 +01:00
kayomn 894dabb2c4 Fix leak detector message formatting 2023-07-22 15:20:31 +01:00
kayomn 51732a9bf5 Change KYM tokenizer to be internal AST.
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-07-22 15:06:39 +01:00
kayomn 62a318e69b Fix comments not being properly tokenized
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-07-22 14:56:57 +01:00
kayomn 7c71e0528f Add line delimiter between error messages and traces 2023-07-22 14:46:35 +01:00
kayomn b311c73c43 Add syntax error reporting
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-07-22 14:44:33 +01:00
kayomn a320a795bc Amend code review issues
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2023-07-22 13:57:39 +01:00
kayomn 8137f2b474 Fix memory leaks
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-07-22 12:36:47 +01:00
kayomn 7b4b827dc2 Refactor Kym runtime API 2023-07-22 11:03:23 +01:00
kayomn 1ea115b277 Replace globals with native call interface
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2023-07-21 23:03:25 +01:00
kayomn 84e5236ba1 Add global function calling syntax support 2023-07-19 12:19:56 +01:00
kayomn 1828eb3b45 Refactor Kym runtime values to be objects
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-07-18 23:52:56 +01:00
kayomn 440d63447f Hotfix parser and runtime bugs
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-07-14 20:00:11 +01:00
kayomn dc674ae2c3 Add local variables to Kym
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-07-12 01:51:32 +01:00
kayomn 48f7f97893 Fix default string hashing mechanism 2023-07-12 01:50:18 +01:00
kayomn 7b266fde58 Fix tests failing to trigger in CI
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-07-10 23:44:27 +01:00
kayomn 2218bc5c77 Add foundations of stack trace printing 2023-07-10 23:38:03 +01:00
kayomn 8d361634d7 Tidy up Kym API 2023-07-10 23:06:04 +01:00
kayomn ed585278ff Tidy up allocator type erasing bind function 2023-07-10 22:25:21 +01:00
kayomn c1f174a513 Get rid of extraneous and unused code
continuous-integration/drone/pr Build is failing Details
continuous-integration/drone/push Build is failing Details
2023-07-10 01:10:56 +01:00
kayomn 7604594630 Work in progress changes
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-06-22 23:46:48 +01:00
kayomn bf0ff03b49 Add stubs for chunk executor to be implemented in
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-06-04 14:45:06 +00:00
kayomn 3794259949 Amend code review comments
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2023-06-04 14:06:28 +00:00
kayomn 5500de299b Fix slab count not being properly updated 2023-06-04 14:00:21 +00:00
kayomn 155645a308 Fix allocation size info not updating in reallocs
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-06-04 13:44:27 +00:00
kayomn d378939f30 Remove allocation checks in optimized release builds 2023-06-04 13:37:26 +00:00
kayomn 341710bfbc Fix so, so many memory leaks 2023-06-04 13:09:30 +00:00
kayomn 9c871aac97 Clarify panic wording in Ona heap implementation 2023-06-04 12:34:48 +00:00
kayomn 331d862246 Fix leaks and double-frees in Kym VM environment
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2023-06-04 02:39:57 +00:00
kayomn 08785b5b54 Improve clarity of stack trace allocation origin 2023-06-04 02:23:07 +00:00
kayomn 2ec39484dc Add more detail to memory leak traces 2023-06-04 02:00:31 +00:00
kayomn d63cfc23d6 Fix various memory leaks caught by new tracer 2023-06-04 01:55:05 +00:00
kayomn d4fd1bfb43 Fix incorrect buffer slicing in stack list deinit 2023-06-04 01:34:21 +00:00
kayomn 306e085d1b Add leak detection to Ona heap allocator
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-06-04 01:16:52 +00:00
kayomn d8077d782d Amend code review comments
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-06-03 20:05:47 +00:00
kayomn 713f9bb08c Implement slab map data structure
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-06-03 19:55:59 +00:00
kayomn 55d281bdfa Remove debug printing in Tokenizer 2023-06-03 19:27:03 +00:00
kayomn bff3db0720 Strength compile-time guarantees of AST operators
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-06-03 14:16:02 +00:00
kayomn 071d890391 Fix Kym error messages
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-06-03 14:04:42 +00:00
kayomn 07a515a81f Tidy up and fix data structures
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-06-02 21:43:53 +00:00
kayomn 27b809f2c5 Add Kym parsing support for array literals
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-05-29 01:37:26 +00:00
kayomn 5e52fcc795 Fix incorrect Stack growth in push_all 2023-05-29 01:36:56 +00:00
kayomn de82444ac3 Fix segfault when allocating zero-length memory 2023-05-29 01:22:30 +00:00
kayomn 1fb5fc6048 Add parser support for table literals 2023-05-28 20:23:13 +00:00
kayomn fc1848d2c1 Fix loading of script files in Ona
continuous-integration/drone/push Build is passing Details
2023-05-28 12:44:32 +00:00
kayomn 49ace97ee3 Add support for binary comparison to Kym 2023-05-28 02:32:00 +00:00
kayomn fe8e98e753 Fix CI test stage
continuous-integration/drone/push Build is failing Details
2023-05-28 01:26:41 +00:00
kayomn 5642f399b9 Add AST generation stage to Kym parser
continuous-integration/drone/push Build is failing Details
2023-05-28 01:19:46 +00:00
kayomn bb8cb43843 Refactor project structure and Ona APIs
continuous-integration/drone/push Build is failing Details
2023-05-24 00:33:02 +00:00
kayomn b1739f0cf8 First pass implementation of Slab collection 2023-05-24 00:32:32 +00:00
kayomn a0c30163a2 Implement hash table type in Coral 2023-05-24 00:30:40 +00:00
kayomn 181c44d85f Add number wrapping utility to coral 2023-05-23 23:22:12 +00:00
kayomn 54e716e4cf Tidy up coral library 2023-05-23 00:08:34 +00:00
kayomn d5d5b69f54 Add partial work on new VM interface
continuous-integration/drone/push Build is failing Details
2023-05-09 22:57:19 +00:00
kayomn 24a4590293 Expose canvas item API on Ona app 2023-05-09 21:12:17 +00:00
kayomn d034c526e4 Replace graphics file with canvas API 2023-05-09 21:05:14 +00:00
kayomn 38dadb6d05 Fix compile errors in slot map remove function 2023-05-09 20:59:26 +00:00
kayomn 946c67f154 Add way to remove elements from dense slot maps 2023-05-07 14:39:15 +00:00
kayomn 1ab9bba9da Implement null allocator 2023-05-07 14:51:22 +01:00
kayomn f99e1eab67 Re-add old Kym bytecode logic
continuous-integration/drone/push Build is failing Details
2023-05-06 01:49:10 +00:00
kayomn 1e0dff6dba General fixes 2023-05-06 01:47:52 +00:00
kayomn e9f12785f9 Mark Vector2 as having an ABI defined memory layout
continuous-integration/drone/push Build is failing Details
2023-04-28 22:20:46 +00:00
kayomn 3efe246ed0 Fix mismatched type in parse_signed 2023-04-27 21:11:49 +00:00
kayomn 40f4c37dc8 Fix parse_signed returning an unsigned integer 2023-04-27 21:02:38 +00:00
kayomn a2990e67c7 Fix various parsing errors in Kym
continuous-integration/drone/push Build is failing Details
2023-04-23 16:25:42 +01:00
kayomn 2331d99bc9 Add missing push_table to Kym compiler 2023-04-23 16:02:34 +01:00
kayomn 0974cb016b Tidy up Kym implementation 2023-04-23 15:53:50 +01:00
kayomn d1110d8683 Re-implement Tag metaprogramming utility 2023-04-23 13:40:49 +01:00
kayomn a7605c6ffa Remove unused coral IO functions 2023-04-19 20:53:51 +01:00
kayomn 359fcd190d Port back to Zig
continuous-integration/drone Build is failing Details
2023-04-19 00:25:35 +01:00
kayomn 78ae403f61 Refine and fix bugs in the Oar library
continuous-integration/drone/push Build is passing Details
2023-02-24 00:35:36 +00:00
kayomn 2a0f821e64 Add monadic test function to coral::expected 2023-02-24 00:33:04 +00:00
kayomn 0bfd1c80ce Tidy up stack API in coral library
continuous-integration/drone/push Build is passing Details
2023-02-23 20:13:56 +00:00
kayomn db380e6bae Add constructor for coral::closure that accepts pointers
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-02-23 15:00:32 +00:00
kayomn 237c0b4d19 Replace coral::callable with coral::closure
continuous-integration/drone/push Build is passing Details
2023-02-23 14:59:29 +00:00
kayomn eb213d24ed Remove redundant constructor argument from coral::fixed_buffer
continuous-integration/drone/push Build is passing Details
2023-02-23 14:44:55 +00:00
kayomn ba5bc0674c Tidy up footprint of app libray
continuous-integration/drone/push Build is passing Details
2023-02-23 14:02:17 +00:00
kayomn cf8124eb20 Expose interface for writing single values into coral::fixed_buffer 2023-02-23 00:51:48 +00:00
kayomn 2b1a34d5e2 Expose interface for querying access rules on coral::fs 2023-02-23 00:28:06 +00:00
kayomn 2f884f92a1 Add way to count coral::fixed_buffer 2023-02-23 00:18:14 +00:00
kayomn da3e87fe3b Tidy up coral::fixed_buffer interface 2023-02-23 00:14:24 +00:00
kayomn c3a49eed7f Add casting function for coral::fixed_buffer to coral::slice 2023-02-22 23:29:33 +00:00
kayomn 2dd7946b88 Temporarily drop testing of Kym library
continuous-integration/drone/push Build is passing Details
2023-02-22 23:19:42 +00:00
kayomn f9ac5831cf Improve compile-time safety of coral::callable
continuous-integration/drone/push Build is failing Details
2023-02-22 22:59:33 +00:00
kayomn 02d4d56f35 Rename kym::value::as_* functions to kym::value::to_*
continuous-integration/drone/push Build is passing Details
2023-02-22 21:03:24 +00:00
kayomn cf5ca23f94 Fix typo in coral::file_writer destructor 2023-02-22 21:02:42 +00:00
kayomn 9b06e7d2e2 Expose virtual destructors on coral::file_reader and coral::file_writer 2023-02-22 21:00:11 +00:00
kayomn f601f51f7a Improve memory model of coral::stack
continuous-integration/drone/push Build is passing Details
2023-02-22 20:53:58 +00:00
kayomn fb06ce217f Remove unsafe raw pointer accessors from coral::stack 2023-02-22 15:39:28 +00:00
kayomn d58c9e67c4 Update runtime
continuous-integration/drone/push Build is passing Details
2023-02-22 15:35:33 +00:00
kayomn cd3fd2f04a Tidy up main coral module file 2023-02-22 15:35:22 +00:00