Commit Graph

138 Commits

Author SHA1 Message Date
8bc15dda67 simplified the class variable access by remembering the method owner class in context objects 2022-02-17 12:40:22 +00:00
9730c2abc0 meaningless interim commit 2022-02-14 01:21:01 +00:00
9230906786 added a class-side dictionary to the class object 2022-02-13 10:15:14 +00:00
74f45acade adding class_cmstore and class_imstore. deleting class_mstore 2022-02-12 15:05:31 +00:00
6fc1bd9f3b some code clean-up 2022-02-08 13:57:48 +00:00
2431b1f6e8 fixed some type warnings 2022-02-08 12:01:57 +00:00
2bff114dd7 changed the object instantiation function to add up the instance variables counts of the superclass chain 2022-02-07 15:13:38 +00:00
82c05da5f0 implementing instance variable access with regards to inheritance 2022-02-06 16:06:48 +00:00
52b445416d added a new identifier - self 2022-02-05 17:35:10 +00:00
06af73fa74 attempting to touch up the context object 2022-02-03 00:57:36 +00:00
62a071658d more code for message sending 2022-01-31 04:38:05 +00:00
abdfe202ac renamed class_set to class_mstore 2022-01-31 01:36:59 +00:00
db60287e63 adding the class_set instruction 2022-01-29 17:43:11 +00:00
9552c0403a writing message sending implementation code 2022-01-29 09:58:52 +00:00
3c2dd70b8b more code added for message sending implementation 2022-01-25 07:54:11 +00:00
32a1a397d5 some code for message sending 2022-01-24 15:39:49 +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
9369596f83 utf8 range limiting.
compiler work for class variable access in the class defintion scope
2022-01-08 09:26:54 +00:00
adac0b0b75 added new instructions - push_clsvar, store_into_clsvar, pop_into_clsvar 2022-01-01 14:58:57 +00:00
1cf340c8b2 fixed a wrong compiler check in the post_catch() phase 2021-12-26 14:59:34 +00:00
93ea3c46ea fixed process stack handling 2021-12-25 15:33:49 +00:00
3f5100460e enhanced try_exit and try_exit2 to restore the class stack pointer 2021-12-24 14:59:16 +00:00
e0c0e176d8 changed do_throw() to clear the class stack when the exception is empty 2021-12-24 05:10:50 +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
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
e168ee04de experiment to convert an error from a primitive function to an exception 2021-06-18 07:10:38 +00:00
e946330cbd added some code to handle defclass 2021-05-29 05:44:29 +00:00
d7a8485609 some code for class instantiation 2021-05-21 16:21:23 +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
1486795f15 fixing bugs introduced for block temporaries sheme 2021-05-05 17:37:26 +00:00
2f888200e8 changed the block temporaries scheme 2021-05-05 14:37:01 +00:00
5063c55bb4 trying to support variable arguments and return variables 2021-05-03 15:31:19 +00:00
910d1f1917 fixed a bug in prepare_new_context() and fork handling 2021-05-01 11:26:59 +00:00
5f25a9934a removed two unused variables 2021-04-24 13:53:50 +00:00
2498fa8e4e fixed a bug of not providing the number of temporaries when arraning the initial context 2021-04-23 15:46:35 +00:00
f7416341b6 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
07cc5d6eba removed a duplicate line 2021-04-20 14:11:00 +00:00
f72ed9f260 simplified code a bit 2021-04-18 18:02:02 +00:00
1970ffa32a fixing code to implement exception handling 2021-04-14 16:20:18 +00:00
2030410184 working on try-catch implementation 2021-04-11 15:45:01 +00:00