We have just released WinBatch, WebBatch and WinBatch+Compiler 2018A.
Customers with a current license may download the latest version of the software from the download page.
http://www.winbatch.com/download.html (http://www.winbatch.com/download.html)
If you do not have a current license and are interested in this and future releases, please visit our software purchase page. You can easily order online.
https://commerce.winbatch.com (https://commerce.winbatch.com)
WB 2018A Feb 01, 2018
DLL 6.18ara First showing up in WB 2018A
Replaced copyrights, icons and embedded images.
Modified uninstall program to account for multiple paths in the TEMP and TMP environment
variables.
Changed the sort algorithm used by the ArraySort function to eliminate worst case slow
sorts. The change also prevents the 1637 error, "Error accessing array data" when
sorting a large array with frequently repeating sort data.
WinBatch Studio:
Fixed unhandled exception in WIL file type syntax coloring.
Fixed memory corruption problem in output window implementation.
This release of WinBatch Studio includes the new Lexical Analyzer module:
Added an 'Analyze' menu item to the debug menu bar menu. Select this menu item to
invoke the Syntax Analyzer on the current foreground document. The Syntax Analyzer
tool scans the current script for syntax errors without actually executing the script.
Any errors are displayed in the "Syntax Analyzer" tab of a WinBatch Studio output
window automatically displayed by the Analyzer.
Each error line in the Analyzer window represents one error. A single line in the
script can produce more than one error. Error lines consist of a full path-name of the
file being analyzed, the row and column numbers of the error's location in the script,
the word "error" or "warning", an error number, and a brief error description.
Using your mouse to left click on an error in the Syntax Analyzer window will set the
WinBatch Studio input cursor to the beginning of the line in the current script that
contains the error.
A few thing to remember when using the Syntax Analyzer:
Variable values are not checked because the script is not executed.
The Analyzer cannot determine the resulting syntax of substituted variables.
The grammar of function parameters is checked but not the correctness of parameter
values.
The Analyzer can be used on WIL menu files but menu names line generate "unexpected
item found online" errors. Ignore these errors.
Files included in the current script using an "#include" statement are not analyzed.
WIL function parameter counts ARE checked.
Extenders are not loaded so extender function parameter counts are not checked.
WinBatch function parameter counts are not checked.
WinBatch Compiler:
This release of the WinBatch Compiler also includes the Lexical Analyzer module:
The Compiler's main dialog window contains a new "Analyze source for error" checkbox.
When this check box is checked, the compiler will use the Lexical Analyzer module to
scan the target script for errors before compilation begins.
If any errors or warnings are found, the Compiler can display a dialog showing a list
of errors and warning. Press this dialog's "Continue" button to proceed with the
compilation or press the "Cancel" button to either return to the main Compiler window
or exit the compiler when the compiler starts with a command line target. In all cases
pressing the "Cancel" button prevents the target from being compiled.
The "Analyze source for errors" checkbox option is global. Once it is checked, syntax
checking is performed on all compiles by the WinBatch+Compiler user until it is
unchecked.
If the "Analyze source for errors" option is selected, the compiler is invoked with the
target script as a command line parameter, and the target script's "cmp" file contains
the "silent=1" option; the Compiler generates a text file of any found errors. The
syntax error dialog is not displayed.
The compiler also generates an error file instead of displaying the syntax error dialog
when it is invoked with a "cmplst" file as a command line parameter.
In both instances, the error file name is the target script's file name with a time
stamp and a ".txt" file extension. The file is placed in the target's location on the
file system.
If you installed the latest version of WinBatch+Compiler over an older version and you don't like the mix of old and new icons on the desktop, start menu and taskbar, type the following at an elevated command prompt.
ie4uinit.exe -ClearIconCache
ie4uinit.exe -show
These commands clear the system's icon cache and reload all visible icons from their respective sources on Windows 10. Haven't tried it but the same procedure may also work on some older versions of Windows.
Thanks for the Symbolic Checker! The following registers an error...if this is included in your "exclusions, please ignore:
symbol = "x"
i = 1
x1 = 4
pos = %symbol%%i%
message(pos,"4")
exit
rw_baker
I'm willing to give the analyzer a pass on this one.
pos = %symbol%%i%
You can create infinitely bizarre looking lines of code with substitution, I can't expect it to make sense of all of them.
If you really need this effect, you could try
symbol = "x"
i = 1
x1 = 4
pos = symbol : i
pos = %pos%
message(pos,"4")
exit
which it does not complain about
I ran the Checker on a large script that I wrote 12 years ago. I was not trying to select from an "infinitely bizarre looking" list of creations.
If I were coding today, being 12 years older, I would most likely code it somewhat as you suggest, to be safe.
Thanks for your suggestion, however, I was not asking for a way to change the coding of the script.
The example is simply an example of correct syntax that is flagged, that's all.
rw_baker
Using Studio in 2018A...I'm trying to arrange the icons at the top. I get no response from:
Window > Arrange Icons
Can you help, please?
rw_baker
Quote from: rw_baker on February 09, 2018, 05:39:45 PMI was not trying to select from an "infinitely bizarre looking" list of creations.
(chuckle) yes of course you're quite right. No offense intended.
I guess I meant that without actually executing the program, the analyzer can't know if substitution will result in a correct line of code or not. Some very strange looking constructions might, after substitution, actually result in good code. And a very simple looking line might result in an error. How could it ever know?
So, perhaps the analyzer just passes a very few ordinary patterns, and after that, it calls it an error.
Just a guess on my part.
Thanks for the response...I agree with what you said, for
pos = %symbol%%i%
The job of the "full interpreter" on the right side of an assignment operator:
1) syntactic analysis of the right side - if error, throw an error, otherwise,
2) semantic analysis - if this step has no error it can go ahead and evaluate the left side of the assignment operator, then
3) execute the statement
The "Studio standalone "Syntax Analyzer" is not the same one used in the full interpreter...not surprising...
Like you said "...just passes a very few ordinary patterns, and after that, it calls it an error".
In the end, as I said originally, I very happy having this tool available!
I find this is an interesting way to spend some time over the weekend...no?
rw_baker
"Variable values are not checked because the script is not executed.
The Analyzer cannot determine the resulting syntax of substituted variables."
Quote from: rw_baker on February 10, 2018, 05:20:47 AM
Using Studio in 2018A...I'm trying to arrange the icons at the top. I get no response from:
Window > Arrange Icons
Can you help, please?
rw_baker
WinBatch Studio allows you to iconize multiple documents inside the main studio window. Once iconized you can drag the document icons to any location on the main window. The Arrange Icons menu item allows you to return them all to the bottom of the main window.
OK, thanks a lot.
rw_baker