51 Commits

Author SHA1 Message Date
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
tony
e0cd240c94 *polished document 2015-04-11 16:03:10 +08:00
tony
2c722f5b07 +mb_has_argument; *memory occupation optimize 2015-04-11 15:06:27 +08:00
tony
e872d26513 Fixed a double precision float parsing bug on all 32bit systems, thanks to Pito for pointing it out; Fixed a exponential number parsing bug, thanks to Pito for pointing it out; Fixed a crash bug when a script begins with a meaningless negtive number. 2015-04-10 22:04:41 +08:00
Wang Renxin
d07194e170 Avoid warning. 2015-03-26 16:55:05 +08:00
tony
d5245ceb71 Changed _strupr macro to mb_strupr function; Added an mb_strdup function; Fixed an intermediate value disposing more than once bug. 2015-03-26 11:15:02 +08:00
tony
090fd0b900 fixed a calculation crash bug. fixed a memory leak with intermediate value. 2014-12-18 08:23:01 +08:00
Wang Renxin
3242da03d5 Update my_basic.c 2014-12-17 10:29:25 +08:00
Wang Renxin
f6c01b3f48 patched with list validation 2014-12-17 10:20:36 +08:00
tony
446adfc482 fixed a negative calculation bug in a function argument 2014-12-16 23:35:48 +08:00
tony
0e11c86786 improved compatibility with bcb 2014-12-09 22:12:21 +08:00