Skip to content

How 'Smart Scan String' works?

Navin Subramani edited this page Aug 24, 2019 · 4 revisions

#Smart Scan format

Smart String represents the whole function format with the variable name being indicated within a dollars as $xx$

  • If the variable name within the dollar is an object in the class variable control, then the compiler will look if the data type defined in the class variable control matches with the data type of variable during compilation time (values) and run time (function return & variables). If the criteria match then the values extracted is set to the class variable control.
  • If the variable name within the dollar is represented with a naming convention "freestatement%d" then this will be treated as a function which will not have a corresponding class variable control and there is no return item from the function. this is purely considered as a place holder to execute a function statement

#Scan from string options

  1. Smart Scan string is converted into a scan from string and the matches are looked. If there is a match identified then it is instantiated
  2. In case of function inside a function which has "()" in it, there are more chances that the scan from string fails because the repeated nested or parallel braces within a function confuse the scan from string to behave wrongly. So, there is a 'Simplification' operation done before the scan from a string that converts a complicated function (nested function with "()") into a simple function and executes the scan from a string. Once the scan is done it replaces the variable with the function values. (SubFunction***** text is being used to simplify the function)
  3. Similar to (), there are cases where a string value can contain some characters that might confuse the scan from a string, so the string constant present in the function is also encrypted and decrypted
  4. The array identifier {} is also encrypted before scan from string
Clone this wiki locally