my-basic/HISTORY

890 lines
26 KiB
Plaintext
Executable File

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 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 variable arguments
Jun. 21 2016
Added lambda tracing
Improved error prompting for wrong function reaching
Improved variable argument list processing with lambda
Improved UTF8 string input/output on Windows for the shell
Fixed a wrong variable argument list 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 a variable argument list
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 an 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 WHILE and DO statements
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 a variable argument list
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 WHILE and DO statements 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 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 a variable argument list as LEN(...)
Jan. 18 2016
Added a variable argument list 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 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 NEW statement with an identifier string
Fixed a string value copy issue in mb_pop_value
Jan. 2 2016
Added support to apply 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 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 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 a 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 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 VAL statement
Oct. 5 2015
Added a LIST collection
Added a DICT collection
Added TYPE statement
Added an mb_get_type_string function
Fixed a wrong evaluation bug in nested IF statements, 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 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 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 an 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 APIs
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 a 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 INPUT statement
Mar. 17 2014
Added an Xcode project
Added a safe stdin reader function mb_gets
Fixed a crash bug in 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 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
Fixed 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 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.