Commit Graph

165 Commits

Author SHA1 Message Date
8747afba63 first successful implementation of class instantion methods 2022-03-17 13:22:17 +00:00
4f37815caf one line of comment in lib/comp.c 2022-03-14 00:01:07 +00:00
c753643daf changed the implementation of return-from-home to traverse the call chain and detect dead context more accurately 2022-03-04 18:08:26 +00:00
f4661d018a fixing bugs related to stack, class stack, exceptio stack handling 2022-02-27 19:35:47 +00:00
3f03140dcc changed an error message 2022-02-24 17:25:15 +00:00
c446330f4a compiler enhancement in checking instance variable access in class methods 2022-02-24 17:16:02 +00:00
50c04bb770 trying to detect prohibited access to an instance vairables in a class method.
inventing the class instantiation method concept
2022-02-24 16:47:26 +00:00
6d409c809f proper return variables handling in message sends 2022-02-21 16:07:55 +00:00
f0b6ccdf42 enhanced the compiler to emit the right instruction for super 2022-02-19 17:26:26 +00:00
e482ce620f fixed wrong instructions generated for set-r and return variables.
class variables access fixed to use hcl->active_context->home->owner instead of hcl->active_context->owner
2022-02-19 16:57:06 +00:00
026ece9aea added the super keyword 2022-02-18 16:32:19 +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
4b4e6a6385 added a class-side dictionary to the class object 2022-02-13 10:15:14 +00:00
eefc544644 wrote some code to process class method definition 2022-02-13 02:39:37 +00:00
cdc499763e adding class_cmstore and class_imstore. deleting class_mstore 2022-02-12 15:05:31 +00:00
a61197d3f7 some code clean-up 2022-02-08 13:57:48 +00:00
ef24bf68df implementing instance variable access with regards to inheritance 2022-02-06 16:06:48 +00:00
495cea5704 added a new identifier - self 2022-02-05 17:35:10 +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
e94936b893 some code for message sending 2022-01-24 15:39:49 +00:00
6cdbc457a0 implementing message sending 2022-01-23 16:46:13 +00:00
7ad9b2d499 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
a7a69d9a11 implementing a message sending list 2022-01-14 16:09:52 +00:00
bdf527f298 writing the compiler code for class variable handling 2022-01-09 16:47:38 +00:00
0fd038ddb6 utf8 range limiting.
compiler work for class variable access in the class defintion scope
2022-01-08 09:26:54 +00:00
7c6511d4ad rewriting variable collection in a class 2022-01-04 15:26:17 +00:00
8582b9288d removed a debugging message 2022-01-04 13:43:51 +00:00
a830d578e0 touching up variable declaration handling in a class 2022-01-03 17:59:55 +00:00
57bb1657b3 added new instructions - push_clsvar, store_into_clsvar, pop_into_clsvar 2022-01-01 14:58:57 +00:00
7b653c0df8 fixed yet another bug compiling a catch block 2021-12-26 16:37:54 +00:00
73148041a2 fixed another bug compiling a catch block 2021-12-26 16:00:08 +00:00
447fafd7b2 fixed a wrong compiler check in the post_catch() phase 2021-12-26 14:59:34 +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
a24f591074 some lines of compiler code 2021-12-12 16:09:31 +00:00
f6236f767f removed unneded trailing spaces in comp.c 2021-11-26 15:17:09 +00:00
cf77f8eb6f trying to implement object instantiation 2021-11-26 14:55:50 +00:00
10934db873 removed an unneeded function 2021-11-24 14:08:25 +00:00
1712858fe9 changed emit_variable_access() 2021-11-24 02:45:28 +00:00
67c9bcbbe4 enhanced variable access code in comp.c 2021-11-23 15:52:01 +00:00
7521512db1 improving find_variable_backward() to resolve instance variables 2021-11-23 14:42:20 +00:00
dbdb694974 changing indexed variable access code 2021-11-23 02:37:58 +00:00
6d9f2cc91a fixed the wrong assertion in find_variable_backward() in comp.c 2021-11-21 16:16:59 +00:00
4a0ecfa0f1 improving the compiler code 2021-11-21 16:02:39 +00:00
59be44fa34 work in progress 2021-06-29 11:51:08 +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
2141768b6f changed compile_return() to cater for exception handling 2021-06-18 19:07:36 +00:00