Commit Graph

55 Commits

Author SHA1 Message Date
3f350dd38a adding code to support class attribute list. work in progress
All checks were successful
continuous-integration/drone/push Build is passing
2024-10-05 00:05:52 +09:00
a3e2b589be added the make_charaarray instruction and pop_into_chararray insruction
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-15 11:51:11 +09:00
75580f5235 fixed the bug accessing the wrong context in IVAR and CVAR_M instructions
All checks were successful
continuous-integration/drone/push Build is passing
2024-05-31 15:16:31 +09:00
897042f7f7 simplified the CLASS_LOAD instruction by chaining it with a PUSH instruction. now the class name part of the out-of-class method defintion refers to a normal variable
All checks were successful
continuous-integration/drone/push Build is passing
2024-04-13 17:17:15 +09:00
4be0299de3 some implementation updates to the CLASS_LOAD instruction
All checks were successful
continuous-integration/drone/push Build is passing
2024-04-04 21:16:28 +09:00
816b6d54f4 wip - class_load instruction for out-of-class method definition
All checks were successful
continuous-integration/drone/push Build is passing
2024-03-16 17:00:34 +09:00
007a6c6b48 added more code struct manipulation code
Some checks failed
continuous-integration/drone/push Build is failing
2023-12-28 00:27:27 +09:00
ce4c583773 writing code exchange functions
Some checks failed
continuous-integration/drone/push Build is failing
2023-12-27 09:09:40 +09:00
3d47a99cd2 added many charcter handling code
Some checks failed
continuous-integration/drone/push Build is failing
2023-11-22 00:24:57 +09:00
5a28ab3749 working on the block expression compilation
Some checks failed
continuous-integration/drone/push Build is failing
2023-11-10 00:03:03 +09:00
fa1c4ac896 added the experimental plus opcode 2022-03-21 15:38:31 +00:00
8747afba63 first successful implementation of class instantion methods 2022-03-17 13:22:17 +00:00
420d38c8be simplified the class variable access by remembering the method owner class in context objects 2022-02-17 12:40:22 +00:00
cdc499763e adding class_cmstore and class_imstore. deleting class_mstore 2022-02-12 15:05:31 +00:00
72ed203f80 renamed class_set to class_mstore 2022-01-31 01:36:59 +00:00
84e53e3459 adding the class_set instruction 2022-01-29 17:43:11 +00:00
6cdbc457a0 implementing message sending 2022-01-23 16:46:13 +00:00
bdf527f298 writing the compiler code for class variable handling 2022-01-09 16:47:38 +00:00
57bb1657b3 added new instructions - push_clsvar, store_into_clsvar, pop_into_clsvar 2022-01-01 14:58:57 +00:00
3d4e161a5f added 'class_push_exit'
enhanced the compiler to produce 'pop_stacktop' at the end of the class if the class body is not empty
2021-12-24 00:05:58 +00:00
4a0ecfa0f1 improving the compiler code 2021-11-21 16:02:39 +00:00
2f2baf2f59 fixed initialization of hcl->nil_process
got rid of HCL_CODE_MAKE_CLASS and merged its feature to HCL_CODE_CLASS_ENTER
2021-06-25 16:07:29 +00:00
2fbb2eda6c wrote more code to support classes 2021-06-25 15:19:11 +00:00
5cd8bc15ed added the class_enter and class_exit instructions - partially implemented yet 2021-06-19 17:19:24 +00:00
03cb4c67fb implementing make_class instructoin 2021-05-21 09:59:35 +00:00
550e39e21e some more code to support multiple return values via return variables 2021-05-13 14:43:40 +00:00
faea7b60df writing code for return variables support 2021-05-11 15:04:53 +00:00
c37b695a76 fixing bugs introduced for block temporaries sheme 2021-05-05 17:37:26 +00:00
bd3730fd12 changed the block temporaries scheme 2021-05-05 14:37:01 +00:00
5537e1850a reimplementing try-catch 2021-04-11 15:08:27 +00:00
08149767b5 improving function block and control block handling in the compiler code 2021-04-09 08:22:40 +00:00
a20587537e minor code fixes 2021-03-27 10:32:23 +00:00
6631779768 added some code for throw 2021-02-28 17:00:28 +00:00
e61602082d added the try_catch instruction 2021-02-22 14:56:27 +00:00
7fc4262d01 made enhancement to show location information for the ECALL runtime error 2021-01-29 12:39:31 +00:00
41de130fe4 enhanced the new compiler to produce working bytecodes for the #() list 2021-01-24 15:45:28 +00:00
6720640ed7 adding some work-in-progress code to store debugging information for generated byte codes 2021-01-03 13:51:23 +00:00
a69434a96f enhancing the compiler and hcl_execute() for better interactive use 2020-10-08 09:25:54 +00:00
9d5e580387 fixing compiler bugs regarding MAKE_FUNCTION and literal frame rebasing 2020-10-07 08:06:49 +00:00
2b786018d7 changing vm implementation a bit. this commit is buggy 2020-10-04 18:21:05 +00:00
b8fd5c6712 experiments... 2020-09-22 09:19:53 +00:00
27e1e55a7c added hcl_getip(), hcl_getbclen(), hcl_getlflen()
renamed vm_checkpoint to vm_checkbc while adding a new parameter
2018-03-11 11:16:28 +00:00
67a334bc26 deprecated NDEBUG and introduced HCL_BUILD_DEBUG and HCL_BUILD_RELEASE 2018-02-21 09:30:18 +00:00
e54096f2a0 changed copyright years 2018-02-07 14:13:13 +00:00
ca7da52af4 added bytearray compilation code 2018-02-07 13:55:22 +00:00
f904914d6a implemented dictionary printing 2018-02-07 10:55:20 +00:00
979ba97769 enhanced the compiler to handle array enclosed in #().
added partial code to handle dictionary enclosed in #{}
2018-02-07 07:35:30 +00:00
380784cf57 added printing routines 2018-02-05 15:59:32 +00:00
293222d5c5 trying to revive this project 2018-02-05 10:43:25 +00:00
c2216421b7 added the until loop 2016-10-12 07:30:54 +00:00