January 01, 2023
Conditional Script Parsing
Conditional script code parsing.
- Support #Const, #If, #ElseIf, #Else and #End If directives in all scripting languages
- Conditional expressions
- Conditional contants
- Conditional operators
- Skipped conditional code
- Display skipped script code as light gray text

Specification:
- Syntax
- # directives
- #Const conditional_constant = conditional_expression
- #If conditional_expression [Then]
- #ElseIf conditional_expression [Then]
- #Else
- #End If
- Nested #Ifs limited to 8 levels
- Conditional expressions
- Constants (boolean, integer or string)
- False - boolean false
- True - boolean true
- Scripting - boolean true for WinWrap Basic script execution
- Win32 - boolean true for script execution in a 32 bit application
- Win64 - boolean true for script execution in a 64 bit application
- #Const defined - Available in the subsequent conditional expressions in the same script
- Application defined - AddExtenstion("Conditionals ...", Nothing) available to all scripts
- Operators (boolean, integer or string)
- * - multiplication
- \ - integer division
- + - integer addition or string concatenation
- - - integer subtraction or negation
- & - string concatenation
- = - equal comparison (strings are case sensitive)
- <> - inequal comparison (strings are case sensitive)
- > - greater than comparison (strings are case sensitive)
- >= - greater than or equal comparison (strings are case sensitive)
- < - less than comparison (strings are case sensitive)
- <= - less than or equal comparison (strings are case sensitive)
- And - integer or boolean and
- Or - integer or boolean or
- Xor - integer or boolean xor
- Not - integer or boolean inversion
- (...) - sub expression
- Skipped conditional code
- Conditional code processing for lines with #Const, #If, #ElseIf, #Else or #End If
- All other text ignored
- Auto completion
- # directive - show Const, Else, ElseIf, If and Region
- Conditional Expression
- factors - show constants
- operators - show operators
- enter removes indentation of the # directive
- line indentation ignores # directive lines
- IDE Visualization
- display skipped script code as light gray text
- Modifications
- Script tokenizer
- Rapid parser definition
- Script parser implementation
- Auto completion implementation
- IDE presentation of skipped conditional code
- Scripting documentation
- Application interface documentation
- Regression tests
- 144 changed/new source files
Copyright Polar Engineering, Inc.