Dear,A new version of the kixstrip program is out. A lot of new functions
have been added:
- a script will be handle faster.
- a progress bar about the amount of lines currently handled.
- an elapse time counter.
- new options:
/headers = a footer will be inserted automatically after detection of a warning.
/translate = commands, macros, variables will be translate by default.
- new capability:
a block starting with a line with symbol ";(begin)" and
ending with a line with symbol ";(end)
will automatically be removed.
- more possible problems about commands and functions will be checked.
more error report information will be added.
more user information will be showed.
- complex block structures can be handle. it is no longer necessary that
a block structures commands start a the beginning of a line.
f.e. if (@wksta = "server") ? "welcome to server" else ? "welcome "+@userid endif
can be handle.
- structures are using the new format of strings. See kixtart 3.62 manual (pag 22)
old style format: "Welcome to @wksta"
new style format: "Welcome to "+@wksta
other advices and remarks of manual kixtart 3.62 are also be using.
f.e. IF(1=1)?"ok"else?"error"endif must be IF (1=1) ?"ok" ELSE ?"error" ENDIF
remark: by option /Block_check the format will not be changed.
without option /Block_Check additional spaces will be added or
superfluous spaces will be removed.
- commands start also on a newline after selection of option "/Block_Check".
- commands will be translate to uppercase by default.
macros + variables will be lowercase by default.
the options "/translate" + "/notranslate: may influence it.
- all TAB characters will be replaced by spaces.
site: http://home.wanadoo.nl/scripting
program: kixstrip.exe (vs 1.70)
Structure after selection of "/Block_Check" will be:
code:
DO
...command part...
UNTIL ...logical part... ...command part...
...command part...
IF ...logical part... ...command part...
...command part...
ELSE
...command part...
ENDIF
...command part...
SELECT
CASE
...logical part... ...command part...
...command part...
CASE
...logical part... ...command part...
...command part...
ENDSELECT
...command part...
WHILE ...logical part... ...command part...
...command part...
LOOP
...command part...
Actual help information. created with kixstrip ?:
code:
Kixstrip 3.62 (vs 1.70e) (c) MCA - scripting@wanadoo.nl - 2000
------------------------------------------------------------------------------
kixstrip [input] [output]
/Block_Check or /BC <-> /NoBlock_Check or /NoBC
/Combine <-> /NoCombine
/Debug <-> /NoDebug
/Headers <-> /NoHeaders
/License <-> /NoLicense
/License=[var]
/Print <-> /NoPrint
/Show_Errors or /SE <-> /NoShow_Errors or /NoSE
/TAB=[num] (default: 6) <-> /NoTab
/Translate <-> /NoTranslate
?
default: /Combine /Headers /License /NoDebug /NoPrint /NoShow_Errors /NoTab
other: - /Block_Check /Tab=2 (auto set: /NoCombine /NoLicense /Print )
/Debug (auto set: /NoLicense /Print /Show_Errors )
- /Block_Check (reformat kixtart code inc. block structure )
/Combine (combine lines to one line )
/Headers (insert summary report as footer )
/Debug (insert "line numbers" for each printed line )
/Print (do not remove print statements )
/Show_Errors (insert error messages in output file )
/Translate (convert keywords to upper/lower-case )
Explanation:
- /Block_Check
a reformat of block structure. a kind of checks will be done.
no insertion of header. by possible warnings a footer will be inserted.
footer can be suppress by option "/NoHeaders".
- /Combine
a lines will be combine to one line. labels will always start
a newline.
- /Debug
insert "line numbers" for each printed line.
f.e. if (@wksta = "server") ? "welcome to server" else ? "welcome "+@userid endif
? @date
will be
?"- 1-" IF (@wksta = "server) ? "welcome to server"
ELSE
?"welcome "+@userid
ENDIF
?"- 2-" ? @date
after selection of "/Debug" automatically "/NoCombine", "/NoLicense" and "/Print"
will be selected.
- /Headers
insert a summary report as footer. automatically a footer will be inserted
when the program find possible problems.
- /License
a personal license note will be added.
- /Print
do not remove print statement from a line. a line started with "?" symbol
will be look at a print statement.
remark: by no specification of any option automatically those
print-statement lines will be removed.
- /Show_Errors
insert a summary report as footer. even we don't detected any possible
error.
- TAB
amount of spaces which will be inserted.
- /Translate
translate keywords to upper- and lowercase.
commands and boolean operators will be uppercase.
macros and variables will be lowercase.
A short list of possible errors:
- line incomplete "single quotation".
- line incomplete "double quotation".
- line incomplete "left square brackets".
- line incomplete "right square brackets".
- line incomplete "left parenthesis".
- line incomplete "right parenthesis".
- block "do/until" incompleted. starting point of block structure missing.
f.e. if ... ... else ... endif endif
- block "if/else/endif" incompleted. starting point of block structure missing.
- block "select/case/endselect" incompleted. starting point of block structure missing.
- block "while/loop" incompleted. starting point of block structure missing.
- block incompleted.
- line incompleted.
- line contains unknown function.
f.e. (old style format) @wksta.txt
new style format: @wksta+".txt"
- line contains too much keywords. rerun program with output as input file.
it is possible that you are using too much keywords in one line.
to prevent an unwanted range check error we have limited it to 1024 keywords.
after a rerun of the program the next 1024 keywords of that line will be
interpreted.
The user screen information can be:
code:
Kixstrip 3.62 (vs 1.70e) (c) MCA - scripting@wanadoo.nl - 2000 8000 ....................................E(8720)
Warning KIXSTRIP: 6355 "@wksta.txt", 6356 "@wksta.txt", 6360 "@wksta.txt", 6402 "@wksta.txt", 6403 "@wksta.txt" line contains unknown function.
Kixstrip 3.62 (vs 1.70e) 81.28 (sec)
input 8720 kixtest.kix
output 6908 kixtest.new
-skip- 1812
-blocks- 0
-labels- 1
Warning KIXSTRIP: 5 lines contain unknown function.
options:
/Combine /Headers /NoBlock_Check /NoDebug /NoPrint /NoShow_Errors /NoTAB /NoTranslate
/License: MCA - scripting@wanadoo.nl - 2000
Benchmark info about 100 lines/second.
Remarks
Greetings