199 Commits

Author SHA1 Message Date
paladin-t
876a50460d *fixed a lambda evaluation bug with upvalues from meta class. 2016-01-14 19:09:21 +08:00
paladin-t
a8149f6eb4 *fixed a missing assignment bug with class field accessor; *polished code. 2016-01-14 17:48:58 +08:00
paladin-t
288990d733 *bugfix.
*fixed a collection accessing bug in an assignment statement; *fixed a
routine disposing issue; -removed support of storing a literal instance
in a variable.
2016-01-14 17:01:39 +08:00
paladin-t
d1999537fe *fixed a lambda unreferencing issue; *fixed an issue with lambda when a class instance went out of use; *simplified variable creation. 2016-01-14 14:57:56 +08:00
paladin-t
4977143b91 *optimized hash table algorithm. 2016-01-13 10:56:08 +08:00
paladin-t
686be8e61a *optimized memory occupation with lambda. 2016-01-12 19:28:41 +08:00
paladin-t
82ddc8c029 *fixed a wrong disposing bug when accessing a collection by brackets. 2016-01-12 18:50:32 +08:00
paladin-t
c8d18f2dda *improved sub routine by unreference objects which were out of scope. 2016-01-12 17:01:13 +08:00
paladin-t
9e790bce1e *fixed bugs with lambda; *fixed a multiple disposing bug with string expression; *fixed some other bugs with lambda. 2016-01-12 15:21:40 +08:00
paladin-t
f4ce66dedf *fixed a routine evaluation bug when it's stored in a variable. 2016-01-12 13:08:37 +08:00
Wang Renxin
64a888db98 *fixed a memory leak with string manipulation. 2016-01-11 14:34:15 +08:00
Wang Renxin
d692211deb *fixed a crash bug when a do-until statement is the end of a program. 2016-01-11 11:54:31 +08:00
Wang Renxin
5338eb47f3 *developing lambda, improved error handling. 2016-01-09 14:29:51 +08:00
Wang Renxin
71ab22d995 *developing lambda, fixed an issue with only a PRINT statement. 2016-01-09 14:09:46 +08:00
paladin-t
ef969dd8c2 *developing lambda, fixed an upvalue passing issue. 2016-01-08 12:12:31 +08:00
paladin-t
d8d1b13ef2 *developing lambda, fixed a lambda scope linkage issue. 2016-01-08 11:26:48 +08:00
paladin-t
6033366ec1 +developing lambda, added lambda evaluation. 2016-01-07 20:13:37 +08:00
paladin-t
ca9dd84eee +developing lambda, added parameter and upvalue processing; added closure maintenance; added lambda unreferencing functions. 2016-01-07 18:51:01 +08:00
paladin-t
64113a7720 *improved IS statement. 2016-01-06 17:00:30 +08:00
paladin-t
f2b42770bd +developing lambda, added cloning support. 2016-01-06 12:28:33 +08:00
paladin-t
4a116e08e4 +added support to use TYPE("NUMBER") to represent both integer and real. 2016-01-06 10:30:35 +08:00
paladin-t
3b898b9460 +developing lambda, added a _core_lambda function . 2016-01-05 19:40:22 +08:00
paladin-t
48cb90c234 +developing lambda, added data structure; +developing lambda, added a lambda statement; +developing lambda, added an MB_ENABLE_LAMBDA macro. 2016-01-05 13:47:02 +08:00
paladin-t
d0913e2735 +added stack tracing; +added an mb_debug_get_stack_trace function and an MB_ENABLE_STACK_TRACE macro; *polished document. 2016-01-04 14:57:14 +08:00
paladin-t
468df58c6f +added support to duplicate a class instance by new statement with an identifier string; *fixed a string value copy issue in mb_pop_value. 2016-01-04 13:35:14 +08:00
paladin-t
2dd3ca4d6a *fixed a wrong scope bug caused by cloned class instance. 2016-01-02 17:58:05 +08:00
paladin-t
1ef0284744 *fixed a mistake in var statement. 2016-01-02 13:23:57 +08:00
paladin-t
ef9acb510a +added support to apply get statement to a class instance; +added support to access a collection by brackets; *polished document. 2016-01-02 12:04:35 +08:00
paladin-t
e07eb9210e *fixed an invalid execution point bug when a program begins with a label. 2016-01-01 14:28:28 +08:00
paladin-t
42a602d8a3 +added case-insensitive type name string comparison support. 2016-01-01 11:17:07 +08:00
paladin-t
d4808abd20 *distributed version 1.2!!! 2015-12-31 10:27:41 +08:00
paladin-t
a253352ffb +added a new sample script source file; *updated clean shell. 2015-12-31 10:18:38 +08:00
paladin-t
4063ef1cea +implemented dir command; *polished document. 2015-12-30 19:26:56 +08:00
paladin-t
d8d58634f4 *polished code. 2015-12-30 16:49:37 +08:00
paladin-t
dd94cab8ce *improved error handling with sub routine and class. 2015-12-30 15:55:26 +08:00
paladin-t
6d789b4f3d *fixed a memory leak with gc caused by meta class. 2015-12-29 21:04:39 +08:00
paladin-t
1d732e7f0f *improved gc with string; *improved string duplication; *polished code. 2015-12-29 15:45:27 +08:00
paladin-t
1d470685cc *fixed a multiple disposing bug with expression calculation; *improved array handling. 2015-12-29 12:37:28 +08:00
paladin-t
545b96b669 *improved gc with an array; *polished array manipulation code. 2015-12-29 10:59:24 +08:00
paladin-t
a097d43ad1 *improved gc with an array. 2015-12-28 20:23:54 +08:00
paladin-t
d653ba80e5 *fixed a wrong routine evaluation bug. 2015-12-28 16:35:45 +08:00
paladin-t
7298884d09 *fixed a gc bug. 2015-12-28 15:59:10 +08:00
paladin-t
a191979da7 *polished code. 2015-12-28 11:43:29 +08:00
paladin-t
43a521e74b *improved threshold algorithm for the memory pool. 2015-12-28 10:48:34 +08:00
Wang Renxin
34a44e265f *updated history. 2015-12-25 21:50:41 +08:00
paladin-t
8d6c315de6 *improved error handling with sub routine and class. 2015-12-25 17:40:44 +08:00
paladin-t
f543e77446 +added support to put a class instance into a variable; *polished code. 2015-12-25 16:28:44 +08:00
paladin-t
a55e3e7d07 *fixed a memory leak in class definition. 2015-12-25 10:52:27 +08:00
paladin-t
387971f376 *improved defining a class in c; *added userdata manipulation functions; *polished document.
*improved defining a class in c; +added a pair of
mb_get_class_userdata/mb_set_class_userdata functions; +added a pair of
mb_get_userdata/mb_set_userdata functions; *polished document.
2015-12-24 17:39:04 +08:00
paladin-t
48c37f7146 *refactored memory layout of the _routine_t struct. 2015-12-24 16:52:09 +08:00