607e6c8502
experimenting with event driven mechanism
2017-02-18 13:31:47 +00:00
be677dd53a
added partial experimental code for io event handling
2017-02-15 11:57:24 +00:00
bc5ab97ccf
added the main program to handle SIGINT
2017-02-14 14:00:14 +00:00
f89d809cdc
added moo_genpfmethods() and moo_findpfimpl() for convenience of writing primitive modules
2017-02-14 10:25:26 +00:00
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
d7cb283e44
added a few useful macros
2017-02-13 13:40:35 +00:00
73231a29d7
enhanced the primitive module loader such that it can load multiple primitmive groups from a single module file.
...
fixed a bug of setting errnum wrongly in character conversion functions
2017-02-13 13:25:42 +00:00
ff122bdcc8
removed the accidentally added -lxcb from lib/Makefile.am
2017-02-12 19:03:08 +00:00
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
2c8eb87408
refactored moo_execute() by taking process switcher out to a separate inline function
2017-02-11 05:48:30 +00:00
7384777b59
introduced vm_getttime, vm_sleep, vm_startup, vm_cleanup callbacks
2017-02-10 09:06:53 +00:00
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
46f3e8635e
updated lib/Makefile.am to use ENABLE_LIBLTDL
2017-02-09 16:30:28 +00:00
0178693f77
added --enable-libltdl to configure
2017-02-09 16:26:44 +00:00
c613b6955d
fixed a segfault bug when the source file cannot be opened
2017-02-09 15:56:51 +00:00
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
c6cf64a586
fixed some issues in logfmt routines.
...
changed the dl_getsym callback to use the dynamic memory allocation if the static buffer isn't large enough
2017-02-09 08:05:14 +00:00
2101bb38b4
renamed __assocPut: to __put_assoc:
2017-02-08 13:14:29 +00:00
a05793a66d
rewrote a few methods to use if/while instead of ifTrue:/whileTrue: in Collect.moo
2017-02-07 18:09:07 +00:00
5c07a48c5a
wrote code to handle dictionary expression and association expression notation
2017-02-07 17:40:34 +00:00
62eb6db83d
in progress of fixing a bug in instruction elimination
2017-02-06 17:53:33 +00:00
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
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
98b6dd1118
enhanced the dynamic library loader a bit
2017-02-04 05:30:15 +00:00
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
ea6d48eb0e
improved the #include handling to remember the file loaded and use it when loading an includee file
2017-02-02 12:45:15 +00:00
5c755d68f5
rewrote whileTrue:, whileFalse:, and similar methods for BlockContext in an imperative style
2017-02-02 04:46:29 +00:00
07d8d0ea83
implemented simple optimization in compiling an if expression
2017-01-31 16:14:11 +00:00
22013650bb
added the jump_backward_if_true instruction.
...
added more do-while handling code
2017-01-30 16:48:42 +00:00
341966e373
added a little code for elimination of unneeded code generated
2017-01-29 07:29:58 +00:00
03ddf6b68d
added some code to compile the break statement
2017-01-29 07:14:36 +00:00
10ca940d72
added small amount of code to handle break & continue
2017-01-27 15:25:46 +00:00
b7a19a3b14
implemented the while expression handling. break and continue yet to be implemented
2017-01-25 13:57:14 +00:00
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
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
5c6a5f4baf
deleted unneeded files
2017-01-19 17:33:27 +00:00
4a0cefacc3
added a new libltdl m4 file
2017-01-19 17:29:03 +00:00
c19674ce13
added/deleted new/unneeded files
2017-01-19 17:18:30 +00:00
002aa9a3f1
changed the compiler to emit PUSH_NIL when the braced block is empty for if
2017-01-19 17:12:16 +00:00
40ba50fc53
added primitive code to compile the 'if' expression
2017-01-18 17:17:05 +00:00
4a4d40dea1
enclosed a dyncall related line inside USE_DYNCALL
2017-01-16 14:46:07 +00:00
bc83b95acb
added some argument checks into ffi
...
added more string manipulation functiions
2017-01-16 14:42:39 +00:00
70f9976af3
added moo_duputobcharswithheadroom(), moo_dupbtoucharswithheadroom()
...
added moo_inttoooi() and made public moo_inttooow()
enhanced the ffi module a bit more
2017-01-15 17:53:37 +00:00
79198df35b
added MOO_OBJ_GET_XXX_SLOT() macros
2017-01-12 17:48:04 +00:00
750f529201
added more string duplication and conversion functions
2017-01-12 16:33:26 +00:00
ec3285da57
added more character conversion functions
2017-01-12 10:06:43 +00:00
d130ec02ec
added more code to ffi
2017-01-11 15:33:03 +00:00
f23486468d
removed unnecesary code from the ffi module
2017-01-10 14:34:54 +00:00
808586ca00
added the dyncall library detection into configure.ac
2017-01-10 14:27:31 +00:00
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