161 Commits

Author SHA1 Message Date
Wang Renxin
5b72de8e6f *tidy useless variables. 2015-09-24 19:35:27 +08:00
Wang Renxin
ab465ca7ca *fixed bugs in a recursive sub routine, thanks to John for pointing it out; *fixed identifier lookup bugs; *fixed a memory leak when pushing string arguments. 2015-09-24 13:25:27 +08:00
Wang Renxin
5bf75a513e *updated my_basic.c. 2015-09-23 11:50:12 +08:00
Wang Renxin
9908cd9ce9 *avoid warnings. 2015-09-23 11:44:40 +08:00
Wang Renxin
cfbdc82ce9 +added IMPORT statement. 2015-09-22 13:55:53 +08:00
Wang Renxin
ca07414c24 *updated my_basic.c 2015-09-22 12:52:13 +08:00
Wang Renxin
c609687f2b +added mb_get_var, mb_get_var_value and mb_set_var_value implementation. 2015-09-22 11:07:11 +08:00
Wang Renxin
33ff6e1100 +added mb_get_var, mb_get_var_value and mb_set_var_value. 2015-09-22 11:06:08 +08:00
tony
b6ab676ad7 +implemented tail recursion optimization in sub routine; +added array length gain in len function; *fixed a crash bug when returning nothing in a sub routine; *polished document. 2015-09-21 23:51:55 +08:00
Wang Renxin
ed49a25074 +added array length gain in LEN function. 2015-09-21 14:11:57 +08:00
tony
faae9b4cdc +added array manipulation ability to script, it's able to assign an array to a variable or use it as a scripting interface argument; +added recursive sub routine support; *fixed a wrong argument detection bug in mb_has_arg. 2015-09-20 21:34:04 +08:00
tony
09f005b50a *fixed a float number parsing bug, thanks to Cybermonkey342 for pointing it out; +added directly expression evaluation shell command. 2015-09-18 21:06:38 +08:00
Wang Renxin
db122e960e *fixed a float number parsing bug. 2015-09-18 10:04:47 +08:00
Wang Renxin
d21c797b3f *fixed a repeated releasing bug when using sub routine. 2015-09-17 18:19:58 +08:00
Wang Renxin
7f8a18c9b0 *supports sub routine in PRINT. 2015-09-17 15:52:09 +08:00
Wang Renxin
987d0a2a81 *allowed strings in a boolean expression. 2015-09-17 14:02:00 +08:00
tony
31ab04052a +added Nil type handling, including assignment, boolean operation, serialization, etc. +added an MB_CONVERT_TO_INT_LEVEL macro, would convert float to integer as much as possible if this macro was enabled; *polished document 2015-09-16 21:25:01 +08:00
tony
c6d7dcae8f +added a duplicate sub routine error handling; +added optional argument support for INPUT statement; *fixed a variable multiple freeing bug in sub routine; *polished document. 2015-09-11 22:29:16 +08:00
Wang Renxin
583cc5ae53 *fixed a sub routine invoking bug without leading CALL statement or result receiver. 2015-09-08 13:37:44 +08:00
Wang Renxin
da3ad153b1 *fixed a type parsing of sub routine bug; *fixed a scope processing bug. 2015-09-08 13:26:54 +08:00
tony
fe3e7db9c9 *improved sub routine. 2015-09-07 09:41:15 +08:00
tony
789cc76eb3 +added sub routine type insurance; *prompted more friendly dummy function message; *polished code and document 2015-09-02 21:29:29 +08:00
tony
1c1771280c +added support for user customized routine by DEF/ENDDEF 2015-09-01 22:22:15 +08:00
tony
0b7d939fe1 +added a memory pool to interpreter shell in main.c. 2015-08-26 21:21:19 +08:00
tony
78fe066a29 +allowed a user to define the memory tag data type, unsigned short as default; +added an mb_set_memory_manager function, allows user defined memory management; +added referencable data type size constants. 2015-08-25 21:42:15 +08:00
tony
802b5aa1f1 +added data structure for routine and prototype. 2015-08-17 15:06:53 +08:00
tony
8b0e99c755 fixed a wrong IF trunk processing bug, thanks to irony for pointing it out; fixed a crash bug with an invalid IF statement. 2015-08-11 13:27:17 +08:00
Wang Renxin
610cd04731 *fixed a memory leak with mb_pop_xxx 2015-07-27 13:06:05 +08:00
tony
f20db0a1e8 *polished. 2015-07-22 22:56:47 +08:00
Wang Renxin
bec43b121e *avoid warning. 2015-07-22 11:34:48 +08:00
Wang Renxin
b4656abb41 *fixed a crash bug when met an empty string in PRINT 2015-07-21 17:06:06 +08:00
tony
013dbdb172 *fixed a string manipulation bug 2015-07-20 22:28:58 +08:00
tony
1a2bce265a +added array manipulation functions 2015-07-12 15:38:48 +08:00
tony
b5a92d1ae8 +added behaviour tag to mb_schedule_suspend 2015-06-19 11:27:34 +08:00
tony
edb1e8da56 +added an mb_schedule_suspend interface 2015-06-19 11:12:15 +08:00
Wang Renxin
3487cf13b6 *fixed a memory leak 2015-06-18 13:23:20 +08:00
Wang Renxin
69bd7780a2 *fixed a crash bug when re-entry a script 2015-06-18 11:25:57 +08:00
tony
424f394432 *fixed a wrong token position marking issue with interactive mode 2015-06-15 22:34:54 +08:00
tony
3d4a28d157 -Removed redundant EOS; *Polished data precision macros 2015-05-06 22:12:23 +08:00
tony
2a56f4374c +Improved array; *Polished data precision related macros. 2015-05-05 21:35:42 +08:00
tony
40bc0a9d0e +line inserting/removing; *changed mb_dispose_value as public. 2015-04-27 21:35:26 +08:00
Wang Renxin
53120dfb47 *polished instruction macros 2015-04-24 17:26:53 +08:00
Wang Renxin
856830fb0f *fixed a bug in '_core_do' 2015-04-24 17:19:30 +08:00
Wang Renxin
b00677973e *mb_debug_get allows 'val' to be NULL 2015-04-24 14:52:14 +08:00
Wang Renxin
b86b44f081 *polished code 2015-04-24 11:49:17 +08:00
tony
7f6417c2a2 +debug APIs; +improved IF statment 2015-04-23 21:50:54 +08:00
Wang Renxin
a4c2a73bc4 *fixed a mistake in generic array 2015-04-16 10:06:57 +08:00
tony
538ee44708 +usertype support; *polished code; *polished document 2015-04-15 22:27:19 +08:00
tony
2ff04a09bc +mixed array support; *some bugfix 2015-04-13 22:32:41 +08:00
tony
29f72c4d8a *fixed an array out of bound bug 2015-04-11 21:51:25 +08:00