'// vim:ft=pascal' Comment.Single '\n\n' Text.Whitespace 'unit' Keyword ' ' Text.Whitespace 'YTools' Name ';' Operator '\n\n' Text.Whitespace '{===============================================================================\n\n cYcnus.YTools 1.0.3 Beta for Delphi 4+\n by licenser and Murphy\n\n ©2000-2003 by cYcnus\n visit www.cYcnus.de\n\n licenser@cYcnus.de (Heinz N. Gies)\n murphy@cYcnus.de (Kornelius Kalnbach)\n \n this unit is published under the terms of the GPL\n\n===============================================================================}' Comment.Multiline '\n\n' Text.Whitespace 'interface' Keyword '\n\n' Text.Whitespace 'uses' Keyword '\n ' Text.Whitespace 'Windows' Name ',' Operator ' ' Text.Whitespace 'SysUtils' Name ',' Operator ' ' Text.Whitespace 'Classes' Name ',' Operator ' ' Text.Whitespace 'YTypes' Name ';' Operator '\n\n' Text.Whitespace 'const' Keyword '\n ' Text.Whitespace 'BackSpace' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '#8' Literal.String.Char ';' Operator '\n ' Text.Whitespace 'Tab' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '#9' Literal.String.Char ';' Operator '\n ' Text.Whitespace 'LF' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '#10' Literal.String.Char ';' Operator ' ' Text.Whitespace '//Line Feed' Comment.Single '\n ' Text.Whitespace 'CR' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '#13' Literal.String.Char ';' Operator ' ' Text.Whitespace '//Carriage Return' Comment.Single '\n ' Text.Whitespace 'Space' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '#32' Literal.String.Char ';' Operator '\n ' Text.Whitespace 'EOLChars' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '[' Punctuation 'CR' Name ',' Operator ' ' Text.Whitespace 'LF' Name ']' Punctuation ';' Operator '\n' Text.Whitespace '{$IFNDEF VER140}' Comment.Multiline '\n ' Text.Whitespace 'sLineBreak' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '#13' Literal.String.Char '#10' Literal.String.Char ';' Operator '\n ' Text.Whitespace 'SwitchChars' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '[' Punctuation "'" Literal.String '/' Literal.String "'" Literal.String ',' Operator ' ' Text.Whitespace "'" Literal.String '-' Literal.String "'" Literal.String ']' Punctuation ';' Operator '\n' Text.Whitespace '{$ENDIF}' Comment.Multiline '\n ' Text.Whitespace 'EOL' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'sLineBreak' Name ';' Operator '\n ' Text.Whitespace 'MaxCard' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'High' Name.Builtin '(' Punctuation 'Cardinal' Keyword.Type ')' Punctuation ';' Operator '\n ' Text.Whitespace 'AllChars' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '[' Punctuation '#0' Literal.String.Char '.' Operator '.' Operator '#255' Literal.String.Char ']' Punctuation ';' Operator '\n ' Text.Whitespace 'Alphabetical' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '[' Punctuation "'" Literal.String 'A' Literal.String "'" Literal.String '.' Operator '.' Operator "'" Literal.String 'Z' Literal.String "'" Literal.String ',' Operator ' ' Text.Whitespace "'" Literal.String 'a' Literal.String "'" Literal.String '.' Operator '.' Operator "'" Literal.String 'z' Literal.String "'" Literal.String ']' Punctuation ';' Operator '\n ' Text.Whitespace 'DecimalChars' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '[' Punctuation "'" Literal.String '0' Literal.String "'" Literal.String '.' Operator '.' Operator "'" Literal.String '9' Literal.String "'" Literal.String ']' Punctuation ';' Operator '\n ' Text.Whitespace 'AlphaNumerical' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'Alphabetical' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'DecimalChars' Name ';' Operator '\n ' Text.Whitespace 'StrangeChars' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '[' Punctuation '#0' Literal.String.Char '.' Operator '.' Operator '#31' Literal.String.Char ',' Operator ' ' Text.Whitespace '#127' Literal.String.Char ',' Operator ' ' Text.Whitespace '#129' Literal.String.Char ',' Operator ' ' Text.Whitespace '#141' Literal.String.Char '.' Operator '.' Operator '#144' Literal.String.Char ',' Operator ' ' Text.Whitespace '#157' Literal.String.Char ',' Operator ' ' Text.Whitespace '#158' Literal.String.Char ']' Punctuation ';' Operator '\n\n ' Text.Whitespace 'HexadecimalChars' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'DecimalChars' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '[' Punctuation "'" Literal.String 'A' Literal.String "'" Literal.String '.' Operator '.' Operator "'" Literal.String 'F' Literal.String "'" Literal.String ',' Operator ' ' Text.Whitespace "'" Literal.String 'a' Literal.String "'" Literal.String '.' Operator '.' Operator "'" Literal.String 'f' Literal.String "'" Literal.String ']' Punctuation ';' Operator '\n ' Text.Whitespace 'OctalChars' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '[' Punctuation "'" Literal.String '0' Literal.String "'" Literal.String '.' Operator '.' Operator "'" Literal.String '7' Literal.String "'" Literal.String ']' Punctuation ';' Operator '\n ' Text.Whitespace 'BinaryChars' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '[' Punctuation "'" Literal.String '0' Literal.String "'" Literal.String ',' Operator ' ' Text.Whitespace "'" Literal.String '1' Literal.String "'" Literal.String ']' Punctuation ';' Operator '\n\n ' Text.Whitespace 'QuoteChars' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '[' Punctuation "'" Literal.String "''" Literal.String.Escape "'" Literal.String ',' Operator ' ' Text.Whitespace "'" Literal.String '"' Literal.String "'" Literal.String ']' Punctuation ';' Operator '\n ' Text.Whitespace 'WildCards' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '[' Punctuation "'" Literal.String '*' Literal.String "'" Literal.String ',' Operator ' ' Text.Whitespace "'" Literal.String '?' Literal.String "'" Literal.String ']' Punctuation ';' Operator '\n ' Text.Whitespace 'FileNameEnemies' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'WildCards' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '[' Punctuation "'" Literal.String '\\' Literal.String "'" Literal.String ',' Operator ' ' Text.Whitespace "'" Literal.String '/' Literal.String "'" Literal.String ',' Operator ' ' Text.Whitespace "'" Literal.String ':' Literal.String "'" Literal.String ',' Operator ' ' Text.Whitespace "'" Literal.String '<' Literal.String "'" Literal.String ',' Operator ' ' Text.Whitespace "'" Literal.String '>' Literal.String "'" Literal.String ',' Operator ' ' Text.Whitespace "'" Literal.String '|' Literal.String "'" Literal.String ']' Punctuation ';' Operator '\n\n ' Text.Whitespace 'HexChar' Name ':' Operator ' ' Text.Whitespace 'array' Keyword '[' Punctuation 'THex' Name ']' Punctuation ' ' Text.Whitespace 'of' Keyword ' ' Text.Whitespace 'Char' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '(' Punctuation '\n ' Text.Whitespace "'" Literal.String '0' Literal.String "'" Literal.String ',' Operator "'" Literal.String '1' Literal.String "'" Literal.String ',' Operator "'" Literal.String '2' Literal.String "'" Literal.String ',' Operator "'" Literal.String '3' Literal.String "'" Literal.String ',' Operator "'" Literal.String '4' Literal.String "'" Literal.String ',' Operator "'" Literal.String '5' Literal.String "'" Literal.String ',' Operator "'" Literal.String '6' Literal.String "'" Literal.String ',' Operator "'" Literal.String '7' Literal.String "'" Literal.String ',' Operator "'" Literal.String '8' Literal.String "'" Literal.String ',' Operator "'" Literal.String '9' Literal.String "'" Literal.String ',' Operator "'" Literal.String 'A' Literal.String "'" Literal.String ',' Operator "'" Literal.String 'B' Literal.String "'" Literal.String ',' Operator "'" Literal.String 'C' Literal.String "'" Literal.String ',' Operator "'" Literal.String 'D' Literal.String "'" Literal.String ',' Operator "'" Literal.String 'E' Literal.String "'" Literal.String ',' Operator "'" Literal.String 'F' Literal.String "'" Literal.String ')' Punctuation ';' Operator '\n ' Text.Whitespace 'LowerHexChar' Name ':' Operator ' ' Text.Whitespace 'array' Keyword '[' Punctuation 'THex' Name ']' Punctuation ' ' Text.Whitespace 'of' Keyword ' ' Text.Whitespace 'Char' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '(' Punctuation '\n ' Text.Whitespace "'" Literal.String '0' Literal.String "'" Literal.String ',' Operator "'" Literal.String '1' Literal.String "'" Literal.String ',' Operator "'" Literal.String '2' Literal.String "'" Literal.String ',' Operator "'" Literal.String '3' Literal.String "'" Literal.String ',' Operator "'" Literal.String '4' Literal.String "'" Literal.String ',' Operator "'" Literal.String '5' Literal.String "'" Literal.String ',' Operator "'" Literal.String '6' Literal.String "'" Literal.String ',' Operator "'" Literal.String '7' Literal.String "'" Literal.String ',' Operator "'" Literal.String '8' Literal.String "'" Literal.String ',' Operator "'" Literal.String '9' Literal.String "'" Literal.String ',' Operator "'" Literal.String 'a' Literal.String "'" Literal.String ',' Operator "'" Literal.String 'b' Literal.String "'" Literal.String ',' Operator "'" Literal.String 'c' Literal.String "'" Literal.String ',' Operator "'" Literal.String 'd' Literal.String "'" Literal.String ',' Operator "'" Literal.String 'e' Literal.String "'" Literal.String ',' Operator "'" Literal.String 'f' Literal.String "'" Literal.String ')' Punctuation ';' Operator '\n ' Text.Whitespace 'BaseNChar' Name ':' Operator ' ' Text.Whitespace 'array' Keyword '[' Punctuation 'TBaseN' Name ']' Punctuation ' ' Text.Whitespace 'of' Keyword ' ' Text.Whitespace 'Char' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '(' Punctuation '\n ' Text.Whitespace "'" Literal.String '0' Literal.String "'" Literal.String ',' Operator "'" Literal.String '1' Literal.String "'" Literal.String ',' Operator "'" Literal.String '2' Literal.String "'" Literal.String ',' Operator "'" Literal.String '3' Literal.String "'" Literal.String ',' Operator "'" Literal.String '4' Literal.String "'" Literal.String ',' Operator "'" Literal.String '5' Literal.String "'" Literal.String ',' Operator "'" Literal.String '6' Literal.String "'" Literal.String ',' Operator "'" Literal.String '7' Literal.String "'" Literal.String ',' Operator "'" Literal.String '8' Literal.String "'" Literal.String ',' Operator "'" Literal.String '9' Literal.String "'" Literal.String ',' Operator "'" Literal.String 'A' Literal.String "'" Literal.String ',' Operator "'" Literal.String 'B' Literal.String "'" Literal.String ',' Operator "'" Literal.String 'C' Literal.String "'" Literal.String ',' Operator "'" Literal.String 'D' Literal.String "'" Literal.String ',' Operator "'" Literal.String 'E' Literal.String "'" Literal.String ',' Operator "'" Literal.String 'F' Literal.String "'" Literal.String ',' Operator "'" Literal.String 'G' Literal.String "'" Literal.String ',' Operator "'" Literal.String 'H' Literal.String "'" Literal.String ',' Operator '\n ' Text.Whitespace "'" Literal.String 'I' Literal.String "'" Literal.String ',' Operator "'" Literal.String 'J' Literal.String "'" Literal.String ',' Operator "'" Literal.String 'K' Literal.String "'" Literal.String ',' Operator "'" Literal.String 'L' Literal.String "'" Literal.String ',' Operator "'" Literal.String 'M' Literal.String "'" Literal.String ',' Operator "'" Literal.String 'N' Literal.String "'" Literal.String ',' Operator "'" Literal.String 'O' Literal.String "'" Literal.String ',' Operator "'" Literal.String 'P' Literal.String "'" Literal.String ',' Operator "'" Literal.String 'Q' Literal.String "'" Literal.String ',' Operator "'" Literal.String 'R' Literal.String "'" Literal.String ',' Operator "'" Literal.String 'S' Literal.String "'" Literal.String ',' Operator "'" Literal.String 'T' Literal.String "'" Literal.String ',' Operator "'" Literal.String 'U' Literal.String "'" Literal.String ',' Operator "'" Literal.String 'V' Literal.String "'" Literal.String ',' Operator "'" Literal.String 'W' Literal.String "'" Literal.String ',' Operator "'" Literal.String 'X' Literal.String "'" Literal.String ',' Operator "'" Literal.String 'Y' Literal.String "'" Literal.String ',' Operator "'" Literal.String 'Z' Literal.String "'" Literal.String ')' Punctuation ';' Operator '\n\n ' Text.Whitespace 'cYcnusOverlayColor' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '$050001' Literal.Number.Hex ';' Operator '\n\n ' Text.Whitespace 'faFindEveryFile' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'faReadOnly' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'faHidden' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'faSysFile' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'faArchive' Name ';' Operator '\n\n ' Text.Whitespace 'platWin9x' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '[' Punctuation 'VER_PLATFORM_WIN32s' Name ',' Operator ' ' Text.Whitespace 'VER_PLATFORM_WIN32_WINDOWS' Name ']' Punctuation ';' Operator '\n\n\n' Text.Whitespace '{ Debugging }' Comment.Multiline '\n' Text.Whitespace 'procedure' Keyword ' ' Text.Whitespace 'ClearReport' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'ReportName' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ';' Operator '\n' Text.Whitespace 'procedure' Keyword ' ' Text.Whitespace 'Report' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'ReportName' Name ',' Operator ' ' Text.Whitespace 'Text' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ';' Operator '\n' Text.Whitespace 'procedure' Keyword ' ' Text.Whitespace 'ReportFmt' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'ReportName' Name ',' Operator ' ' Text.Whitespace 'Fmt' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'Args' Name ':' Operator ' ' Text.Whitespace 'array' Keyword ' ' Text.Whitespace 'of' Keyword ' ' Text.Whitespace 'const' Keyword ')' Punctuation ';' Operator '\n\n' Text.Whitespace '{ Params }' Comment.Multiline '\n' Text.Whitespace 'procedure' Keyword ' ' Text.Whitespace 'GetParams' Name.Function '(' Punctuation 'Strings' Name ':' Operator ' ' Text.Whitespace 'TStrings' Name ')' Punctuation ';' Operator ' ' Text.Whitespace 'overload' Name ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'GetParams' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'Separator' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String ' ' Literal.String "'" Literal.String ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'overload' Name ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'ParamNum' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'ParamPrefixNum' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'Prefix' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'Param' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'ParamPrefix' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'Prefix' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'Switch' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'Switch' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'PrefixChars' Name ':' Operator ' ' Text.Whitespace 'TCharSet' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'SwitchChars' Name ';' Operator '\n ' Text.Whitespace 'IgnoreCase' Name ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'True' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'GetParam' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'Prefix' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'Default' Keyword.Pseudo ':' Operator ' ' Text.Whitespace 'string' Keyword ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n\n' Text.Whitespace '{ Dirs & UserName}' Comment.Multiline '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'GetMyDir' Name.Function '(' Punctuation 'FullPath' Name ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'False' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'WinDir' Name.Function ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'SysDir' Name.Function ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'UserName' Name.Function ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n\n' Text.Whitespace '{ Strings & Chars}' Comment.Multiline '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'FirstChar' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Char' Keyword.Type ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'LastChar' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Char' Keyword.Type ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'CharPos' Name.Function '(' Punctuation 'C' Name ':' Operator ' ' Text.Whitespace 'Char' Keyword.Type ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Offset' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator ' ' Text.Whitespace 'overload' Name ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'CharPos' Name.Function '(' Punctuation 'C' Name ':' Operator ' ' Text.Whitespace 'TCharSet' Name ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Offset' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator ' ' Text.Whitespace 'overload' Name ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'CharPosR' Name.Function '(' Punctuation 'C' Name ':' Operator ' ' Text.Whitespace 'Char' Keyword.Type ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Offset' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '-' Operator '1' Literal.Number.Integer ')' Punctuation ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'PosEx' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'SubStr' Name ',' Operator ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Offset' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'PosExText' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'SubStr' Name ',' Operator ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Offset' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'PosExAnsiText' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'SubStr' Name ',' Operator ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Offset' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'UntilChar' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Brake' Name ':' Operator ' ' Text.Whitespace 'Char' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'overload' Name ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'UntilChar' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Brake' Name ':' Operator ' ' Text.Whitespace 'TCharSet' Name ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'overload' Name ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'UntilLastChar' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Brake' Name ':' Operator ' ' Text.Whitespace 'Char' Keyword.Type ';' Operator '\n ' Text.Whitespace 'IgnoreNoBrake' Name ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'True' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'FromChar' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Brake' Name ':' Operator ' ' Text.Whitespace 'Char' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'overload' Name ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'FromChar' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Brake' Name ':' Operator ' ' Text.Whitespace 'TCharSet' Name ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'overload' Name ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'FromLastChar' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Brake' Name ':' Operator ' ' Text.Whitespace 'Char' Keyword.Type ';' Operator '\n ' Text.Whitespace 'IgnoreNoBrake' Name ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'False' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'BetweenChars' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Start' Name ',' Operator ' ' Text.Whitespace 'Finish' Name ':' Operator ' ' Text.Whitespace 'Char' Keyword.Type ';' Operator '\n ' Text.Whitespace 'Inclusive' Name ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'False' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'UntilStr' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Brake' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'FromStr' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Brake' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'StringWrap' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Width' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'LineEnd' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'EOL' Name ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n\n' Text.Whitespace '{ Splitting & Combining }' Comment.Multiline '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'Split' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ',' Operator ' ' Text.Whitespace 'Separator' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'IgnoreMultiSep' Name ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'True' Keyword ';' Operator '\n ' Text.Whitespace 'MinCount' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ':' Operator ' ' Text.Whitespace 'TStrA' Name ';' Operator ' ' Text.Whitespace 'overload' Name ';' Operator '\n' Text.Whitespace 'procedure' Keyword ' ' Text.Whitespace 'Split' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ',' Operator ' ' Text.Whitespace 'Separator' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Strings' Name ':' Operator ' ' Text.Whitespace 'TStrings' Name ';' Operator '\n ' Text.Whitespace 'IgnoreMultiSep' Name ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'True' Keyword ')' Punctuation ';' Operator ' ' Text.Whitespace 'overload' Name ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'Split' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Separators' Name ':' Operator ' ' Text.Whitespace 'TCharSet' Name ';' Operator '\n ' Text.Whitespace 'IgnoreMultiSep' Name ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'True' Keyword ';' Operator ' ' Text.Whitespace 'MinCount' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ':' Operator ' ' Text.Whitespace 'TStrA' Name ';' Operator ' ' Text.Whitespace 'overload' Name ';' Operator '\n\n' Text.Whitespace 'procedure' Keyword ' ' Text.Whitespace 'TileStr' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'BrakeStart' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator ' ' Text.Whitespace 'BrakeEnd' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n ' Text.Whitespace 'out' Name ' ' Text.Whitespace 'Left' Name ',' Operator ' ' Text.Whitespace 'Right' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'Join' Name.Function '(' Punctuation 'Strings' Name ':' Operator ' ' Text.Whitespace 'TStrings' Name ';' Operator ' ' Text.Whitespace 'Separator' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String ' ' Literal.String "'" Literal.String ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'overload' Name ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'Join' Name.Function '(' Punctuation 'StrA' Name ':' Operator ' ' Text.Whitespace 'TStrA' Name ';' Operator ' ' Text.Whitespace 'Separator' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String ' ' Literal.String "'" Literal.String ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'overload' Name ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'MulStr' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Count' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n\n' Text.Whitespace '{ Strings ausrichten }' Comment.Multiline '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'AlignR' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Width' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator ' ' Text.Whitespace 'Filler' Name ':' Operator ' ' Text.Whitespace 'Char' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String ' ' Literal.String "'" Literal.String ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'MaxStr' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'MaxLen' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n\n' Text.Whitespace '{ Stringing }' Comment.Multiline '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'TrimAll' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'ControlChar' Name.Function '(' Punctuation 'C' Name ':' Operator ' ' Text.Whitespace 'Char' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'FriendlyChar' Name.Function '(' Punctuation 'C' Name ':' Operator ' ' Text.Whitespace 'Char' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'Char' Keyword.Type ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'FriendlyStr' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'overload' Name ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'FriendlyStr' Name.Function '(' Punctuation 'a' Name ':' Operator ' ' Text.Whitespace 'TByteA' Name ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'overload' Name ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'Quote' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Quoter' Name ':' Operator ' ' Text.Whitespace 'Char' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String '"' Literal.String "'" Literal.String ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'UnQuote' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'DeQuote' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'StrNumerus' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'Value' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'Singular' Name ',' Operator ' ' Text.Whitespace 'Plural' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'Zero' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String '0' Literal.String "'" Literal.String ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'MakeStr' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'Items' Name ':' Operator ' ' Text.Whitespace 'array' Keyword ' ' Text.Whitespace 'of' Keyword ' ' Text.Whitespace 'const' Keyword ';' Operator ' ' Text.Whitespace 'Separator' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'procedure' Keyword ' ' Text.Whitespace 'ShowText' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'Items' Name ':' Operator ' ' Text.Whitespace 'array' Keyword ' ' Text.Whitespace 'of' Keyword ' ' Text.Whitespace 'const' Keyword ';' Operator ' ' Text.Whitespace 'Separator' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ')' Punctuation ';' Operator '\n\n' Text.Whitespace '{ Delete }' Comment.Multiline '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'DeleteChars' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'C' Name ':' Operator ' ' Text.Whitespace 'Char' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'overload' Name ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'DeleteChars' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'C' Name ':' Operator ' ' Text.Whitespace 'TCharSet' Name ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'overload' Name ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'ExtractChars' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'C' Name ':' Operator ' ' Text.Whitespace 'TCharSet' Name ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n\n' Text.Whitespace '{ Find }' Comment.Multiline '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'CharCount' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'C' Name ':' Operator ' ' Text.Whitespace 'Char' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'CharIn' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'C' Name ':' Operator ' ' Text.Whitespace 'Char' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator ' ' Text.Whitespace 'overload' Name ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'CharIn' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'C' Name ':' Operator ' ' Text.Whitespace 'TCharSet' Name ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator ' ' Text.Whitespace 'overload' Name ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'StrAtPos' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Pos' Name.Builtin ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'Str' Name.Builtin ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'StrAtBegin' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ',' Operator ' ' Text.Whitespace 'Str' Name.Builtin ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'StrIn' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ',' Operator ' ' Text.Whitespace 'SubStr' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator ' ' Text.Whitespace 'overload' Name ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'StrIn' Name.Function '(' Punctuation 'A' Name ':' Operator ' ' Text.Whitespace 'TStrA' Name ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator ' ' Text.Whitespace 'overload' Name ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'StrIn' Name.Function '(' Punctuation 'SL' Name ':' Operator ' ' Text.Whitespace 'TStrings' Name ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator ' ' Text.Whitespace 'overload' Name ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'StrIndex' Name.Function '(' Punctuation 'A' Name ':' Operator ' ' Text.Whitespace 'TStrA' Name ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator ' ' Text.Whitespace 'overload' Name ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'StrIndex' Name.Function '(' Punctuation 'SL' Name ':' Operator ' ' Text.Whitespace 'TStrings' Name ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator ' ' Text.Whitespace 'overload' Name ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'TextAtPos' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Pos' Name.Builtin ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'Text' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'TextAtBegin' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ',' Operator ' ' Text.Whitespace 'Text' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'TextIn' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ',' Operator ' ' Text.Whitespace 'Text' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator ' ' Text.Whitespace 'overload' Name ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'TextIn' Name.Function '(' Punctuation 'A' Name ':' Operator ' ' Text.Whitespace 'TStrA' Name ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'Text' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator ' ' Text.Whitespace 'overload' Name ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'TextIn' Name.Function '(' Punctuation 'SL' Name ':' Operator ' ' Text.Whitespace 'TStrings' Name ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'Text' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator ' ' Text.Whitespace 'overload' Name ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'TextIndex' Name.Function '(' Punctuation 'A' Name ':' Operator ' ' Text.Whitespace 'TStrA' Name ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'Text' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator ' ' Text.Whitespace 'overload' Name ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'TextIndex' Name.Function '(' Punctuation 'SL' Name ':' Operator ' ' Text.Whitespace 'TStrings' Name ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'Text' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator ' ' Text.Whitespace 'overload' Name ';' Operator '\n\n' Text.Whitespace '{ Replace }' Comment.Multiline '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'ReplaceChars' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Old' Name ',' Operator ' ' Text.Whitespace 'New' Keyword ':' Operator ' ' Text.Whitespace 'Char' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'overload' Name ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'ReplaceChars' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Old' Name ':' Operator ' ' Text.Whitespace 'TCharSet' Name ';' Operator ' ' Text.Whitespace 'New' Keyword ':' Operator ' ' Text.Whitespace 'Char' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'overload' Name ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'Replace' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ',' Operator ' ' Text.Whitespace 'Old' Name ',' Operator ' ' Text.Whitespace 'New' Keyword ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n\n' Text.Whitespace '{ TStrings }' Comment.Multiline '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'SLOfFile' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'FileName' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'TStringList' Name ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'ContainsEmptyLines' Name.Function '(' Punctuation 'SL' Name ':' Operator ' ' Text.Whitespace 'TStrings' Name ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'procedure' Keyword ' ' Text.Whitespace 'DeleteEmptyLines' Name.Function '(' Punctuation 'SL' Name ':' Operator ' ' Text.Whitespace 'TStrings' Name ')' Punctuation ';' Operator '\n' Text.Whitespace 'procedure' Keyword ' ' Text.Whitespace 'DeleteCommentLines' Name.Function '(' Punctuation 'SL' Name ':' Operator ' ' Text.Whitespace 'TStrings' Name ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'CommentSign' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String '//' Literal.String "'" Literal.String ')' Punctuation ';' Operator '\n' Text.Whitespace 'procedure' Keyword ' ' Text.Whitespace 'WriteSL' Name.Function '(' Punctuation 'Strings' Name ':' Operator ' ' Text.Whitespace 'TStrings' Name ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'Prefix' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'Suffix' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ')' Punctuation ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'FindLine' Name.Function '(' Punctuation 'SL' Name ':' Operator ' ' Text.Whitespace 'TStrings' Name ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n\n' Text.Whitespace 'procedure' Keyword ' ' Text.Whitespace 'QuickSortSL' Name.Function '(' Punctuation 'SL' Name ':' Operator ' ' Text.Whitespace 'TStringList' Name ')' Punctuation ';' Operator '\n\n' Text.Whitespace '{ TStrA }' Comment.Multiline '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'IncStrA' Name.Function '(' Punctuation 'StrA' Name ':' Operator ' ' Text.Whitespace 'TStrA' Name ')' Punctuation ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n\n' Text.Whitespace '{ TByteA }' Comment.Multiline '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'StrOfByteA' Name.Function '(' Punctuation 'a' Name ':' Operator ' ' Text.Whitespace 'TByteA' Name ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'ByteAOfStr' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'TByteA' Name ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'ByteAOfInt' Name.Function '(' Punctuation 'i' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'TByteA' Name ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'IntOfByteA' Name.Function '(' Punctuation 'A' Name ':' Operator ' ' Text.Whitespace 'TByteA' Name ')' Punctuation ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'ByteAOfHex' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'Hex' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'TByteA' Name ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'SameByteA' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'A' Name ',' Operator ' ' Text.Whitespace 'B' Name ':' Operator ' ' Text.Whitespace 'TByteA' Name ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'Reverse' Name.Function '(' Punctuation 'a' Name ':' Operator ' ' Text.Whitespace 'TByteA' Name ')' Punctuation ':' Operator ' ' Text.Whitespace 'TByteA' Name ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'SaveByteA' Name.Function '(' Punctuation 'Data' Name ':' Operator ' ' Text.Whitespace 'TByteA' Name ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'FileName' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Overwrite' Name ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'True' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'LoadByteA' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'FileName' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'TByteA' Name ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'Endian' Name.Function '(' Punctuation 'i' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n\n' Text.Whitespace '{ Files }' Comment.Multiline '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'SizeOfFile' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'FileName' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'FileEx' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'FileName' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'AllowFolders' Name ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'False' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'LWPSolve' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'Dir' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'LWPSlash' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'Dir' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'ExtractDrive' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'FileName' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'ExtractPath' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'FileName' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'ExtractPrefix' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'FileName' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'ExtractSuffix' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'FileName' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'IsValidFileName' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'FileName' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'MakeValidFileName' Name.Function '(' Punctuation 'FileName' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'Default' Keyword.Pseudo ':' Operator ' ' Text.Whitespace 'string' Keyword ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String 'File' Literal.String "'" Literal.String ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n\n' Text.Whitespace '{ Converting }' Comment.Multiline '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'IsValidInteger' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'IsValidCardinal' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'StrOfBool' Name.Function '(' Punctuation 'flag' Name ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'TrueStr' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String 'True' Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'FalseStr' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String 'False' Literal.String "'" Literal.String ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'StrOfInt' Name.Function '(' Punctuation 'i' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'CardOfStr' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Cardinal' Keyword.Type ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'HexOrd' Name.Function '(' Punctuation 'Hex' Name ':' Operator ' ' Text.Whitespace 'Char' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'THex' Name ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'ByteOfHex' Name.Function '(' Punctuation 'Hex' Name ':' Operator ' ' Text.Whitespace 'THexByteStr' Name ')' Punctuation ':' Operator ' ' Text.Whitespace 'Byte' Keyword.Type ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'DecOfHex' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'Hex' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'HexOfByte' Name.Function '(' Punctuation 'b' Name ':' Operator ' ' Text.Whitespace 'Byte' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'THexByteStr' Name ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'HexOfCard' Name.Function '(' Punctuation 'i' Name ':' Operator ' ' Text.Whitespace 'Cardinal' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'overload' Name ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'HexOfCard' Name.Function '(' Punctuation 'i' Name ':' Operator ' ' Text.Whitespace 'Cardinal' Keyword.Type ';' Operator ' ' Text.Whitespace 'Digits' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'overload' Name ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'PascalHexArray' Name.Function '(' Punctuation 'a' Name ':' Operator ' ' Text.Whitespace 'TByteA' Name ';' Operator ' ' Text.Whitespace 'Name' Keyword.Pseudo ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'HexOfByteA' Name.Function '(' Punctuation 'a' Name ':' Operator ' ' Text.Whitespace 'TByteA' Name ';' Operator ' ' Text.Whitespace 'Blocks' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ';' Operator '\n ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'Splitter' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String ' ' Literal.String "'" Literal.String ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'BinOfByteA' Name.Function '(' Punctuation 'a' Name ':' Operator ' ' Text.Whitespace 'TByteA' Name ';' Operator ' ' Text.Whitespace 'Blocks' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '4' Literal.Number.Integer ';' Operator '\n ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'Splitter' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String ' ' Literal.String "'" Literal.String ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'CardOfHex' Name.Function '(' Punctuation 'Hex' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Cardinal' Keyword.Type ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'IntOfBin' Name.Function '(' Punctuation 'Bin' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Cardinal' Keyword.Type ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'BinOfIntFill' Name.Function '(' Punctuation 'n' Name ':' Operator ' ' Text.Whitespace 'cardinal' Keyword.Type ';' Operator ' ' Text.Whitespace 'MinCount' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '8' Literal.Number.Integer ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'BinOfInt' Name.Function '(' Punctuation 'n' Name ':' Operator ' ' Text.Whitespace 'cardinal' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'BaseNOfInt' Name.Function '(' Punctuation 'I' Name ':' Operator ' ' Text.Whitespace 'Cardinal' Keyword.Type ';' Operator ' ' Text.Whitespace 'B' Name ':' Operator ' ' Text.Whitespace 'TBaseN' Name ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'IntOfBaseN' Name.Function '(' Punctuation 'V' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'B' Name ':' Operator ' ' Text.Whitespace 'TBaseN' Name ')' Punctuation ':' Operator ' ' Text.Whitespace 'Cardinal' Keyword.Type ';' Operator '\n\n' Text.Whitespace '{ Ranges }' Comment.Multiline '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'KeepIn' Name.Function '(' Punctuation 'i' Name ',' Operator ' ' Text.Whitespace 'Bottom' Name ',' Operator ' ' Text.Whitespace 'Top' Name ':' Operator ' ' Text.Whitespace 'Variant' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'Variant' Keyword.Type ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'InRange' Name.Function '(' Punctuation 'Value' Name ',' Operator ' ' Text.Whitespace 'Bottom' Name ',' Operator ' ' Text.Whitespace 'Top' Name ':' Operator ' ' Text.Whitespace 'Variant' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'InStrictRange' Name.Function '(' Punctuation 'Value' Name ',' Operator ' ' Text.Whitespace 'Bottom' Name ',' Operator ' ' Text.Whitespace 'Top' Name ':' Operator ' ' Text.Whitespace 'Variant' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'Min' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'A' Name ',' Operator ' ' Text.Whitespace 'B' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator ' ' Text.Whitespace 'overload' Name ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'Min' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'A' Name ':' Operator ' ' Text.Whitespace 'TIntA' Name ')' Punctuation ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator ' ' Text.Whitespace 'overload' Name ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'Max' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'A' Name ',' Operator ' ' Text.Whitespace 'B' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator ' ' Text.Whitespace 'overload' Name ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'Max' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'A' Name ':' Operator ' ' Text.Whitespace 'TIntA' Name ')' Punctuation ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator ' ' Text.Whitespace 'overload' Name ';' Operator '\n\n' Text.Whitespace 'const' Keyword '\n ' Text.Whitespace 'RangesSeparator' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String ',' Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'RangeInnerSeparator' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String '-' Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'RangeInfinite' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String '*' Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'RangeSpecialChars' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '[' Punctuation 'RangesSeparator' Name ',' Operator ' ' Text.Whitespace 'RangeInnerSeparator' Name ',' Operator ' ' Text.Whitespace 'RangeInfinite' Name ']' Punctuation ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'RangesOfStr' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'TRanges' Name ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'InRanges' Name.Function '(' Punctuation 'Ranges' Name ':' Operator ' ' Text.Whitespace 'TRanges' Name ';' Operator ' ' Text.Whitespace 'TestValue' Name ':' Operator ' ' Text.Whitespace 'Cardinal' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'Success' Name.Function '(' Punctuation 'Res' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator ' ' Text.Whitespace 'ResultOnSuccess' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'ERROR_SUCCESS' Name ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'Failure' Name.Function '(' Punctuation 'Res' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator ' ' Text.Whitespace 'ResultOnSuccess' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'ERROR_SUCCESS' Name ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'ExpandString' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n\n' Text.Whitespace '{ Files }' Comment.Multiline '\n' Text.Whitespace 'procedure' Keyword ' ' Text.Whitespace 'DeleteFiles' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'Mask' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'ScanSubDirs' Name ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'True' Keyword ';' Operator '\n ' Text.Whitespace 'Attributes' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'faFindEveryFile' Name ')' Punctuation ';' Operator '\n' Text.Whitespace 'procedure' Keyword ' ' Text.Whitespace 'FileNew' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'FileName' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'DateTimeOfFileTime' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'FileTime' Name ':' Operator ' ' Text.Whitespace 'TFileTime' Name ')' Punctuation ':' Operator ' ' Text.Whitespace 'TDateTime' Keyword.Type ';' Operator '\n\n' Text.Whitespace '{ FileNames }' Comment.Multiline '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'GetFileNew' Name.Function '(' Punctuation 'FileName' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'NoFloppyDrives' Name ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'True' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n\n' Text.Whitespace '{ Finding Files }' Comment.Multiline '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'FindAll' Name.Function '(' Punctuation 'Strings' Name ':' Operator ' ' Text.Whitespace 'TStrings' Name ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'Mask' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n ' Text.Whitespace 'ScanSubDirs' Name ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'True' Keyword ';' Operator ' ' Text.Whitespace 'Attributes' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'faFindEveryFile' Name ';' Operator '\n ' Text.Whitespace 'FileReturn' Name ':' Operator ' ' Text.Whitespace 'TFileNameFunc' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'nil' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'FindAllFirst' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'Mask' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'ScanSubDirs' Name ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'True' Keyword ';' Operator '\n ' Text.Whitespace 'Attributes' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'faFindEveryFile' Name ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'FullOSInfo' Name.Function ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'Win32PlatformStr' Name.Function ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'Win9x' Name.Function ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'WinNT' Name.Function ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'Win2000' Name.Function ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'WinXP' Name.Function ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'MyDir' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'LastSuccessRes' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Operator '\n \n' Text.Whitespace '{ Backward compatibility }' Comment.Multiline '\n' Text.Whitespace '{$IFNDEF VER130}' Comment.Multiline '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'SameText' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S1' Name ',' Operator ' ' Text.Whitespace 'S2' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace '{$ENDIF}' Comment.Multiline '\n\n' Text.Whitespace 'implementation' Keyword '\n' Text.Whitespace '{$IFNDEF VER140}' Comment.Multiline '\n' Text.Whitespace 'uses' Keyword ' ' Text.Whitespace 'FileCtrl' Name ';' Operator '\n' Text.Whitespace '{$ENDIF}' Comment.Multiline '\n\n' Text.Whitespace '{$IFNDEF VER130}' Comment.Multiline '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'SameText' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S1' Name ',' Operator ' ' Text.Whitespace 'S2' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'CompareText' Name.Builtin '(' Punctuation 'S1' Name ',' Operator ' ' Text.Whitespace 'S2' Name ')' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n' Text.Whitespace '{$ENDIF}' Comment.Multiline '\n\n' Text.Whitespace 'procedure' Keyword ' ' Text.Whitespace 'Report' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'ReportName' Name ',' Operator ' ' Text.Whitespace 'Text' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'F' Name ':' Operator ' ' Text.Whitespace 'TextFile' Keyword.Type ';' Operator '\n ' Text.Whitespace 'FileName' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'FileName' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'MyDir' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'ReportName' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace "'" Literal.String '.rep' Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'Assign' Name '(' Punctuation 'F' Name ',' Operator ' ' Text.Whitespace 'FileName' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'try' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'not' Keyword ' ' Text.Whitespace 'FileExists' Name.Builtin '(' Punctuation 'FileName' Name ')' Punctuation ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Rewrite' Name.Builtin '(' Punctuation 'F' Name ')' Punctuation '\n ' Text.Whitespace 'else' Keyword '\n ' Text.Whitespace 'Append' Name.Builtin '(' Punctuation 'F' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'WriteLn' Name.Builtin '(' Punctuation 'F' Name ',' Operator ' ' Text.Whitespace 'Text' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'finally' Keyword '\n ' Text.Whitespace 'Close' Name.Builtin '(' Punctuation 'F' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'procedure' Keyword ' ' Text.Whitespace 'ClearReport' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'ReportName' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'FileName' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'FileName' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'MyDir' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'ReportName' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace "'" Literal.String '.rep' Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'DeleteFile' Name.Builtin '(' Punctuation 'FileName' Name ')' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'procedure' Keyword ' ' Text.Whitespace 'ReportFmt' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'ReportName' Name ',' Operator ' ' Text.Whitespace 'Fmt' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'Args' Name ':' Operator ' ' Text.Whitespace 'array' Keyword ' ' Text.Whitespace 'of' Keyword ' ' Text.Whitespace 'const' Keyword ')' Punctuation ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Report' Name '(' Punctuation 'ReportName' Name ',' Operator ' ' Text.Whitespace 'Format' Name.Builtin '(' Punctuation 'Fmt' Name ',' Operator ' ' Text.Whitespace 'Args' Name '))' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'procedure' Keyword ' ' Text.Whitespace 'GetParams' Name.Function '(' Punctuation 'Strings' Name ':' Operator ' ' Text.Whitespace 'TStrings' Name ')' Punctuation ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'P' Name ':' Operator ' ' Text.Whitespace 'PChar' Keyword.Type ';' Operator '\n ' Text.Whitespace 'Param' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n\n ' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'GetParamStr' Name.Function '(' Punctuation 'var' Keyword ' ' Text.Whitespace 'P' Name ':' Operator ' ' Text.Whitespace 'PChar' Keyword.Type ';' Operator ' ' Text.Whitespace 'var' Keyword ' ' Text.Whitespace 'Param' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n ' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'Quoted' Name ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Param' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ';' Operator '\n\n ' Text.Whitespace 'repeat' Keyword '\n ' Text.Whitespace 'while' Keyword ' ' Text.Whitespace '(' Punctuation 'P' Name '[' Punctuation '0' Literal.Number.Integer ']' Punctuation ' ' Text.Whitespace '<' Operator '>' Operator ' ' Text.Whitespace '#0' Literal.String.Char ')' Punctuation ' ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'P' Name '[' Punctuation '0' Literal.Number.Integer ']' Punctuation ' ' Text.Whitespace '<' Operator '=' Operator ' ' Text.Whitespace "'" Literal.String ' ' Literal.String "'" Literal.String ')' Punctuation ' ' Text.Whitespace 'do' Keyword '\n ' Text.Whitespace 'Inc' Name.Builtin '(' Punctuation 'P' Name ')' Punctuation ';' Operator '\n\n ' Text.Whitespace 'Quoted' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'False' Keyword ';' Operator '\n ' Text.Whitespace 'while' Keyword ' ' Text.Whitespace 'P' Name '[' Punctuation '0' Literal.Number.Integer ']' Punctuation ' ' Text.Whitespace '<' Operator '>' Operator ' ' Text.Whitespace '#0' Literal.String.Char ' ' Text.Whitespace 'do' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'P' Name '[' Punctuation '0' Literal.Number.Integer ']' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String '"' Literal.String "'" Literal.String ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Quoted' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'not' Keyword ' ' Text.Whitespace 'Quoted' Name ';' Operator '\n ' Text.Whitespace 'Inc' Name.Builtin '(' Punctuation 'P' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Continue' Keyword ';' Operator ' ' Text.Whitespace 'end' Keyword ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'P' Name '[' Punctuation '0' Literal.Number.Integer ']' Punctuation ' ' Text.Whitespace '<' Operator '=' Operator ' ' Text.Whitespace "'" Literal.String ' ' Literal.String "'" Literal.String ')' Punctuation ' ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace 'not' Keyword ' ' Text.Whitespace 'Quoted' Name ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Break' Keyword ';' Operator '\n ' Text.Whitespace 'Param' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Param' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'P' Name '[' Punctuation '0' Literal.Number.Integer ']' Punctuation ';' Operator '\n ' Text.Whitespace 'Inc' Name.Builtin '(' Punctuation 'P' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n ' Text.Whitespace 'until' Keyword ' ' Text.Whitespace '(' Punctuation 'Param' Name ' ' Text.Whitespace '<' Operator '>' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ')' Punctuation ' ' Text.Whitespace 'or' Keyword ' ' Text.Whitespace '(' Punctuation 'P' Name '[' Punctuation '0' Literal.Number.Integer ']' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '#0' Literal.String.Char ')' Punctuation ';' Operator '\n\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Param' Name ' ' Text.Whitespace '<' Operator '>' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Strings' Name '.' Operator 'Clear' Name ';' Operator '\n ' Text.Whitespace 'P' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'GetCommandLine' Name ';' Operator '\n ' Text.Whitespace 'GetParamStr' Name '(' Punctuation 'P' Name ',' Operator ' ' Text.Whitespace 'Param' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'while' Keyword ' ' Text.Whitespace 'GetParamStr' Name '(' Punctuation 'P' Name ',' Operator ' ' Text.Whitespace 'Param' Name ')' Punctuation ' ' Text.Whitespace 'do' Keyword '\n ' Text.Whitespace 'Strings' Name '.' Operator 'Add' Name '(' Punctuation 'Param' Name ')' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'GetParams' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'Separator' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String ' ' Literal.String "'" Literal.String ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'SL' Name ':' Operator ' ' Text.Whitespace 'TStringList' Name ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'SL' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'TStringList' Name '.' Operator 'Create' Name ';' Operator '\n ' Text.Whitespace 'GetParams' Name '(' Punctuation 'SL' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Join' Name '(' Punctuation 'SL' Name ',' Operator ' ' Text.Whitespace 'Separator' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'SL' Name '.' Operator 'Free' Name ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'Switch' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'Switch' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'PrefixChars' Name ':' Operator ' ' Text.Whitespace 'TCharSet' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'SwitchChars' Name ';' Operator '\n ' Text.Whitespace 'IgnoreCase' Name ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'True' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace '//= SysUtils.FindCmdLineSwitch' Comment.Single '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'i' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n ' Text.Whitespace 's' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'True' Keyword ';' Operator '\n\n ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ' ' Text.Whitespace 'to' Keyword ' ' Text.Whitespace 'ParamCount' Name.Builtin ' ' Text.Whitespace 'do' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 's' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'ParamStr' Name.Builtin '(' Punctuation 'i' Name ')' Punctuation ';' Operator '\n\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 's' Name ' ' Text.Whitespace '<' Operator '>' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ')' Punctuation ' ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace '(' Punctuation 's' Name '[' Punctuation '1' Literal.Number.Integer ']' Punctuation ' ' Text.Whitespace 'in' Keyword ' ' Text.Whitespace 'PrefixChars' Name ')' Punctuation ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace "//i know that always s <> '', but this is saver" Comment.Single '\n ' Text.Whitespace 's' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Copy' Name.Builtin '(' Punctuation 's' Name ',' Operator ' ' Text.Whitespace '2' Literal.Number.Integer ',' Operator ' ' Text.Whitespace 'MaxInt' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 's' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'Switch' Name ')' Punctuation ' ' Text.Whitespace 'or' Keyword ' ' Text.Whitespace '(' Punctuation 'IgnoreCase' Name ' ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace '(' Punctuation '0' Literal.Number.Integer '=' Operator 'AnsiCompareText' Name.Builtin '(' Punctuation 's' Name ',' Operator ' ' Text.Whitespace 'Switch' Name ')))' Punctuation ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Exit' Keyword ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'False' Keyword ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'ParamNum' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ' ' Text.Whitespace 'to' Keyword ' ' Text.Whitespace 'ParamCount' Name.Builtin ' ' Text.Whitespace 'do' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '0' Literal.Number.Integer '=' Operator 'AnsiCompareText' Name.Builtin '(' Punctuation 'ParamStr' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo ')' Punctuation ',' Operator ' ' Text.Whitespace 'S' Name ')' Punctuation ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Exit' Keyword ';' Operator '\n\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'ParamPrefixNum' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'Prefix' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'Len' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Len' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'Prefix' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ' ' Text.Whitespace 'to' Keyword ' ' Text.Whitespace 'ParamCount' Name.Builtin ' ' Text.Whitespace 'do' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '0' Literal.Number.Integer '=' Operator 'AnsiCompareText' Name.Builtin '(' Punctuation 'Copy' Name.Builtin '(' Punctuation 'ParamStr' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo ')' Punctuation ',' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ',' Operator ' ' Text.Whitespace 'Len' Name ')' Punctuation ',' Operator ' ' Text.Whitespace 'Prefix' Name ')' Punctuation ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Exit' Keyword ';' Operator '\n\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'Param' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'ParamNum' Name '(' Punctuation 'S' Name ')' Punctuation ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'ParamPrefix' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'Prefix' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'ParamPrefixNum' Name '(' Punctuation 'Prefix' Name ')' Punctuation ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'GetParam' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'Prefix' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'Default' Keyword.Pseudo ':' Operator ' ' Text.Whitespace 'string' Keyword ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'i' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Default' Keyword.Pseudo ';' Operator '\n\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Prefix' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'ParamStr' Name.Builtin '(' Punctuation '1' Literal.Number.Integer ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Exit' Keyword ';' Operator ' ' Text.Whitespace 'end' Keyword ';' Operator '\n\n ' Text.Whitespace 'i' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'ParamPrefixNum' Name '(' Punctuation 'Prefix' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Copy' Name.Builtin '(' Punctuation 'ParamStr' Name.Builtin '(' Punctuation 'i' Name ')' Punctuation ',' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'Prefix' Name ')' Punctuation ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ',' Operator ' ' Text.Whitespace 'MaxInt' Name ')' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'GetMyDir' Name.Function '(' Punctuation 'FullPath' Name ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'False' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'Buffer' Name ':' Operator ' ' Text.Whitespace 'array' Keyword '[' Punctuation '0' Literal.Number.Integer '.' Operator '.' Operator '260' Literal.Number.Integer ']' Punctuation ' ' Text.Whitespace 'of' Keyword ' ' Text.Whitespace 'Char' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'SetString' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo ',' Operator ' ' Text.Whitespace 'Buffer' Name ',' Operator ' ' Text.Whitespace 'GetModuleFileName' Name.Builtin '(' Punctuation '0' Literal.Number.Integer ',' Operator ' ' Text.Whitespace 'Buffer' Name ',' Operator ' ' Text.Whitespace 'SizeOf' Name.Builtin '(' Punctuation 'Buffer' Name ')))' Punctuation ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'FullPath' Name ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'GetFileNew' Name '(' Punctuation 'Result' Name.Builtin.Pseudo ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'ExtractPath' Name '(' Punctuation 'Result' Name.Builtin.Pseudo ')' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'WinDir' Name.Function ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'Res' Name ':' Operator ' ' Text.Whitespace 'PChar' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace "'" Literal.String '\\' Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'GetMem' Name.Builtin '(' Punctuation 'Res' Name ',' Operator ' ' Text.Whitespace 'MAX_PATH' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'GetWindowsDirectory' Name '(' Punctuation 'Res' Name ',' Operator ' ' Text.Whitespace 'MAX_PATH' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Res' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace "'" Literal.String '\\' Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'FreeMem' Name.Builtin '(' Punctuation 'Res' Name ',' Operator ' ' Text.Whitespace 'MAX_PATH' Name ')' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'SysDir' Name.Function ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'Res' Name ':' Operator ' ' Text.Whitespace 'PChar' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace "'" Literal.String '\\' Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'GetMem' Name.Builtin '(' Punctuation 'Res' Name ',' Operator ' ' Text.Whitespace 'MAX_PATH' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'GetSystemDirectory' Name '(' Punctuation 'Res' Name ',' Operator ' ' Text.Whitespace 'MAX_PATH' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Res' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace "'" Literal.String '\\' Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'FreeMem' Name.Builtin '(' Punctuation 'Res' Name ',' Operator ' ' Text.Whitespace 'MAX_PATH' Name ')' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'UserName' Name.Function ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'Len' Name ':' Operator ' ' Text.Whitespace 'Cardinal' Keyword.Type ';' Operator '\n ' Text.Whitespace 'Res' Name ':' Operator ' ' Text.Whitespace 'PChar' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'GetMem' Name.Builtin '(' Punctuation 'Res' Name ',' Operator ' ' Text.Whitespace 'MAX_PATH' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Len' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'MAX_PATH' Name ';' Operator '\n ' Text.Whitespace 'GetUserName' Name '(' Punctuation 'Res' Name ',' Operator ' ' Text.Whitespace 'Len' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Res' Name ';' Operator '\n ' Text.Whitespace 'FreeMem' Name.Builtin '(' Punctuation 'Res' Name ',' Operator ' ' Text.Whitespace 'MAX_PATH' Name ')' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'FirstChar' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Char' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 's' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '#0' Literal.String.Char '\n ' Text.Whitespace 'else' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 's' Name '[' Punctuation '1' Literal.Number.Integer ']' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'LastChar' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Char' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 's' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '#0' Literal.String.Char '\n ' Text.Whitespace 'else' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 's' Name '[' Punctuation 'Length' Name.Builtin '(' Punctuation 's' Name ')]' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'CharPos' Name.Function '(' Punctuation 'C' Name ':' Operator ' ' Text.Whitespace 'Char' Keyword.Type ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Offset' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'MaxPosToSearch' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Offset' Name ';' Operator '\n ' Text.Whitespace 'MaxPosToSearch' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'S' Name ')' Punctuation ';' Operator '\n\n ' Text.Whitespace 'while' Keyword ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace '<' Operator '=' Operator ' ' Text.Whitespace 'MaxPosToSearch' Name ' ' Text.Whitespace 'do' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'S' Name '[' Punctuation 'Result' Name.Builtin.Pseudo ']' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'C' Name ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Exit' Keyword ';' Operator '\n ' Text.Whitespace 'Inc' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo ')' Punctuation ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'CharPos' Name.Function '(' Punctuation 'C' Name ':' Operator ' ' Text.Whitespace 'TCharSet' Name ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Offset' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'MaxPosToSearch' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Offset' Name ';' Operator '\n ' Text.Whitespace 'MaxPosToSearch' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'S' Name ')' Punctuation ';' Operator '\n\n ' Text.Whitespace 'while' Keyword ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace '<' Operator '=' Operator ' ' Text.Whitespace 'MaxPosToSearch' Name ' ' Text.Whitespace 'do' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'S' Name '[' Punctuation 'Result' Name.Builtin.Pseudo ']' Punctuation ' ' Text.Whitespace 'in' Keyword ' ' Text.Whitespace 'C' Name ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Exit' Keyword ';' Operator '\n ' Text.Whitespace 'Inc' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo ')' Punctuation ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'CharPosR' Name.Function '(' Punctuation 'C' Name ':' Operator ' ' Text.Whitespace 'Char' Keyword.Type ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Offset' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '-' Operator '1' Literal.Number.Integer ')' Punctuation ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Offset' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'S' Name ')' Punctuation ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'Offset' Name '\n ' Text.Whitespace 'else' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Offset' Name ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'S' Name ')' Punctuation ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'S' Name ')' Punctuation ';' Operator '\n\n ' Text.Whitespace 'while' Keyword ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'do' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'S' Name '[' Punctuation 'Result' Name.Builtin.Pseudo ']' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'C' Name ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Exit' Keyword ';' Operator '\n ' Text.Whitespace 'Dec' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo ')' Punctuation ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'PosEx' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'SubStr' Name ',' Operator ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Offset' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'MaxPosToSearch' Name ',' Operator ' ' Text.Whitespace 'LenSubStr' Name ',' Operator ' ' Text.Whitespace 'i' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'SubStr' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Operator '\n ' Text.Whitespace 'Exit' Keyword ';' Operator ' ' Text.Whitespace 'end' Keyword ';' Operator '\n\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Offset' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer '\n ' Text.Whitespace 'else' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Offset' Name ';' Operator '\n\n ' Text.Whitespace 'LenSubStr' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'SubStr' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'MaxPosToSearch' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'S' Name ')' Punctuation ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'LenSubStr' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ';' Operator '\n\n ' Text.Whitespace 'while' Keyword ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace '<' Operator '=' Operator ' ' Text.Whitespace 'MaxPosToSearch' Name ' ' Text.Whitespace 'do' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'S' Name '[' Punctuation 'Result' Name.Builtin.Pseudo ']' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'SubStr' Name '[' Punctuation '1' Literal.Number.Integer ']' Punctuation ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'i' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ';' Operator '\n\n ' Text.Whitespace 'while' Keyword ' ' Text.Whitespace '(' Punctuation 'i' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace 'LenSubStr' Name ')' Punctuation '\n ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'S' Name '[' Punctuation 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'i' Name ']' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'SubStr' Name '[' Punctuation 'i' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '1' Literal.Number.Integer '])' Punctuation ' ' Text.Whitespace 'do' Keyword '\n ' Text.Whitespace 'Inc' Name.Builtin '(' Punctuation 'i' Name ')' Punctuation ';' Operator '\n\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'LenSubStr' Name ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Exit' Keyword ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n ' Text.Whitespace 'Inc' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo ')' Punctuation ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'PosExText' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'SubStr' Name ',' Operator ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Offset' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'MaxPosToSearch' Name ',' Operator ' ' Text.Whitespace 'LenSubStr' Name ',' Operator ' ' Text.Whitespace 'i' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n\n ' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'SameChar' Name.Function '(' Punctuation 'a' Name ',' Operator ' ' Text.Whitespace 'b' Name ':' Operator ' ' Text.Whitespace 'Char' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'UpCase' Name.Builtin '(' Punctuation 'a' Name ')' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'UpCase' Name.Builtin '(' Punctuation 'b' Name ')' Punctuation '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'SubStr' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Operator '\n ' Text.Whitespace 'Exit' Keyword ';' Operator ' ' Text.Whitespace 'end' Keyword ';' Operator '\n\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Offset' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer '\n ' Text.Whitespace 'else' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Offset' Name ';' Operator '\n\n ' Text.Whitespace 'LenSubStr' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'SubStr' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'MaxPosToSearch' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'S' Name ')' Punctuation ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'LenSubStr' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ';' Operator '\n\n ' Text.Whitespace 'while' Keyword ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace '<' Operator '=' Operator ' ' Text.Whitespace 'MaxPosToSearch' Name ' ' Text.Whitespace 'do' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'SameChar' Name '(' Punctuation 'S' Name '[' Punctuation 'Result' Name.Builtin.Pseudo ']' Punctuation ',' Operator ' ' Text.Whitespace 'SubStr' Name '[' Punctuation '1' Literal.Number.Integer '])' Punctuation ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'i' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ';' Operator '\n\n ' Text.Whitespace 'while' Keyword ' ' Text.Whitespace '(' Punctuation 'i' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace 'LenSubStr' Name ')' Punctuation '\n ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'SameChar' Name '(' Punctuation 'S' Name '[' Punctuation 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'i' Name ']' Punctuation ',' Operator ' ' Text.Whitespace 'SubStr' Name '[' Punctuation 'i' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ']))' Punctuation ' ' Text.Whitespace 'do' Keyword '\n ' Text.Whitespace 'Inc' Name.Builtin '(' Punctuation 'i' Name ')' Punctuation ';' Operator '\n\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'LenSubStr' Name ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Exit' Keyword ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n ' Text.Whitespace 'Inc' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo ')' Punctuation ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'PosExAnsiText' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'SubStr' Name ',' Operator ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Offset' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'MaxPosToSearch' Name ',' Operator ' ' Text.Whitespace 'LenSubStr' Name ',' Operator ' ' Text.Whitespace 'i' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n\n ' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'SameChar' Name.Function '(' Punctuation 'a' Name ',' Operator ' ' Text.Whitespace 'b' Name ':' Operator ' ' Text.Whitespace 'Char' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'CharLower' Name '(' Punctuation 'PChar' Keyword.Type '(' Punctuation 'a' Name '))' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'CharLower' Name '(' Punctuation 'PChar' Keyword.Type '(' Punctuation 'b' Name '))' Punctuation ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'SubStr' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Operator '\n ' Text.Whitespace 'Exit' Keyword ';' Operator ' ' Text.Whitespace 'end' Keyword ';' Operator '\n\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Offset' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer '\n ' Text.Whitespace 'else' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Offset' Name ';' Operator '\n\n ' Text.Whitespace 'LenSubStr' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'SubStr' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'MaxPosToSearch' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'S' Name ')' Punctuation ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'LenSubStr' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ';' Operator '\n\n ' Text.Whitespace 'while' Keyword ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace '<' Operator '=' Operator ' ' Text.Whitespace 'MaxPosToSearch' Name ' ' Text.Whitespace 'do' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'SameChar' Name '(' Punctuation 'S' Name '[' Punctuation 'Result' Name.Builtin.Pseudo ']' Punctuation ',' Operator ' ' Text.Whitespace 'SubStr' Name '[' Punctuation '1' Literal.Number.Integer '])' Punctuation ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'i' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ';' Operator '\n\n ' Text.Whitespace 'while' Keyword ' ' Text.Whitespace '(' Punctuation 'i' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace 'LenSubStr' Name ')' Punctuation '\n ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'SameChar' Name '(' Punctuation 'S' Name '[' Punctuation 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'i' Name ']' Punctuation ',' Operator ' ' Text.Whitespace 'SubStr' Name '[' Punctuation 'i' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ']))' Punctuation ' ' Text.Whitespace 'do' Keyword '\n ' Text.Whitespace 'Inc' Name.Builtin '(' Punctuation 'i' Name ')' Punctuation ';' Operator '\n\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'LenSubStr' Name ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Exit' Keyword ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n ' Text.Whitespace 'Inc' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo ')' Punctuation ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'UntilChar' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Brake' Name ':' Operator ' ' Text.Whitespace 'Char' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'p' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'p' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'CharPos' Name '(' Punctuation 'Brake' Name ',' Operator ' ' Text.Whitespace 'S' Name ')' Punctuation ';' Operator '\n\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'p' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Copy' Name.Builtin '(' Punctuation 'S' Name ',' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ',' Operator ' ' Text.Whitespace 'p' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation '\n ' Text.Whitespace 'else' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'S' Name ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'UntilChar' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Brake' Name ':' Operator ' ' Text.Whitespace 'TCharSet' Name ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'p' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'p' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'CharPos' Name '(' Punctuation 'Brake' Name ',' Operator ' ' Text.Whitespace 'S' Name ')' Punctuation ';' Operator '\n\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'p' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Copy' Name.Builtin '(' Punctuation 'S' Name ',' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ',' Operator ' ' Text.Whitespace 'p' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation '\n ' Text.Whitespace 'else' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'S' Name ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'UntilLastChar' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Brake' Name ':' Operator ' ' Text.Whitespace 'Char' Keyword.Type ';' Operator '\n ' Text.Whitespace 'IgnoreNoBrake' Name ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'True' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'p' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'p' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'CharPosR' Name '(' Punctuation 'Brake' Name ',' Operator ' ' Text.Whitespace 'S' Name ')' Punctuation ';' Operator '\n\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'p' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Copy' Name.Builtin '(' Punctuation 'S' Name ',' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ',' Operator ' ' Text.Whitespace 'p' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation '\n ' Text.Whitespace 'else' Keyword ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'IgnoreNoBrake' Name ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'S' Name ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'FromChar' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Brake' Name ':' Operator ' ' Text.Whitespace 'Char' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'p' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'p' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'CharPos' Name '(' Punctuation 'Brake' Name ',' Operator ' ' Text.Whitespace 'S' Name ')' Punctuation ';' Operator '\n\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'p' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Copy' Name.Builtin '(' Punctuation 'S' Name ',' Operator ' ' Text.Whitespace 'p' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ',' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'S' Name ')' Punctuation ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'p' Name ')' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'FromChar' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Brake' Name ':' Operator ' ' Text.Whitespace 'TCharSet' Name ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'p' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'p' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'CharPos' Name '(' Punctuation 'Brake' Name ',' Operator ' ' Text.Whitespace 'S' Name ')' Punctuation ';' Operator '\n\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'p' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Copy' Name.Builtin '(' Punctuation 'S' Name ',' Operator ' ' Text.Whitespace 'p' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ',' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'S' Name ')' Punctuation ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'p' Name ')' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'FromLastChar' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Brake' Name ':' Operator ' ' Text.Whitespace 'Char' Keyword.Type ';' Operator '\n ' Text.Whitespace 'IgnoreNoBrake' Name ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'False' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'p' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'p' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'CharPosR' Name '(' Punctuation 'Brake' Name ',' Operator ' ' Text.Whitespace 'S' Name ')' Punctuation ';' Operator '\n\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'p' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Copy' Name.Builtin '(' Punctuation 'S' Name ',' Operator ' ' Text.Whitespace 'p' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ',' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'S' Name ')' Punctuation ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'p' Name ')' Punctuation '\n ' Text.Whitespace 'else' Keyword ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'IgnoreNoBrake' Name ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'S' Name ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'BetweenChars' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Start' Name ',' Operator ' ' Text.Whitespace 'Finish' Name ':' Operator ' ' Text.Whitespace 'Char' Keyword.Type ';' Operator '\n ' Text.Whitespace 'Inclusive' Name ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'False' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'p' Name ',' Operator ' ' Text.Whitespace 'fin' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ';' Operator '\n\n ' Text.Whitespace 'p' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'CharPos' Name '(' Punctuation 'Start' Name ',' Operator ' ' Text.Whitespace 'S' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'p' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Exit' Keyword ';' Operator '\n\n ' Text.Whitespace 'fin' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'CharPos' Name '(' Punctuation 'Finish' Name ',' Operator ' ' Text.Whitespace 'S' Name ',' Operator ' ' Text.Whitespace 'p' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'fin' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Exit' Keyword ';' Operator '\n\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'not' Keyword ' ' Text.Whitespace 'Inclusive' Name ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Inc' Name.Builtin '(' Punctuation 'p' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Dec' Name.Builtin '(' Punctuation 'fin' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Copy' Name.Builtin '(' Punctuation 'S' Name ',' Operator ' ' Text.Whitespace 'p' Name ',' Operator ' ' Text.Whitespace 'fin' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'p' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'UntilStr' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Brake' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'p' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'Brake' Name ')' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'UntilChar' Name '(' Punctuation 'S' Name ',' Operator ' ' Text.Whitespace 'Brake' Name '[' Punctuation '1' Literal.Number.Integer '])' Punctuation ';' Operator '\n ' Text.Whitespace 'Exit' Keyword ';' Operator ' ' Text.Whitespace 'end' Keyword ';' Operator '\n\n ' Text.Whitespace 'p' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'PosEx' Name '(' Punctuation 'Brake' Name ',' Operator ' ' Text.Whitespace 'S' Name ')' Punctuation ';' Operator '\n\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'p' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Copy' Name.Builtin '(' Punctuation 'S' Name ',' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ',' Operator ' ' Text.Whitespace 'p' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation '\n ' Text.Whitespace 'else' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'S' Name ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'FromStr' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Brake' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'p' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'Brake' Name ')' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'FromChar' Name '(' Punctuation 'S' Name ',' Operator ' ' Text.Whitespace 'Brake' Name '[' Punctuation '1' Literal.Number.Integer '])' Punctuation ';' Operator '\n ' Text.Whitespace 'Exit' Keyword ';' Operator ' ' Text.Whitespace 'end' Keyword ';' Operator '\n\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'p' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'PosEx' Name '(' Punctuation 'Brake' Name ',' Operator ' ' Text.Whitespace 's' Name ')' Punctuation ';' Operator '\n\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'p' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Inc' Name.Builtin '(' Punctuation 'p' Name ',' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'Brake' Name '))' Punctuation ';' Operator '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Copy' Name.Builtin '(' Punctuation 'S' Name ',' Operator ' ' Text.Whitespace 'p' Name ',' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'S' Name ')' Punctuation ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'p' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'StringWrap' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Width' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'LineEnd' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'EOL' Name ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'i' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'S' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ')' Punctuation ' ' Text.Whitespace 'or' Keyword ' ' Text.Whitespace '(' Punctuation 'Width' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Exit' Keyword ';' Operator '\n\n ' Text.Whitespace 'i' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ';' Operator '\n ' Text.Whitespace 'while' Keyword ' ' Text.Whitespace 'True' Keyword ' ' Text.Whitespace 'do' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'Copy' Name.Builtin '(' Punctuation 'S' Name ',' Operator ' ' Text.Whitespace 'i' Name ',' Operator ' ' Text.Whitespace 'Width' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Inc' Name.Builtin '(' Punctuation 'i' Name ',' Operator ' ' Text.Whitespace 'Width' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace '<' Operator '=' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'S' Name ')' Punctuation ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'LineEnd' Name '\n ' Text.Whitespace 'else' Keyword '\n ' Text.Whitespace 'Exit' Keyword ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'Split' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ',' Operator ' ' Text.Whitespace 'Separator' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'IgnoreMultiSep' Name ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'True' Keyword ';' Operator '\n ' Text.Whitespace 'MinCount' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ':' Operator ' ' Text.Whitespace 'TStrA' Name ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'p' Name ',' Operator ' ' Text.Whitespace 'fin' Name ',' Operator ' ' Text.Whitespace 'SepLen' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n\n ' Text.Whitespace 'procedure' Keyword ' ' Text.Whitespace 'Add' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ';' Operator '\n ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'IgnoreMultiSep' Name ' ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'S' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ')' Punctuation ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Exit' Keyword ';' Operator '\n ' Text.Whitespace 'SetLength' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo ',' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo ')' Punctuation ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo '[' Punctuation 'High' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo ')]' Punctuation ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'S' Name ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'S' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo ')' Punctuation ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace 'MinCount' Name ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'SetLength' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo ',' Operator ' ' Text.Whitespace 'MinCount' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Exit' Keyword ';' Operator ' ' Text.Whitespace 'end' Keyword ';' Operator '\n\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'nil' Keyword ';' Operator '\n ' Text.Whitespace 'SepLen' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'Separator' Name ')' Punctuation ';' Operator '\n\n ' Text.Whitespace 'p' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ';' Operator '\n ' Text.Whitespace 'fin' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'PosEx' Name '(' Punctuation 'Separator' Name ',' Operator ' ' Text.Whitespace 'S' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'while' Keyword ' ' Text.Whitespace 'fin' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'do' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Add' Name '(' Punctuation 'Copy' Name.Builtin '(' Punctuation 'S' Name ',' Operator ' ' Text.Whitespace 'p' Name ',' Operator ' ' Text.Whitespace 'fin' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'p' Name '))' Punctuation ';' Operator '\n ' Text.Whitespace 'p' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'fin' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'SepLen' Name ';' Operator '\n ' Text.Whitespace 'fin' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'PosEx' Name '(' Punctuation 'Separator' Name ',' Operator ' ' Text.Whitespace 'S' Name ',' Operator ' ' Text.Whitespace 'p' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n ' Text.Whitespace 'Add' Name '(' Punctuation 'Copy' Name.Builtin '(' Punctuation 'S' Name ',' Operator ' ' Text.Whitespace 'p' Name ',' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'S' Name ')' Punctuation ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'p' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '1' Literal.Number.Integer '))' Punctuation ';' Operator '\n\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo ')' Punctuation ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace 'MinCount' Name ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'SetLength' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo ',' Operator ' ' Text.Whitespace 'MinCount' Name ')' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'procedure' Keyword ' ' Text.Whitespace 'Split' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ',' Operator ' ' Text.Whitespace 'Separator' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Strings' Name ':' Operator ' ' Text.Whitespace 'TStrings' Name ';' Operator '\n ' Text.Whitespace 'IgnoreMultiSep' Name ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'True' Keyword ')' Punctuation ';' Operator ' \n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'p' Name ',' Operator ' ' Text.Whitespace 'fin' Name ',' Operator ' ' Text.Whitespace 'SepLen' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n\n ' Text.Whitespace 'procedure' Keyword ' ' Text.Whitespace 'Add' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ';' Operator '\n ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'IgnoreMultiSep' Name ' ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'S' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ')' Punctuation ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Exit' Keyword ';' Operator '\n ' Text.Whitespace 'Strings' Name '.' Operator 'Add' Name '(' Punctuation 'S' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'S' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Exit' Keyword ';' Operator '\n\n ' Text.Whitespace 'Strings' Name '.' Operator 'BeginUpdate' Name ';' Operator '\n ' Text.Whitespace 'SepLen' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'Separator' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'p' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ';' Operator '\n ' Text.Whitespace 'fin' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'PosEx' Name '(' Punctuation 'Separator' Name ',' Operator ' ' Text.Whitespace 'S' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'while' Keyword ' ' Text.Whitespace 'fin' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'do' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Add' Name '(' Punctuation 'Copy' Name.Builtin '(' Punctuation 'S' Name ',' Operator ' ' Text.Whitespace 'p' Name ',' Operator ' ' Text.Whitespace 'fin' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'p' Name '))' Punctuation ';' Operator '\n ' Text.Whitespace 'p' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'fin' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'SepLen' Name ';' Operator '\n ' Text.Whitespace 'fin' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'PosEx' Name '(' Punctuation 'Separator' Name ',' Operator ' ' Text.Whitespace 'S' Name ',' Operator ' ' Text.Whitespace 'p' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n ' Text.Whitespace 'Add' Name '(' Punctuation 'Copy' Name.Builtin '(' Punctuation 'S' Name ',' Operator ' ' Text.Whitespace 'p' Name ',' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'S' Name ')' Punctuation ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'p' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '1' Literal.Number.Integer '))' Punctuation ';' Operator '\n ' Text.Whitespace 'Strings' Name '.' Operator 'EndUpdate' Name ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'Split' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Separators' Name ':' Operator ' ' Text.Whitespace 'TCharSet' Name ';' Operator '\n ' Text.Whitespace 'IgnoreMultiSep' Name ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'True' Keyword ';' Operator ' ' Text.Whitespace 'MinCount' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ':' Operator ' ' Text.Whitespace 'TStrA' Name ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'p' Name ',' Operator ' ' Text.Whitespace 'fin' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n\n ' Text.Whitespace 'procedure' Keyword ' ' Text.Whitespace 'Add' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ';' Operator '\n ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'IgnoreMultiSep' Name ' ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'S' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ')' Punctuation ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Exit' Keyword ';' Operator '\n ' Text.Whitespace 'SetLength' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo ',' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo ')' Punctuation ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo '[' Punctuation 'High' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo ')]' Punctuation ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'S' Name ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'S' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo ')' Punctuation ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace 'MinCount' Name ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'SetLength' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo ',' Operator ' ' Text.Whitespace 'MinCount' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Exit' Keyword ';' Operator ' ' Text.Whitespace 'end' Keyword ';' Operator '\n\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'nil' Keyword ';' Operator '\n\n ' Text.Whitespace 'p' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ';' Operator '\n ' Text.Whitespace 'fin' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'CharPos' Name '(' Punctuation 'Separators' Name ',' Operator ' ' Text.Whitespace 'S' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'while' Keyword ' ' Text.Whitespace 'fin' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'do' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Add' Name '(' Punctuation 'Copy' Name.Builtin '(' Punctuation 'S' Name ',' Operator ' ' Text.Whitespace 'p' Name ',' Operator ' ' Text.Whitespace 'fin' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'p' Name '))' Punctuation ';' Operator '\n ' Text.Whitespace 'p' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'fin' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ';' Operator '\n ' Text.Whitespace 'fin' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'CharPos' Name '(' Punctuation 'Separators' Name ',' Operator ' ' Text.Whitespace 'S' Name ',' Operator ' ' Text.Whitespace 'p' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n ' Text.Whitespace 'Add' Name '(' Punctuation 'Copy' Name.Builtin '(' Punctuation 'S' Name ',' Operator ' ' Text.Whitespace 'p' Name ',' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'S' Name ')' Punctuation ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'p' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '1' Literal.Number.Integer '))' Punctuation ';' Operator '\n\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo ')' Punctuation ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace 'MinCount' Name ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'SetLength' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo ',' Operator ' ' Text.Whitespace 'MinCount' Name ')' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'procedure' Keyword ' ' Text.Whitespace 'TileStr' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'BrakeStart' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator ' ' Text.Whitespace 'BrakeEnd' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n ' Text.Whitespace 'out' Name ' ' Text.Whitespace 'Left' Name ',' Operator ' ' Text.Whitespace 'Right' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Left' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Copy' Name.Builtin '(' Punctuation 'S' Name ',' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ',' Operator ' ' Text.Whitespace 'BrakeStart' Name '-' Operator '1' Literal.Number.Integer ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Right' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Copy' Name.Builtin '(' Punctuation 'S' Name ',' Operator ' ' Text.Whitespace 'BrakeEnd' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ',' Operator ' ' Text.Whitespace 'MaxInt' Name ')' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'Join' Name.Function '(' Punctuation 'Strings' Name ':' Operator ' ' Text.Whitespace 'TStrings' Name ';' Operator ' ' Text.Whitespace 'Separator' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String ' ' Literal.String "'" Literal.String ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'i' Name ',' Operator ' ' Text.Whitespace 'imax' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'imax' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Strings' Name '.' Operator 'Count' Name '-' Operator '1' Literal.Number.Integer ';' Operator '\n ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'to' Keyword ' ' Text.Whitespace 'imax' Name ' ' Text.Whitespace 'do' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'Strings' Name '[' Punctuation 'i' Name ']' Punctuation ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace 'imax' Name ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'Separator' Name ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'Join' Name.Function '(' Punctuation 'StrA' Name ':' Operator ' ' Text.Whitespace 'TStrA' Name ';' Operator ' ' Text.Whitespace 'Separator' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String ' ' Literal.String "'" Literal.String ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'overload' Name ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'i' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'to' Keyword ' ' Text.Whitespace 'High' Name.Builtin '(' Punctuation 'StrA' Name ')' Punctuation ' ' Text.Whitespace 'do' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'StrA' Name '[' Punctuation 'i' Name ']' Punctuation ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace 'High' Name.Builtin '(' Punctuation 'StrA' Name ')' Punctuation ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'Separator' Name ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'MulStr' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Count' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'P' Name ':' Operator ' ' Text.Whitespace 'PChar' Keyword.Type ';' Operator '\n ' Text.Whitespace 'Len' Name ',' Operator ' ' Text.Whitespace 'i' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Count' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Exit' Keyword ';' Operator '\n\n ' Text.Whitespace 'Len' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'S' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'SetLength' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo ',' Operator ' ' Text.Whitespace 'Len' Name ' ' Text.Whitespace '*' Operator ' ' Text.Whitespace 'Count' Name ')' Punctuation ';' Operator '\n\n ' Text.Whitespace 'P' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Pointer' Keyword.Type '(' Punctuation 'Result' Name.Builtin.Pseudo ')' Punctuation ';' Operator '\n ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ' ' Text.Whitespace 'to' Keyword ' ' Text.Whitespace 'Count' Name ' ' Text.Whitespace 'do' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Move' Name.Builtin '(' Punctuation 'Pointer' Keyword.Type '(' Punctuation 'S' Name ')' Punctuation '^' Operator ',' Operator ' ' Text.Whitespace 'P' Name '^' Operator ',' Operator ' ' Text.Whitespace 'Len' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Inc' Name.Builtin '(' Punctuation 'P' Name ',' Operator ' ' Text.Whitespace 'Len' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'AlignR' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Width' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator ' ' Text.Whitespace 'Filler' Name ':' Operator ' ' Text.Whitespace 'Char' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String ' ' Literal.String "'" Literal.String ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'MulStr' Name '(' Punctuation 'Filler' Name ',' Operator ' ' Text.Whitespace 'Width' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'S' Name '))' Punctuation ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'S' Name ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'MaxStr' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'MaxLen' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'Len' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Len' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'S' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Len' Name ' ' Text.Whitespace '<' Operator '=' Operator ' ' Text.Whitespace 'MaxLen' Name ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'S' Name ';' Operator '\n ' Text.Whitespace 'Exit' Keyword ' ' Text.Whitespace 'end' Keyword ';' Operator '\n\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Copy' Name.Builtin '(' Punctuation 'S' Name ',' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ',' Operator ' ' Text.Whitespace 'MaxLen' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace '3' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace "'" Literal.String '...' Literal.String "'" Literal.String ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'TrimAll' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'i' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ' ' Text.Whitespace 'to' Keyword ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'S' Name ')' Punctuation ' ' Text.Whitespace 'do' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'S' Name '[' Punctuation 'i' Name ']' Punctuation ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '#32' Literal.String.Char ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'S' Name '[' Punctuation 'i' Name ']' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'ControlChar' Name.Function '(' Punctuation 'C' Name ':' Operator ' ' Text.Whitespace 'Char' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'C' Name ' ' Text.Whitespace 'in' Keyword ' ' Text.Whitespace 'StrangeChars' Name ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'FriendlyChar' Name.Function '(' Punctuation 'C' Name ':' Operator ' ' Text.Whitespace 'Char' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'Char' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'case' Keyword ' ' Text.Whitespace 'C' Name ' ' Text.Whitespace 'of' Keyword '\n ' Text.Whitespace '#0' Literal.String.Char ':' Operator ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace "'" Literal.String '.' Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace '#1' Literal.String.Char '.' Operator '.' Operator '#31' Literal.String.Char ':' Operator ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace "'" Literal.String '?' Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace '#255' Literal.String.Char ':' Operator ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace "'" Literal.String '#' Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'else' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'C' Name ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'FriendlyStr' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'i' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'SetLength' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo ',' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'S' Name '))' Punctuation ';' Operator '\n ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ' ' Text.Whitespace 'to' Keyword ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'S' Name ')' Punctuation ' ' Text.Whitespace 'do' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo '[' Punctuation 'i' Name ']' Punctuation ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'FriendlyChar' Name '(' Punctuation 'S' Name '[' Punctuation 'i' Name '])' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'FriendlyStr' Name.Function '(' Punctuation 'a' Name ':' Operator ' ' Text.Whitespace 'TByteA' Name ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'i' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'SetLength' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo ',' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'a' Name '))' Punctuation ';' Operator '\n ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'to' Keyword ' ' Text.Whitespace 'High' Name.Builtin '(' Punctuation 'a' Name ')' Punctuation ' ' Text.Whitespace 'do' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo '[' Punctuation 'i' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ']' Punctuation ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'FriendlyChar' Name '(' Punctuation 'Char' Keyword.Type '(' Punctuation 'a' Name '[' Punctuation 'i' Name ']))' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'Quote' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Quoter' Name ':' Operator ' ' Text.Whitespace 'Char' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String '"' Literal.String "'" Literal.String ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'S' Name ';' Operator '\n\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'FirstChar' Name '(' Punctuation 'S' Name ')' Punctuation ' ' Text.Whitespace '<' Operator '>' Operator ' ' Text.Whitespace 'Quoter' Name ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Quoter' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ';' Operator '\n\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'LastChar' Name '(' Punctuation 'S' Name ')' Punctuation ' ' Text.Whitespace '<' Operator '>' Operator ' ' Text.Whitespace 'Quoter' Name ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'Quoter' Name ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'DeQuote' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'S' Name ')' Punctuation ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '2' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Copy' Name.Builtin '(' Punctuation 'S' Name ',' Operator ' ' Text.Whitespace '2' Literal.Number.Integer ',' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'S' Name ')' Punctuation ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace '2' Literal.Number.Integer ')' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'UnQuote' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'Start' Name ',' Operator ' ' Text.Whitespace 'Len' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Start' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ';' Operator '\n ' Text.Whitespace 'Len' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'S' Name ')' Punctuation ';' Operator '\n\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'S' Name ' ' Text.Whitespace '<' Operator '>' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ')' Punctuation ' ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'S' Name '[' Punctuation '1' Literal.Number.Integer ']' Punctuation ' ' Text.Whitespace 'in' Keyword ' ' Text.Whitespace '([' Punctuation '#0' Literal.String.Char '.' Operator '.' Operator '#32' Literal.String.Char ']' Punctuation ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'QuoteChars' Name '))' Punctuation ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'LastChar' Name '(' Punctuation 'S' Name ')' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'S' Name '[' Punctuation '1' Literal.Number.Integer '])' Punctuation ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Dec' Name.Builtin '(' Punctuation 'Len' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Inc' Name.Builtin '(' Punctuation 'Start' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Copy' Name.Builtin '(' Punctuation 'S' Name ',' Operator ' ' Text.Whitespace 'Start' Name ',' Operator ' ' Text.Whitespace 'Len' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'Start' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'StrNumerus' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'Value' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'Singular' Name ',' Operator ' ' Text.Whitespace 'Plural' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'Zero' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String '0' Literal.String "'" Literal.String ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Abs' Name.Builtin '(' Punctuation 'Value' Name ')' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'IntToStr' Name.Builtin '(' Punctuation 'Value' Name ')' Punctuation ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace "'" Literal.String ' ' Literal.String "'" Literal.String ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'Singular' Name '\n ' Text.Whitespace 'else' Keyword ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Value' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Zero' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace "'" Literal.String ' ' Literal.String "'" Literal.String ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'Plural' Name '\n ' Text.Whitespace 'else' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'IntToStr' Name.Builtin '(' Punctuation 'Value' Name ')' Punctuation ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace "'" Literal.String ' ' Literal.String "'" Literal.String ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'Plural' Name ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'MakeStr' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'Items' Name ':' Operator ' ' Text.Whitespace 'array' Keyword ' ' Text.Whitespace 'of' Keyword ' ' Text.Whitespace 'const' Keyword ';' Operator ' ' Text.Whitespace 'Separator' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'const' Keyword '\n ' Text.Whitespace 'BoolStrings' Name ':' Operator ' ' Text.Whitespace 'array' Keyword '[' Punctuation 'Boolean' Keyword.Type ']' Punctuation ' ' Text.Whitespace 'of' Keyword ' ' Text.Whitespace 'string' Keyword ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '(' Punctuation "'" Literal.String 'False' Literal.String "'" Literal.String ',' Operator ' ' Text.Whitespace "'" Literal.String 'True' Literal.String "'" Literal.String ')' Punctuation ';' Operator '\n\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'i' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n\n ' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'StrOfP' Name.Function '(' Punctuation 'P' Name ':' Operator ' ' Text.Whitespace 'Pointer' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'P' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'nil' Keyword ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace "'" Literal.String '[nil]' Literal.String "'" Literal.String '\n ' Text.Whitespace 'else' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace "'" Literal.String '[' Literal.String "'" Literal.String ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'IntToStr' Name.Builtin '(' Punctuation 'Cardinal' Keyword.Type '(' Punctuation 'P' Name '))' Punctuation ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace "'" Literal.String ']' Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n\n ' Text.Whitespace 'procedure' Keyword ' ' Text.Whitespace 'Add' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ';' Operator '\n ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 's' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'Separator' Name ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'to' Keyword ' ' Text.Whitespace 'High' Name.Builtin '(' Punctuation 'Items' Name ')' Punctuation ' ' Text.Whitespace 'do' Keyword '\n ' Text.Whitespace 'with' Keyword ' ' Text.Whitespace 'Items' Name '[' Punctuation 'i' Name ']' Punctuation ' ' Text.Whitespace 'do' Keyword '\n ' Text.Whitespace 'case' Keyword ' ' Text.Whitespace 'VType' Name ' ' Text.Whitespace 'of' Keyword '\n ' Text.Whitespace 'vtString' Name ':' Operator ' ' Text.Whitespace 'Add' Name '(' Punctuation 'VString' Name '^' Operator ')' Punctuation ';' Operator '\n ' Text.Whitespace 'vtInteger' Name ':' Operator ' ' Text.Whitespace 'Add' Name '(' Punctuation 'IntToStr' Name.Builtin '(' Punctuation 'VInteger' Name '))' Punctuation ';' Operator '\n ' Text.Whitespace 'vtBoolean' Name ':' Operator ' ' Text.Whitespace 'Add' Name '(' Punctuation 'BoolStrings' Name '[' Punctuation 'VBoolean' Name '])' Punctuation ';' Operator '\n ' Text.Whitespace 'vtChar' Name ':' Operator ' ' Text.Whitespace 'Add' Name '(' Punctuation 'VChar' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'vtPChar' Name ':' Operator ' ' Text.Whitespace 'Add' Name '(' Punctuation 'VPChar' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'vtExtended' Name ':' Operator ' ' Text.Whitespace 'Add' Name '(' Punctuation 'FloatToStr' Name.Builtin '(' Punctuation 'VExtended' Name '^' Operator '))' Punctuation ';' Operator '\n ' Text.Whitespace 'vtObject' Name ':' Operator ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'VObject' Name ' ' Text.Whitespace 'is' Keyword ' ' Text.Whitespace 'TComponent' Name ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Add' Name '(' Punctuation 'TComponent' Name '(' Punctuation 'VObject' Name ')' Punctuation '.' Operator 'Name' Name ')' Punctuation '\n ' Text.Whitespace 'else' Keyword '\n ' Text.Whitespace 'Add' Name '(' Punctuation 'VObject' Name '.' Operator 'ClassName' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'vtClass' Name ':' Operator ' ' Text.Whitespace 'Add' Name '(' Punctuation 'VClass' Name '.' Operator 'ClassName' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'vtAnsiString' Name ':' Operator ' ' Text.Whitespace 'Add' Name '(' Punctuation 'string' Keyword '(' Punctuation 'VAnsiString' Name '))' Punctuation ';' Operator '\n ' Text.Whitespace 'vtCurrency' Name ':' Operator ' ' Text.Whitespace 'Add' Name '(' Punctuation 'CurrToStr' Name.Builtin '(' Punctuation 'VCurrency' Name '^' Operator '))' Punctuation ';' Operator '\n ' Text.Whitespace 'vtInt64' Name ':' Operator ' ' Text.Whitespace 'Add' Name '(' Punctuation 'IntToStr' Name.Builtin '(' Punctuation 'VInt64' Name '^' Operator '))' Punctuation ';' Operator '\n ' Text.Whitespace 'vtVariant' Name ':' Operator ' ' Text.Whitespace 'Add' Name '(' Punctuation 'string' Keyword '(' Punctuation 'VVariant' Name '^' Operator '))' Punctuation ';' Operator '\n\n ' Text.Whitespace 'vtWideChar' Name ':' Operator ' ' Text.Whitespace 'Add' Name '(' Punctuation 'VWideChar' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'vtPWideChar' Name ':' Operator ' ' Text.Whitespace 'Add' Name '(' Punctuation 'VPWideChar' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'vtInterface' Name ':' Operator ' ' Text.Whitespace 'Add' Name '(' Punctuation 'StrOfP' Name '(' Punctuation 'VInterface' Name '))' Punctuation ';' Operator '\n ' Text.Whitespace 'vtPointer' Name ':' Operator ' ' Text.Whitespace 'Add' Name '(' Punctuation 'StrOfP' Name '(' Punctuation 'VPointer' Name '))' Punctuation ';' Operator '\n ' Text.Whitespace 'vtWideString' Name ':' Operator ' ' Text.Whitespace 'Add' Name '(' Punctuation 'WideString' Keyword.Type '(' Punctuation 'VWideString' Name '))' Punctuation ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace '<' Operator '>' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'SetLength' Name.Builtin '(' Punctuation 'result' Name.Builtin.Pseudo ',' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo ')' Punctuation ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'Separator' Name '))' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'procedure' Keyword ' ' Text.Whitespace 'ShowText' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'Items' Name ':' Operator ' ' Text.Whitespace 'array' Keyword ' ' Text.Whitespace 'of' Keyword ' ' Text.Whitespace 'const' Keyword ';' Operator ' ' Text.Whitespace 'Separator' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ')' Punctuation ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'Text' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Text' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'MakeStr' Name '(' Punctuation 'Items' Name ',' Operator ' ' Text.Whitespace 'Separator' Name ')' Punctuation ';' Operator '\n\n ' Text.Whitespace 'MessageBox' Name '(' Punctuation '0' Literal.Number.Integer ',' Operator ' ' Text.Whitespace 'PChar' Keyword.Type '(' Punctuation 'Text' Name ')' Punctuation ',' Operator ' ' Text.Whitespace "'" Literal.String 'Info' Literal.String "'" Literal.String ',' Operator ' ' Text.Whitespace 'MB_OK' Name ' ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace 'MB_APPLMODAL' Name ')' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'DeleteChars' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'C' Name ':' Operator ' ' Text.Whitespace 'Char' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'i' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ' ' Text.Whitespace 'to' Keyword ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'S' Name ')' Punctuation ' ' Text.Whitespace 'do' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'S' Name '[' Punctuation 'i' Name ']' Punctuation ' ' Text.Whitespace '<' Operator '>' Operator ' ' Text.Whitespace 'C' Name ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'S' Name '[' Punctuation 'i' Name ']' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'DeleteChars' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'C' Name ':' Operator ' ' Text.Whitespace 'TCharSet' Name ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'i' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ' ' Text.Whitespace 'to' Keyword ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'S' Name ')' Punctuation ' ' Text.Whitespace 'do' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'not' Keyword ' ' Text.Whitespace '(' Punctuation 'S' Name '[' Punctuation 'i' Name ']' Punctuation ' ' Text.Whitespace 'in' Keyword ' ' Text.Whitespace 'C' Name ')' Punctuation ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'S' Name '[' Punctuation 'i' Name ']' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'ExtractChars' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'C' Name ':' Operator ' ' Text.Whitespace 'TCharSet' Name ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'i' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ' ' Text.Whitespace 'to' Keyword ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'S' Name ')' Punctuation ' ' Text.Whitespace 'do' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'S' Name '[' Punctuation 'i' Name ']' Punctuation ' ' Text.Whitespace 'in' Keyword ' ' Text.Whitespace 'C' Name ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'S' Name '[' Punctuation 'i' Name ']' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'CharCount' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'C' Name ':' Operator ' ' Text.Whitespace 'Char' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'i' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Operator '\n ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ' ' Text.Whitespace 'to' Keyword ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'S' Name ')' Punctuation ' ' Text.Whitespace 'do' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'S' Name '[' Punctuation 'i' Name ']' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'C' Name ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Inc' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo ')' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'StrAtPos' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Pos' Name.Builtin ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'Str' Name.Builtin ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '(' Punctuation 'Str' Name.Builtin ' ' Text.Whitespace '<' Operator '>' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ')' Punctuation ' ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'Str' Name.Builtin ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'Copy' Name.Builtin '(' Punctuation 'S' Name ',' Operator ' ' Text.Whitespace 'Pos' Name.Builtin ',' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'Str' Name.Builtin ')))' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'TextAtPos' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Pos' Name.Builtin ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'Text' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '(' Punctuation 'Text' Name ' ' Text.Whitespace '<' Operator '>' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ')' Punctuation ' ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace 'SameText' Name.Builtin '(' Punctuation 'Text' Name ',' Operator ' ' Text.Whitespace 'Copy' Name.Builtin '(' Punctuation 'S' Name ',' Operator ' ' Text.Whitespace 'Pos' Name.Builtin ',' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'Text' Name ')))' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'StrAtBegin' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ',' Operator ' ' Text.Whitespace 'Str' Name.Builtin ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'StrAtPos' Name '(' Punctuation 'S' Name ',' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ',' Operator ' ' Text.Whitespace 'Str' Name.Builtin ')' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'TextAtBegin' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ',' Operator ' ' Text.Whitespace 'Text' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'TextAtPos' Name '(' Punctuation 'S' Name ',' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ',' Operator ' ' Text.Whitespace 'Text' Name ')' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'CharIn' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'C' Name ':' Operator ' ' Text.Whitespace 'Char' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'i' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'True' Keyword ';' Operator '\n ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ' ' Text.Whitespace 'to' Keyword ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'S' Name ')' Punctuation ' ' Text.Whitespace 'do' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'S' Name '[' Punctuation 'i' Name ']' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'C' Name ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace 'Exit' Keyword ';' Operator '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'False' Keyword ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'CharIn' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'C' Name ':' Operator ' ' Text.Whitespace 'TCharSet' Name ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'i' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'False' Keyword ';' Operator '\n ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ' ' Text.Whitespace 'to' Keyword ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'S' Name ')' Punctuation ' ' Text.Whitespace 'do' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'S' Name '[' Punctuation 'i' Name ']' Punctuation ' ' Text.Whitespace 'in' Keyword ' ' Text.Whitespace 'C' Name ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Exit' Keyword ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'StrIn' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ',' Operator ' ' Text.Whitespace 'SubStr' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'PosEx' Name '(' Punctuation 'SubStr' Name ',' Operator ' ' Text.Whitespace 'S' Name ')' Punctuation ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'StrIn' Name.Function '(' Punctuation 'SL' Name ':' Operator ' ' Text.Whitespace 'TStrings' Name ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'i' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'False' Keyword ';' Operator '\n ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'to' Keyword ' ' Text.Whitespace 'SL' Name '.' Operator 'Count' Name '-' Operator '1' Literal.Number.Integer ' ' Text.Whitespace 'do' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '(' Punctuation 'S' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'SL' Name '[' Punctuation 'i' Name '])' Punctuation ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Exit' Keyword ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'StrIn' Name.Function '(' Punctuation 'A' Name ':' Operator ' ' Text.Whitespace 'TStrA' Name ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'i' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'False' Keyword ';' Operator '\n ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Low' Name.Builtin '(' Punctuation 'A' Name ')' Punctuation ' ' Text.Whitespace 'to' Keyword ' ' Text.Whitespace 'High' Name.Builtin '(' Punctuation 'A' Name ')' Punctuation ' ' Text.Whitespace 'do' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '(' Punctuation 'S' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'A' Name '[' Punctuation 'i' Name '])' Punctuation ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Exit' Keyword ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'TextIn' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ',' Operator ' ' Text.Whitespace 'Text' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'PosExText' Name '(' Punctuation 'Text' Name ',' Operator ' ' Text.Whitespace 'S' Name ')' Punctuation ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'TextIn' Name.Function '(' Punctuation 'SL' Name ':' Operator ' ' Text.Whitespace 'TStrings' Name ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'Text' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'i' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'False' Keyword ';' Operator '\n ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'to' Keyword ' ' Text.Whitespace 'SL' Name '.' Operator 'Count' Name '-' Operator '1' Literal.Number.Integer ' ' Text.Whitespace 'do' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'SameText' Name.Builtin '(' Punctuation 'Text' Name ',' Operator ' ' Text.Whitespace 'SL' Name '[' Punctuation 'i' Name '])' Punctuation ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Exit' Keyword ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'TextIn' Name.Function '(' Punctuation 'A' Name ':' Operator ' ' Text.Whitespace 'TStrA' Name ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'Text' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'i' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'False' Keyword ';' Operator '\n ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Low' Name.Builtin '(' Punctuation 'A' Name ')' Punctuation ' ' Text.Whitespace 'to' Keyword ' ' Text.Whitespace 'High' Name.Builtin '(' Punctuation 'A' Name ')' Punctuation ' ' Text.Whitespace 'do' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'SameText' Name.Builtin '(' Punctuation 'Text' Name ',' Operator ' ' Text.Whitespace 'A' Name '[' Punctuation 'i' Name '])' Punctuation ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Exit' Keyword ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'StrIndex' Name.Function '(' Punctuation 'SL' Name ':' Operator ' ' Text.Whitespace 'TStrings' Name ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'to' Keyword ' ' Text.Whitespace 'SL' Name '.' Operator 'Count' Name '-' Operator '1' Literal.Number.Integer ' ' Text.Whitespace 'do' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'S' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'SL' Name '[' Punctuation 'Result' Name.Builtin.Pseudo ']' Punctuation ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Exit' Keyword ';' Operator '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '-' Operator '1' Literal.Number.Integer ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'StrIndex' Name.Function '(' Punctuation 'A' Name ':' Operator ' ' Text.Whitespace 'TStrA' Name ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Low' Name.Builtin '(' Punctuation 'A' Name ')' Punctuation ' ' Text.Whitespace 'to' Keyword ' ' Text.Whitespace 'High' Name.Builtin '(' Punctuation 'A' Name ')' Punctuation ' ' Text.Whitespace 'do' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'S' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'A' Name '[' Punctuation 'Result' Name.Builtin.Pseudo ']' Punctuation ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Exit' Keyword ';' Operator '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '-' Operator '1' Literal.Number.Integer ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'TextIndex' Name.Function '(' Punctuation 'SL' Name ':' Operator ' ' Text.Whitespace 'TStrings' Name ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'Text' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'to' Keyword ' ' Text.Whitespace 'SL' Name '.' Operator 'Count' Name '-' Operator '1' Literal.Number.Integer ' ' Text.Whitespace 'do' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'SameText' Name.Builtin '(' Punctuation 'Text' Name ',' Operator ' ' Text.Whitespace 'SL' Name '[' Punctuation 'Result' Name.Builtin.Pseudo '])' Punctuation ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Exit' Keyword ';' Operator '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '-' Operator '1' Literal.Number.Integer ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'TextIndex' Name.Function '(' Punctuation 'A' Name ':' Operator ' ' Text.Whitespace 'TStrA' Name ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'Text' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Low' Name.Builtin '(' Punctuation 'A' Name ')' Punctuation ' ' Text.Whitespace 'to' Keyword ' ' Text.Whitespace 'High' Name.Builtin '(' Punctuation 'A' Name ')' Punctuation ' ' Text.Whitespace 'do' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'SameText' Name.Builtin '(' Punctuation 'Text' Name ',' Operator ' ' Text.Whitespace 'A' Name '[' Punctuation 'Result' Name.Builtin.Pseudo '])' Punctuation ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Exit' Keyword ';' Operator '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '-' Operator '1' Literal.Number.Integer ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'ReplaceChars' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Old' Name ',' Operator ' ' Text.Whitespace 'New' Keyword ':' Operator ' ' Text.Whitespace 'Char' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'i' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'S' Name ';' Operator '\n ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ' ' Text.Whitespace 'to' Keyword ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo ')' Punctuation ' ' Text.Whitespace 'do' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo '[' Punctuation 'i' Name ']' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'Old' Name ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo '[' Punctuation 'i' Name ']' Punctuation ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'New' Keyword ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'ReplaceChars' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'Old' Name ':' Operator ' ' Text.Whitespace 'TCharSet' Name ';' Operator ' ' Text.Whitespace 'New' Keyword ':' Operator ' ' Text.Whitespace 'Char' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'i' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'S' Name ';' Operator '\n ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ' ' Text.Whitespace 'to' Keyword ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo ')' Punctuation ' ' Text.Whitespace 'do' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo '[' Punctuation 'i' Name ']' Punctuation ' ' Text.Whitespace 'in' Keyword ' ' Text.Whitespace 'Old' Name ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo '[' Punctuation 'i' Name ']' Punctuation ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'New' Keyword ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'Replace' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ',' Operator ' ' Text.Whitespace 'Old' Name ',' Operator ' ' Text.Whitespace 'New' Keyword ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'oldp' Name ',' Operator ' ' Text.Whitespace 'ps' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'ps' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ';' Operator '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'while' Keyword ' ' Text.Whitespace 'True' Keyword ' ' Text.Whitespace 'do' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'oldp' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'ps' Name ';' Operator '\n ' Text.Whitespace 'ps' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'PosEx' Name '(' Punctuation 'Old' Name ',' Operator ' ' Text.Whitespace 'S' Name ',' Operator ' ' Text.Whitespace 'oldp' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'ps' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'Copy' Name.Builtin '(' Punctuation 'S' Name ',' Operator ' ' Text.Whitespace 'oldp' Name ',' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'S' Name ')' Punctuation ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'oldp' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Exit' Keyword ';' Operator ' ' Text.Whitespace 'end' Keyword ';' Operator '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'Copy' Name.Builtin '(' Punctuation 'S' Name ',' Operator ' ' Text.Whitespace 'oldp' Name ',' Operator ' ' Text.Whitespace 'ps' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'oldp' Name ')' Punctuation ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'New' Keyword ';' Operator '\n ' Text.Whitespace 'Inc' Name.Builtin '(' Punctuation 'ps' Name ',' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'Old' Name '))' Punctuation ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'SLOfFile' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'FileName' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'TStringList' Name ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'TStringList' Name '.' Operator 'Create' Name ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'FileExists' Name.Builtin '(' Punctuation 'FileName' Name ')' Punctuation ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo '.' Operator 'LoadFromFile' Name '(' Punctuation 'FileName' Name ')' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'ContainsEmptyLines' Name.Function '(' Punctuation 'SL' Name ':' Operator ' ' Text.Whitespace 'TStrings' Name ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'StrIn' Name '(' Punctuation 'SL' Name ',' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ')' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'procedure' Keyword ' ' Text.Whitespace 'DeleteEmptyLines' Name.Function '(' Punctuation 'SL' Name ':' Operator ' ' Text.Whitespace 'TStrings' Name ')' Punctuation ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'i' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'i' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Operator '\n ' Text.Whitespace 'while' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace 'SL' Name '.' Operator 'Count' Name ' ' Text.Whitespace 'do' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'SL' Name '[' Punctuation 'i' Name ']' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'SL' Name '.' Operator 'Delete' Name '(' Punctuation 'i' Name ')' Punctuation '\n ' Text.Whitespace 'else' Keyword '\n ' Text.Whitespace 'Inc' Name.Builtin '(' Punctuation 'i' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'procedure' Keyword ' ' Text.Whitespace 'DeleteCommentLines' Name.Function '(' Punctuation 'SL' Name ':' Operator ' ' Text.Whitespace 'TStrings' Name ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'CommentSign' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String '//' Literal.String "'" Literal.String ')' Punctuation ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'i' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'i' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Operator '\n ' Text.Whitespace 'while' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace 'SL' Name '.' Operator 'Count' Name ' ' Text.Whitespace 'do' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'SL' Name '[' Punctuation 'i' Name ']' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ')' Punctuation ' ' Text.Whitespace 'or' Keyword ' ' Text.Whitespace '(' Punctuation 'StrAtBegin' Name '(' Punctuation 'TrimLeft' Name.Builtin '(' Punctuation 'SL' Name '[' Punctuation 'i' Name '])' Punctuation ',' Operator ' ' Text.Whitespace 'CommentSign' Name '))' Punctuation ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'SL' Name '.' Operator 'Delete' Name '(' Punctuation 'i' Name ')' Punctuation '\n ' Text.Whitespace 'else' Keyword '\n ' Text.Whitespace 'Inc' Name.Builtin '(' Punctuation 'i' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'FindLine' Name.Function '(' Punctuation 'SL' Name ':' Operator ' ' Text.Whitespace 'TStrings' Name ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'to' Keyword ' ' Text.Whitespace 'SL' Name '.' Operator 'Count' Name '-' Operator '1' Literal.Number.Integer ' ' Text.Whitespace 'do' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'TextAtBegin' Name '(' Punctuation 'SL' Name '[' Punctuation 'Result' Name.Builtin.Pseudo ']' Punctuation ',' Operator ' ' Text.Whitespace 'S' Name ')' Punctuation ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Exit' Keyword ';' Operator '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '-' Operator '1' Literal.Number.Integer ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'procedure' Keyword ' ' Text.Whitespace 'QuickSortSL' Name.Function '(' Punctuation 'SL' Name ':' Operator ' ' Text.Whitespace 'TStringList' Name ')' Punctuation ';' Operator '\n\n ' Text.Whitespace 'procedure' Keyword ' ' Text.Whitespace 'Sort' Name.Function '(' Punctuation 'l' Name ',' Operator ' ' Text.Whitespace 'r' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ')' Punctuation ';' Operator '\n ' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'i' Name ',' Operator 'j' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n ' Text.Whitespace 'z' Name ',' Operator 'x' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'i' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'l' Name ';' Operator '\n ' Text.Whitespace 'j' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'r' Name ';' Operator '\n ' Text.Whitespace 'x' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'SL' Name '[(' Punctuation 'j' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'i' Name ')' Punctuation ' ' Text.Whitespace 'div' Keyword ' ' Text.Whitespace '2' Literal.Number.Integer ']' Punctuation ';' Operator '\n ' Text.Whitespace 'repeat' Keyword '\n ' Text.Whitespace 'while' Keyword ' ' Text.Whitespace 'SL' Name '[' Punctuation 'i' Name ']' Punctuation ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace 'x' Name ' ' Text.Whitespace 'do' Keyword ' ' Text.Whitespace 'Inc' Name.Builtin '(' Punctuation 'i' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'while' Keyword ' ' Text.Whitespace 'SL' Name '[' Punctuation 'j' Name ']' Punctuation ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace 'x' Name ' ' Text.Whitespace 'do' Keyword ' ' Text.Whitespace 'Dec' Name.Builtin '(' Punctuation 'j' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace '<' Operator '=' Operator ' ' Text.Whitespace 'j' Name ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'z' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'SL' Name '[' Punctuation 'i' Name ']' Punctuation ';' Operator '\n ' Text.Whitespace 'SL' Name '[' Punctuation 'i' Name ']' Punctuation ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'SL' Name '[' Punctuation 'j' Name ']' Punctuation ';' Operator '\n ' Text.Whitespace 'SL' Name '[' Punctuation 'j' Name ']' Punctuation ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'z' Name ';' Operator '\n ' Text.Whitespace 'Inc' Name.Builtin '(' Punctuation 'i' Name ')' Punctuation ';' Operator ' ' Text.Whitespace 'Dec' Name.Builtin '(' Punctuation 'j' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n ' Text.Whitespace 'until' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace 'j' Name ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'j' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace 'l' Name ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace 'Sort' Name '(' Punctuation 'l' Name ',' Operator ' ' Text.Whitespace 'j' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace 'r' Name ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace 'Sort' Name '(' Punctuation 'i' Name ',' Operator ' ' Text.Whitespace 'r' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'SL' Name '.' Operator 'Count' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Sort' Name '(' Punctuation '0' Literal.Number.Integer ',' Operator ' ' Text.Whitespace 'SL' Name '.' Operator 'Count' Name '-' Operator '1' Literal.Number.Integer ')' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'IncStrA' Name.Function '(' Punctuation 'StrA' Name ':' Operator ' ' Text.Whitespace 'TStrA' Name ')' Punctuation ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'SetLength' Name.Builtin '(' Punctuation 'StrA' Name ',' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'StrA' Name ')' Punctuation ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'High' Name.Builtin '(' Punctuation 'StrA' Name ')' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'StrOfByteA' Name.Function '(' Punctuation 'a' Name ':' Operator ' ' Text.Whitespace 'TByteA' Name ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'string' Keyword '(' Punctuation 'Copy' Name.Builtin '(' Punctuation 'a' Name ',' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ',' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'a' Name ')))' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'ByteAOfStr' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'TByteA' Name ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'TByteA' Name '(' Punctuation 'Copy' Name.Builtin '(' Punctuation 'S' Name ',' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ',' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 's' Name ')))' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'ByteAOfInt' Name.Function '(' Punctuation 'i' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'TByteA' Name ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'SetLength' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo ',' Operator ' ' Text.Whitespace 'SizeOf' Name.Builtin '(' Punctuation 'Integer' Keyword.Type '))' Punctuation ';' Operator '\n ' Text.Whitespace 'Move' Name.Builtin '(' Punctuation 'i' Name ',' Operator ' ' Text.Whitespace 'Pointer' Keyword.Type '(' Punctuation 'Result' Name.Builtin.Pseudo ')' Punctuation '^' Operator ',' Operator ' ' Text.Whitespace 'SizeOf' Name.Builtin '(' Punctuation 'Integer' Keyword.Type '))' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'IntOfByteA' Name.Function '(' Punctuation 'A' Name ':' Operator ' ' Text.Whitespace 'TByteA' Name ')' Punctuation ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Operator '\n ' Text.Whitespace 'Move' Name.Builtin '(' Punctuation 'Pointer' Keyword.Type '(' Punctuation 'A' Name ')' Punctuation '^' Operator ',' Operator ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ',' Operator ' ' Text.Whitespace 'Min' Name.Builtin '(' Punctuation 'Length' Name.Builtin '(' Punctuation 'A' Name ')' Punctuation ',' Operator ' ' Text.Whitespace 'SizeOf' Name.Builtin '(' Punctuation 'Integer' Keyword.Type ')))' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'ByteAOfHex' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'Hex' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'TByteA' Name ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'i' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n ' Text.Whitespace 'h' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'h' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'ExtractChars' Name '(' Punctuation 'Hex' Name ',' Operator ' ' Text.Whitespace 'HexadecimalChars' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'SetLength' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo ',' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'h' Name ')' Punctuation ' ' Text.Whitespace 'div' Keyword ' ' Text.Whitespace '2' Literal.Number.Integer ')' Punctuation ';' Operator '\n ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'to' Keyword ' ' Text.Whitespace 'High' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo ')' Punctuation ' ' Text.Whitespace 'do' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo '[' Punctuation 'i' Name ']' Punctuation ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'ByteOfHex' Name '(' Punctuation 'Copy' Name.Builtin '(' Punctuation 'h' Name ',' Operator ' ' Text.Whitespace '(' Punctuation 'i' Name ' ' Text.Whitespace 'shl' Keyword ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ',' Operator ' ' Text.Whitespace '2' Literal.Number.Integer '))' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'SizeOfFile' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'FileName' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'F' Name ':' Operator ' ' Text.Whitespace 'file' Keyword ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'AssignFile' Name.Builtin '(' Punctuation 'F' Name ',' Operator ' ' Text.Whitespace 'FileName' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace '{$I-}' Comment.Multiline 'Reset' Name.Builtin '(' Punctuation 'F' Name ',' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ';' Operator '{$I+}' Comment.Multiline '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'IOResult' Name.Builtin ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'FileSize' Name.Builtin '(' Punctuation 'F' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'CloseFile' Name.Builtin '(' Punctuation 'F' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'end' Keyword ' ' Text.Whitespace 'else' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'FileEx' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'FileName' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'AllowFolders' Name ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'False' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'FindData' Name ':' Operator ' ' Text.Whitespace 'TWin32FindData' Name ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'FileName' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'False' Keyword ';' Operator '\n ' Text.Whitespace 'Exit' Keyword ';' Operator ' ' Text.Whitespace 'end' Keyword ';' Operator '\n\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '(' Punctuation 'AllowFolders' Name ' ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace 'DirectoryExists' Name.Builtin '(' Punctuation 'FileName' Name '))' Punctuation ' ' Text.Whitespace 'or' Keyword '\n ' Text.Whitespace '(' Punctuation 'FindFirstFile' Name '(' Punctuation 'PChar' Keyword.Type '(' Punctuation 'FileName' Name ')' Punctuation ',' Operator ' ' Text.Whitespace 'FindData' Name ')' Punctuation ' ' Text.Whitespace '<' Operator '>' Operator ' ' Text.Whitespace 'INVALID_HANDLE_VALUE' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace 'not' Keyword ' ' Text.Whitespace 'CharIn' Name '(' Punctuation 'FileName' Name ',' Operator ' ' Text.Whitespace 'WildCards' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'AllowFolders' Name '\n ' Text.Whitespace 'or' Keyword ' ' Text.Whitespace '((' Punctuation 'FindData' Name '.' Operator 'dwFileAttributes' Name ' ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace 'FILE_ATTRIBUTE_DIRECTORY' Name ')' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer '))' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'LWPSolve' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'Dir' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'Dir' Name ' ' Text.Whitespace '<' Operator '>' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ')' Punctuation ' ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'Dir' Name '[' Punctuation 'Length' Name.Builtin '(' Punctuation 'Dir' Name ')]' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String '\\' Literal.String "'" Literal.String ')' Punctuation ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Copy' Name.Builtin '(' Punctuation 'Dir' Name ',' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ',' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'Dir' Name ')' Punctuation ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ';' Operator '\n ' Text.Whitespace 'end' Keyword ' ' Text.Whitespace 'else' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Dir' Name ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'LWPSlash' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'Dir' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'Dir' Name ' ' Text.Whitespace '<' Operator '>' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ')' Punctuation ' ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'Dir' Name '[' Punctuation 'Length' Name.Builtin '(' Punctuation 'Dir' Name ')]' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String '\\' Literal.String "'" Literal.String ')' Punctuation ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Copy' Name.Builtin '(' Punctuation 'Dir' Name ',' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ',' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'Dir' Name '))' Punctuation ';' Operator '\n ' Text.Whitespace 'end' Keyword ' ' Text.Whitespace 'else' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Dir' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace "'" Literal.String '\\' Literal.String "'" Literal.String ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'ExtractDrive' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'FileName' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'Length' Name.Builtin '(' Punctuation 'FileName' Name ')' Punctuation ' ' Text.Whitespace '>' Operator '=' Operator ' ' Text.Whitespace '2' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'FileName' Name '[' Punctuation '2' Literal.Number.Integer ']' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String ':' Literal.String "'" Literal.String ')' Punctuation ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'UpperCase' Name.Builtin '(' Punctuation 'FileName' Name '[' Punctuation '1' Literal.Number.Integer ']' Punctuation ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace "'" Literal.String ':\\' Literal.String "'" Literal.String ')' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'ExtractPath' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'FileName' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'p' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'p' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'CharPosR' Name '(' Punctuation "'" Literal.String '\\' Literal.String "'" Literal.String ',' Operator ' ' Text.Whitespace 'FileName' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'P' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Copy' Name.Builtin '(' Punctuation 'FileName' Name ',' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ',' Operator ' ' Text.Whitespace 'p' Name ')' Punctuation '\n ' Text.Whitespace 'else' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'FileName' Name ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'ExtractPrefix' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'FileName' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'UntilLastChar' Name '(' Punctuation 'ExtractFileName' Name.Builtin '(' Punctuation 'FileName' Name ')' Punctuation ',' Operator ' ' Text.Whitespace "'" Literal.String '.' Literal.String "'" Literal.String ')' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'ExtractSuffix' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'FileName' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'FromLastChar' Name '(' Punctuation 'ExtractFileName' Name.Builtin '(' Punctuation 'FileName' Name ')' Punctuation ',' Operator ' ' Text.Whitespace "'" Literal.String '.' Literal.String "'" Literal.String ')' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'SameByteA' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'A' Name ',' Operator ' ' Text.Whitespace 'B' Name ':' Operator ' ' Text.Whitespace 'TByteA' Name ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '(' Punctuation 'A' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'B' Name ')' Punctuation ' ' Text.Whitespace 'or' Keyword ' ' Text.Whitespace '((' Punctuation 'Length' Name.Builtin '(' Punctuation 'A' Name ')' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'B' Name '))' Punctuation ' ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace 'CompareMem' Name.Builtin '(' Punctuation 'A' Name ',' Operator ' ' Text.Whitespace 'B' Name ',' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'A' Name ')))' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'Reverse' Name.Function '(' Punctuation 'A' Name ':' Operator ' ' Text.Whitespace 'TByteA' Name ')' Punctuation ':' Operator ' ' Text.Whitespace 'TByteA' Name ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'i' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'SetLength' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo ',' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'A' Name '))' Punctuation ';' Operator '\n\n ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'to' Keyword ' ' Text.Whitespace 'High' Name.Builtin '(' Punctuation 'A' Name ')' Punctuation ' ' Text.Whitespace 'do' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo '[' Punctuation 'High' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo ')' Punctuation ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'i' Name ']' Punctuation ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'A' Name '[' Punctuation 'i' Name ']' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'Endian' Name.Function '(' Punctuation 'i' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'type' Keyword '\n ' Text.Whitespace 'EndianArray' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'packed' Keyword ' ' Text.Whitespace 'array' Keyword '[' Punctuation '0' Literal.Number.Integer '.' Operator '.' Operator '3' Literal.Number.Integer ']' Punctuation ' ' Text.Whitespace 'of' Keyword ' ' Text.Whitespace 'Byte' Keyword.Type ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'a' Name ',' Operator ' ' Text.Whitespace 'b' Name ':' Operator ' ' Text.Whitespace 'EndianArray' Name ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'a' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'EndianArray' Name '(' Punctuation 'i' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'b' Name '[' Punctuation '0' Literal.Number.Integer ']' Punctuation ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'a' Name '[' Punctuation '3' Literal.Number.Integer ']' Punctuation ';' Operator '\n ' Text.Whitespace 'b' Name '[' Punctuation '1' Literal.Number.Integer ']' Punctuation ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'a' Name '[' Punctuation '2' Literal.Number.Integer ']' Punctuation ';' Operator '\n ' Text.Whitespace 'b' Name '[' Punctuation '2' Literal.Number.Integer ']' Punctuation ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'a' Name '[' Punctuation '1' Literal.Number.Integer ']' Punctuation ';' Operator '\n ' Text.Whitespace 'b' Name '[' Punctuation '3' Literal.Number.Integer ']' Punctuation ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'a' Name '[' Punctuation '0' Literal.Number.Integer ']' Punctuation ';' Operator '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Integer' Keyword.Type '(' Punctuation 'b' Name ')' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'SaveByteA' Name.Function '(' Punctuation 'Data' Name ':' Operator ' ' Text.Whitespace 'TByteA' Name ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'FileName' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n ' Text.Whitespace 'Overwrite' Name ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'True' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'F' Name ':' Operator ' ' Text.Whitespace 'file' Keyword ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'FileExists' Name.Builtin '(' Punctuation 'FileName' Name ')' Punctuation ' ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace 'not' Keyword ' ' Text.Whitespace 'Overwrite' Name ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'False' Keyword ';' Operator '\n ' Text.Whitespace 'Exit' Keyword ' ' Text.Whitespace 'end' Keyword ';' Operator '\n\n ' Text.Whitespace 'AssignFile' Name.Builtin '(' Punctuation 'F' Name ',' Operator ' ' Text.Whitespace 'FileName' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace '{$I-}' Comment.Multiline 'Rewrite' Name.Builtin '(' Punctuation 'F' Name ',' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ';' Operator '{$I+}' Comment.Multiline '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'IOResult' Name.Builtin ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'Data' Name ')' Punctuation ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'BlockWrite' Name.Builtin '(' Punctuation 'F' Name ',' Operator ' ' Text.Whitespace 'Data' Name '[' Punctuation '0' Literal.Number.Integer ']' Punctuation ',' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'Data' Name '))' Punctuation ';' Operator '\n ' Text.Whitespace 'CloseFile' Name.Builtin '(' Punctuation 'F' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'True' Keyword ';' Operator '\n ' Text.Whitespace 'end' Keyword ' ' Text.Whitespace 'else' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'False' Keyword ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'LoadByteA' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'FileName' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'TByteA' Name ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'F' Name ':' Operator ' ' Text.Whitespace 'file' Keyword ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'AssignFile' Name.Builtin '(' Punctuation 'F' Name ',' Operator ' ' Text.Whitespace 'FileName' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace '{$I-}' Comment.Multiline 'Reset' Name.Builtin '(' Punctuation 'F' Name ',' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ';' Operator '{$I+}' Comment.Multiline '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'IOResult' Name.Builtin ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'SetLength' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo ',' Operator ' ' Text.Whitespace 'FileSize' Name.Builtin '(' Punctuation 'F' Name '))' Punctuation ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo ')' Punctuation ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'BlockRead' Name.Builtin '(' Punctuation 'F' Name ',' Operator ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo '[' Punctuation '0' Literal.Number.Integer ']' Punctuation ',' Operator ' ' Text.Whitespace 'FileSize' Name.Builtin '(' Punctuation 'F' Name '))' Punctuation ';' Operator '\n ' Text.Whitespace 'CloseFile' Name.Builtin '(' Punctuation 'F' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'end' Keyword ' ' Text.Whitespace 'else' Keyword '\n ' Text.Whitespace 'SetLength' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo ',' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'IsValidFileName' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'FileName' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '(' Punctuation 'FileName' Name ' ' Text.Whitespace '<' Operator '>' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ')' Punctuation ' ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace 'not' Keyword ' ' Text.Whitespace 'CharIn' Name '(' Punctuation 'FileName' Name ',' Operator ' ' Text.Whitespace 'FileNameEnemies' Name ')' Punctuation '\n ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace 'CharIn' Name '(' Punctuation 'Trim' Name.Builtin '(' Punctuation 'FileName' Name ')' Punctuation ',' Operator ' ' Text.Whitespace 'AllChars' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace '[' Punctuation "'" Literal.String '.' Literal.String "'" Literal.String '])' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'MakeValidFileName' Name.Function '(' Punctuation 'FileName' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'Default' Keyword.Pseudo ':' Operator ' ' Text.Whitespace 'string' Keyword ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String 'File' Literal.String "'" Literal.String ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'FileName' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'FileName' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Default' Keyword.Pseudo ';' Operator '\n\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'CharIn' Name '(' Punctuation 'FileName' Name ',' Operator ' ' Text.Whitespace 'FileNameEnemies' Name ')' Punctuation ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'ReplaceChars' Name '(' Punctuation 'FileName' Name ',' Operator ' ' Text.Whitespace 'FileNameEnemies' Name ',' Operator ' ' Text.Whitespace "'" Literal.String '_' Literal.String "'" Literal.String ')' Punctuation '\n ' Text.Whitespace 'else' Keyword ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'not' Keyword ' ' Text.Whitespace 'CharIn' Name '(' Punctuation 'Trim' Name.Builtin '(' Punctuation 'FileName' Name ')' Punctuation ',' Operator ' ' Text.Whitespace 'AllChars' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace '[' Punctuation "'" Literal.String '.' Literal.String "'" Literal.String '])' Punctuation ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Default' Keyword.Pseudo '\n ' Text.Whitespace 'else' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'FileName' Name ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'IsValidInteger' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace "{const\n LowInt = '2147483648';\n HighInt = '2147483647';\nvar\n len, RealLen, i, o: Integer;\n c: Char;\nbegin\n Result := False;\n if S = '' then\n Exit;\n\n len := Length(S);\n o := 1;\n \n if S[1] = '-' then begin\n if len = 1 then\n Exit;\n Inc(o);\n while (o <= len) and (S[o] = '0') do\n Inc(o);\n if o > len then\n Exit;\n if o < len then begin\n RealLen := len - o + 1;\n if RealLen > Length(LowInt) then\n Exit\n else if RealLen = Length(LowInt) then begin\n for i := 1 to Length(LowInt) do begin\n c := S[i + o - 1];\n if (c < '0') or (c > LowInt[i]) then\n Exit;\n if c in ['0'..Char((Byte(LowInt[i])-1))] then\n Break;\n end;\n Inc(o, i);\n end;\n end;\n end else begin\n while (o <= len) and (S[o] = '0') do\n Inc(o);\n if o <= len then begin\n RealLen := len - o + 1;\n if RealLen > Length(HighInt) then\n Exit\n else if RealLen = Length(HighInt) then begin\n for i := 1 to Length(HighInt) do begin\n c := S[i + o - 1];\n if (c < '0') or (c > HighInt[i]) then\n Exit;\n if c in ['0'..Char((Byte(HighInt[i])-1))] then\n Break;\n end;\n Inc(o, i);\n end;\n end;\n end;\n\n for i := o to len do\n if not (S[i] in ['0'..'9']) then\n Exit;\n\n Result := True; }" Comment.Multiline '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'i' Name ':' Operator ' ' Text.Whitespace 'Int64' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'i' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'StrToInt64Def' Name.Builtin '(' Punctuation 'S' Name ',' Operator ' ' Text.Whitespace 'High' Name.Builtin '(' Punctuation 'Int64' Keyword.Type '))' Punctuation ';' Operator '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '(' Punctuation 'i' Name ' ' Text.Whitespace '>' Operator '=' Operator ' ' Text.Whitespace 'Low' Name.Builtin '(' Punctuation 'Integer' Keyword.Type '))' Punctuation ' ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'i' Name ' ' Text.Whitespace '<' Operator '=' Operator ' ' Text.Whitespace 'High' Name.Builtin '(' Punctuation 'Integer' Keyword.Type '))' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'IsValidCardinal' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace "{const\n HighCard = '4294967295';\nvar\n len, RealLen, i, o: Integer;\nbegin\n Result := False;\n if S = '' then\n Exit;\n\n len := Length(S);\n o := 1;\n \n while (o <= len) and (S[o] = '0') do\n Inc(o);\n if o <= len then begin\n RealLen := len - o + 1;\n if RealLen > Length(HighCard) then\n Exit\n else if RealLen = Length(HighCard) then begin\n for i := 1 to Length(HighCard) do begin\n if S[i + o - 1] > HighCard[i] then\n Exit;\n if S[i + o - 1] in ['0'..Char((Byte(HighCard[i])-1))] then\n Break;\n end;\n Inc(o, i);\n end;\n end;\n\n for i := o to len do\n if not (S[i] in ['0'..'9']) then\n Exit;\n\n Result := True; }" Comment.Multiline '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'i' Name ':' Operator ' ' Text.Whitespace 'Int64' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'i' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'StrToInt64Def' Name.Builtin '(' Punctuation 'S' Name ',' Operator ' ' Text.Whitespace '-' Operator '1' Literal.Number.Integer ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '(' Punctuation 'i' Name ' ' Text.Whitespace '>' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'i' Name ' ' Text.Whitespace '<' Operator '=' Operator ' ' Text.Whitespace 'High' Name.Builtin '(' Punctuation 'Cardinal' Keyword.Type '))' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'StrOfBool' Name.Function '(' Punctuation 'flag' Name ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'TrueStr' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String 'True' Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'FalseStr' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String 'False' Literal.String "'" Literal.String ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Flag' Name ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'TrueStr' Name '\n ' Text.Whitespace 'else' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'FalseStr' Name ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'StrOfInt' Name.Function '(' Punctuation 'i' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n' Text.Whitespace "{ if i = 0 then begin\n Result := '0';\n Exit end;\n\n while i > 0 do begin\n Result := Char(Byte('0') + (i mod 10)) + Result;\n i := i div 10;\n end;}" Comment.Multiline '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'IntToStr' Name.Builtin '(' Punctuation 'i' Name ')' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'CardOfStr' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Cardinal' Keyword.Type ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'Res' Name ':' Operator ' ' Text.Whitespace 'Int64' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Res' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'StrToInt64Def' Name.Builtin '(' Punctuation 'S' Name ',' Operator ' ' Text.Whitespace '-' Operator '1' Literal.Number.Integer ')' Punctuation ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Res' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace 'High' Name.Builtin '(' Punctuation 'Cardinal' Keyword.Type ')' Punctuation ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Res' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'High' Name.Builtin '(' Punctuation 'Cardinal' Keyword.Type ')' Punctuation '\n ' Text.Whitespace 'else' Keyword ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Res' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Res' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Operator '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Cardinal' Keyword.Type '(' Punctuation 'Res' Name ')' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'HexOrd' Name.Function '(' Punctuation 'Hex' Name ':' Operator ' ' Text.Whitespace 'Char' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'THex' Name ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'case' Keyword ' ' Text.Whitespace 'Hex' Name ' ' Text.Whitespace 'of' Keyword '\n ' Text.Whitespace "'" Literal.String '0' Literal.String "'" Literal.String '.' Operator '.' Operator "'" Literal.String '9' Literal.String "'" Literal.String ':' Operator '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Byte' Keyword.Type '(' Punctuation 'Hex' Name ')' Punctuation ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace '48' Literal.Number.Integer ';' Operator '\n ' Text.Whitespace "'" Literal.String 'A' Literal.String "'" Literal.String '.' Operator '.' Operator "'" Literal.String 'F' Literal.String "'" Literal.String ':' Operator '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Byte' Keyword.Type '(' Punctuation 'Hex' Name ')' Punctuation ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace '55' Literal.Number.Integer ';' Operator '\n ' Text.Whitespace "'" Literal.String 'a' Literal.String "'" Literal.String '.' Operator '.' Operator "'" Literal.String 'f' Literal.String "'" Literal.String ':' Operator '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Byte' Keyword.Type '(' Punctuation 'Hex' Name ')' Punctuation ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace '87' Literal.Number.Integer ';' Operator '\n ' Text.Whitespace 'else' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'ByteOfHex' Name.Function '(' Punctuation 'Hex' Name ':' Operator ' ' Text.Whitespace 'THexByteStr' Name ')' Punctuation ':' Operator ' ' Text.Whitespace 'Byte' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '(' Punctuation 'HexOrd' Name '(' Punctuation 'Hex' Name '[' Punctuation '1' Literal.Number.Integer '])' Punctuation ' ' Text.Whitespace 'shl' Keyword ' ' Text.Whitespace '4' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'HexOrd' Name '(' Punctuation 'Hex' Name '[' Punctuation '2' Literal.Number.Integer '])' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'DecOfHex' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'Hex' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'IntToStr' Name.Builtin '(' Punctuation 'CardOfHex' Name '(' Punctuation 'Hex' Name '))' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'HexOfByte' Name.Function '(' Punctuation 'b' Name ':' Operator ' ' Text.Whitespace 'Byte' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'THexByteStr' Name ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'HexChar' Name '[(' Punctuation 'b' Name ' ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace '$F0' Literal.Number.Hex ')' Punctuation ' ' Text.Whitespace 'shr' Keyword ' ' Text.Whitespace '4' Literal.Number.Integer ']' Punctuation '\n ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'HexChar' Name '[' Punctuation ' ' Text.Whitespace 'b' Name ' ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace '$0F' Literal.Number.Hex ' ' Text.Whitespace ']' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace "{function HexOfCard2(c: Cardinal): string;\nvar\n Data: array[0..(1 shl 4) - 1] of Char;\n i: Integer;\nbegin\n for i := 0 to (1 shl 4) - 1 do\n if i < 10 then\n Data[i] := Char(Ord('0') + i)\n else\n Data[i] := Char(Ord('A') + i - 10);\n\n Result := Data[(c and (((1 shl (1 shl 2)) - 1) shl (7 shl 2))) shr (7 shl 2)]\n + Data[(c and (((1 shl (1 shl 2)) - 1) shl (6 shl 2))) shr (6 shl 2)]\n + Data[(c and (((1 shl (1 shl 2)) - 1) shl (5 shl 2))) shr (5 shl 2)]\n + Data[(c and (((1 shl (1 shl 2)) - 1) shl (4 shl 2))) shr (4 shl 2)]\n + Data[(c and (((1 shl (1 shl 2)) - 1) shl (3 shl 2))) shr (3 shl 2)]\n + Data[(c and (((1 shl (1 shl 2)) - 1) shl (2 shl 2))) shr (2 shl 2)]\n + Data[(c and (((1 shl (1 shl 2)) - 1) shl (1 shl 2))) shr (1 shl 2)]\n + Data[(c and (((1 shl (1 shl 2)) - 1) shl (0 shl 2))) shr (0 shl 2)];\nend; }" Comment.Multiline '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'HexOfCard' Name.Function '(' Punctuation 'i' Name ':' Operator ' ' Text.Whitespace 'Cardinal' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'a' Name ':' Operator ' ' Text.Whitespace 'Cardinal' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'while' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'do' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'a' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace '$F' Literal.Number.Hex ';' Operator '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'HexChar' Name '[' Punctuation 'a' Name ']' Punctuation ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ';' Operator '\n ' Text.Whitespace 'i' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace 'shr' Keyword ' ' Text.Whitespace '4' Literal.Number.Integer ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'HexOfCard' Name.Function '(' Punctuation 'i' Name ':' Operator ' ' Text.Whitespace 'Cardinal' Keyword.Type ';' Operator ' ' Text.Whitespace 'Digits' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'a' Name ':' Operator ' ' Text.Whitespace 'Cardinal' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'while' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'do' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'a' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace '$F' Literal.Number.Hex ';' Operator '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'HexChar' Name '[' Punctuation 'a' Name ']' Punctuation ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ';' Operator '\n ' Text.Whitespace 'i' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace 'shr' Keyword ' ' Text.Whitespace '4' Literal.Number.Integer ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'MulStr' Name '(' Punctuation "'" Literal.String '0' Literal.String "'" Literal.String ',' Operator ' ' Text.Whitespace 'Digits' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo '))' Punctuation ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'PascalHexArray' Name.Function '(' Punctuation 'a' Name ':' Operator ' ' Text.Whitespace 'TByteA' Name ';' Operator ' ' Text.Whitespace 'Name' Keyword.Pseudo ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'i' Name ',' Operator ' ' Text.Whitespace 'len' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace "'" Literal.String 'const' Literal.String "'" Literal.String ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'EOL' Name ' ' Text.Whitespace '+' Operator '\n ' Text.Whitespace "'" Literal.String ' ' Literal.String "'" Literal.String ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'Name' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace "'" Literal.String ': array[0..' Literal.String "'" Literal.String ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'IntToStr' Name.Builtin '(' Punctuation 'High' Name.Builtin '(' Punctuation 'a' Name '))' Punctuation ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace "'" Literal.String '] of Byte = (' Literal.String "'" Literal.String ';' Operator '\n\n ' Text.Whitespace 'len' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'a' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'to' Keyword ' ' Text.Whitespace 'len' Name '-' Operator '1' Literal.Number.Integer ' ' Text.Whitespace 'do' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'i' Name ' ' Text.Whitespace 'mod' Keyword ' ' Text.Whitespace '19' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'EOL' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace "'" Literal.String ' ' Literal.String "'" Literal.String ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace "'" Literal.String ' ' Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace "'" Literal.String '$' Literal.String "'" Literal.String ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'HexOfByte' Name '(' Punctuation 'a' Name '[' Punctuation 'i' Name '])' Punctuation ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace 'len' Name '-' Operator '1' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace "'" Literal.String ',' Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'EOL' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace "'" Literal.String ' );' Literal.String "'" Literal.String ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'HexOfByteA' Name.Function '(' Punctuation 'a' Name ':' Operator ' ' Text.Whitespace 'TByteA' Name ';' Operator ' ' Text.Whitespace 'Blocks' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ';' Operator '\n ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'Splitter' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String ' ' Literal.String "'" Literal.String ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'i' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ';' Operator '\n\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Blocks' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'to' Keyword ' ' Text.Whitespace 'High' Name.Builtin '(' Punctuation 'a' Name ')' Punctuation ' ' Text.Whitespace 'do' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'HexOfByte' Name '(' Punctuation 'a' Name '[' Punctuation 'i' Name '])' Punctuation ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace 'High' Name.Builtin '(' Punctuation 'a' Name ')' Punctuation ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '((' Punctuation 'i' Name '+' Operator '1' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace 'mod' Keyword ' ' Text.Whitespace 'Blocks' Name ')' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'Splitter' Name ';' Operator '\n ' Text.Whitespace 'end' Keyword '\n ' Text.Whitespace 'else' Keyword '\n ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'to' Keyword ' ' Text.Whitespace 'High' Name.Builtin '(' Punctuation 'a' Name ')' Punctuation ' ' Text.Whitespace 'do' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'HexOfByte' Name '(' Punctuation 'a' Name '[' Punctuation 'i' Name '])' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'BinOfByteA' Name.Function '(' Punctuation 'a' Name ':' Operator ' ' Text.Whitespace 'TByteA' Name ';' Operator ' ' Text.Whitespace 'Blocks' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '4' Literal.Number.Integer ';' Operator '\n ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'Splitter' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String ' ' Literal.String "'" Literal.String ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'i' Name ',' Operator ' ' Text.Whitespace 'max' Name.Builtin ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n ' Text.Whitespace 'Bit' Name ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ';' Operator '\n\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Blocks' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'max' Name.Builtin ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '8' Literal.Number.Integer ' ' Text.Whitespace '*' Operator ' ' Text.Whitespace '(' Punctuation 'High' Name.Builtin '(' Punctuation 'a' Name '))' Punctuation ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '7' Literal.Number.Integer ';' Operator '\n ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'to' Keyword ' ' Text.Whitespace 'max' Name.Builtin ' ' Text.Whitespace 'do' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Bit' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '7' Literal.Number.Integer '-' Operator '(' Punctuation 'i' Name ' ' Text.Whitespace 'mod' Keyword ' ' Text.Whitespace '8' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace 'in' Keyword ' ' Text.Whitespace 'TBitSet' Name '(' Punctuation 'a' Name '[' Punctuation 'i' Name ' ' Text.Whitespace 'div' Keyword ' ' Text.Whitespace '8' Literal.Number.Integer '])' Punctuation ';' Operator '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'Char' Keyword.Type '(' Punctuation 'Byte' Keyword.Type '(' Punctuation "'" Literal.String '0' Literal.String "'" Literal.String ')' Punctuation ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'Byte' Keyword.Type '(' Punctuation 'Bit' Name '))' Punctuation ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace 'max' Name.Builtin ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '((' Punctuation 'i' Name '+' Operator '1' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace 'mod' Keyword ' ' Text.Whitespace 'Blocks' Name ')' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'Splitter' Name ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n ' Text.Whitespace 'end' Keyword ' ' Text.Whitespace 'else' Keyword '\n ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'to' Keyword ' ' Text.Whitespace 'High' Name.Builtin '(' Punctuation 'a' Name ')' Punctuation ' ' Text.Whitespace 'do' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'Char' Keyword.Type '(' Punctuation 'Byte' Keyword.Type '(' Punctuation "'" Literal.String '0' Literal.String "'" Literal.String ')' Punctuation ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'a' Name '[' Punctuation 'i' Name ']' Punctuation ' ' Text.Whitespace 'shr' Keyword ' ' Text.Whitespace '(' Punctuation 'i' Name ' ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace '8' Literal.Number.Integer '))' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'CardOfHex' Name.Function '(' Punctuation 'Hex' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Cardinal' Keyword.Type ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'i' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Operator '\n ' Text.Whitespace 'Hex' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Copy' Name.Builtin '(' Punctuation 'ExtractChars' Name '(' Punctuation 'Hex' Name ',' Operator ' ' Text.Whitespace 'HexadecimalChars' Name ')' Punctuation ',' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ',' Operator ' ' Text.Whitespace '8' Literal.Number.Integer ')' Punctuation ';' Operator '\n\n ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ' ' Text.Whitespace 'to' Keyword ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'Hex' Name ')' Punctuation ' ' Text.Whitespace 'do' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Hex' Name '[' Punctuation 'i' Name ']' Punctuation ' ' Text.Whitespace '<' Operator '>' Operator ' ' Text.Whitespace "'" Literal.String '0' Literal.String "'" Literal.String ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Inc' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo ',' Operator ' ' Text.Whitespace 'HexOrd' Name '(' Punctuation 'Hex' Name '[' Punctuation 'i' Name '])' Punctuation ' ' Text.Whitespace 'shl' Keyword ' ' Text.Whitespace '((' Punctuation 'Length' Name.Builtin '(' Punctuation 'Hex' Name ')' Punctuation ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'i' Name ')' Punctuation ' ' Text.Whitespace 'shl' Keyword ' ' Text.Whitespace '2' Literal.Number.Integer '))' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'IntOfBin' Name.Function '(' Punctuation 'Bin' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Cardinal' Keyword.Type ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'i' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Operator '\n ' Text.Whitespace 'Bin' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Copy' Name.Builtin '(' Punctuation 'ExtractChars' Name '(' Punctuation 'Bin' Name ',' Operator ' ' Text.Whitespace 'BinaryChars' Name ')' Punctuation ',' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ',' Operator ' ' Text.Whitespace '32' Literal.Number.Integer ')' Punctuation ';' Operator '\n\n ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'Bin' Name ')' Punctuation ' ' Text.Whitespace 'downto' Keyword ' ' Text.Whitespace '1' Literal.Number.Integer ' ' Text.Whitespace 'do' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Bin' Name '[' Punctuation 'i' Name ']' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String '1' Literal.String "'" Literal.String ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Inc' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo ',' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ' ' Text.Whitespace 'shl' Keyword ' ' Text.Whitespace '(' Punctuation 'Length' Name.Builtin '(' Punctuation 'Bin' Name ')' Punctuation ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'i' Name '))' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'BinOfInt' Name.Function '(' Punctuation 'n' Name ':' Operator ' ' Text.Whitespace 'Cardinal' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'a' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'n' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace "'" Literal.String '0' Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'exit' Keyword ';' Operator ' ' Text.Whitespace 'end' Keyword ';' Operator '\n\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'while' Keyword ' ' Text.Whitespace 'n' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'do' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'a' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'n' Name ' ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace '1' Literal.Number.Integer ';' Operator '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Char' Keyword.Type '(' Punctuation 'a' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'Byte' Keyword.Type '(' Punctuation "'" Literal.String '0' Literal.String "'" Literal.String '))' Punctuation ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ';' Operator '\n ' Text.Whitespace 'n' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'n' Name ' ' Text.Whitespace 'shr' Keyword ' ' Text.Whitespace '1' Literal.Number.Integer ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'BinOfIntFill' Name.Function '(' Punctuation 'n' Name ':' Operator ' ' Text.Whitespace 'Cardinal' Keyword.Type ';' Operator ' ' Text.Whitespace 'MinCount' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '8' Literal.Number.Integer ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'a' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'n' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'MulStr' Name '(' Punctuation "'" Literal.String '0' Literal.String "'" Literal.String ',' Operator ' ' Text.Whitespace 'MinCount' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Exit' Keyword ';' Operator ' ' Text.Whitespace 'end' Keyword ';' Operator '\n\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'while' Keyword ' ' Text.Whitespace 'n' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'do' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'a' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'n' Name ' ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace '1' Literal.Number.Integer ';' Operator '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Char' Keyword.Type '(' Punctuation 'a' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'Byte' Keyword.Type '(' Punctuation "'" Literal.String '0' Literal.String "'" Literal.String '))' Punctuation ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ';' Operator '\n ' Text.Whitespace 'n' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'n' Name ' ' Text.Whitespace 'shr' Keyword ' ' Text.Whitespace '1' Literal.Number.Integer ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'MulStr' Name '(' Punctuation "'" Literal.String '0' Literal.String "'" Literal.String ',' Operator ' ' Text.Whitespace 'MinCount' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo '))' Punctuation ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'BaseNOfInt' Name.Function '(' Punctuation 'I' Name ':' Operator ' ' Text.Whitespace 'Cardinal' Keyword.Type ';' Operator ' ' Text.Whitespace 'B' Name ':' Operator ' ' Text.Whitespace 'TBaseN' Name ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'a' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'B' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace '2' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace 'or' Keyword ' ' Text.Whitespace '(' Punctuation 'i' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace "'" Literal.String '0' Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'Exit' Keyword ';' Operator ' ' Text.Whitespace 'end' Keyword ';' Operator '\n\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'while' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'do' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'a' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace 'mod' Keyword ' ' Text.Whitespace 'B' Name ';' Operator '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'BaseNChar' Name '[' Punctuation 'a' Name ']' Punctuation ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ';' Operator '\n ' Text.Whitespace 'i' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace 'div' Keyword ' ' Text.Whitespace 'B' Name ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'IntOfBaseN' Name.Function '(' Punctuation 'V' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'B' Name ':' Operator ' ' Text.Whitespace 'TBaseN' Name ')' Punctuation ':' Operator ' ' Text.Whitespace 'Cardinal' Keyword.Type ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'i' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n ' Text.Whitespace 'F' Name ':' Operator ' ' Text.Whitespace 'Cardinal' Keyword.Type ';' Operator '\n ' Text.Whitespace 'c' Name ':' Operator ' ' Text.Whitespace 'Byte' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Operator '\n ' Text.Whitespace 'V' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'TrimAll' Name '(' Punctuation 'V' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'F' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ';' Operator '\n ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'V' Name ')' Punctuation ' ' Text.Whitespace 'downto' Keyword ' ' Text.Whitespace '1' Literal.Number.Integer ' ' Text.Whitespace 'do' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'c' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Byte' Keyword.Type '(' Punctuation 'UpCase' Name.Builtin '(' Punctuation 'V' Name '[' Punctuation 'i' Name ']))' Punctuation ';' Operator '\n ' Text.Whitespace 'case' Keyword ' ' Text.Whitespace 'Char' Keyword.Type '(' Punctuation 'c' Name ')' Punctuation ' ' Text.Whitespace 'of' Keyword '\n ' Text.Whitespace "'" Literal.String '0' Literal.String "'" Literal.String '.' Operator '.' Operator "'" Literal.String '9' Literal.String "'" Literal.String ':' Operator ' ' Text.Whitespace 'c' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'c' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace '48' Literal.Number.Integer ';' Operator '\n ' Text.Whitespace "'" Literal.String 'A' Literal.String "'" Literal.String '.' Operator '.' Operator "'" Literal.String 'Z' Literal.String "'" Literal.String ':' Operator ' ' Text.Whitespace 'c' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'c' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace '55' Literal.Number.Integer ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'c' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace 'B' Name ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'Byte' Keyword.Type '(' Punctuation 'c' Name ')' Punctuation ' ' Text.Whitespace '*' Operator ' ' Text.Whitespace 'F' Name ';' Operator '\n ' Text.Whitespace 'F' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'F' Name ' ' Text.Whitespace '*' Operator ' ' Text.Whitespace 'B' Name ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'KeepIn' Name.Function '(' Punctuation 'i' Name ',' Operator ' ' Text.Whitespace 'Bottom' Name ',' Operator ' ' Text.Whitespace 'Top' Name ':' Operator ' ' Text.Whitespace 'Variant' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'Variant' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'i' Name ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace 'Top' Name ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Top' Name '\n ' Text.Whitespace 'else' Keyword ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace 'Bottom' Name ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Bottom' Name ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'InRange' Name.Function '(' Punctuation 'Value' Name ',' Operator ' ' Text.Whitespace 'Bottom' Name ',' Operator ' ' Text.Whitespace 'Top' Name ':' Operator ' ' Text.Whitespace 'Variant' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '(' Punctuation 'Value' Name ' ' Text.Whitespace '>' Operator '=' Operator ' ' Text.Whitespace 'Bottom' Name ')' Punctuation ' ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'Value' Name ' ' Text.Whitespace '<' Operator '=' Operator ' ' Text.Whitespace 'Top' Name ')' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'InStrictRange' Name.Function '(' Punctuation 'Value' Name ',' Operator ' ' Text.Whitespace 'Bottom' Name ',' Operator ' ' Text.Whitespace 'Top' Name ':' Operator ' ' Text.Whitespace 'Variant' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '(' Punctuation 'Value' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace 'Bottom' Name ')' Punctuation ' ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'Value' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace 'Top' Name ')' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'Min' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'A' Name ',' Operator ' ' Text.Whitespace 'B' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'A' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace 'B' Name ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'A' Name '\n ' Text.Whitespace 'else' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'B' Name ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'Min' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'A' Name ':' Operator ' ' Text.Whitespace 'TIntA' Name ')' Punctuation ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'i' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'A' Name ')' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Exit' Keyword ';' Operator '\n\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'A' Name '[' Punctuation '0' Literal.Number.Integer ']' Punctuation ';' Operator '\n ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ' ' Text.Whitespace 'to' Keyword ' ' Text.Whitespace 'High' Name.Builtin '(' Punctuation 'A' Name ')' Punctuation ' ' Text.Whitespace 'do' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'A' Name '[' Punctuation 'i' Name ']' Punctuation ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'A' Name '[' Punctuation 'i' Name ']' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'Max' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'A' Name ',' Operator ' ' Text.Whitespace 'B' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'A' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace 'B' Name ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'A' Name '\n ' Text.Whitespace 'else' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'B' Name ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'Max' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'A' Name ':' Operator ' ' Text.Whitespace 'TIntA' Name ')' Punctuation ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'i' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'A' Name ')' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Exit' Keyword ';' Operator '\n\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'A' Name '[' Punctuation '0' Literal.Number.Integer ']' Punctuation ';' Operator '\n ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ' ' Text.Whitespace 'to' Keyword ' ' Text.Whitespace 'High' Name.Builtin '(' Punctuation 'A' Name ')' Punctuation ' ' Text.Whitespace 'do' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'A' Name '[' Punctuation 'i' Name ']' Punctuation ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'A' Name '[' Punctuation 'i' Name ']' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'RangesOfStr' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'TRanges' Name ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'SL' Name ':' Operator ' ' Text.Whitespace 'TStringList' Name ';' Operator '\n ' Text.Whitespace 'r' Name ',' Operator ' ' Text.Whitespace 'b' Name ',' Operator ' ' Text.Whitespace 't' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n ' Text.Whitespace 'i' Name ',' Operator ' ' Text.Whitespace 'p' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n\n ' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'TryStrToCard' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'out' Name ' ' Text.Whitespace 'Value' Name ':' Operator ' ' Text.Whitespace 'Cardinal' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n ' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'E' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Val' Name.Builtin '(' Punctuation 'S' Name ',' Operator ' ' Text.Whitespace 'Value' Name ',' Operator ' ' Text.Whitespace 'E' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'E' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'nil' Keyword ';' Operator '\n ' Text.Whitespace 'SL' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'TStringList' Name '.' Operator 'Create' Name ';' Operator '\n ' Text.Whitespace 'try' Keyword '\n ' Text.Whitespace 'Split' Name '(' Punctuation 'S' Name ',' Operator ' ' Text.Whitespace 'RangesSeparator' Name ',' Operator ' ' Text.Whitespace 'SL' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'SetLength' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo ',' Operator ' ' Text.Whitespace 'SL' Name '.' Operator 'Count' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'to' Keyword ' ' Text.Whitespace 'SL' Name '.' Operator 'Count' Name '-' Operator '1' Literal.Number.Integer ' ' Text.Whitespace 'do' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'r' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'SL' Name '[' Punctuation 'i' Name ']' Punctuation ';' Operator '\n ' Text.Whitespace 'with' Keyword ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo '[' Punctuation 'i' Name ']' Punctuation ' ' Text.Whitespace 'do' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'p' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'CharPos' Name '(' Punctuation 'RangeInnerSeparator' Name ',' Operator ' ' Text.Whitespace 'r' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Simple' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'p' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Operator ' ' Text.Whitespace "// no '-' found" Comment.Single '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Simple' Name ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'r' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'RangeInfinite' Name ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace 'begin' Keyword ' ' Text.Whitespace '// * --> *-*' Comment.Single '\n ' Text.Whitespace 'Simple' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'False' Keyword ';' Operator '\n ' Text.Whitespace 'Bottom' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Low' Name.Builtin '(' Punctuation 'Bottom' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Top' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'High' Name.Builtin '(' Punctuation 'Top' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'end' Keyword ' ' Text.Whitespace 'else' Keyword ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'not' Keyword ' ' Text.Whitespace 'TryStrToCard' Name '(' Punctuation 'r' Name ',' Operator ' ' Text.Whitespace 'Value' Name ')' Punctuation ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Break' Keyword ';' Operator '\n\n ' Text.Whitespace 'end' Keyword ' ' Text.Whitespace 'else' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'TileStr' Name '(' Punctuation 'r' Name ',' Operator ' ' Text.Whitespace 'p' Name ',' Operator ' ' Text.Whitespace 'p' Name ',' Operator ' ' Text.Whitespace 'b' Name ',' Operator ' ' Text.Whitespace 't' Name ')' Punctuation ';' Operator '\n\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'b' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'RangeInfinite' Name ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Bottom' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Low' Name.Builtin '(' Punctuation 'Bottom' Name ')' Punctuation '\n ' Text.Whitespace 'else' Keyword ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'not' Keyword ' ' Text.Whitespace 'TryStrToCard' Name '(' Punctuation 'b' Name ',' Operator ' ' Text.Whitespace 'Bottom' Name ')' Punctuation ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Break' Keyword ';' Operator '\n\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 't' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'RangeInfinite' Name ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Top' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'High' Name.Builtin '(' Punctuation 'Top' Name ')' Punctuation '\n ' Text.Whitespace 'else' Keyword ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'not' Keyword ' ' Text.Whitespace 'TryStrToCard' Name '(' Punctuation 't' Name ',' Operator ' ' Text.Whitespace 'Top' Name ')' Punctuation ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Break' Keyword ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Bottom' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace 'Top' Name ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'p' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Bottom' Name ';' Operator ' ' Text.Whitespace 'Bottom' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Top' Name ';' Operator ' ' Text.Whitespace 'Top' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'p' Name ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace '<' Operator '>' Operator ' ' Text.Whitespace 'SL' Name '.' Operator 'Count' Name ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'nil' Keyword ';' Operator '\n\n ' Text.Whitespace 'finally' Keyword '\n ' Text.Whitespace 'SL' Name '.' Operator 'Free' Name ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'InRanges' Name.Function '(' Punctuation 'Ranges' Name ':' Operator ' ' Text.Whitespace 'TRanges' Name ';' Operator ' ' Text.Whitespace 'TestValue' Name ':' Operator ' ' Text.Whitespace 'Cardinal' Keyword.Type ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'i' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'True' Keyword ';' Operator '\n\n ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'to' Keyword ' ' Text.Whitespace 'High' Name.Builtin '(' Punctuation 'Ranges' Name ')' Punctuation ' ' Text.Whitespace 'do' Keyword '\n ' Text.Whitespace 'with' Keyword ' ' Text.Whitespace 'Ranges' Name '[' Punctuation 'i' Name ']' Punctuation ' ' Text.Whitespace 'do' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Simple' Name ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'TestValue' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'Value' Name ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Exit' Keyword ';' Operator '\n ' Text.Whitespace 'end' Keyword ' ' Text.Whitespace 'else' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'InRange' Name.Builtin '(' Punctuation 'TestValue' Name ',' Operator ' ' Text.Whitespace 'Bottom' Name ',' Operator ' ' Text.Whitespace 'Top' Name ')' Punctuation ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Exit' Keyword ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'False' Keyword ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'procedure' Keyword ' ' Text.Whitespace 'WriteSL' Name.Function '(' Punctuation 'Strings' Name ':' Operator ' ' Text.Whitespace 'TStrings' Name ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'Prefix' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'Suffix' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ')' Punctuation ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'i' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'to' Keyword ' ' Text.Whitespace 'Strings' Name '.' Operator 'Count' Name '-' Operator '1' Literal.Number.Integer ' ' Text.Whitespace 'do' Keyword '\n ' Text.Whitespace 'WriteLn' Name.Builtin '(' Punctuation 'Prefix' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'Strings' Name '[' Punctuation 'i' Name ']' Punctuation ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'Suffix' Name ')' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'Success' Name.Function '(' Punctuation 'Res' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator ' ' Text.Whitespace 'ResultOnSuccess' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'ERROR_SUCCESS' Name ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '(' Punctuation 'Res' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'ResultOnSuccess' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'LastSuccessRes' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Res' Name ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'Failure' Name.Function '(' Punctuation 'Res' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator ' ' Text.Whitespace 'ResultOnSuccess' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'ERROR_SUCCESS' Name ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'not' Keyword ' ' Text.Whitespace 'Success' Name '(' Punctuation 'Res' Name ',' Operator ' ' Text.Whitespace 'ResultOnSuccess' Name ')' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'ExpandString' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'Len' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n ' Text.Whitespace 'P' Name ',' Operator ' ' Text.Whitespace 'Res' Name ':' Operator ' ' Text.Whitespace 'PChar' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'P' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'PChar' Keyword.Type '(' Punctuation 'S' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Len' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'ExpandEnvironmentStrings' Name '(' Punctuation 'P' Name ',' Operator ' ' Text.Whitespace 'nil' Keyword ',' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Len' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Exit' Keyword ';' Operator '\n\n ' Text.Whitespace 'GetMem' Name.Builtin '(' Punctuation 'Res' Name ',' Operator ' ' Text.Whitespace 'Len' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'ExpandEnvironmentStrings' Name '(' Punctuation 'P' Name ',' Operator ' ' Text.Whitespace 'Res' Name ',' Operator ' ' Text.Whitespace 'Len' Name ')' Punctuation ';' Operator '\n\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Res' Name ';' Operator '\n ' Text.Whitespace 'FreeMem' Name.Builtin '(' Punctuation 'Res' Name ',' Operator ' ' Text.Whitespace 'Len' Name ')' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'FindAll' Name.Function '(' Punctuation 'Strings' Name ':' Operator ' ' Text.Whitespace 'TStrings' Name ';' Operator ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'Mask' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n ' Text.Whitespace 'ScanSubDirs' Name ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'True' Keyword ';' Operator ' ' Text.Whitespace 'Attributes' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'faFindEveryFile' Name ';' Operator '\n ' Text.Whitespace 'FileReturn' Name ':' Operator ' ' Text.Whitespace 'TFileNameFunc' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'nil' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'Path' Name ',' Operator ' ' Text.Whitespace 'FileName' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n\n ' Text.Whitespace 'procedure' Keyword ' ' Text.Whitespace 'ScanDir' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'Path' Name ',' Operator ' ' Text.Whitespace 'FileName' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ';' Operator '\n ' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'PSR' Name ':' Operator ' ' Text.Whitespace 'TSearchRec' Name ';' Operator '\n ' Text.Whitespace 'Res' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n\n ' Text.Whitespace 'procedure' Keyword ' ' Text.Whitespace 'Add' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'S' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ';' Operator '\n ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'S' Name ' ' Text.Whitespace '<' Operator '>' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Strings' Name '.' Operator 'Add' Name '(' Punctuation 'S' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n\n ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Res' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'FindFirst' Name.Builtin '(' Punctuation 'Path' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'FileName' Name ',' Operator ' ' Text.Whitespace 'Attributes' Name ',' Operator ' ' Text.Whitespace 'PSR' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'while' Keyword ' ' Text.Whitespace 'Success' Name '(' Punctuation 'Res' Name ',' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace 'do' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Assigned' Name.Builtin '(' Punctuation 'FileReturn' Name ')' Punctuation ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Add' Name '(' Punctuation 'FileReturn' Name '(' Punctuation 'Path' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'PSR' Name '.' Operator 'Name' Name '))' Punctuation '\n ' Text.Whitespace 'else' Keyword '\n ' Text.Whitespace 'Add' Name '(' Punctuation 'Path' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'PSR' Name '.' Operator 'Name' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Res' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'FindNext' Name.Builtin '(' Punctuation 'PSR' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n ' Text.Whitespace 'FindClose' Name.Builtin '(' Punctuation 'PSR' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'not' Keyword ' ' Text.Whitespace 'ScanSubDirs' Name ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Exit' Keyword ';' Operator '\n\n ' Text.Whitespace 'Res' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'FindFirst' Name.Builtin '(' Punctuation 'Path' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace "'" Literal.String '*' Literal.String "'" Literal.String ',' Operator ' ' Text.Whitespace 'faDirectory' Name ',' Operator ' ' Text.Whitespace 'PSR' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'while' Keyword ' ' Text.Whitespace 'Success' Name '(' Punctuation 'Res' Name ',' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace 'do' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'PSR' Name '.' Operator 'Attr' Name ' ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace 'faDirectory' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation '\n ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'PSR' Name '.' Operator 'Name' Name ' ' Text.Whitespace '<' Operator '>' Operator ' ' Text.Whitespace "'" Literal.String '.' Literal.String "'" Literal.String ')' Punctuation ' ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'PSR' Name '.' Operator 'Name' Name ' ' Text.Whitespace '<' Operator '>' Operator ' ' Text.Whitespace "'" Literal.String '..' Literal.String "'" Literal.String ')' Punctuation ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'ScanDir' Name '(' Punctuation 'Path' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'PSR' Name '.' Operator 'Name' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace "'" Literal.String '\\' Literal.String "'" Literal.String ',' Operator ' ' Text.Whitespace 'FileName' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Res' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'FindNext' Name.Builtin '(' Punctuation 'PSR' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n ' Text.Whitespace 'FindClose' Name.Builtin '(' Punctuation 'PSR' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Strings' Name '.' Operator 'Clear' Name ';' Operator '\n ' Text.Whitespace 'Path' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'ExtractPath' Name '(' Punctuation 'Mask' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'FileName' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'ExtractFileName' Name.Builtin '(' Punctuation 'Mask' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'ScanDir' Name '(' Punctuation 'Path' Name ',' Operator ' ' Text.Whitespace 'FileName' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Strings' Name '.' Operator 'Count' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'FindAllFirst' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'Mask' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'ScanSubDirs' Name ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'True' Keyword ';' Operator '\n ' Text.Whitespace 'Attributes' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'faFindEveryFile' Name ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'Path' Name ',' Operator ' ' Text.Whitespace 'FileName' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n\n ' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'ScanDir' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'Path' Name ',' Operator ' ' Text.Whitespace 'FileName' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n ' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'PSR' Name ':' Operator ' ' Text.Whitespace 'TSearchRec' Name ';' Operator '\n ' Text.Whitespace 'Res' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'False' Keyword ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Success' Name '(' Punctuation 'FindFirst' Name.Builtin '(' Punctuation 'Path' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'FileName' Name ',' Operator ' ' Text.Whitespace 'Attributes' Name ',' Operator ' ' Text.Whitespace 'PSR' Name ')' Punctuation ',' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'FindAllFirst' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Path' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'PSR' Name '.' Operator 'Name' Name ';' Operator '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'True' Keyword ';' Operator '\n ' Text.Whitespace 'FindClose' Name.Builtin '(' Punctuation 'PSR' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Exit' Keyword ';' Operator ' ' Text.Whitespace 'end' Keyword ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'not' Keyword ' ' Text.Whitespace 'ScanSubDirs' Name ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Exit' Keyword ';' Operator '\n\n ' Text.Whitespace 'Res' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'FindFirst' Name.Builtin '(' Punctuation 'Path' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace "'" Literal.String '*' Literal.String "'" Literal.String ',' Operator ' ' Text.Whitespace 'faDirectory' Name ',' Operator ' ' Text.Whitespace 'PSR' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'while' Keyword ' ' Text.Whitespace 'not' Keyword ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace 'Success' Name '(' Punctuation 'Res' Name ',' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace 'do' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'PSR' Name '.' Operator 'Attr' Name ' ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace 'faDirectory' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation '\n ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'PSR' Name '.' Operator 'Name' Name ' ' Text.Whitespace '<' Operator '>' Operator ' ' Text.Whitespace "'" Literal.String '.' Literal.String "'" Literal.String ')' Punctuation ' ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'PSR' Name '.' Operator 'Name' Name ' ' Text.Whitespace '<' Operator '>' Operator ' ' Text.Whitespace "'" Literal.String '..' Literal.String "'" Literal.String ')' Punctuation ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'ScanDir' Name '(' Punctuation 'Path' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'PSR' Name '.' Operator 'Name' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace "'" Literal.String '\\' Literal.String "'" Literal.String ',' Operator ' ' Text.Whitespace 'FileName' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Res' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'FindNext' Name.Builtin '(' Punctuation 'PSR' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n ' Text.Whitespace 'FindClose' Name.Builtin '(' Punctuation 'PSR' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'Path' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'ExtractPath' Name '(' Punctuation 'Mask' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'FileName' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'ExtractFileName' Name.Builtin '(' Punctuation 'Mask' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'ScanDir' Name '(' Punctuation 'Path' Name ',' Operator ' ' Text.Whitespace 'FileName' Name ')' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'procedure' Keyword ' ' Text.Whitespace 'DeleteFiles' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'Mask' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'ScanSubDirs' Name ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'True' Keyword ';' Operator '\n ' Text.Whitespace 'Attributes' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'faFindEveryFile' Name ')' Punctuation ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'Path' Name ',' Operator ' ' Text.Whitespace 'FileName' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n\n ' Text.Whitespace 'procedure' Keyword ' ' Text.Whitespace 'ScanDir' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'Path' Name ',' Operator ' ' Text.Whitespace 'FileName' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ';' Operator '\n ' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'PSR' Name ':' Operator ' ' Text.Whitespace 'TSearchRec' Name ';' Operator '\n ' Text.Whitespace 'Res' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n\n ' Text.Whitespace 'procedure' Keyword ' ' Text.Whitespace 'TryDeleteFile' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'FileName' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ';' Operator '\n ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'try' Keyword '\n ' Text.Whitespace 'DeleteFile' Name.Builtin '(' Punctuation 'Path' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'PSR' Name '.' Operator 'Name' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'except' Keyword '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n\n ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Res' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'FindFirst' Name.Builtin '(' Punctuation 'Path' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'FileName' Name ',' Operator ' ' Text.Whitespace 'Attributes' Name ',' Operator ' ' Text.Whitespace 'PSR' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'while' Keyword ' ' Text.Whitespace 'Success' Name '(' Punctuation 'Res' Name ',' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace 'do' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'TryDeleteFile' Name '(' Punctuation 'Path' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'PSR' Name '.' Operator 'Name' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Res' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'FindNext' Name.Builtin '(' Punctuation 'PSR' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n ' Text.Whitespace 'FindClose' Name.Builtin '(' Punctuation 'PSR' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'not' Keyword ' ' Text.Whitespace 'ScanSubDirs' Name ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Exit' Keyword ';' Operator '\n\n ' Text.Whitespace 'Res' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'FindFirst' Name.Builtin '(' Punctuation 'Path' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace "'" Literal.String '*' Literal.String "'" Literal.String ',' Operator ' ' Text.Whitespace 'faDirectory' Name ',' Operator ' ' Text.Whitespace 'PSR' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'while' Keyword ' ' Text.Whitespace 'Success' Name '(' Punctuation 'Res' Name ',' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace 'do' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'PSR' Name '.' Operator 'Attr' Name ' ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace 'faDirectory' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation '\n ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'PSR' Name '.' Operator 'Name' Name ' ' Text.Whitespace '<' Operator '>' Operator ' ' Text.Whitespace "'" Literal.String '.' Literal.String "'" Literal.String ')' Punctuation ' ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'PSR' Name '.' Operator 'Name' Name ' ' Text.Whitespace '<' Operator '>' Operator ' ' Text.Whitespace "'" Literal.String '..' Literal.String "'" Literal.String ')' Punctuation ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'ScanDir' Name '(' Punctuation 'Path' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'PSR' Name '.' Operator 'Name' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace "'" Literal.String '\\' Literal.String "'" Literal.String ',' Operator ' ' Text.Whitespace 'FileName' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'TryDeleteFile' Name '(' Punctuation 'Path' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'PSR' Name '.' Operator 'Name' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n ' Text.Whitespace 'Res' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'FindNext' Name.Builtin '(' Punctuation 'PSR' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n ' Text.Whitespace 'FindClose' Name.Builtin '(' Punctuation 'PSR' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Path' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'ExtractPath' Name '(' Punctuation 'Mask' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'FileName' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'ExtractFileName' Name.Builtin '(' Punctuation 'Mask' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'ScanDir' Name '(' Punctuation 'Path' Name ',' Operator ' ' Text.Whitespace 'FileName' Name ')' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'GetFileNew' Name.Function '(' Punctuation 'FileName' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator ' ' Text.Whitespace 'NoFloppyDrives' Name ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'True' Keyword ')' Punctuation ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'Drive' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n ' Text.Whitespace 'pf' Name ',' Operator ' ' Text.Whitespace 'pd' Name ',' Operator ' ' Text.Whitespace 'Len' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n ' Text.Whitespace 'PSR' Name ':' Operator ' ' Text.Whitespace 'TSearchRec' Name ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'FileName' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Trim' Name.Builtin '(' Punctuation 'FileName' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'FileName' Name ')' Punctuation ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace '2' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Exit' Keyword ';' Operator '\n\n ' Text.Whitespace 'Drive' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'ExtractDrive' Name '(' Punctuation 'FileName' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'not' Keyword ' ' Text.Whitespace 'DirectoryExists' Name.Builtin '(' Punctuation 'Drive' Name ')' Punctuation ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Exit' Keyword ';' Operator '\n\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'NoFloppyDrives' Name ' ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'Drive' Name '[' Punctuation '1' Literal.Number.Integer ']' Punctuation ' ' Text.Whitespace 'in' Keyword ' ' Text.Whitespace '[' Punctuation "'" Literal.String 'A' Literal.String "'" Literal.String ',' Operator ' ' Text.Whitespace "'" Literal.String 'B' Literal.String "'" Literal.String '])' Punctuation ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Exit' Keyword ';' Operator '\n\n ' Text.Whitespace 'Len' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'FileName' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Drive' Name ';' Operator '\n ' Text.Whitespace 'pf' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Length' Name.Builtin '(' Punctuation 'Drive' Name ')' Punctuation ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ';' Operator '\n ' Text.Whitespace 'while' Keyword ' ' Text.Whitespace 'pf' Name ' ' Text.Whitespace '<' Operator '=' Operator ' ' Text.Whitespace 'Len' Name ' ' Text.Whitespace 'do' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'FileName' Name '[' Punctuation 'pf' Name ']' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String '\\' Literal.String "'" Literal.String ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace "'" Literal.String '\\' Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'Inc' Name.Builtin '(' Punctuation 'pf' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Continue' Keyword ';' Operator ' ' Text.Whitespace 'end' Keyword ';' Operator '\n\n ' Text.Whitespace 'pd' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'CharPos' Name '(' Punctuation "'" Literal.String '\\' Literal.String "'" Literal.String ',' Operator ' ' Text.Whitespace 'FileName' Name ',' Operator ' ' Text.Whitespace 'pf' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'pd' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '0' Literal.Number.Integer '=' Operator 'FindFirst' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'Copy' Name.Builtin '(' Punctuation 'FileName' Name ',' Operator ' ' Text.Whitespace 'pf' Name ',' Operator ' ' Text.Whitespace 'MaxInt' Name ')' Punctuation ',' Operator ' ' Text.Whitespace 'faFindEveryFile' Name ',' Operator ' ' Text.Whitespace 'PSR' Name ')' Punctuation ' ' Text.Whitespace 'then' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'PSR' Name '.' Operator 'Name' Name ';' Operator '\n ' Text.Whitespace 'Break' Keyword ';' Operator ' ' Text.Whitespace 'end' Keyword ' ' Text.Whitespace 'else' Keyword ' ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'FindClose' Name.Builtin '(' Punctuation 'PSR' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '0' Literal.Number.Integer '=' Operator 'FindFirst' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'Copy' Name.Builtin '(' Punctuation 'FileName' Name ',' Operator ' ' Text.Whitespace 'pf' Name ',' Operator ' ' Text.Whitespace 'MaxInt' Name ')' Punctuation ',' Operator ' ' Text.Whitespace 'faDirectory' Name ',' Operator ' ' Text.Whitespace 'PSR' Name ')' Punctuation ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'PSR' Name '.' Operator 'Name' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace "'" Literal.String '\\' Literal.String "'" Literal.String '\n ' Text.Whitespace 'else' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'FindClose' Name.Builtin '(' Punctuation 'PSR' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Break' Keyword ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '0' Literal.Number.Integer '=' Operator 'FindFirst' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'Copy' Name.Builtin '(' Punctuation 'FileName' Name ',' Operator ' ' Text.Whitespace 'pf' Name ',' Operator ' ' Text.Whitespace 'pd' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'pf' Name ')' Punctuation ',' Operator ' ' Text.Whitespace 'faDirectory' Name ',' Operator ' ' Text.Whitespace 'PSR' Name ')' Punctuation ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'PSR' Name '.' Operator 'Name' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace "'" Literal.String '\\' Literal.String "'" Literal.String '\n ' Text.Whitespace 'else' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ';' Operator '\n ' Text.Whitespace 'FindClose' Name.Builtin '(' Punctuation 'PSR' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Break' Keyword ';' Operator '\n\n ' Text.Whitespace 'pf' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'pd' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace '<' Operator '>' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ')' Punctuation ' ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace 'not' Keyword ' ' Text.Whitespace 'FileEx' Name '(' Punctuation 'Result' Name.Builtin.Pseudo ',' Operator ' ' Text.Whitespace 'True' Keyword ')' Punctuation ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace "'" Literal.String "'" Literal.String ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'DateTimeOfFileTime' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'FileTime' Name ':' Operator ' ' Text.Whitespace 'TFileTime' Name ')' Punctuation ':' Operator ' ' Text.Whitespace 'TDateTime' Keyword.Type ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'LocalFileTime' Name ':' Operator ' ' Text.Whitespace 'TFileTime' Name ';' Operator '\n ' Text.Whitespace 'Res' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Operator '\n\n ' Text.Whitespace 'FileTimeToLocalFileTime' Name '(' Punctuation 'FileTime' Name ',' Operator ' ' Text.Whitespace 'LocalFileTime' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'not' Keyword ' ' Text.Whitespace 'FileTimeToDosDateTime' Name '(' Punctuation 'LocalFileTime' Name ',' Operator ' ' Text.Whitespace 'LongRec' Name '(' Punctuation 'Res' Name ')' Punctuation '.' Operator 'Hi' Name ',' Operator '\n ' Text.Whitespace 'LongRec' Name '(' Punctuation 'Res' Name ')' Punctuation '.' Operator 'Lo' Name ')' Punctuation ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Res' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '-' Operator '1' Literal.Number.Integer ';' Operator '\n\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'Res' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '-' Operator '1' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace 'or' Keyword ' ' Text.Whitespace '(' Punctuation 'Res' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Exit' Keyword ';' Operator '\n ' Text.Whitespace 'try' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'FileDateToDateTime' Name.Builtin '(' Punctuation 'Res' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'except' Keyword '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'procedure' Keyword ' ' Text.Whitespace 'FileNew' Name.Function '(' Punctuation 'const' Keyword ' ' Text.Whitespace 'FileName' Name ':' Operator ' ' Text.Whitespace 'string' Keyword ')' Punctuation ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'Handle' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Handle' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'FileCreate' Name.Builtin '(' Punctuation 'FileName' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'FileClose' Name.Builtin '(' Punctuation 'Handle' Name ')' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'Win32PlatformStr' Name.Function ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'const' Keyword '\n ' Text.Whitespace 'PlatformStrings' Name ':' Operator ' ' Text.Whitespace 'array' Keyword '[' Punctuation 'VER_PLATFORM_WIN32s' Name '.' Operator '.' Operator 'VER_PLATFORM_WIN32_NT' Name ']' Punctuation ' ' Text.Whitespace 'of' Keyword ' ' Text.Whitespace 'string' Keyword ' ' Text.Whitespace '=' Operator '\n ' Text.Whitespace '(' Punctuation "'" Literal.String 'VER_PLATFORM_WIN32s' Literal.String "'" Literal.String ',' Operator ' ' Text.Whitespace "'" Literal.String 'VER_PLATFORM_WIN32_WINDOWS' Literal.String "'" Literal.String ',' Operator ' ' Text.Whitespace "'" Literal.String 'VER_PLATFORM_WIN32_NT' Literal.String "'" Literal.String ')' Punctuation ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'PlatformStrings' Name '[' Punctuation 'Win32Platform' Name ']' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'FullOSInfo' Name.Function ':' Operator ' ' Text.Whitespace 'string' Keyword ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Format' Name.Builtin '(' Punctuation '\n ' Text.Whitespace "'" Literal.String 'Platform: %s' Literal.String "'" Literal.String ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'EOL' Name ' ' Text.Whitespace '+' Operator '\n ' Text.Whitespace "'" Literal.String 'Version: %d.%d Build %d' Literal.String "'" Literal.String ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'EOL' Name ' ' Text.Whitespace '+' Operator '\n ' Text.Whitespace "'" Literal.String 'CSD: %s' Literal.String "'" Literal.String ',' Operator '\n ' Text.Whitespace '[' Punctuation '\n ' Text.Whitespace 'Win32PlatformStr' Name ',' Operator '\n ' Text.Whitespace 'Win32MajorVersion' Name ',' Operator ' ' Text.Whitespace 'Win32MinorVersion' Name ',' Operator ' ' Text.Whitespace 'Win32BuildNumber' Name ',' Operator '\n ' Text.Whitespace 'Win32CSDVersion' Name '\n ' Text.Whitespace ']' Punctuation '\n ' Text.Whitespace ')' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'Win9x' Name.Function ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Win32Platform' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'VER_PLATFORM_WIN32_WINDOWS' Name ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'WinNT' Name.Function ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Win32Platform' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'VER_PLATFORM_WIN32_NT' Name ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'Win2000' Name.Function ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '(' Punctuation 'Win32Platform' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'VER_PLATFORM_WIN32_NT' Name ')' Punctuation '\n ' Text.Whitespace 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'Win32MajorVersion' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '4' Literal.Number.Integer ')' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'WinXP' Name.Function ':' Operator ' ' Text.Whitespace 'Boolean' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Win32MajorVersion' Name ' ' Text.Whitespace '>' Operator '=' Operator ' ' Text.Whitespace '5' Literal.Number.Integer ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'initialization' Keyword '\n ' Text.Whitespace 'MyDir' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'GetMyDir' Name ';' Operator '\n\n' Text.Whitespace 'end' Keyword '.' Operator '\n\n' Text.Whitespace 'unit' Keyword ' ' Text.Whitespace 'FifoStream' Name ';' Operator '\n\n' Text.Whitespace 'interface' Keyword '\n\n' Text.Whitespace 'uses' Keyword ' ' Text.Whitespace 'Classes' Name ',' Operator ' ' Text.Whitespace 'windows' Name ',' Operator ' ' Text.Whitespace 'Dialogs' Name ';' Operator '\n\n' Text.Whitespace 'const' Keyword '\n ' Text.Whitespace 'DefaultChunksize' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '32768' Literal.Number.Integer ';' Operator ' ' Text.Whitespace '// 32kb per chunk as default.' Comment.Single '\n\n' Text.Whitespace 'type' Keyword '\n ' Text.Whitespace 'PMemChunk' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '^' Operator 'TMemChunk' Name ';' Operator '\n ' Text.Whitespace 'TMemChunk' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'record' Keyword '\n ' Text.Whitespace 'Filled' Name ':' Operator ' ' Text.Whitespace 'Longword' Keyword.Type ';' Operator '\n ' Text.Whitespace 'Read' Name.Builtin ':' Operator ' ' Text.Whitespace 'Longword' Keyword.Type ';' Operator '\n ' Text.Whitespace 'Data' Name ':' Operator ' ' Text.Whitespace 'pointer' Keyword.Type ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n\n ' Text.Whitespace 'TFifo' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'class' Keyword '\n ' Text.Whitespace 'private' Keyword.Pseudo '\n ' Text.Whitespace 'FBuffers' Name ':' Operator ' ' Text.Whitespace 'TList' Name ';' Operator '\n ' Text.Whitespace 'FChunksize' Name ':' Operator ' ' Text.Whitespace 'Longword' Keyword.Type ';' Operator '\n ' Text.Whitespace 'FCritSect' Name ':' Operator ' ' Text.Whitespace 'TRTLCriticalSection' Name ';' Operator '\n ' Text.Whitespace 'FIsWinNT' Name ':' Operator ' ' Text.Whitespace 'boolean' Keyword.Type ';' Operator '\n ' Text.Whitespace 'FBytesInFifo' Name ':' Operator ' ' Text.Whitespace 'LongWord' Keyword.Type ';' Operator '\n ' Text.Whitespace 'protected' Keyword.Pseudo '\n ' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'GetBytesInFifo' Name.Function ':' Operator ' ' Text.Whitespace 'LongWord' Keyword.Type ';' Operator '\n ' Text.Whitespace 'public' Keyword.Pseudo '\n ' Text.Whitespace 'constructor' Keyword ' ' Text.Whitespace 'Create' Name.Function ';' Operator '\n ' Text.Whitespace 'destructor' Keyword ' ' Text.Whitespace 'Destroy' Name.Function ';' Operator ' ' Text.Whitespace 'override' Keyword.Pseudo ';' Operator '\n ' Text.Whitespace 'procedure' Keyword ' ' Text.Whitespace 'Write' Name.Function '(' Punctuation 'Data' Name ':' Operator ' ' Text.Whitespace 'pointer' Keyword.Type ';' Operator ' ' Text.Whitespace 'Size' Name ':' Operator ' ' Text.Whitespace 'LongWord' Keyword.Type ')' Punctuation ';' Operator '\n ' Text.Whitespace 'procedure' Keyword ' ' Text.Whitespace 'Read' Name.Function '(' Punctuation 'Buff' Name ':' Operator ' ' Text.Whitespace 'pointer' Keyword.Type ';' Operator ' ' Text.Whitespace 'var' Keyword ' ' Text.Whitespace 'ReqSize' Name ':' Operator ' ' Text.Whitespace 'LongWord' Keyword.Type ')' Punctuation ';' Operator '\n ' Text.Whitespace 'procedure' Keyword ' ' Text.Whitespace 'PeekData' Name.Function '(' Punctuation 'Buff' Name ':' Operator ' ' Text.Whitespace 'pointer' Keyword.Type ';' Operator ' ' Text.Whitespace 'var' Keyword ' ' Text.Whitespace 'ReqSize' Name ':' Operator ' ' Text.Whitespace 'LongWord' Keyword.Type ')' Punctuation ';' Operator '\n ' Text.Whitespace 'published' Keyword.Pseudo '\n ' Text.Whitespace 'property' Keyword ' ' Text.Whitespace 'BytesInFifo' Name.Property ':' Operator ' ' Text.Whitespace 'LongWord' Keyword.Type ' ' Text.Whitespace 'read' Keyword.Pseudo ' ' Text.Whitespace 'FBytesInFifo' Name.Function ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'implementation' Keyword '\n\n' Text.Whitespace 'constructor' Keyword ' ' Text.Whitespace 'TFifo' Name.Class '.' Operator 'Create' Name.Function ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'inherited' Keyword ';' Operator '\n ' Text.Whitespace 'FBuffers' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'TList' Name '.' Operator 'Create' Name ';' Operator '\n ' Text.Whitespace '// set default chunksize...' Comment.Single '\n ' Text.Whitespace 'FChunksize' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'DefaultChunksize' Name ';' Operator '\n ' Text.Whitespace 'InitializeCriticalSection' Name '(' Punctuation 'FCritSect' Name ')' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'destructor' Keyword ' ' Text.Whitespace 'TFifo' Name.Class '.' Operator 'Destroy' Name.Function ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'I' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'EnterCriticalSection' Name '(' Punctuation 'FCritSect' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'I' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'to' Keyword ' ' Text.Whitespace 'FBuffers' Name '.' Operator 'count' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ' ' Text.Whitespace 'do' Keyword '\n ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'FreeMem' Name.Builtin '(' Punctuation 'PMemChunk' Name '(' Punctuation 'Fbuffers' Name '[' Punctuation 'I' Name '])' Punctuation '.' Operator 'Data' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Dispose' Keyword '(' Punctuation 'PMemChunk' Name '(' Punctuation 'Fbuffers' Name '[' Punctuation 'I' Name ']))' Punctuation ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n ' Text.Whitespace 'FBuffers' Name '.' Operator 'Clear' Name ';' Operator '\n ' Text.Whitespace 'FBuffers' Name '.' Operator 'Free' Name ';' Operator '\n ' Text.Whitespace 'LeaveCriticalSection' Name '(' Punctuation 'FCritSect' Name ')' Punctuation ';' Operator '\n\n ' Text.Whitespace 'DeleteCriticalSection' Name '(' Punctuation 'FCritSect' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'inherited' Keyword ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'TFifo' Name.Class '.' Operator 'GetBytesInFifo' Name.Function ':' Operator ' ' Text.Whitespace 'LongWord' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Result' Name.Builtin.Pseudo ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'FBuffers' Name '.' Operator 'Count' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'exit' Keyword ';' Operator '\n ' Text.Whitespace 'end' Keyword '\n ' Text.Whitespace 'else' Keyword '\n ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'FBuffers' Name '.' Operator 'Count' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Inc' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo ',' Operator ' ' Text.Whitespace '(' Punctuation 'FBuffers' Name '.' Operator 'Count' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '*' Operator ' ' Text.Whitespace 'FChunkSize' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Inc' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo ',' Operator ' ' Text.Whitespace 'PMemChunk' Name '(' Punctuation 'FBuffers' Name '[' Punctuation 'Fbuffers' Name '.' Operator 'Count' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace '1' Literal.Number.Integer '])' Punctuation '.' Operator 'Filled' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Dec' Name.Builtin '(' Punctuation 'Result' Name.Builtin.Pseudo ',' Operator ' ' Text.Whitespace 'PMemChunk' Name '(' Punctuation 'FBuffers' Name '[' Punctuation '0' Literal.Number.Integer '])' Punctuation '.' Operator 'Read' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'procedure' Keyword ' ' Text.Whitespace 'TFifo' Name.Class '.' Operator 'Write' Name.Function '(' Punctuation 'Data' Name ':' Operator ' ' Text.Whitespace 'pointer' Keyword.Type ';' Operator ' ' Text.Whitespace 'Size' Name ':' Operator ' ' Text.Whitespace 'LongWord' Keyword.Type ')' Punctuation ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'Privpointer' Name ':' Operator ' ' Text.Whitespace 'pointer' Keyword.Type ';' Operator '\n ' Text.Whitespace 'PrivSize' Name ':' Operator ' ' Text.Whitespace 'LongWord' Keyword.Type ';' Operator '\n ' Text.Whitespace 'Chunk' Name ':' Operator ' ' Text.Whitespace 'PMemChunk' Name ';' Operator '\n ' Text.Whitespace 'PosInChunk' Name ':' Operator ' ' Text.Whitespace 'pointer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'LongWord' Keyword.Type '(' Punctuation 'Data' Name ')' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace '// null pointer? somebody is trying to fool us, get out...' Comment.Single '\n ' Text.Whitespace 'Exit' Keyword ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n ' Text.Whitespace 'EnterCriticalSection' Name '(' Punctuation 'FCritSect' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'PrivPointer' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Data' Name ';' Operator '\n ' Text.Whitespace 'PrivSize' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Operator '\n ' Text.Whitespace '// are already buffers there?' Comment.Single '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'FBuffers' Name '.' Operator 'count' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace '// is the last one of them not completely filled?' Comment.Single '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'PMemChunk' Name '(' Punctuation 'FBuffers' Name '[' Punctuation 'FBuffers' Name '.' Operator 'count' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace '1' Literal.Number.Integer '])' Punctuation '.' Operator 'filled' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace 'FChunksize' Name ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace '// not completely filled, so fill up the buffer.' Comment.Single '\n ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Chunk' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'PMemChunk' Name '(' Punctuation 'FBuffers' Name '[' Punctuation 'FBuffers' Name '.' Operator 'count' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace '1' Literal.Number.Integer '])' Punctuation ';' Operator '\n ' Text.Whitespace '// fetch chunkdata.' Comment.Single '\n ' Text.Whitespace 'PosInChunk' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Chunk' Name '.' Operator 'Data' Name ';' Operator '\n ' Text.Whitespace '// move to current fill pos...' Comment.Single '\n ' Text.Whitespace 'Inc' Name.Builtin '(' Punctuation 'LongWord' Keyword.Type '(' Punctuation 'PosInChunk' Name ')' Punctuation ',' Operator ' ' Text.Whitespace 'Chunk' Name '.' Operator 'Filled' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace '// can we fill the chunk completely?' Comment.Single '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Size' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace 'FChunksize' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'Chunk' Name '.' Operator 'Filled' Name ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace '// yes we can.' Comment.Single '\n ' Text.Whitespace 'Move' Name.Builtin '(' Punctuation 'PrivPointer' Name '^' Operator ',' Operator ' ' Text.Whitespace 'PosInChunk' Name '^' Operator ',' Operator ' ' Text.Whitespace 'FChunksize' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'Chunk' Name '.' Operator 'Filled' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Inc' Name.Builtin '(' Punctuation 'PrivSize' Name ',' Operator ' ' Text.Whitespace 'FChunksize' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'Chunk' Name '.' Operator 'Filled' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Inc' Name.Builtin '(' Punctuation 'LongWord' Keyword.Type '(' Punctuation 'PrivPointer' Name ')' Punctuation ',' Operator ' ' Text.Whitespace 'FChunksize' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'Chunk' Name '.' Operator 'Filled' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Chunk' Name '.' Operator 'Filled' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'FChunkSize' Name ';' Operator '\n ' Text.Whitespace 'end' Keyword '\n ' Text.Whitespace 'else' Keyword '\n ' Text.Whitespace '// we have to less data for filling the chunk completely,' Comment.Single '\n ' Text.Whitespace '// just put everything in.' Comment.Single '\n ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Move' Name.Builtin '(' Punctuation 'PrivPointer' Name '^' Operator ',' Operator ' ' Text.Whitespace 'PosInChunk' Name '^' Operator ',' Operator ' ' Text.Whitespace 'Size' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Inc' Name.Builtin '(' Punctuation 'PrivSize' Name ',' Operator ' ' Text.Whitespace 'Size' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Inc' Name.Builtin '(' Punctuation 'Chunk' Name '.' Operator 'Filled' Name ',' Operator ' ' Text.Whitespace 'Size' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n ' Text.Whitespace '// as long as we have remaining stuff put it into new chunks.' Comment.Single '\n ' Text.Whitespace 'while' Keyword ' ' Text.Whitespace '(' Punctuation 'PrivSize' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace 'Size' Name ')' Punctuation ' ' Text.Whitespace 'do' Keyword '\n ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'new' Keyword '(' Punctuation 'Chunk' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'GetMem' Name.Builtin '(' Punctuation 'Chunk' Name '.' Operator 'Data' Name ',' Operator ' ' Text.Whitespace 'FChunksize' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Chunk' Name '.' Operator 'Read' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Operator '\n ' Text.Whitespace '// can we fill an entire chunk with the remaining data?' Comment.Single '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Privsize' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'FChunksize' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace 'Size' Name ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace '// yes we can, so put the stuff in.' Comment.Single '\n ' Text.Whitespace 'Move' Name.Builtin '(' Punctuation 'Privpointer' Name '^' Operator ',' Operator ' ' Text.Whitespace 'Chunk' Name '.' Operator 'Data' Name '^' Operator ',' Operator ' ' Text.Whitespace 'FChunksize' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Inc' Name.Builtin '(' Punctuation 'LongWord' Keyword.Type '(' Punctuation 'PrivPointer' Name ')' Punctuation ',' Operator ' ' Text.Whitespace 'FChunksize' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Inc' Name.Builtin '(' Punctuation 'PrivSize' Name ',' Operator ' ' Text.Whitespace 'FChunksize' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Chunk' Name '.' Operator 'Filled' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'FChunksize' Name ';' Operator '\n ' Text.Whitespace 'end' Keyword '\n ' Text.Whitespace 'else' Keyword ' ' Text.Whitespace '// we have to less data to fill the entire chunk, just put the remaining stuff in.' Comment.Single '\n ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Move' Name.Builtin '(' Punctuation 'Privpointer' Name '^' Operator ',' Operator ' ' Text.Whitespace 'Chunk' Name '.' Operator 'Data' Name '^' Operator ',' Operator ' ' Text.Whitespace 'Size' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'Privsize' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Chunk' Name '.' Operator 'Filled' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Size' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'Privsize' Name ';' Operator '\n ' Text.Whitespace 'Inc' Name.Builtin '(' Punctuation 'PrivSize' Name ',' Operator ' ' Text.Whitespace 'Size' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'Privsize' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n ' Text.Whitespace 'Fbuffers' Name '.' Operator 'Add' Name '(' Punctuation 'Chunk' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'Size' Name ' ' Text.Whitespace '<' Operator '>' Operator ' ' Text.Whitespace 'Privsize' Name ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'Showmessage' Name '(' Punctuation "'" Literal.String 'miscalculation in TFifo.write' Literal.String "'" Literal.String ')' Punctuation ';' Operator '\n ' Text.Whitespace 'FBytesInFifo' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'GetBytesInFifo' Name ';' Operator '\n ' Text.Whitespace 'LeaveCriticalSection' Name '(' Punctuation 'FCritSect' Name ')' Punctuation ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'procedure' Keyword ' ' Text.Whitespace 'TFifo' Name.Class '.' Operator 'Read' Name.Function '(' Punctuation 'Buff' Name ':' Operator ' ' Text.Whitespace 'pointer' Keyword.Type ';' Operator ' ' Text.Whitespace 'var' Keyword ' ' Text.Whitespace 'ReqSize' Name ':' Operator ' ' Text.Whitespace 'LongWord' Keyword.Type ')' Punctuation ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'PrivSize' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n ' Text.Whitespace 'Privpos' Name ':' Operator ' ' Text.Whitespace 'pointer' Keyword.Type ';' Operator '\n ' Text.Whitespace 'Chunk' Name ':' Operator ' ' Text.Whitespace 'PMemChunk' Name ';' Operator '\n ' Text.Whitespace 'ChunkPos' Name ':' Operator ' ' Text.Whitespace 'pointer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'LongWord' Keyword.Type '(' Punctuation 'Buff' Name ')' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace '// null pointer? somebody is trying to fool us, get out...' Comment.Single '\n ' Text.Whitespace 'Exit' Keyword ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n ' Text.Whitespace 'EnterCriticalSection' Name '(' Punctuation 'FCritSect' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'PrivSize' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Operator '\n ' Text.Whitespace 'Privpos' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Buff' Name ';' Operator '\n ' Text.Whitespace 'while' Keyword ' ' Text.Whitespace 'FBuffers' Name '.' Operator 'Count' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'do' Keyword '\n ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Chunk' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'PMemChunk' Name '(' Punctuation 'FBuffers' Name '[' Punctuation '0' Literal.Number.Integer '])' Punctuation ';' Operator '\n ' Text.Whitespace 'ChunkPos' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Chunk' Name '.' Operator 'data' Name ';' Operator '\n ' Text.Whitespace 'Inc' Name.Builtin '(' Punctuation 'LongWord' Keyword.Type '(' Punctuation 'ChunkPos' Name ')' Punctuation ',' Operator ' ' Text.Whitespace 'Chunk' Name '.' Operator 'Read' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace '// does the remaining part of the chunk fit into the buffer?' Comment.Single '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'PrivSize' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '(' Punctuation 'Chunk' Name '.' Operator 'Filled' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'Chunk' Name '.' Operator 'read' Name ')' Punctuation ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace 'ReqSize' Name ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'begin' Keyword ' ' Text.Whitespace '// yep, it fits' Comment.Single '\n ' Text.Whitespace 'Move' Name.Builtin '(' Punctuation 'ChunkPos' Name '^' Operator ',' Operator ' ' Text.Whitespace 'Privpos' Name '^' Operator ',' Operator ' ' Text.Whitespace 'Chunk' Name '.' Operator 'Filled' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'Chunk' Name '.' Operator 'read' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Inc' Name.Builtin '(' Punctuation 'PrivSize' Name ',' Operator ' ' Text.Whitespace 'Chunk' Name '.' Operator 'Filled' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'Chunk' Name '.' Operator 'read' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'FreeMem' Name.Builtin '(' Punctuation 'Chunk' Name '.' Operator 'Data' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Dispose' Keyword '(' Punctuation 'Chunk' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'FBuffers' Name '.' Operator 'Delete' Name '(' Punctuation '0' Literal.Number.Integer ')' Punctuation ';' Operator '\n ' Text.Whitespace 'end' Keyword '\n ' Text.Whitespace 'else' Keyword ' ' Text.Whitespace "// remaining part didn't fit, get as much as we can and increment the" Comment.Single '\n ' Text.Whitespace '// read attribute.' Comment.Single '\n ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Move' Name.Builtin '(' Punctuation 'ChunkPos' Name '^' Operator ',' Operator ' ' Text.Whitespace 'Privpos' Name '^' Operator ',' Operator ' ' Text.Whitespace 'ReqSize' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'PrivSize' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Inc' Name.Builtin '(' Punctuation 'Chunk' Name '.' Operator 'read' Name ',' Operator ' ' Text.Whitespace 'ReqSize' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'PrivSize' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Inc' Name.Builtin '(' Punctuation 'PrivSize' Name ',' Operator ' ' Text.Whitespace 'ReqSize' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'PrivSize' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace "// as we filled the buffer, we'll have to break here." Comment.Single '\n ' Text.Whitespace 'break' Keyword ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n ' Text.Whitespace 'FBytesInFifo' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'GetBytesInFifo' Name ';' Operator '\n ' Text.Whitespace 'LeaveCriticalSection' Name '(' Punctuation 'FCritSect' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'ReqSize' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'PrivSize' Name ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace '// read Data from Stream without removing it from the Stream...' Comment.Single '\n\n' Text.Whitespace 'procedure' Keyword ' ' Text.Whitespace 'TFifo' Name.Class '.' Operator 'PeekData' Name.Function '(' Punctuation 'Buff' Name ':' Operator ' ' Text.Whitespace 'pointer' Keyword.Type ';' Operator ' ' Text.Whitespace 'var' Keyword ' ' Text.Whitespace 'ReqSize' Name ':' Operator ' ' Text.Whitespace 'LongWord' Keyword.Type ')' Punctuation ';' Operator '\n' Text.Whitespace 'var' Keyword '\n ' Text.Whitespace 'PrivSize' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n ' Text.Whitespace 'Privpos' Name ':' Operator ' ' Text.Whitespace 'pointer' Keyword.Type ';' Operator '\n ' Text.Whitespace 'Chunk' Name ':' Operator ' ' Text.Whitespace 'PMemChunk' Name ';' Operator '\n ' Text.Whitespace 'ChunkPos' Name ':' Operator ' ' Text.Whitespace 'pointer' Keyword.Type ';' Operator '\n ' Text.Whitespace 'ChunkNr' Name ':' Operator ' ' Text.Whitespace 'Integer' Keyword.Type ';' Operator '\n' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'LongWord' Keyword.Type '(' Punctuation 'Buff' Name ')' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace '// null pointer? somebody is trying to fool us, get out...' Comment.Single '\n ' Text.Whitespace 'Exit' Keyword ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n ' Text.Whitespace 'EnterCriticalSection' Name '(' Punctuation 'FCritSect' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'PrivSize' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Operator '\n ' Text.Whitespace 'Privpos' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Buff' Name ';' Operator '\n ' Text.Whitespace 'ChunkNr' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Operator '\n ' Text.Whitespace 'while' Keyword ' ' Text.Whitespace 'FBuffers' Name '.' Operator 'Count' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace 'ChunkNr' Name ' ' Text.Whitespace 'do' Keyword '\n ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Chunk' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'PMemChunk' Name '(' Punctuation 'FBuffers' Name '[' Punctuation 'ChunkNr' Name '])' Punctuation ';' Operator '\n ' Text.Whitespace 'ChunkPos' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'Chunk' Name '.' Operator 'data' Name ';' Operator '\n ' Text.Whitespace 'Inc' Name.Builtin '(' Punctuation 'LongWord' Keyword.Type '(' Punctuation 'ChunkPos' Name ')' Punctuation ',' Operator ' ' Text.Whitespace 'Chunk' Name '.' Operator 'Read' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace '// does the remaining part of the chunk fit into the buffer?' Comment.Single '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'PrivSize' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '(' Punctuation 'Chunk' Name '.' Operator 'Filled' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'Chunk' Name '.' Operator 'read' Name ')' Punctuation ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace 'ReqSize' Name ' ' Text.Whitespace 'then' Keyword '\n ' Text.Whitespace 'begin' Keyword ' ' Text.Whitespace '// yep, it fits' Comment.Single '\n ' Text.Whitespace 'Move' Name.Builtin '(' Punctuation 'ChunkPos' Name '^' Operator ',' Operator ' ' Text.Whitespace 'Privpos' Name '^' Operator ',' Operator ' ' Text.Whitespace 'Chunk' Name '.' Operator 'Filled' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'Chunk' Name '.' Operator 'read' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Inc' Name.Builtin '(' Punctuation 'PrivSize' Name ',' Operator ' ' Text.Whitespace 'Chunk' Name '.' Operator 'Filled' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'Chunk' Name '.' Operator 'read' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Inc' Name.Builtin '(' Punctuation 'ChunkNr' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'end' Keyword '\n ' Text.Whitespace 'else' Keyword ' ' Text.Whitespace "// remaining part didn't fit, get as much as we can and increment the" Comment.Single '\n ' Text.Whitespace '// read attribute.' Comment.Single '\n ' Text.Whitespace 'begin' Keyword '\n ' Text.Whitespace 'Move' Name.Builtin '(' Punctuation 'ChunkPos' Name '^' Operator ',' Operator ' ' Text.Whitespace 'Privpos' Name '^' Operator ',' Operator ' ' Text.Whitespace 'ReqSize' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'PrivSize' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'Inc' Name.Builtin '(' Punctuation 'PrivSize' Name ',' Operator ' ' Text.Whitespace 'ReqSize' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'PrivSize' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace "// as we filled the buffer, we'll have to break here." Comment.Single '\n ' Text.Whitespace 'break' Keyword ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n ' Text.Whitespace 'end' Keyword ';' Operator '\n ' Text.Whitespace 'LeaveCriticalSection' Name '(' Punctuation 'FCritSect' Name ')' Punctuation ';' Operator '\n ' Text.Whitespace 'ReqSize' Name ' ' Text.Whitespace ':' Operator '=' Operator ' ' Text.Whitespace 'PrivSize' Name ';' Operator '\n' Text.Whitespace 'end' Keyword ';' Operator '\n\n' Text.Whitespace 'end' Keyword '.' Operator '\n' Text.Whitespace