Commit Graph

137 Commits

Author SHA1 Message Date
db60287e63 adding the class_set instruction 2022-01-29 17:43:11 +00:00
4264bf8413 implementing message sending 2022-01-23 16:46:13 +00:00
53294f53a9 rearranged the stack for the call operation by pushing a dummy receiver.
the rearrangement is done to make aa plain function call look the same as a message send
2022-01-22 15:40:38 +00:00
7ec3aed047 implementing a message sending list 2022-01-14 16:09:52 +00:00
6c9a890f68 writing the compiler code for class variable handling 2022-01-09 16:47:38 +00:00
926ebb15c1 touching up variable declaration handling in a class 2022-01-03 17:59:55 +00:00
adac0b0b75 added new instructions - push_clsvar, store_into_clsvar, pop_into_clsvar 2022-01-01 14:58:57 +00:00
a495ef5003 fixed the missing prototype defintion of hcl_instantiate() 2021-12-31 08:39:12 +00:00
f4360afa34 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
e6f595ea8b enhanced variable access code in comp.c 2021-11-23 15:52:01 +00:00
8c7014299c improving find_variable_backward() to resolve instance variables 2021-11-23 14:42:20 +00:00
1d2a510f34 changing indexed variable access code 2021-11-23 02:37:58 +00:00
b57073b1bb more code to implement class 2021-06-27 17:47:51 +00:00
e74a4efd29 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
2033072791 wrote more code to support classes 2021-06-25 15:19:11 +00:00
8a7ca4dcb1 added the class_enter and class_exit instructions - partially implemented yet 2021-06-19 17:19:24 +00:00
4e84151b88 work in progress - enhancing compiler to support class definition 2021-06-18 18:54:50 +00:00
73942c5331 making a useless commit 2021-06-07 01:11:17 +00:00
417e5b50d6 wrote some comments 2021-06-02 16:28:34 +00:00
98f47ed295 implementing make_class instructoin 2021-05-21 09:59:35 +00:00
759a090284 added process termination primitives 2021-05-15 11:19:52 +00:00
a104f3ad5b implemented multiple return values assignment with set-r 2021-05-15 05:31:36 +00:00
32405a46eb some more code to support multiple return values via return variables 2021-05-13 14:43:40 +00:00
a67da34260 writing code for return variables support 2021-05-11 15:04:53 +00:00
5f7dc95f40 writing code to implement return variables 2021-05-09 15:32:54 +00:00
2cd3a0cc6e enhancing the compiler to support the variable argument list with the ellipsis 2021-05-07 08:53:01 +00:00
26392cc729 fixing bugs 2021-05-06 14:47:37 +00:00
a3fba2a826 updating code to handle the new make_block, make_function scheme 2021-05-06 08:14:00 +00:00
2f888200e8 changed the block temporaries scheme 2021-05-05 14:37:01 +00:00
2618dad287 changing the encoding scheme to store the block temporaries 2021-05-04 09:48:19 +00:00
60f8ac0c5f coding the compiler to handle an exception variable in the catch part 2021-04-22 09:35:26 +00:00
32401bff58 reimplementing try-catch 2021-04-11 15:08:27 +00:00
35f3393bf5 improving function block and control block handling in the compiler code 2021-04-09 08:22:40 +00:00
1ee3716f59 committing broken interim code 2021-04-09 01:23:08 +00:00
0de8ae34d1 some more code cleanup 2021-03-28 03:44:27 +00:00
4f35e08f97 added some code for throw 2021-02-28 17:00:28 +00:00
61a2c8cd60 added the try_catch instruction 2021-02-22 14:56:27 +00:00
593b0ad98c enhancing the compiler to support (try ... catch ...) 2021-02-22 09:20:45 +00:00
505b4a181b adding hcl_openstd() 2021-02-07 17:57:35 +00:00
a37cd8acb7 added some semaphore handling code 2021-02-05 15:22:39 +00:00
8a3ff5abb1 preparing to implement semaphores 2021-02-03 14:50:51 +00:00
82d0c1ccca fixed some compiler bugs 2021-02-01 13:20:46 +00:00
d3ad99a719 made enhancement to show location information for the ECALL runtime error 2021-01-29 12:39:31 +00:00
ea31979712 removed unneeded code 2021-01-29 09:41:39 +00:00
c4ba555fd0 enhanced the compiler to support (continue) 2021-01-29 08:13:18 +00:00
7d3df714a4 compiler enhancement in progress 2021-01-28 10:09:38 +00:00
35d04c658c more compiler code to store source locations of byte codes emitted 2021-01-28 08:17:50 +00:00
3bb5598b67 more ongoing compiler enhancements 2021-01-28 07:25:05 +00:00
c744ec7b4f enhanced the compiler a bit 2021-01-27 16:01:36 +00:00
27c243b650 changing compiler code to preserve some debugging information 2021-01-27 08:47:08 +00:00