Commit Graph

44 Commits

Author SHA1 Message Date
Irmen de Jong 220246278a removed sum(), max(), min(). abs() now always returns uword type.
This greatly simplifies internal handling of builtin functions by always having one fixed return type.
2022-04-14 00:21:16 +02:00
Irmen de Jong 349e5a15e9 min/max give proper error for string args
als implmented more vm builtin functions/syscalls
2022-04-13 23:09:25 +02:00
Irmen de Jong bf7f4bba7b doc 2022-04-13 20:43:07 +02:00
Irmen de Jong ab1766a559 moved all *integer* builtin trig functions (sin8u, cos8u etc) as regular asmsubs in math module 2022-04-13 00:27:35 +02:00
Irmen de Jong 51bf33040a vm: add many builtin functions 2022-04-11 22:39:33 +02:00
Irmen de Jong a2c7273801 vm: use memory load instruction better 2022-04-11 20:55:06 +02:00
Irmen de Jong ec6ac5bf24 vm: added swap() 2022-04-11 01:50:47 +02:00
Irmen de Jong ec7501782d vm: added 1-bit variants of lsr/lsl opcodes 2022-04-11 00:25:00 +02:00
Irmen de Jong 890b1c2d52 more readable 2022-04-10 22:31:37 +02:00
Irmen de Jong a01aee3111 add sideEffects boolean to PtBuiltinFunctionCall 2022-04-10 21:08:54 +02:00
Irmen de Jong e2e951efdf constValue(expr) convenience function added for new Ast expression nodes 2022-04-10 18:45:33 +02:00
Irmen de Jong a0face4a28 vm: implementing rol/ror 2022-04-09 11:13:49 +02:00
Irmen de Jong a8cf9f5cc4 vm: syscalls can now return value 2022-04-05 20:46:34 +02:00
Irmen de Jong 8e4c0f7c22 vm: add sorting and reverse functions, fix value arg out of range errors 2022-04-05 17:48:49 +02:00
Irmen de Jong d78bfcc35c vm: more optimal code when array index is constant value 2022-04-05 00:19:37 +02:00
Irmen de Jong 2b7c09e6ee vm: more optimal code for loops ending on 0 2022-04-05 00:08:38 +02:00
Irmen de Jong 036d9dbe59 got rid of unnecessary cast of boolean expressions by making their type dynamically adjust to byte or word 2022-04-04 23:43:55 +02:00
Irmen de Jong 62b32b2211 todos 2022-04-03 22:56:13 +02:00
Irmen de Jong 5b3ccab7dc vm: support noreinit option 2022-04-03 17:19:50 +02:00
Irmen de Jong d616cb283b vm: implemented Pipe expression 2022-04-03 15:25:32 +02:00
Irmen de Jong 6ff56dc0bb vm: implemented When 2022-04-02 19:04:12 +02:00
Irmen de Jong 6ddb7453e1 vm postincrdecr on array done 2022-03-31 02:13:20 +02:00
Irmen de Jong ad2355f8d3 vm forloop done 2022-03-31 01:41:59 +02:00
Irmen de Jong 0a0c58d450 added for loop over constant ranges 2022-03-30 23:42:15 +02:00
Irmen de Jong 0dc592b819 working on vm 2022-03-30 22:23:25 +02:00
Irmen de Jong f46300016d working on vm 2022-03-30 01:58:31 +02:00
Irmen de Jong 3e1a7c6102 fix vm signed comparisons 2022-03-29 00:57:33 +02:00
Irmen de Jong 6d79903eb3 workin on vm issues 2022-03-28 01:49:43 +02:00
Irmen de Jong bb1bf6a88c working on vm 2022-03-28 00:40:15 +02:00
Irmen de Jong 30cbb6c9a8 implementing more of the vm 2022-03-27 21:59:46 +02:00
Irmen de Jong 5494f309c0 working on vm 2022-03-27 17:46:15 +02:00
Irmen de Jong 3b6e7eccdd simplified containment check, only possible on string and arrays (as per the docs) 2022-03-27 16:59:55 +02:00
Irmen de Jong e41d6787bb working on vm 2022-03-27 14:23:01 +02:00
Irmen de Jong ed30108961 removed '**' power-operator. Use floats.pow() instead. 2022-03-27 13:16:34 +02:00
Irmen de Jong 12712ef812 working on vm 2022-03-27 11:48:44 +02:00
Irmen de Jong 0307f6b42c working on vm 2022-03-25 20:22:41 +01:00
Irmen de Jong 27f6d47efa working on vm codegen 2022-03-24 23:26:57 +01:00
Irmen de Jong dbc7ad2ec4 no more Gosub node in new Ast, back to Functioncalls there. 2022-03-22 22:48:19 +01:00
Irmen de Jong 7b27d270a2 gosub only uses an identifier 2022-03-22 20:53:06 +01:00
Irmen de Jong 06b38506d1 working on vm translator 2022-03-22 01:43:02 +01:00
Irmen de Jong fd581ffc37 moved pattern_match() from prog8_lib to string module 2022-03-21 21:32:10 +01:00
Irmen de Jong ff57c5e9d3 working on vm and new ast 2022-03-21 01:36:11 +01:00
Irmen de Jong 9b16d7c786 working on vm 2022-03-20 15:06:29 +01:00
Irmen de Jong 7d2bf892b1 added start of virtual machine compilation target 2022-03-19 00:57:35 +01:00