Commit Graph

257 Commits

Author SHA1 Message Date
kayomn 9eef1074f9 Simply Kym function argument retrieval in VM
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-08-30 20:58:06 +01:00
kayomn c071ca82aa Fix empty strings being parsed incorrectly
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-08-26 21:36:16 +01:00
kayomn 5c08a1b63e Add lambda argument arity checking to runtime
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2023-08-26 21:30:36 +01:00
kayomn b9f03b34c1 Add argument resolving to functions
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-08-26 17:00:55 +01:00
kayomn f5ed4bbcad Add support for basic lambda syntax 2023-08-26 16:00:17 +01:00
kayomn 0e26b8acde Merge pull request 'Make Local Declarations Explicit' (#38) from kym-explicit-local-declarations into main
continuous-integration/drone/push Build is passing Details
Reviewed-on: #38
2023-08-26 01:14:02 +02:00
kayomn 960d022d03 Add read-only storage class for locals
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-08-26 00:11:37 +01:00
kayomn 83fa162ba8 Make local declarations require "var" prefix
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-08-25 23:40:17 +01:00
kayomn 1e3f676698 Merge pull request 'Implement Control Flow Statements in Kym' (#37) from kym-control-flow into main
continuous-integration/drone/push Build is passing Details
Reviewed-on: #37
2023-08-26 00:01:24 +02:00
kayomn 77af4d067b Fix > and == operators being miscompiled
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-08-25 22:57:33 +01:00
kayomn c4916a4195 Clean up statement AST generation logic 2023-08-25 22:45:48 +01:00
kayomn 08a63489b0 Add if / else 2023-08-24 23:45:29 +01:00
kayomn bb1e689c5a Add while loops
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-08-22 23:49:23 +01:00
kayomn eca2cfffb8 Fix off-by-one if statement jump error
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2023-08-21 23:51:49 +01:00
kayomn 56d9899ac2 Work around miscompilation 2023-08-21 12:27:02 +01:00
kayomn 0d6e5250c7 Refactor Kym AST
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-08-20 22:25:38 +01:00
kayomn 2d016dc085 Implement if statements in AST and jumps in the VM
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-08-20 17:41:57 +01:00
kayomn a1d35bf67c Merge pull request 'Implement vector swizzling in Kym' (#36) from kym-vector-swizzling into main
continuous-integration/drone/push Build is passing Details
Reviewed-on: #36
2023-08-20 03:37:55 +02:00
kayomn d53bf188cf Implement vector swizzling in Kym
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-08-20 02:35:53 +01:00
kayomn d2490bc90d Merge pull request 'Add Vector Types to Ona Script' (#34) from kym-vector-types into main
continuous-integration/drone/push Build is passing Details
Reviewed-on: #34
2023-08-13 15:39:39 +02:00
kayomn af7483db13 Remove dead code changes
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-08-13 14:38:21 +01:00
kayomn 016165b6a6 Replace dedicated vector literal syntax builtins
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-08-13 14:27:03 +01:00
kayomn 0fbdc001d4 Add parser support for vector literals
continuous-integration/drone/push Build is passing Details
2023-08-13 13:54:31 +01:00
kayomn 919d32e714 Add vector primitive object to Kym 2023-08-13 02:03:43 +01:00
kayomn 3fecb795e9 Merge pull request 'Replace System Objects with Builtins and Syscalls' (#33) from kym-builtins into main
continuous-integration/drone/push Build is passing Details
Reviewed-on: #33
2023-08-13 02:35:25 +02:00
kayomn 8e42aa57fd Move builtin decoding responsibility to compiler
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-08-13 01:34:32 +01:00
kayomn 9a0a594345 Make Kym env options optional 2023-08-13 01:27:13 +01:00
kayomn 429f7a52ad Replace system objects with builtins and syscalls
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-08-13 01:14:08 +01:00
kayomn cb961ea573 Merge pull request 'Dynamic Object Indexing for Kym' (#31) from kym-dynamic-indexing into main
continuous-integration/drone/push Build is passing Details
Reviewed-on: #31
2023-08-12 16:15:50 +02:00
kayomn 66df9e3a1e Add support for subscript operations on objects
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-08-12 15:10:46 +01:00
kayomn 6c0e3477c2 Separate get-extension functions from Kym env. 2023-08-12 14:53:27 +01:00
kayomn 931d1fe6ed Add parser support for keys and indices 2023-08-12 14:51:47 +01:00
kayomn 415dff46b7 Merge pull request 'kym-tables-overhaul' (#30) from kym-tables-overhaul into main
continuous-integration/drone/push Build is passing Details
Reviewed-on: #30
2023-08-12 15:20:17 +02:00
kayomn b012e1e5f6 Re-implement native function binding / calling
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2023-08-12 14:11:19 +01:00
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 e71048e83d Merge pull request 'Improve Syntax Error Messages and Fix Comments' (#29) from kym-script-comments into main
continuous-integration/drone/push Build is passing Details
Reviewed-on: #29
2023-07-22 16:08:02 +02: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