Commit Graph

116 Commits

Author SHA1 Message Date
447fafd7b2 fixed a wrong compiler check in the post_catch() phase 2021-12-26 14:59:34 +00:00
afeebc08c9 fixed process stack handling 2021-12-25 15:33:49 +00:00
d2e6f94b33 enhanced try_exit and try_exit2 to restore the class stack pointer 2021-12-24 14:59:16 +00:00
c230355e90 changed do_throw() to clear the class stack when the exception is empty 2021-12-24 05:10:50 +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
6b476b5c6e more code to implement class 2021-06-27 17:47:51 +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
90b6603567 experiment to convert an error from a primitive function to an exception 2021-06-18 07:10:38 +00:00
b41be3e5c4 added some code to handle defclass 2021-05-29 05:44:29 +00:00
5b26ef46b1 some code for class instantiation 2021-05-21 16:21:23 +00:00
03cb4c67fb implementing make_class instructoin 2021-05-21 09:59:35 +00:00
3f1e5f297f added process termination primitives 2021-05-15 11:19:52 +00:00
b1f7ab6538 implemented multiple return values assignment with set-r 2021-05-15 05:31:36 +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
5d83fdbfe2 trying to support variable arguments and return variables 2021-05-03 15:31:19 +00:00
c65c384d59 fixed a bug in prepare_new_context() and fork handling 2021-05-01 11:26:59 +00:00
3e18319619 removed two unused variables 2021-04-24 13:53:50 +00:00
e716c8bba9 fixed a bug of not providing the number of temporaries when arraning the initial context 2021-04-23 15:46:35 +00:00
3224989b99 try-catching working in the top-level now. implemented a way to secure space for top-level temporary variables 2021-04-23 07:17:40 +00:00
5a519faf77 removed a duplicate line 2021-04-20 14:11:00 +00:00
5aa6506106 simplified code a bit 2021-04-18 18:02:02 +00:00
cfa019a16d fixing code to implement exception handling 2021-04-14 16:20:18 +00:00
cb917ff44b working on try-catch implementation 2021-04-11 15:45: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
307bdee5cc added more code to implement simple exception handling 2021-03-02 15:58:13 +00:00
6631779768 added some code for throw 2021-02-28 17:00:28 +00:00
50148c7eab added the flags field to the context object 2021-02-24 16:57:26 +00:00
e61602082d added the try_catch instruction 2021-02-22 14:56:27 +00:00
037174ddb6 adding hcl_openstd() 2021-02-07 17:57:35 +00:00
ac58758da0 added some semaphore handling code 2021-02-05 15:22:39 +00:00
9c2f757e16 preparing to implement semaphores 2021-02-03 14:50:51 +00:00
81c9b25cad fixed some process management code 2021-02-02 23:43:12 +00:00
2d22b53c96 fixed some compiler bugs 2021-02-01 13:20:46 +00:00
65c23a3ff5 removed unneeded code
uniformize the naming of locptr, dbgl to dbgi
2021-02-01 03:32:09 +00:00
7d6436a4de enhanced the vm to supplement the error message with debug information 2021-01-31 18:46:13 +00:00
0568cb0ae3 removed some unneeded code.
changed the source input handler to set the name field for the main stream
2021-01-30 16:13:27 +00:00
db9e0f5248 cleaned up a bit 2021-01-29 17:24:13 +00:00
7fc4262d01 made enhancement to show location information for the ECALL runtime error 2021-01-29 12:39:31 +00:00
525078fbe5 removed unneeded code 2021-01-29 09:41:39 +00:00
d36c12e21a changing compiler code to preserve some debugging information 2021-01-27 08:47:08 +00:00
8829e27c33 preparing to produce debug information 2021-01-26 10:10:18 +00:00
581b13aedd found a bug upon VM abortion. yet to fix it 2021-01-24 15:53:35 +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