Start working on program control constructs. Adding IF, FOR, FOREACH,
BREAK, CONTINUE.
Decide to keep the current evalulation mechanism and not go down to the
full virtual machine path. So function definition is definitely out of the
scope.
If/else control now works.
Add for, foreach loops and continue/break program controls.
Defined custom error message blocks for continue/break signals.
An program_control error handler is used to direct the code execution
flow.
Like IDL, the "END" keyword can serve as the ending label for all loops,
but not vice versa. The main level MIDLE script can now have an optional
"END" at the end of the script. Any code after the "END" will be reported
as error (unreachable code).
Rework on the GUI. It is now more usable and similar to other
programming IDE (though extremely simplified).
Its main purpose is to be used as an interface of an embedded script
engine for other GUI applications.
Add build scripts. The GUI can no longer be resized.
Updated the demo GUI application to be a complete example showing how
IDLE console can be used to script host application.
Midlegui now accepts a group_leader keyword so it can be used as a pop up
window. The "Save As" button now works.
The custom Dictionary class is renamed to ywDictionary to avoid clashing
with builtin Dictionary. The clashing causes weird issues when running
the code from save files. A separate compilation check of the custom
Dictionary code is added to midle to ensure the class is always available
if the source file exists.
The build scripts should be more robust now. It is required to run the
"build" script inside the project directory.
Updated README and CHANGES.
Simplify build scripts and add more comments.