293 Commits

Author SHA1 Message Date
Wang Renxin
03ab021597 *fixed a bug of the EXIT statement with multiple line IF statement. 2016-02-11 22:04:49 +08:00
Wang Renxin
7af445ec1b *fixed a wrong loop bug with WHILE and DO statements. 2016-02-10 21:27:38 +08:00
paladin-t
d0d9c84b9d *fixed a member assignment bug when cloning a class instance; *avoided warnings with some compilers. 2016-02-04 11:45:02 +08:00
paladin-t
4d7dd1e28e *fixed a wrong parameter variable accessing bug; *fixed some memory leaks with collection gc. 2016-02-03 19:07:34 +08:00
paladin-t
5fc265e8d4 *fixed a wrong garbage collection bug with members of a class instance. 2016-02-03 17:35:07 +08:00
paladin-t
bb7fba843e +added an index_of statement. 2016-02-03 15:25:33 +08:00
paladin-t
06b42e270e *fixed a wrong dereferencing bug with referenced type hashing and comparison; *fixed an invalid lambda bug with gc. 2016-02-03 14:46:01 +08:00
paladin-t
b086bf8436 *fixed a memory leak with sub routine when assigning it as upvalue. 2016-02-03 10:53:09 +08:00
paladin-t
5105addfd5 *polished code. 2016-02-02 16:02:39 +08:00
paladin-t
ff11eca576 *added _ticks for apple and gnu compilers. 2016-02-02 15:52:47 +08:00
paladin-t
20e5016bb0 *optimized list sorting function by using merge sorting. 2016-02-02 10:53:28 +08:00
paladin-t
afbb9baf8a *refactored list sort. 2016-02-02 10:24:48 +08:00
Wang Renxin
1f5bb6423b +added a TRACE command; *fixed an infinity loop bug in the mb_debug_get_stack_trace function. 2016-01-30 12:32:00 +08:00
paladin-t
c5edb2b1f2 *fixed lookup bugs with member sub routine of a class instance. 2016-01-29 19:55:54 +08:00
paladin-t
0b3c2af998 *fixed lookup bugs with sub routine. 2016-01-29 15:03:03 +08:00
paladin-t
43bc11d97c *fixed a member accessing bug with class instance. 2016-01-29 13:34:48 +08:00
paladin-t
504294804c *fixed a routine retrieving bug. 2016-01-28 16:57:19 +08:00
paladin-t
f777249d8a *avoided warnings when compiling for 64bit system. 2016-01-28 14:24:54 +08:00
paladin-t
f5be6e7ab5 *fixed a crash bug when skipping a struct. 2016-01-28 11:17:25 +08:00
paladin-t
20bed0698b *polished gc code. 2016-01-27 19:50:17 +08:00
paladin-t
4a28c1e0d4 -removed the MB_ENABLE_GC macro. 2016-01-27 19:25:28 +08:00
paladin-t
5fef8b16be *refactored initial reference count. 2016-01-27 18:23:30 +08:00
paladin-t
650813c666 *fixed a wrong hash bug with string object. 2016-01-26 19:38:05 +08:00
paladin-t
61501884bf *fixed a wrong argument processing bug with variable arguments. 2016-01-26 18:28:20 +08:00
paladin-t
7d970d666a +added an mb_gc function; +added a gc statement to the shell. 2016-01-26 16:51:06 +08:00
paladin-t
25d76bb579 +added friendly error promption when memory overflow. 2016-01-26 11:39:56 +08:00
paladin-t
c1705c6a54 *optimized cached list accessing. 2016-01-26 11:05:55 +08:00
paladin-t
9ad0a75148 +added source file information to stepped handler. 2016-01-26 10:19:15 +08:00
paladin-t
dac311f3ce *fixed a bug with while and do statements. 2016-01-25 18:22:10 +08:00
paladin-t
111ab4a9bc *fixed a bug with nested if statement; *fixed an indexing bug with list; +added a new sample script source file. 2016-01-25 16:50:28 +08:00
paladin-t
d7424ec5f6 *polished code. 2016-01-25 11:37:56 +08:00
paladin-t
cb9350f1c2 *fixed a memory leak when printing a referenced usertype. 2016-01-25 11:16:01 +08:00
Wang Renxin
296fda75f7 +added lazy evaluation for ranged list. 2016-01-23 17:22:16 +08:00
paladin-t
d344b05d68 +added an IN keyword; +added support to loop on collections by using FOR-IN statement. 2016-01-22 19:26:36 +08:00
paladin-t
c684f3fcef *refactored FOR statement. 2016-01-22 17:25:07 +08:00
paladin-t
5fe522bb47 +added a HASH meta method; +added a COMPARE meta method. 2016-01-22 12:57:22 +08:00
paladin-t
e73dee7008 *fixed a referenced usertype comparison bug. 2016-01-21 20:34:38 +08:00
paladin-t
d9d793f08a +added "HASH" and "COMPARE" string constants. 2016-01-21 13:26:41 +08:00
paladin-t
9c35b84843 *fixed a wrong memory copy bug with the PRINT statement; +added TOSTRING meta method to serialize a class instance. 2016-01-21 13:17:53 +08:00
paladin-t
c7dda61248 *improved type handling. 2016-01-21 11:11:17 +08:00
paladin-t
98631c35ac *fixed an unknown type handling bug. 2016-01-20 21:32:09 +08:00
paladin-t
00e734bef2 *polished code. 2016-01-19 15:35:37 +08:00
paladin-t
d157f37ce5 *refactored struct _routine_t to make sure the _ref_t struct is in front of any referenced struct block.
*refactored struct _routine_t to make sure the _ref_t struct is in front
of any referenced struct block, thus &_ref_t == &(referenced struct).
2016-01-19 13:24:35 +08:00
paladin-t
40e79143b1 +added support to apply the LEN statement to variable arguments as LEN(...). 2016-01-19 13:06:53 +08:00
paladin-t
69d26f6006 *fixed an infinity loop bug with variable arguments handling; *fixed a memory leak with error routine. 2016-01-18 15:51:09 +08:00
paladin-t
4792ac7a93 +added variable arguments support. 2016-01-18 15:21:07 +08:00
paladin-t
f605013833 *polished shell implementation code. 2016-01-18 10:49:28 +08:00
Wang Renxin
d290aeb20e +added source file information to error handling; *fixed a memory leak. 2016-01-17 15:33:10 +08:00
Wang Renxin
7f81719ba1 *polished code. -removed an assertion. 2016-01-17 12:12:51 +08:00
Wang Renxin
74f6f054b4 +added a range of integer syntax.
+Added a range of integer syntax for the LIST statement, eg. LIST(m TO
n).
2016-01-16 14:01:02 +08:00