335 Commits

Author SHA1 Message Date
hyunghwan.chung
6a7cbc8dcb finished the native method handling code in the compiler 2017-02-19 17:33:53 +00:00
hyunghwan.chung
93e776a9d8 wrote some incomplete code to support native method definition - method(#native) ... 2017-02-18 15:00:45 +00:00
hyunghwan.chung
be677dd53a added partial experimental code for io event handling 2017-02-15 11:57:24 +00:00
hyunghwan.chung
71aa1110ed added more preamable codes.
enhanced the system to be able to attach trailing spaces to an object upon instantiation, especially for external modules to be able to secure GC-safe free workspace inside an instantiated object
added moo_setclasstrsize(), moo_getobjtrailer() for the trailer feature
2017-02-14 08:29:30 +00:00
hyunghwan.chung
4c13989947 enabled the compiler to support a class name as a namespace.
started adding code for event-driven IO handling
2017-02-12 18:59:03 +00:00
hyunghwan.chung
2c8eb87408 refactored moo_execute() by taking process switcher out to a separate inline function 2017-02-11 05:48:30 +00:00
hyunghwan.chung
7384777b59 introduced vm_getttime, vm_sleep, vm_startup, vm_cleanup callbacks 2017-02-10 09:06:53 +00:00
hyunghwan.chung
b1c28d03d7 changed VM to emulate 'Dictionary new: ..' for MAKE_DICTIONARY
changed VM to emulate 'dic put_assoc: assoc' for POP_INTO_DICTIONARY
2017-02-10 07:38:29 +00:00
hyunghwan.chung
2a40be7742 updated the compiler to fix the jump instruction positions for break and continue upon instruction eliminations 2017-02-09 10:22:44 +00:00
hyunghwan.chung
2101bb38b4 renamed __assocPut: to __put_assoc: 2017-02-08 13:14:29 +00:00
hyunghwan.chung
a05793a66d rewrote a few methods to use if/while instead of ifTrue:/whileTrue: in Collect.moo 2017-02-07 18:09:07 +00:00
hyunghwan.chung
5c07a48c5a wrote code to handle dictionary expression and association expression notation 2017-02-07 17:40:34 +00:00
hyunghwan.chung
62eb6db83d in progress of fixing a bug in instruction elimination 2017-02-06 17:53:33 +00:00
hyunghwan.chung
60c38a1ecb added make_association, pop_into_association_key, pop_into_association_value byte codes to support assocation expressions 2017-02-05 15:05:25 +00:00
hyunghwan.chung
eb83c8d83a started the first step to implement array expression support enclosed in #{ }.
added 2 new byte codes - MAKE_ARRAY, POP_INTO_ARRAY for implementation
2017-02-05 13:54:52 +00:00
hyunghwan.chung
5c755d68f5 rewrote whileTrue:, whileFalse:, and similar methods for BlockContext in an imperative style 2017-02-02 04:46:29 +00:00
hyunghwan.chung
07d8d0ea83 implemented simple optimization in compiling an if expression 2017-01-31 16:14:11 +00:00
hyunghwan.chung
22013650bb added the jump_backward_if_true instruction.
added more do-while handling code
2017-01-30 16:48:42 +00:00
hyunghwan.chung
341966e373 added a little code for elimination of unneeded code generated 2017-01-29 07:29:58 +00:00
hyunghwan.chung
03ddf6b68d added some code to compile the break statement 2017-01-29 07:14:36 +00:00
hyunghwan.chung
10ca940d72 added small amount of code to handle break & continue 2017-01-27 15:25:46 +00:00
hyunghwan.chung
b7a19a3b14 implemented the while expression handling. break and continue yet to be implemented 2017-01-25 13:57:14 +00:00
hyunghwan.chung
6209b13410 added the local return byte code - BCODE_LOCAL_RETURN -> it returns to the origin of the active context 2017-01-22 18:01:26 +00:00
hyunghwan.chung
002aa9a3f1 changed the compiler to emit PUSH_NIL when the braced block is empty for if 2017-01-19 17:12:16 +00:00
hyunghwan.chung
40ba50fc53 added primitive code to compile the 'if' expression 2017-01-18 17:17:05 +00:00
hyunghwan.chung
bc83b95acb added some argument checks into ffi
added more string manipulation functiions
2017-01-16 14:42:39 +00:00
hyunghwan.chung
750f529201 added more string duplication and conversion functions 2017-01-12 16:33:26 +00:00
hyunghwan.chung
ec3285da57 added more character conversion functions 2017-01-12 10:06:43 +00:00
hyunghwan.chung
d130ec02ec added more code to ffi 2017-01-11 15:33:03 +00:00
hyunghwan.chung
1612143499 added MOO_IN_SMPTR_RANGE(), MOO_SMPTR_TO_OOP(), MOO_OOP_TO_SMPTR().
refactored ffi a bit more
2017-01-10 13:56:19 +00:00
hyunghwan.chung
faf6ca28e5 added MOO_VMPRIM_OPENDL_PFMOD.
started refactoring ffi handling code
2017-01-10 10:50:26 +00:00
hyunghwan.chung
65f2f862f8 started taking ffi out of the main vm, putting it to a separate module 2017-01-09 13:41:11 +00:00
hyunghwan.chung
2528dcdbe5 changed the compiler to allow assignment to an argument in a method 2017-01-09 13:20:46 +00:00
hyunghwan.chung
7460ce819c renamed *.st files to *.moo 2017-01-09 12:52:37 +00:00
hyunghwan.chung
b2fb361df4 renamed stix to moo 2017-01-09 10:25:22 +00:00