hyunghwan.chung
8bf134e8e3
refactored compiler code abit
2017-03-08 14:48:12 +00:00
hyunghwan.chung
308318b615
changed to accept identifer instead of symbols in pooldic definition
2017-03-08 13:53:41 +00:00
hyunghwan.chung
b45d896d9f
renamed the #native method modifier to #primitive for consistency
...
improved the method modifier processing logic in the compiler
2017-02-20 04:45:23 +00:00
hyunghwan.chung
6a7cbc8dcb
finished the native method handling code in the compiler
2017-02-19 17:33:53 +00:00
hyunghwan.chung
8442968f9c
fixed a tokenization bug in getting a empty string literal.
...
allowed a zero-length symbol to be created
2017-02-19 15:45:51 +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
607e6c8502
experimenting with event driven mechanism
2017-02-18 13:31:47 +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
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
0178693f77
added --enable-libltdl to configure
2017-02-09 16:26:44 +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
54a2128713
fixed -L directory order in lib/Makefile.am to avoid linking to libmoo-xxx shared objects when MOO_ENABLE_STATIC_MODULE is on and $(libdir) contains libmoo-xxx files - place the module build directory in front of other library directories.
...
fixed problems when MOO_OOCH_IS_BCH
2017-02-03 06:28:12 +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
e80b2bc572
enhanced the compiler to store some jump positions in a dynamical data structure when parsing the if expresson
2017-01-20 19:19:28 +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
808586ca00
added the dyncall library detection into configure.ac
2017-01-10 14:27:31 +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
b2fb361df4
renamed stix to moo
2017-01-09 10:25:22 +00:00