1137 lines
32 KiB
Plaintext
Executable File
1137 lines
32 KiB
Plaintext
Executable File
May. 9 2018
|
|
Fixed a crash bug in invalid conditional expression with class member, thanks to AaBc for pointing it out
|
|
Fixed a wrong error with the VAL statement
|
|
|
|
Apr. 20 2018
|
|
Avoided a warning when a C++ compiler refers char to unsigned
|
|
|
|
Mar. 11 2018
|
|
Fixed a string assignment issue with class member
|
|
|
|
Mar. 9 2018
|
|
Fixed a GC bug with ranged FOR loop
|
|
Fixed a stepping bug in the IF statement
|
|
|
|
Jan. 15 2018
|
|
Fixed a crash bug with invalid collection index
|
|
Fixed a memory leak with invalid invoking
|
|
Fixed a wrong invoking of recursive sub routine
|
|
|
|
Jan. 3 2018
|
|
Fixed a parsing bug with unary negative operator
|
|
|
|
Nov. 28 2017
|
|
Fixed a referencing bug with the IF statement
|
|
|
|
Nov. 25 2017
|
|
Fixed a lookup issue with the mb_get_var function
|
|
|
|
Nov. 17 2017
|
|
Fixed an assignment issue with upvalues
|
|
Fixed a variable lookup issue with ranged FOR loop
|
|
|
|
Nov. 16 2017
|
|
Fixed a clearing issue of intermediate values in forked scope chain
|
|
|
|
Nov. 15 2017
|
|
Added a checking step for alive objects in all forked environment
|
|
|
|
Nov. 13 2017
|
|
Fixed an extended abort issue
|
|
Fixed a crash bug with routine
|
|
Fixed a GC bug with outer scopes of lambda
|
|
Fixed an accessing issue with upvalues
|
|
|
|
Nov. 10 2017
|
|
Fixed a GC bug with dictionary
|
|
Fixed a bug with overlapped lambda scopes
|
|
Fixed a bug with lambda lookup
|
|
|
|
Nov. 8 2017
|
|
Renamed the TOSTRING symbol to TO_STRING
|
|
|
|
Nov. 7 2017
|
|
Fixed a bug with single-line nested IF statement
|
|
|
|
Nov. 5 2017
|
|
Fixed a GC bug with upvalues in a closure
|
|
Fixed a GC bug with retrieved routine
|
|
Fixed a GC bug with routine in a collection
|
|
Fixed a crash bug with conflicting routine and class identifier
|
|
Fixed a dangling pointer bug with incomplete structures
|
|
Fixed a memory leak with wrong routine or class identifier
|
|
Fixed a memory leak with incomplete structures
|
|
|
|
Nov. 1 2017
|
|
Added some location parameters to the mb_get_last_error function
|
|
|
|
Oct. 30 2017
|
|
Added support to apply the STR statement to a type value
|
|
Fixed a referencing bug with unnamed array
|
|
|
|
Oct. 29 2017
|
|
Fixed a crash bug when access an unnamed array
|
|
|
|
Oct. 25 2017
|
|
Fixed a memory leak with unexpected value
|
|
|
|
Oct. 24 2017
|
|
Fixed a memory leak with dangling value
|
|
|
|
Oct. 23 2017
|
|
Added support to apply the CLONE statement to a referenced usertype
|
|
|
|
Oct. 22 2017
|
|
Renamed the EXIST statement to EXISTS
|
|
|
|
Oct. 19 2017
|
|
Fixed a wrong comparison bug of member names with the REFLECT statement
|
|
|
|
Oct. 17 2017
|
|
Added comparison between string and nil
|
|
Fixed a multiple disposing bug with retrieved routine object
|
|
Fixed a bug with uncleared parsing context
|
|
|
|
Oct. 14 2017
|
|
Fixed a multiple disposing bug with the PRINT statement
|
|
Fixed an error prompting bug with the INPUT statement
|
|
|
|
Oct. 9 2017
|
|
Improved expression evaluation speed
|
|
|
|
Oct. 5 2017
|
|
Fixed an infinity loop bug with error handling, thanks to Saar for pointing it out
|
|
Fixed a wrong error locating bug, thanks to Saar for pointing it out
|
|
|
|
Sep. 22 2017
|
|
Added a _SIMPLE_ARG_ERROR macro
|
|
|
|
Sep. 13 2017
|
|
Fixed a referenced usertype cloning issue
|
|
|
|
Aug. 29 2017
|
|
Added a prompting for inputer
|
|
|
|
Jul. 24 2017
|
|
Added an mb_get_var_name function
|
|
|
|
Jul. 7 2017
|
|
Added support to apply the FOR statement to an iterable class instance
|
|
|
|
Jul. 4 2017
|
|
Added function overriding support of the ITERATOR statement
|
|
Added support to apply the FOR statement to an iterable referenced usertype
|
|
|
|
Jul. 3 2017
|
|
Fixed a disposing bug with non-referenced array
|
|
|
|
Jun. 17 2017
|
|
Added a customizable identifier alias macro for lambda
|
|
|
|
Jun. 10 2017
|
|
Fixed a processing bug with the ELSE statement, thanks to yukini3 for pointing it out
|
|
Avoided warnings with some compilers
|
|
|
|
Jun. 7 2017
|
|
Added an mb_get_routine_type function
|
|
Renamed mb_close_forked to mb_join
|
|
|
|
Jun. 2 2017
|
|
Added an mb_keys_of_coll function
|
|
|
|
May. 24 2017
|
|
Fixed a memory leak when applying GC on a forked environment
|
|
|
|
May. 20 2017
|
|
Improved stability by preventing assigning built-in boolean
|
|
|
|
May. 18 2017
|
|
Fixed some memory potential leak when popped unexpected type of argument
|
|
|
|
May. 17 2017
|
|
Fixed a forked environment disposing issue if error occurs
|
|
|
|
May. 15 2017
|
|
Added mb_get_gc_enabled and mb_set_gc_enabled functions
|
|
|
|
May. 14 2017
|
|
Added a clear_parser parameter to the mb_run function
|
|
Added an extra end of running checking after stepped
|
|
|
|
May. 13 2017
|
|
Added an MB_ENABLE_FULL_ERROR macro
|
|
|
|
May. 12 2017
|
|
Fixed a wrong multi-line enabled bug when met unexpected token
|
|
|
|
May. 10 2017
|
|
Added an mb_make_usertype_bytes macro
|
|
Fixed a crash bug when there's no receiver of a returned string value, thanks to Beyond07 for pointing it out
|
|
|
|
May. 8 2017
|
|
Added fork functions
|
|
Added a global alive object checker
|
|
|
|
May. 7 2017
|
|
Fixed a wrong context processing bug when evaluating a routine manually, thanks to Diederik for pointing it out
|
|
|
|
May. 6 2017
|
|
Added a tobe returned parameter to the mb_eval_routine function
|
|
|
|
May. 3 2017
|
|
Added reenterable running
|
|
Fixed a multiple disposing bug
|
|
|
|
Apr. 20 2017
|
|
Fixed a referencing bug with collection iteration in a FOR loop
|
|
|
|
Apr. 8 2017
|
|
Renamed the PEEK statement to BACK
|
|
|
|
Apr. 6 2017
|
|
Added multi-line statement support
|
|
|
|
Apr. 5 2017
|
|
Fixed an infinity loop bug with lambda
|
|
Fixed a wrong hash bug with pointer, which may cause crash on some 64bit systems
|
|
Fixed a source tracing issue with files imported by external import handler
|
|
Fixed a memory leak with sub routine
|
|
|
|
Mar. 29 2017
|
|
Added an alive object checker of referenced usertype
|
|
|
|
Mar. 17 2017
|
|
Added storing of different types support for array
|
|
|
|
Mar. 8 2017
|
|
Fixed a processing bug when printing with native routine of a class instance
|
|
|
|
Feb. 28 2017
|
|
Fixed an issue with reference count manipulation of a value
|
|
|
|
Feb. 25 2017
|
|
Added an MBIMPL macro
|
|
Fixed some platform dependent macro issues for apple systems
|
|
|
|
Feb. 22 2017
|
|
Improved API by replacing assertions with checking code
|
|
Improved function calling of referenced usertype
|
|
|
|
Feb. 16 2017
|
|
Improved meta function
|
|
|
|
Feb. 14 2017
|
|
Fixed a wrong routine unreferencing bug
|
|
|
|
Feb. 10 2017
|
|
Fixed a parameter lookup bug when calling a sub routine
|
|
|
|
Feb. 8 2017
|
|
Fixed a processing bug with the ELSEIF statement
|
|
|
|
Feb. 3 2017
|
|
Added a replacement real number formatting function
|
|
Added a replacement function of strtod on the wiki page, thanks to Paul Johnson for providing the code
|
|
|
|
Jan. 19 2017
|
|
Fixed a crash bug with unmatched ENDIF statement, thanks to yukini3 for pointing it out
|
|
|
|
Jan. 17 2017
|
|
Improved the stepped handler
|
|
|
|
Jan. 7 2017
|
|
Added dot symbol accessing of functions for referenced usertype
|
|
|
|
Dec. 2 2016
|
|
Fixed a case sensitive issue with the IMPORT statement (for module), thanks to wwiv for pointing it out
|
|
|
|
Dec. 23 2016
|
|
Added memory allocation failure check to the shell
|
|
|
|
Dec. 22 2016
|
|
Improved shell prompting when removing a non-exist file
|
|
|
|
Dec. 21 2016
|
|
Improved parsing context maintaining
|
|
|
|
Dec. 20 2016
|
|
Narrowed array structure
|
|
Narrowed bool_t
|
|
|
|
Dec. 16 2016
|
|
Improved the INPUT statement
|
|
|
|
Dec. 5 2016
|
|
Added a REM statement
|
|
|
|
Nov. 1 2016
|
|
Fixed a file importing bug
|
|
Removed the SET_IMPORTING_DIRS statement
|
|
|
|
Oct. 23 2016
|
|
Fixed a percent symbol printing bug, thanks to Philip Bister for pointing it out
|
|
|
|
Aug. 9 2016
|
|
Added function overriding support for class instance
|
|
Fixed a multiple disposing bug with GC
|
|
|
|
Aug. 7 2016
|
|
Refactored to return UNKNOWN when trying to access a not exist member in a class instance
|
|
|
|
Aug. 6 2016
|
|
Refactored to return UNKNOWN when trying to access a not exist key in a dictionary
|
|
Added reflection accessing ability to the SET statement
|
|
|
|
Aug. 4 2016
|
|
Improved locale processing
|
|
|
|
Jul. 26 2016
|
|
Fixed a multiple disposing bug with class member
|
|
|
|
Jul. 20 2016
|
|
Added a program too long error
|
|
Fixed a memory comparison issue
|
|
|
|
Jul. 19 2016
|
|
Added a too many routines error
|
|
Added a reference count overflow error
|
|
Added a weak reference count overflow error
|
|
|
|
Jul. 18 2016
|
|
Fixed a wrong interpretation bug in the TYPE statement
|
|
|
|
Jul. 16 2016
|
|
Added class format support with the STR statement
|
|
|
|
Jul. 14 2016
|
|
Fixed a boolean operation bug with the NOT statement on float number
|
|
Improved boolean operation
|
|
|
|
Jul. 13 2016
|
|
Refactored error prompting
|
|
|
|
Jul. 12 2016
|
|
Fixed some memory issues with GC
|
|
Fixed a crash when met invalid lambda arguments
|
|
|
|
Jul. 11 2016
|
|
Added a HASH and COMPARE must come together error
|
|
Fixed a meta function missing issue for class
|
|
Fixed a source file information missing issue for routine
|
|
Fixed a garbage collection issue of outer scope
|
|
Fixed a stack tracing issue
|
|
|
|
Jul. 7 2016
|
|
Added function overriding support for referenced usertype
|
|
Improved error prompting for collection manipulation
|
|
|
|
Jul. 6 2016
|
|
Fixed a memory leak with the PRINT statement
|
|
Fixed a stack memory issue with stack tracing
|
|
|
|
Jul. 5 2016
|
|
Improved error handling
|
|
|
|
Jun. 30 2016
|
|
Fixed a buffer overflow issue when formatting real number with the STR statement
|
|
|
|
Jun. 29 2016
|
|
Added a dynamic buffer helper for temporary string manipulation
|
|
|
|
Jun. 28 2016
|
|
Fixed a type detection bug with string
|
|
Refactored formatting functor of a referenced usertype
|
|
|
|
Jun. 27 2016
|
|
Added a context parameter to stepped handler
|
|
|
|
Jun. 23 2016
|
|
Added unary negative meta function overriding support for referenced usertype
|
|
Fixed a memory leak with variadic
|
|
|
|
Jun. 21 2016
|
|
Added lambda tracing
|
|
Improved error prompting for wrong function reaching
|
|
Improved variadic processing with lambda
|
|
Improved UTF8 string input/output on Windows for the shell
|
|
Fixed a wrong variadic processing issue
|
|
Fixed a referenced usertype operation bug
|
|
|
|
Jun. 17 2016
|
|
Improved UTF8 string input/output on Windows
|
|
|
|
Jun. 15 2016
|
|
Added endian determination for object comparison
|
|
Improved bytes comparison with different endian
|
|
|
|
Jun. 14 2016
|
|
Fixed some bugs with meta method calling
|
|
|
|
Jun. 7 2016
|
|
Simplified double precision float number redefinition
|
|
|
|
May. 24 2016
|
|
Refactored error raising of string manipulation
|
|
|
|
May. 20 2016
|
|
Added an assertion when buffer overflow in the STR statement
|
|
|
|
May. 19 2016
|
|
Added UTF8 BOM detection even with MB_ENABLE_UNICODE disabled
|
|
Fixed a bug in ASC with UTF8 character
|
|
|
|
May. 17 2016
|
|
Fixed an evaluation bug when accessing a collection by brackets
|
|
Fixed a memory leak with expression calculation
|
|
|
|
May. 13 2016
|
|
Added an error type
|
|
|
|
May. 5 2016
|
|
Fixed a column counting bug with UTF8
|
|
|
|
Apr. 29 2016
|
|
Fixed a loading bug when importing a UTF8 file
|
|
|
|
Apr. 26 2016
|
|
Added an invalid operation usage error when met an unexpected expression
|
|
|
|
Apr. 22 2016
|
|
Added UTF8 token support
|
|
|
|
Apr. 19 2016
|
|
Fixed an error raising issue with incomplete IF structure
|
|
|
|
Apr. 18 2016
|
|
Fixed an invalid iterator issue with ranged list
|
|
|
|
Apr. 15 2016
|
|
Added some error raising when met incomplete routine or class
|
|
|
|
Apr. 13 2016
|
|
Fixed a negative calculation issue with brackets
|
|
|
|
Apr. 11 2016
|
|
Fixed a calculation issue with the NOT statement
|
|
|
|
Apr. 5 2016
|
|
Added a warning when a "tostring" meta method didn't return a string
|
|
|
|
Mar. 29 2016
|
|
Added a help option to the shell
|
|
|
|
Mar. 16 2016
|
|
Fixed an execution issue after a lambda
|
|
Fixed a cannot RETURN bug from a FOR loop in a sub routine
|
|
Fixed a memory leak with referenced data in variadic
|
|
|
|
Mar. 15 2016
|
|
Improved error prompting of array manipulation
|
|
|
|
Mar. 11 2016
|
|
Improved error prompting
|
|
|
|
Mar. 9 2016
|
|
Improved overridden function invoking
|
|
Fixed a memory leak
|
|
Moved overriding information from stack to heap
|
|
|
|
Mar. 8 2016
|
|
Fixed a memory overflow bug with the ASC statement
|
|
|
|
Mar. 4 2016
|
|
Fixed a memory leak with sub routine parameter
|
|
Improved inputer
|
|
|
|
Mar. 2 2016
|
|
Added a new YARD sample
|
|
Fixed a crash bug when unreferencing a garbage
|
|
Fixed a multiple disposing bug when an error occurs in an expression
|
|
|
|
Mar. 1 2016
|
|
Added an OS statement
|
|
Fixed a variable pathing bug in lambda
|
|
Fixed a class type detection bug with the IS statement
|
|
Refactored platform dependent macros
|
|
|
|
Feb. 29 2016
|
|
Added multi-line comment support
|
|
Fixed a crash bug with invalid expression
|
|
|
|
Feb. 26 2016
|
|
Added a ME keyword to represent a class instance itself
|
|
Added shallow cloning support
|
|
Fixed an overridden function copying issue
|
|
Fixed a multiple disposing bug with outer scopes of lambda
|
|
|
|
Feb. 25 2016
|
|
Improved importing directory detection
|
|
Fixed a bug with the END and RETURN statement with FOR loop
|
|
Fixed an array index calculation bug
|
|
Fixed a wrong variable manipulation bug with the PRINT statement
|
|
|
|
Feb. 24 2016
|
|
Added a TO_ARRAY statement
|
|
Added support to apply the LEN statement to an array assigned from another
|
|
|
|
Feb. 23 2016
|
|
Added an mb_override_value function
|
|
Added meta function overriding support for referenced usertype
|
|
|
|
Feb. 22 2016
|
|
Added array cloning support
|
|
Added array accessing support of a class instance
|
|
Added a RAISE statement to the shell
|
|
Fixed an iterator disposing issue caused by referencing a collection weakly
|
|
|
|
Feb. 19 2016
|
|
Added source tracing for sub routine invoking
|
|
Added member accessing support following a routine of a class instance
|
|
Fixed a lexical object conversion issue
|
|
|
|
Feb. 18 2016
|
|
Added a generic iterator type
|
|
Added a SYS statement to the shell
|
|
Fixed a wrong list linkage bug with list sorting
|
|
|
|
Feb. 16 2016
|
|
Fixed a bug with the EXIT statement with FOR loop
|
|
|
|
Feb. 15 2016
|
|
Fixed some compile issues with Xcode
|
|
|
|
Feb. 11 2016
|
|
Fixed a bug with the EXIT statement with multiple line IF statement
|
|
|
|
Feb. 10 2016
|
|
Fixed a wrong loop bug with the WHILE and DO statement
|
|
|
|
Feb. 4 2016
|
|
Avoided warnings with some compilers
|
|
Fixed a member assignment bug when cloning a class instance
|
|
|
|
Feb. 3 2016
|
|
Added an INDEX_OF statement
|
|
Fixed a wrong parameter variable accessing bug
|
|
Fixed some memory leaks with collection GC
|
|
Fixed a wrong garbage collection bug with members of a class instance
|
|
Fixed a wrong dereferencing bug with referenced type hashing and comparison
|
|
Fixed an invalid lambda bug with GC
|
|
Fixed a memory leak with sub routine when assigning it as an upvalue
|
|
|
|
Feb. 2 2016
|
|
Optimized list sorting function by using merge sorting
|
|
|
|
Jan. 31 2016
|
|
Ignored first frame name with the TRACE command
|
|
|
|
Jan. 30 2016
|
|
Added a TRACE command to the shell
|
|
Fixed an infinity loop bug in the mb_debug_get_stack_trace function
|
|
|
|
Jan. 29 2016
|
|
Fixed lookup bugs with member sub routine of a class instance
|
|
Fixed a member accessing bug with class instance
|
|
|
|
Jan. 28 2016
|
|
Fixed a routine retrieving bug
|
|
Fixed a crash bug when skipping a struct
|
|
|
|
Jan. 27 2016
|
|
Removed the MB_ENABLE_GC macro
|
|
Refactored initial reference count
|
|
|
|
Jan. 26 2016
|
|
Added an mb_gc function
|
|
Added a SET_IMPORTING_DIRS statement to the shell
|
|
Added friendly error prompting when memory overflow
|
|
Added source file information to stepped handler
|
|
Fixed a wrong argument processing bug with variadic
|
|
Fixed a wrong hash bug with string object
|
|
Fixed a memory corruption bug with importing directory setting
|
|
Optimized cached list accessing
|
|
|
|
Jan. 25 2016
|
|
Fixed a memory leak when printing a referenced usertype
|
|
Fixed a bug with nested IF statement
|
|
Fixed a bug with the WHILE and DO statement when returning from a sub routine
|
|
Fixed an indexing bug with list
|
|
Added a new sample script source file
|
|
|
|
Jan. 23 2016
|
|
Added lazy evaluation for ranged list
|
|
|
|
Jan. 22 2016
|
|
Added an IN keyword
|
|
Added support to loop on collections by using the FOR/IN statement
|
|
Added a "hash" meta method to calculate the hash code of a class instance
|
|
Added a "compare" meta method to compare two class instances
|
|
|
|
Jan. 21 2016
|
|
Fixed a referenced usertype comparison bug
|
|
Fixed a wrong memory copy bug with the PRINT statement
|
|
Added a "tostring" meta method to serialize a class instance
|
|
Improved type handling
|
|
|
|
Jan. 20 2016
|
|
Fixed an unknown type handling bug
|
|
|
|
Jan. 19 2016
|
|
Added support to apply the LEN statement to variadic as LEN(...)
|
|
|
|
Jan. 18 2016
|
|
Added a variadic support
|
|
Added a NOW statement to the shell
|
|
Improved shell implementation code
|
|
|
|
Jan. 17 2016
|
|
Added source file information to error handling
|
|
Fixed a memory leak with sub routine which returns a string
|
|
|
|
Jan. 16 2016
|
|
Added a range of integer syntax for the LIST statement, eg. LIST(m TO n)
|
|
Added extra importing directories support to shell
|
|
|
|
Jan. 15 2016
|
|
Added a REFLECT statement
|
|
Added an MB_ENABLE_USERTYPE_REF macro
|
|
Added an MB_ENABLE_ARRAY_REF macro
|
|
Fixed some crash bugs with invalid syntax
|
|
Fixed some memory leak with invalid syntax
|
|
Fixed an invalid GC table iteration bug
|
|
|
|
Jan. 14 2016
|
|
Fixed a collection accessing bug in an assignment statement
|
|
Fixed a lambda unreferencing issue
|
|
Fixed a lambda evaluation bug with upvalues from meta class
|
|
Fixed a routine disposing issue
|
|
Fixed a variable assignment bug when it was holding a routine
|
|
Fixed a missing assignment bug with class field accessor
|
|
Fixed an issue with lambda when a class instance went out of use
|
|
Removed support of storing a literal instance in a variable
|
|
Simplified variable creation
|
|
|
|
Jan. 13 2016
|
|
Optimized hash table algorithm
|
|
|
|
Jan. 12 2016
|
|
Improved sub routine by unreference objects which were out of scope
|
|
Fixed a routine evaluation bug when it's stored in a variable
|
|
Fixed a disposing issue with collection iterators
|
|
Fixed some memory leak with lambda
|
|
Fixed a multiple disposing bug with string expression calculation
|
|
Improved GC with outer scopes of lambda
|
|
Fixed some other minor bugs with lambda
|
|
Fixed a wrong disposing bug when accessing a collection by brackets
|
|
Optimized memory occupation with lambda
|
|
|
|
Jan. 11 2016
|
|
Fixed a crash bug when a DO/UNTIL statement is the end of a program
|
|
Fixed a memory leak with string manipulation
|
|
|
|
Jan. 9 2016
|
|
Developing lambda, improved error handling
|
|
Developing lambda, fixed an issue with only a PRINT statement
|
|
|
|
Jan. 8 2016
|
|
Developing lambda, fixed a lambda scope linkage issue
|
|
Developing lambda, fixed an upvalue passing issue
|
|
|
|
Jan. 7 2016
|
|
Developing lambda, added parameter and upvalue processing
|
|
Developing lambda, added closure maintenance
|
|
Developing lambda, added lambda evaluation
|
|
Developing lambda, added lambda unreferencing functions
|
|
|
|
Jan. 6 2016
|
|
Developing lambda, added cloning support
|
|
Added support to use TYPE("NUMBER") to represent both integer and real
|
|
Improved the IS statement
|
|
|
|
Jan. 5 2016
|
|
Developing lambda, added data structure
|
|
Developing lambda, added a LAMBDA statement
|
|
Developing lambda, added a _core_lambda function
|
|
Developing lambda, added an MB_ENABLE_LAMBDA macro
|
|
|
|
Jan. 4 2016
|
|
Added stack tracing
|
|
Added an mb_debug_get_stack_trace function and an MB_ENABLE_STACK_TRACE macro
|
|
Added support to duplicate a class instance by a NEW statement with an identifier string
|
|
Fixed a string value copy issue in mb_pop_value
|
|
|
|
Jan. 2 2016
|
|
Added support to apply the GET statement to a class instance
|
|
Added support to access a collection by brackets
|
|
Fixed a wrong scope bug caused by cloned class instance
|
|
Fixed a GC issue by adding reference count when cloning a collection or a referenced usertype
|
|
Fixed a mistake in the VAR statement
|
|
|
|
Jan. 1 2016 Version 1.2
|
|
Added a new sample script source file
|
|
Added case-insensitive type name string comparison support
|
|
Fixed an invalid execution point bug when a program begins with a label
|
|
|
|
Dec. 30 2015
|
|
Improved error handling with sub routine and class
|
|
Implemented DIR command
|
|
|
|
Dec. 29 2015
|
|
Fixed a multiple disposing bug with expression calculation
|
|
Fixed a memory leak with GC caused by meta class
|
|
Improved GC with array and string
|
|
Improved string duplication
|
|
Improved array handling
|
|
Improved array manipulation code
|
|
|
|
Dec. 28 2015
|
|
Fixed a GC bug
|
|
Fixed a wrong routine evaluation bug
|
|
Improved threshold algorithm for the memory pool
|
|
|
|
Dec. 25 2015
|
|
Added support to put a class instance into a variable
|
|
Improved error handling with sub routine and class
|
|
Fixed an unary calculation issue
|
|
Fixed a memory leak in class definition
|
|
|
|
Dec. 24 2015
|
|
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
|
|
Refactored memory layout of the _routine_t struct
|
|
|
|
Dec. 21 2015
|
|
Fixed a class GC bug
|
|
|
|
Dec. 19 2015
|
|
Improved error handling when defining a class in C
|
|
|
|
Dec. 18 2015
|
|
Avoided compiling issues
|
|
Improved compatibility with Arduino
|
|
|
|
Dec. 17 2015
|
|
Added support to evaluate a sub routine by an accessor in a PRINT statement
|
|
Added support to get a value by an accessor in a PRINT statement
|
|
Fixed a method invoking issue when met from meta class
|
|
|
|
Dec. 15 2015
|
|
Added a pair of mb_begin_class/mb_end_class functions
|
|
Added an mb_get_value_by_name function
|
|
Added an mb_add_var function
|
|
Added an mb_set_routine function
|
|
Added native sub routine support
|
|
|
|
Dec. 13 2015
|
|
Avoided warnings
|
|
|
|
Dec. 11 2015
|
|
Added an IS statement to detect type equality of a value
|
|
Added support to store a routine in a variable by the CALL statement
|
|
Added GC accessing to fields of a class instance
|
|
Fixed a memory leak with GC caused by reference cycle
|
|
Finished internal class development
|
|
|
|
Dec. 10 2015
|
|
Developing class, added a NEW statement to duplicate a class instance
|
|
|
|
Dec. 9 2015
|
|
Developing class, added accessing by identifier
|
|
Developing class, added a VAR statement to declare a member variable
|
|
Developing class, added routine evaluation in a class
|
|
Developing class, added reference count for class
|
|
Fixed a crash bug when exiting with parsing error
|
|
Fixed a multiple disposing bug when doing GC
|
|
|
|
Dec. 8 2015
|
|
Developing class, added reference struct, added meta class linking
|
|
Improved stability for sub routine
|
|
|
|
Dec. 7 2015
|
|
Improved TICKS function
|
|
Initialized random number seed on start up
|
|
|
|
Dec. 4 2015
|
|
Updated icon
|
|
Added structures for class development
|
|
|
|
Nov. 30 2015
|
|
Improved stability for sub routine
|
|
Improved error handling with shell
|
|
|
|
Nov. 26 2015
|
|
Raised error for invalid routine usage
|
|
Fixed a memory corruption bug when met an invalid routine usage
|
|
|
|
Nov. 4 2015
|
|
Added an mb_raise_error function
|
|
|
|
Nov. 3 2015
|
|
Fixed a memory leak with string manipulation
|
|
|
|
Oct. 31 2015
|
|
Added some mb_value_t initialization helper macros
|
|
|
|
Oct. 29 2015
|
|
Added an mb_get_ref_value function
|
|
Improved mb_set_coll
|
|
|
|
Oct. 28 2015
|
|
Added module (namespace) support
|
|
|
|
Oct. 27 2015
|
|
Added an mb_set_import_handler function
|
|
Added an mb_init_coll function
|
|
Fixed a collection referencing by iterator bug during GC
|
|
Fixed an argument detection issue with nil value
|
|
Improved stability
|
|
|
|
Oct. 23 2015
|
|
Added public collection manipulation interfaces: mb_get_coll, mb_set_coll, mb_remove_coll, mb_count_coll
|
|
Improved usertype by adding size customizable mb_val_bytes_t to the value union
|
|
Improved referenced usertype
|
|
Fixed a dictionary iterator validation bug
|
|
Fixed a wrong identifier parsing bug, thanks to Julien for pointing it out
|
|
Added threshold to the memory pool
|
|
|
|
Oct. 22 2015
|
|
Fixed a memory issue in GC, thanks to John and Cybermonkey342 for pointing it out
|
|
|
|
Oct. 21 2015
|
|
Fixed a reference count manipulation bug
|
|
Fixed some uninitialized value issues
|
|
|
|
Oct. 20 2015
|
|
Added a SRND statement
|
|
Added range support for the RND statement
|
|
Fixed a wrong processing bug when return in an IF statement chunk
|
|
Fixed a scope manipulation bug when evaluating a none parameter routine, thanks to Cybermonkey342 and John for pointing it out
|
|
Improved error handling
|
|
|
|
Oct. 19 2015
|
|
Added a sub routine invoking function
|
|
Added an mb_get_routine function
|
|
Added an mb_eval_routine function
|
|
Renamed old mb_ref_value to mb_make_ref_value
|
|
Added a new mb_ref_value function
|
|
Added an mb_unref_value function
|
|
|
|
Oct. 15 2015
|
|
Added referenced usertype support
|
|
|
|
Oct. 14 2015
|
|
Added GC (Garbage Collection) for referenced objects
|
|
|
|
Oct. 13 2015
|
|
Changed array to referenced type
|
|
Fixed a memory pool sorting issue
|
|
|
|
Oct. 12 2015
|
|
Avoided cycle importing
|
|
Improved memory pool
|
|
|
|
Oct. 11 2015
|
|
Added a CLONE statement/function for collections
|
|
Optimized list indexing
|
|
Optimized list counting
|
|
|
|
Oct. 10 2015
|
|
Improved stability for nested IF statement
|
|
|
|
Oct. 8 2015
|
|
Fixed an iterator validation bug
|
|
Fixed an iterator assignment issue
|
|
Improved stability, refused nested array inside other collections, and vice versa
|
|
|
|
Oct. 7 2015
|
|
Added non number data comparison
|
|
Improved collection stability
|
|
Accepted dictionary iterator for the VAL statement
|
|
|
|
Oct. 5 2015
|
|
Added a LIST collection
|
|
Added a DICT collection
|
|
Added a TYPE statement
|
|
Added an mb_get_type_string function
|
|
Fixed a wrong evaluation bug in nested IF statement, thanks to Julien Krief for pointing it out
|
|
|
|
Sep. 30 2015
|
|
Improved UTF8 string manipulation
|
|
|
|
Sep. 29 2015
|
|
Added UTF8 support for string manipulation
|
|
|
|
Sep. 28 2015
|
|
Fixed a compatibility bug with scope meta info, thanks to Cybermonkey342 and John for pointing it out
|
|
Improved compatibility with TCC
|
|
|
|
Sep. 24 2015
|
|
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
|
|
|
|
Sep. 22 2015
|
|
Added an IMPORT statement
|
|
Added mb_get_var, mb_get_var_value and mb_set_var_value
|
|
|
|
Sep. 21 2015
|
|
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
|
|
|
|
Sep. 20 2015
|
|
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
|
|
|
|
Sep. 18 2015
|
|
Fixed a float number parsing bug, thanks to Cybermonkey342 for pointing it out
|
|
Added directly expression evaluation shell command
|
|
|
|
Sep. 17 2015
|
|
Allowed string in a boolean expression
|
|
Added support for sub routine in PRINT
|
|
Fixed a repeated disposing bug when using sub routine
|
|
|
|
Sep. 16 2015
|
|
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
|
|
|
|
Sep. 11 2015
|
|
Added a duplicate sub routine error handling
|
|
Added optional argument support for the INPUT statement
|
|
Fixed a repeated disposing bug of a variable in sub routine
|
|
|
|
Sep. 8 2015
|
|
Fixed a type parsing of sub routine bug
|
|
Fixed a scope processing bug
|
|
Fixed a sub routine invoking bug without leading CALL statement or result receiver
|
|
Added a makefile
|
|
|
|
Sep. 6 2015
|
|
Improved sub routine
|
|
|
|
Sep. 2 2015
|
|
Added sub routine type insurance
|
|
Prompted more friendly dummy function message
|
|
|
|
Sep. 1 2015
|
|
Added support for user customized sub routine by DEF/ENDDEF
|
|
|
|
Aug. 26 2015
|
|
Added a memory pool to interpreter shell in main.c
|
|
|
|
Aug. 25 2015
|
|
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
|
|
|
|
Aug. 11 2015
|
|
Fixed a wrong IF trunk processing bug, thanks to irony for pointing it out
|
|
Fixed a crash bug with invalid IF statement
|
|
|
|
Jul. 27 2015
|
|
Fixed a memory leak with mb_pop_xxx, thanks to Daniel Haensse for pointing it out
|
|
|
|
Jul. 20 2015
|
|
Fixed a string manipulation bug
|
|
|
|
Jul. 12 2015
|
|
Added array manipulation functions
|
|
|
|
Jun. 19 2015
|
|
Added an mb_schedule_suspend interface to schedule to suspend the execution
|
|
|
|
Jun. 15 2015
|
|
Fixed a wrong token position marking issue with interactive mode, thanks to Daniel Haensse for pointing it out
|
|
|
|
May. 6 2015
|
|
Removed redundant EOS tokens
|
|
Improved data precision related macros
|
|
|
|
May. 5 2015
|
|
Added string type support for non-simple array
|
|
Fixed a memory leak when storing strings to a non-string array
|
|
Improved data precision related macros
|
|
|
|
Apr. 27 2015
|
|
Added code line inserting/removing to interpreter shell
|
|
Changed mb_dispose_value as public
|
|
|
|
Apr. 23 2015 Version 1.1
|
|
Added debug API
|
|
Added (nestable) multiple line IF statement support
|
|
|
|
Apr. 15 2015
|
|
Added mb_pop_usertype, mb_push_usertype to support user defined type
|
|
|
|
Apr. 13 2015
|
|
Added mixed integer/float array support
|
|
Added warning prompt when passing strings to maths functions
|
|
Fixed a memory leak when storing strings in an array
|
|
Improved the interpreter commands
|
|
|
|
Apr. 11 2015
|
|
Moved struct mb_interpreter_t from my_basic.h to my_basic.c
|
|
Added an mb_has_arg interface to tell whether there is any more argument
|
|
Added an MB_ENABLE_SOURCE_TRACE macro to enable or disable source tracing
|
|
Disposed parsing context at runtime to reduce memory occupation
|
|
|
|
Apr. 10 2015
|
|
Improved compatibility with PellesC
|
|
Fixed a double precision float parsing bug on all 32bit systems, thanks to Pito for pointing it out
|
|
Fixed an exponential number parsing bug, thanks to Pito for pointing it out
|
|
Fixed a crash bug when a script begins with meaningless negtive number
|
|
|
|
Mar. 25 2015
|
|
Changed _strupr macro to mb_strupr function
|
|
Added an mb_memdup function
|
|
Fixed a repeated disposing bug of an intermediate value
|
|
|
|
Dec. 17 2014
|
|
Fixed a calculation crash bug
|
|
Fixed a memory leak with intermediate value
|
|
|
|
Dec. 16 2014
|
|
Fixed a negative calculation bug in a function argument
|
|
|
|
Dec. 9 2014
|
|
Improved compatibility with BCB
|
|
|
|
May. 25 2014
|
|
Added an mb_set_inputer function which allows a user to specify an INPUT reader, thanks to Michael P. Welch for suggestion
|
|
Added an mb_remove_reserved_func function which allows a user to disable/remove a reserved statement
|
|
|
|
May. 22 2014
|
|
Fixed a crash bug when missing colon in a combined line, thanks to Michael P. Welch for pointing it out
|
|
Fixed a missing lexical cursor stepping bug in the INPUT statement
|
|
|
|
Mar. 17 2014
|
|
Added an Xcode project
|
|
Added a safe stdin reader function mb_gets
|
|
Fixed a crash bug in the INPUT statement
|
|
|
|
Feb. 17 2014
|
|
Added mod by zero processing
|
|
|
|
Feb. 16 2014
|
|
Fixed a crash bug in _core_for, thanks to mummylauncher for pointing it out
|
|
|
|
Jul. 19 2013
|
|
Fixed a crash bug in _execute_statement, thanks to Jon Mayo for pointing it out
|
|
|
|
Feb. 25 2013
|
|
Fixed a cross routine multiple statement execution bug, thanks to Bruce Kendall for pointing it out
|
|
Fixed a memory corruption bug when loading a script file
|
|
|
|
Jan. 9 2013
|
|
Fixed a crash bug when using EDIT command
|
|
|
|
Dec. 14 2012
|
|
Added an invalid expression error handling
|
|
Added an out of memory error handling
|
|
|
|
Dec. 5 2012
|
|
Fixed a minus calculation bug, thanks to Bill Walker for pointing it out
|
|
|
|
Nov. 14 2012
|
|
Fixed a cross routine RETURN bug, thanks to Bruce Kendall for pointing it out
|
|
|
|
Sep. 12 2012
|
|
Fixed a bug in ASC
|
|
Fixed a label parsing, jumping bug, thanks to Ahmad Hawwash for pointing above two issues out
|
|
Fixed a crash bug in the IF statement
|
|
Added divide by zero processing
|
|
Added calculation error raising
|
|
|
|
Sep. 1 2012
|
|
Fixed a redisposing bug when retrieving a string argument, thanks to Ahmad Hawwash for pointing it out
|
|
Fixed a memory leak after retrieving a composited string argument
|
|
|
|
Aug. 29 2012
|
|
Modified an odd string comparison behavior, thanks to Matthias Nott for testing it out
|
|
Added a warning system, disabled warning as default
|
|
Improved compatibility with GCC
|
|
|
|
Aug. 3 2012
|
|
Implemented memory occupation statistics
|
|
Improved compatibility on 64bit systems
|
|
Avoided some warnings under a stricter mode
|
|
|
|
Jul. 21 2012
|
|
Added a compatibility macro for PRINT a newline
|
|
Added an mb_attempt_func_end C API
|
|
Fixed a unary minus symbol parsing bug
|
|
|
|
Jul. 19 2012
|
|
Fixed a crash bug caused by a mistake in calculation priority table, thanks to Bruce Kendall for pointing it out
|
|
|
|
Jul. 10 2012
|
|
Implemented KILL command
|
|
Fixed a negative calculation bug
|
|
Added an invalid identifier usage error handling
|
|
Avoided some warnings on gcc
|
|
|
|
Jul. 5 2012
|
|
Implemented LIST, EDIT, LOAD, SAVE commands
|
|
|
|
Jul. 4 2012
|
|
Fixed some crash bugs
|
|
Fixed some memory leaks
|
|
|
|
Jul. 3 2012
|
|
Modified/added math functions: FLOOR, CEIL, FIX
|
|
Fixed an INPUT type issue
|
|
Changed float number formatting from using "%f" to "%g" in PRINT, thanks to Bruce Kendall for pointing above three issues out
|
|
Refactored the way to load a script file
|
|
Done several small improvements
|
|
|
|
Jun. 29 2012
|
|
Fixed a newline mistake in PRINT
|
|
|
|
Jun. 29 2012
|
|
Implemented customizable print functor
|
|
Improved the PRINT statement
|
|
Fixed an infinity loop bug in RND function
|
|
Fixed some crash bugs
|
|
|
|
Jun. 28 2012
|
|
Fixed a cross routine RETURN bug, thanks to Bruce Kendall for pointing it out
|
|
Fixed some memory leaks
|
|
Refactored error position informing
|
|
|
|
Jun. 18 2012
|
|
Implemented user extended abort, thanks to Bruce Kendall for giving suggestion
|
|
|
|
Apr. 30 2012
|
|
Compress number to integer if necessary
|
|
|
|
Apr. 27 2012
|
|
Fixed a string connecting crash bug, thanks to Ahmad Hawwash for pointing it out
|
|
Improved portability on gcc
|
|
|
|
Aug. 3 2011
|
|
Fixed hashtable removing bug
|
|
|
|
Jun. 18 2011
|
|
Fixed some mistakes
|
|
Allowed underline character appear in an identifier
|
|
|
|
Apr. 15 2011
|
|
Fixed garbage collection and _label_t disposing bugs
|
|
|
|
Apr. 14 2011
|
|
Fixed some list/comparison operator bugs
|
|
|
|
Feb. 15 2011
|
|
Improved portability with Xcode
|
|
Improved portability with VC++ 6.0
|
|
Fixed a suspend/resume bug
|
|
|
|
Feb. 9 2011
|
|
Fixed struct mb_interpreter_t declaration warnings on gcc
|
|
|
|
Feb. 1 2011 Version 1.0
|
|
First release.
|