Version 1.2.0 (2022-03-05) ========================== * Added: Compile multiple action for compilation of code with mutliple compilers at once. * Added: Two more code examples. * Added: Allow to disable debugging support. * Added: Remember last opened tab in options form. * Modified: Update recent files list in registry immediately. * Modified: Faster interval for program output refresh. * Modified: Generate target source code mapping from program code after code optimization step. * Modified: Improved optimization routines code. * Modified: SetZero optimization made as separate step. * Modified: Localized error message. * Modified: Use latest stable Lazarus 2.2.0 for build. * Modified: Updated Common package to version 0.9. * Fixed: Wrong index variable used in inc/dec merge optimization. * Fixed: Reload output if program is reset. * Fixed: Off by one index in loop start command interpretation. * Fixed: Correctly load directory and file name into open and save dialogs. * Fixed: Do not try to open last opened file on start if it doesn't exist. * Fixed: Paste action icon transparency. * Fixed: Scale toolbar and menu icons. * Fixed: Set Modified file flag after format/shring source code action. * Fixed: Error during compilation in CopyMultiply optimization. Version 1.1.0 (2021-08-18) ========================== * Added: Javascript target. * Added: TargetCode form use SynEdit for syntax highlighting. * Modified: Detect different data dir on Linux. * Modified: CoolTranslator package replaced by Translator in Common package. * Modified: About dialog moved to Common package. * Modified: Improved stepping through source and target code. Each step has source, program and target index. * Modified: Redraw output form content only if output instruction was used in interpretter mode. * Modified: Redraw memory form content only if memory was written in interpretter mode. * Modified: TemplateGenerics replaced by fgl generics. * Modified: Do not use old UTF8 functions variants. * Modified: .lrt files replaced by newer .lrj files. * Fixed: Build with Lazarus 2.0.12. * Fixed: SynEdit SelIndex is counter from 1 and not from 0. * Fixed: Replace windows newlines by unix newlines in interpretter output under Linux. * Fixed: Scaling imagelist images doesn't work under Linux. * Fixed: Leaked memory in BFHighlighter. * Fixed: Do not show error if specific target doesn't have assigned compiler. Not all targets use compiler. Some of them are just interpreted. * Fixed: Resolved compiler warnings and notes. Version 1.0.0 (2018-12-22) ========================== * Added: Syntax highlighting. * Added: Theming support. * Added: Allow to enable individual code optimization from settings dialog. * Added: Actions to format or shrink target BF code. * Modified: Enabled DPI scaling. * Added: New CSharp target. * Added: New optimization using relative indexes to eliminate lots of pointer inc/dec operations. * Added: New command "multiply" extended command to replace while loops used for cell multiplication. Also added related optimization. * Added: Show meaningful error message if target compiler or executor doesn't exist. * Added: New Python target. * Added: Windows installer script for InnoSetup. * Added: Packaging files for creation of .deb packages. * Added: About dialog. * Added: Remember position and size of main form after close of application. * Added: Confirmation dialog for closing and saving file. * Added: Optimization to eliminate redundant source code. * Added: Optimization level option in Options dialog. * Added: Free Pascal Compiler as supported target. * Added: Log window to examine output from background execute compilers. * Added: Support for high DPI screens. If not detected automatically correctly then user can specify desired values. * Added: Remember last opened file name. * Added: Some self-interpretters to examples. * Added: Dialog for setting target options. * Added: Optimization of sequence [-] in PHP target. * Added: Tool button with drop down menu of available targets. * Added: Target list have icons. * Added: Clipboard manipulation support in source code form. * Added: Show execution path in Target list. * Added: New Java target. * Added: Program can be started using Step in, Step over and Run to cursor actions. * Added: Function to show execution point in code if program is paused. * Added: Function for switching position between source code and target code. * Added: Compiler target for C. * Added: List of supported compiler targets. * Added: Tool for number generation using '+' symbol. * Added: Option to reopen last opened project. * Added: Action to shrink source code by remove all non printable characters. * Added: Optimalization for generated code by Delphi and PHP compiler. All same language commands laying side by side will be converted to single generated operation. * Added: Compiler to PHP. * Added: Loading list of available compilers and list them for selection in menu Program - Target. * Added: Interpreter form show speed in steps per second. * Added: All nonusable characters are removed before starting interpretter program. * Added: Function for formating source using text indentation according loop nesting. * Added: Support for multiple interface languages. * Added: Support for memory cell up to Integer size. Default 256. * Fixed: Application now can be closed if running program is waiting to new key press. * Added: Options form. * Added: Display source code caret position in statusbar. * Added: Easy compiler to Delphi. * Added: BrainFuck code examples. * Added: View of data memory in interpretter. * Added: Show execution information in interpretter form. * Added: Import project.