559 Commits

Author SHA1 Message Date
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
paladin-t
acf5238d44 +added a REFLECT statement. 2016-01-15 19:53:11 +08:00
paladin-t
cc93e2ab7c +added MB_ENABLE_USERTYPE_REF and MB_ENABLE_ARRAY_REF macros. *updated doc. 2016-01-15 15:39:23 +08:00
paladin-t
86e79c059d *fixed an invalid gc table iteration bug. 2016-01-15 12:49:02 +08:00
paladin-t
8e3a9ab748 *fixed some crash bugs with invalid syntax; *fixed some memory leak with invalid syntax. 2016-01-15 10:53:45 +08:00
Wang Renxin
baec8134eb *fixed a variable assignment bug when it was holding a routine; *updated osx binary. 2016-01-14 20:59:53 +08:00
paladin-t
4c9ae52049 *fixed a compile issue. 2016-01-14 19:11:06 +08:00
paladin-t
876a50460d *fixed a lambda evaluation bug with upvalues from meta class. 2016-01-14 19:09:21 +08:00
paladin-t
a8cc657fe9 *fixed a compile issue. 2016-01-14 17:51:49 +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