summaryrefslogtreecommitdiff
path: root/tests/examplefiles/delphi/example.pas.output
diff options
context:
space:
mode:
authorOleh Prypin <oleh@pryp.in>2021-01-20 10:48:45 +0100
committerGitHub <noreply@github.com>2021-01-20 10:48:45 +0100
commit6f4309217326430145564ae8b1bb393ea684f39f (patch)
treebf4025a5e709426dc927c4afc4fd2286f8450ed9 /tests/examplefiles/delphi/example.pas.output
parentf0445be718da83541ea3401aad882f3937147263 (diff)
downloadpygments-git-6f4309217326430145564ae8b1bb393ea684f39f.tar.gz
Also add auto-updatable output-based tests to examplefiles (#1689)
Co-authored-by: Georg Brandl <georg@python.org>
Diffstat (limited to 'tests/examplefiles/delphi/example.pas.output')
-rw-r--r--tests/examplefiles/delphi/example.pas.output23410
1 files changed, 23410 insertions, 0 deletions
diff --git a/tests/examplefiles/delphi/example.pas.output b/tests/examplefiles/delphi/example.pas.output
new file mode 100644
index 00000000..71956db5
--- /dev/null
+++ b/tests/examplefiles/delphi/example.pas.output
@@ -0,0 +1,23410 @@
+'// vim:ft=pascal' Comment.Single
+'\n\n' Text
+
+'unit' Keyword
+' ' Text
+'YTools' Name
+';' Operator
+'\n\n' Text
+
+'{===============================================================================\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
+
+'interface' Keyword
+'\n\n' Text
+
+'uses' Keyword
+'\n ' Text
+'Windows' Name
+',' Operator
+' ' Text
+'SysUtils' Name
+',' Operator
+' ' Text
+'Classes' Name
+',' Operator
+' ' Text
+'YTypes' Name
+';' Operator
+'\n\n' Text
+
+'const' Keyword
+'\n ' Text
+'BackSpace' Name
+' ' Text
+'=' Operator
+' ' Text
+'#8' Literal.String.Char
+';' Operator
+'\n ' Text
+'Tab' Name
+' ' Text
+'=' Operator
+' ' Text
+'#9' Literal.String.Char
+';' Operator
+'\n ' Text
+'LF' Name
+' ' Text
+'=' Operator
+' ' Text
+'#10' Literal.String.Char
+';' Operator
+' ' Text
+'//Line Feed' Comment.Single
+'\n ' Text
+'CR' Name
+' ' Text
+'=' Operator
+' ' Text
+'#13' Literal.String.Char
+';' Operator
+' ' Text
+'//Carriage Return' Comment.Single
+'\n ' Text
+'Space' Name
+' ' Text
+'=' Operator
+' ' Text
+'#32' Literal.String.Char
+';' Operator
+'\n ' Text
+'EOLChars' Name
+' ' Text
+'=' Operator
+' ' Text
+'[' Punctuation
+'CR' Name
+',' Operator
+' ' Text
+'LF' Name
+']' Punctuation
+';' Operator
+'\n' Text
+
+'{$IFNDEF VER140}' Comment.Multiline
+'\n ' Text
+'sLineBreak' Name
+' ' Text
+'=' Operator
+' ' Text
+'#13' Literal.String.Char
+'#10' Literal.String.Char
+';' Operator
+'\n ' Text
+'SwitchChars' Name
+' ' Text
+'=' Operator
+' ' Text
+'[' Punctuation
+"'" Literal.String
+'/' Literal.String
+"'" Literal.String
+',' Operator
+' ' Text
+"'" Literal.String
+'-' Literal.String
+"'" Literal.String
+']' Punctuation
+';' Operator
+'\n' Text
+
+'{$ENDIF}' Comment.Multiline
+'\n ' Text
+'EOL' Name
+' ' Text
+'=' Operator
+' ' Text
+'sLineBreak' Name
+';' Operator
+'\n ' Text
+'MaxCard' Name
+' ' Text
+'=' Operator
+' ' Text
+'High' Name.Builtin
+'(' Punctuation
+'Cardinal' Keyword.Type
+')' Punctuation
+';' Operator
+'\n ' Text
+'AllChars' Name
+' ' Text
+'=' Operator
+' ' Text
+'[' Punctuation
+'#0' Literal.String.Char
+'.' Operator
+'.' Operator
+'#255' Literal.String.Char
+']' Punctuation
+';' Operator
+'\n ' Text
+'Alphabetical' Name
+' ' Text
+'=' Operator
+' ' Text
+'[' Punctuation
+"'" Literal.String
+'A' Literal.String
+"'" Literal.String
+'.' Operator
+'.' Operator
+"'" Literal.String
+'Z' Literal.String
+"'" Literal.String
+',' Operator
+' ' Text
+"'" Literal.String
+'a' Literal.String
+"'" Literal.String
+'.' Operator
+'.' Operator
+"'" Literal.String
+'z' Literal.String
+"'" Literal.String
+']' Punctuation
+';' Operator
+'\n ' Text
+'DecimalChars' Name
+' ' Text
+'=' Operator
+' ' Text
+'[' Punctuation
+"'" Literal.String
+'0' Literal.String
+"'" Literal.String
+'.' Operator
+'.' Operator
+"'" Literal.String
+'9' Literal.String
+"'" Literal.String
+']' Punctuation
+';' Operator
+'\n ' Text
+'AlphaNumerical' Name
+' ' Text
+'=' Operator
+' ' Text
+'Alphabetical' Name
+' ' Text
+'+' Operator
+' ' Text
+'DecimalChars' Name
+';' Operator
+'\n ' Text
+'StrangeChars' Name
+' ' Text
+'=' Operator
+' ' Text
+'[' Punctuation
+'#0' Literal.String.Char
+'.' Operator
+'.' Operator
+'#31' Literal.String.Char
+',' Operator
+' ' Text
+'#127' Literal.String.Char
+',' Operator
+' ' Text
+'#129' Literal.String.Char
+',' Operator
+' ' Text
+'#141' Literal.String.Char
+'.' Operator
+'.' Operator
+'#144' Literal.String.Char
+',' Operator
+' ' Text
+'#157' Literal.String.Char
+',' Operator
+' ' Text
+'#158' Literal.String.Char
+']' Punctuation
+';' Operator
+'\n\n ' Text
+'HexadecimalChars' Name
+' ' Text
+'=' Operator
+' ' Text
+'DecimalChars' Name
+' ' Text
+'+' Operator
+' ' Text
+'[' Punctuation
+"'" Literal.String
+'A' Literal.String
+"'" Literal.String
+'.' Operator
+'.' Operator
+"'" Literal.String
+'F' Literal.String
+"'" Literal.String
+',' Operator
+' ' Text
+"'" Literal.String
+'a' Literal.String
+"'" Literal.String
+'.' Operator
+'.' Operator
+"'" Literal.String
+'f' Literal.String
+"'" Literal.String
+']' Punctuation
+';' Operator
+'\n ' Text
+'OctalChars' Name
+' ' Text
+'=' Operator
+' ' Text
+'[' Punctuation
+"'" Literal.String
+'0' Literal.String
+"'" Literal.String
+'.' Operator
+'.' Operator
+"'" Literal.String
+'7' Literal.String
+"'" Literal.String
+']' Punctuation
+';' Operator
+'\n ' Text
+'BinaryChars' Name
+' ' Text
+'=' Operator
+' ' Text
+'[' Punctuation
+"'" Literal.String
+'0' Literal.String
+"'" Literal.String
+',' Operator
+' ' Text
+"'" Literal.String
+'1' Literal.String
+"'" Literal.String
+']' Punctuation
+';' Operator
+'\n\n ' Text
+'QuoteChars' Name
+' ' Text
+'=' Operator
+' ' Text
+'[' Punctuation
+"'" Literal.String
+"''" Literal.String.Escape
+"'" Literal.String
+',' Operator
+' ' Text
+"'" Literal.String
+'"' Literal.String
+"'" Literal.String
+']' Punctuation
+';' Operator
+'\n ' Text
+'WildCards' Name
+' ' Text
+'=' Operator
+' ' Text
+'[' Punctuation
+"'" Literal.String
+'*' Literal.String
+"'" Literal.String
+',' Operator
+' ' Text
+"'" Literal.String
+'?' Literal.String
+"'" Literal.String
+']' Punctuation
+';' Operator
+'\n ' Text
+'FileNameEnemies' Name
+' ' Text
+'=' Operator
+' ' Text
+'WildCards' Name
+' ' Text
+'+' Operator
+' ' Text
+'[' Punctuation
+"'" Literal.String
+'\\' Literal.String
+"'" Literal.String
+',' Operator
+' ' Text
+"'" Literal.String
+'/' Literal.String
+"'" Literal.String
+',' Operator
+' ' Text
+"'" Literal.String
+':' Literal.String
+"'" Literal.String
+',' Operator
+' ' Text
+"'" Literal.String
+'<' Literal.String
+"'" Literal.String
+',' Operator
+' ' Text
+"'" Literal.String
+'>' Literal.String
+"'" Literal.String
+',' Operator
+' ' Text
+"'" Literal.String
+'|' Literal.String
+"'" Literal.String
+']' Punctuation
+';' Operator
+'\n\n ' Text
+'HexChar' Name
+':' Operator
+' ' Text
+'array' Keyword
+'[' Punctuation
+'THex' Name
+']' Punctuation
+' ' Text
+'of' Keyword
+' ' Text
+'Char' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'(' Punctuation
+'\n ' Text
+"'" 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
+'LowerHexChar' Name
+':' Operator
+' ' Text
+'array' Keyword
+'[' Punctuation
+'THex' Name
+']' Punctuation
+' ' Text
+'of' Keyword
+' ' Text
+'Char' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'(' Punctuation
+'\n ' Text
+"'" 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
+'BaseNChar' Name
+':' Operator
+' ' Text
+'array' Keyword
+'[' Punctuation
+'TBaseN' Name
+']' Punctuation
+' ' Text
+'of' Keyword
+' ' Text
+'Char' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'(' Punctuation
+'\n ' Text
+"'" 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
+"'" 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
+'cYcnusOverlayColor' Name
+' ' Text
+'=' Operator
+' ' Text
+'$050001' Literal.Number.Hex
+';' Operator
+'\n\n ' Text
+'faFindEveryFile' Name
+' ' Text
+'=' Operator
+' ' Text
+'faReadOnly' Name
+' ' Text
+'+' Operator
+' ' Text
+'faHidden' Name
+' ' Text
+'+' Operator
+' ' Text
+'faSysFile' Name
+' ' Text
+'+' Operator
+' ' Text
+'faArchive' Name
+';' Operator
+'\n\n ' Text
+'platWin9x' Name
+' ' Text
+'=' Operator
+' ' Text
+'[' Punctuation
+'VER_PLATFORM_WIN32s' Name
+',' Operator
+' ' Text
+'VER_PLATFORM_WIN32_WINDOWS' Name
+']' Punctuation
+';' Operator
+'\n\n\n' Text
+
+'{ Debugging }' Comment.Multiline
+'\n' Text
+
+'procedure' Keyword
+' ' Text
+'ClearReport' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'ReportName' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+';' Operator
+'\n' Text
+
+'procedure' Keyword
+' ' Text
+'Report' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'ReportName' Name
+',' Operator
+' ' Text
+'Text' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+';' Operator
+'\n' Text
+
+'procedure' Keyword
+' ' Text
+'ReportFmt' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'ReportName' Name
+',' Operator
+' ' Text
+'Fmt' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'Args' Name
+':' Operator
+' ' Text
+'array' Keyword
+' ' Text
+'of' Keyword
+' ' Text
+'const' Keyword
+')' Punctuation
+';' Operator
+'\n\n' Text
+
+'{ Params }' Comment.Multiline
+'\n' Text
+
+'procedure' Keyword
+' ' Text
+'GetParams' Name.Function
+'(' Punctuation
+'Strings' Name
+':' Operator
+' ' Text
+'TStrings' Name
+')' Punctuation
+';' Operator
+' ' Text
+'overload' Name
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'GetParams' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'Separator' Name
+':' Operator
+' ' Text
+'string' Keyword
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+' ' Literal.String
+"'" Literal.String
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'overload' Name
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'ParamNum' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'ParamPrefixNum' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'Prefix' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'Param' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'ParamPrefix' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'Prefix' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'Switch' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'Switch' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'PrefixChars' Name
+':' Operator
+' ' Text
+'TCharSet' Name
+' ' Text
+'=' Operator
+' ' Text
+'SwitchChars' Name
+';' Operator
+'\n ' Text
+'IgnoreCase' Name
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'True' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'GetParam' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'Prefix' Name
+':' Operator
+' ' Text
+'string' Keyword
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'Default' Keyword.Pseudo
+':' Operator
+' ' Text
+'string' Keyword
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n\n' Text
+
+'{ Dirs & UserName}' Comment.Multiline
+'\n' Text
+
+'function' Keyword
+' ' Text
+'GetMyDir' Name.Function
+'(' Punctuation
+'FullPath' Name
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'False' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'WinDir' Name.Function
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'SysDir' Name.Function
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'UserName' Name.Function
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n\n' Text
+
+'{ Strings & Chars}' Comment.Multiline
+'\n' Text
+
+'function' Keyword
+' ' Text
+'FirstChar' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Char' Keyword.Type
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'LastChar' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Char' Keyword.Type
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'CharPos' Name.Function
+'(' Punctuation
+'C' Name
+':' Operator
+' ' Text
+'Char' Keyword.Type
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Offset' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'1' Literal.Number.Integer
+')' Punctuation
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+' ' Text
+'overload' Name
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'CharPos' Name.Function
+'(' Punctuation
+'C' Name
+':' Operator
+' ' Text
+'TCharSet' Name
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Offset' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'1' Literal.Number.Integer
+')' Punctuation
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+' ' Text
+'overload' Name
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'CharPosR' Name.Function
+'(' Punctuation
+'C' Name
+':' Operator
+' ' Text
+'Char' Keyword.Type
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Offset' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'-' Operator
+'1' Literal.Number.Integer
+')' Punctuation
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'PosEx' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'SubStr' Name
+',' Operator
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Offset' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'1' Literal.Number.Integer
+')' Punctuation
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'PosExText' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'SubStr' Name
+',' Operator
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Offset' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'1' Literal.Number.Integer
+')' Punctuation
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'PosExAnsiText' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'SubStr' Name
+',' Operator
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Offset' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'1' Literal.Number.Integer
+')' Punctuation
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'UntilChar' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Brake' Name
+':' Operator
+' ' Text
+'Char' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'overload' Name
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'UntilChar' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Brake' Name
+':' Operator
+' ' Text
+'TCharSet' Name
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'overload' Name
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'UntilLastChar' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Brake' Name
+':' Operator
+' ' Text
+'Char' Keyword.Type
+';' Operator
+'\n ' Text
+'IgnoreNoBrake' Name
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'True' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'FromChar' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Brake' Name
+':' Operator
+' ' Text
+'Char' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'overload' Name
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'FromChar' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Brake' Name
+':' Operator
+' ' Text
+'TCharSet' Name
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'overload' Name
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'FromLastChar' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Brake' Name
+':' Operator
+' ' Text
+'Char' Keyword.Type
+';' Operator
+'\n ' Text
+'IgnoreNoBrake' Name
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'False' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'BetweenChars' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Start' Name
+',' Operator
+' ' Text
+'Finish' Name
+':' Operator
+' ' Text
+'Char' Keyword.Type
+';' Operator
+'\n ' Text
+'Inclusive' Name
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'False' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'UntilStr' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Brake' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'FromStr' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Brake' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'StringWrap' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Width' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'LineEnd' Name
+':' Operator
+' ' Text
+'string' Keyword
+' ' Text
+'=' Operator
+' ' Text
+'EOL' Name
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n\n' Text
+
+'{ Splitting & Combining }' Comment.Multiline
+'\n' Text
+
+'function' Keyword
+' ' Text
+'Split' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+',' Operator
+' ' Text
+'Separator' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'IgnoreMultiSep' Name
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'True' Keyword
+';' Operator
+'\n ' Text
+'MinCount' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+')' Punctuation
+':' Operator
+' ' Text
+'TStrA' Name
+';' Operator
+' ' Text
+'overload' Name
+';' Operator
+'\n' Text
+
+'procedure' Keyword
+' ' Text
+'Split' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+',' Operator
+' ' Text
+'Separator' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Strings' Name
+':' Operator
+' ' Text
+'TStrings' Name
+';' Operator
+'\n ' Text
+'IgnoreMultiSep' Name
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'True' Keyword
+')' Punctuation
+';' Operator
+' ' Text
+'overload' Name
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'Split' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Separators' Name
+':' Operator
+' ' Text
+'TCharSet' Name
+';' Operator
+'\n ' Text
+'IgnoreMultiSep' Name
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'True' Keyword
+';' Operator
+' ' Text
+'MinCount' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+')' Punctuation
+':' Operator
+' ' Text
+'TStrA' Name
+';' Operator
+' ' Text
+'overload' Name
+';' Operator
+'\n\n' Text
+
+'procedure' Keyword
+' ' Text
+'TileStr' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'BrakeStart' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+' ' Text
+'BrakeEnd' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n ' Text
+'out' Name
+' ' Text
+'Left' Name
+',' Operator
+' ' Text
+'Right' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'Join' Name.Function
+'(' Punctuation
+'Strings' Name
+':' Operator
+' ' Text
+'TStrings' Name
+';' Operator
+' ' Text
+'Separator' Name
+':' Operator
+' ' Text
+'string' Keyword
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+' ' Literal.String
+"'" Literal.String
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'overload' Name
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'Join' Name.Function
+'(' Punctuation
+'StrA' Name
+':' Operator
+' ' Text
+'TStrA' Name
+';' Operator
+' ' Text
+'Separator' Name
+':' Operator
+' ' Text
+'string' Keyword
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+' ' Literal.String
+"'" Literal.String
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'overload' Name
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'MulStr' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Count' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n\n' Text
+
+'{ Strings ausrichten }' Comment.Multiline
+'\n' Text
+
+'function' Keyword
+' ' Text
+'AlignR' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Width' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+' ' Text
+'Filler' Name
+':' Operator
+' ' Text
+'Char' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+' ' Literal.String
+"'" Literal.String
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'MaxStr' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'MaxLen' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n\n' Text
+
+'{ Stringing }' Comment.Multiline
+'\n' Text
+
+'function' Keyword
+' ' Text
+'TrimAll' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'ControlChar' Name.Function
+'(' Punctuation
+'C' Name
+':' Operator
+' ' Text
+'Char' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'FriendlyChar' Name.Function
+'(' Punctuation
+'C' Name
+':' Operator
+' ' Text
+'Char' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'Char' Keyword.Type
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'FriendlyStr' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'overload' Name
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'FriendlyStr' Name.Function
+'(' Punctuation
+'a' Name
+':' Operator
+' ' Text
+'TByteA' Name
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'overload' Name
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'Quote' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Quoter' Name
+':' Operator
+' ' Text
+'Char' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+'"' Literal.String
+"'" Literal.String
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'UnQuote' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'DeQuote' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'StrNumerus' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'Value' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'Singular' Name
+',' Operator
+' ' Text
+'Plural' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n ' Text
+'const' Keyword
+' ' Text
+'Zero' Name
+':' Operator
+' ' Text
+'string' Keyword
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+'0' Literal.String
+"'" Literal.String
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'MakeStr' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'Items' Name
+':' Operator
+' ' Text
+'array' Keyword
+' ' Text
+'of' Keyword
+' ' Text
+'const' Keyword
+';' Operator
+' ' Text
+'Separator' Name
+':' Operator
+' ' Text
+'string' Keyword
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'procedure' Keyword
+' ' Text
+'ShowText' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'Items' Name
+':' Operator
+' ' Text
+'array' Keyword
+' ' Text
+'of' Keyword
+' ' Text
+'const' Keyword
+';' Operator
+' ' Text
+'Separator' Name
+':' Operator
+' ' Text
+'string' Keyword
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+')' Punctuation
+';' Operator
+'\n\n' Text
+
+'{ Delete }' Comment.Multiline
+'\n' Text
+
+'function' Keyword
+' ' Text
+'DeleteChars' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'C' Name
+':' Operator
+' ' Text
+'Char' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'overload' Name
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'DeleteChars' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'C' Name
+':' Operator
+' ' Text
+'TCharSet' Name
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'overload' Name
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'ExtractChars' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'C' Name
+':' Operator
+' ' Text
+'TCharSet' Name
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n\n' Text
+
+'{ Find }' Comment.Multiline
+'\n' Text
+
+'function' Keyword
+' ' Text
+'CharCount' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'C' Name
+':' Operator
+' ' Text
+'Char' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'CharIn' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'C' Name
+':' Operator
+' ' Text
+'Char' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+' ' Text
+'overload' Name
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'CharIn' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'C' Name
+':' Operator
+' ' Text
+'TCharSet' Name
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+' ' Text
+'overload' Name
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'StrAtPos' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Pos' Name.Builtin
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'Str' Name.Builtin
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'StrAtBegin' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+',' Operator
+' ' Text
+'Str' Name.Builtin
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'StrIn' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+',' Operator
+' ' Text
+'SubStr' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+' ' Text
+'overload' Name
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'StrIn' Name.Function
+'(' Punctuation
+'A' Name
+':' Operator
+' ' Text
+'TStrA' Name
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+' ' Text
+'overload' Name
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'StrIn' Name.Function
+'(' Punctuation
+'SL' Name
+':' Operator
+' ' Text
+'TStrings' Name
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+' ' Text
+'overload' Name
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'StrIndex' Name.Function
+'(' Punctuation
+'A' Name
+':' Operator
+' ' Text
+'TStrA' Name
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+' ' Text
+'overload' Name
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'StrIndex' Name.Function
+'(' Punctuation
+'SL' Name
+':' Operator
+' ' Text
+'TStrings' Name
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+' ' Text
+'overload' Name
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'TextAtPos' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Pos' Name.Builtin
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'Text' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'TextAtBegin' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+',' Operator
+' ' Text
+'Text' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'TextIn' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+',' Operator
+' ' Text
+'Text' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+' ' Text
+'overload' Name
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'TextIn' Name.Function
+'(' Punctuation
+'A' Name
+':' Operator
+' ' Text
+'TStrA' Name
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'Text' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+' ' Text
+'overload' Name
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'TextIn' Name.Function
+'(' Punctuation
+'SL' Name
+':' Operator
+' ' Text
+'TStrings' Name
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'Text' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+' ' Text
+'overload' Name
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'TextIndex' Name.Function
+'(' Punctuation
+'A' Name
+':' Operator
+' ' Text
+'TStrA' Name
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'Text' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+' ' Text
+'overload' Name
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'TextIndex' Name.Function
+'(' Punctuation
+'SL' Name
+':' Operator
+' ' Text
+'TStrings' Name
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'Text' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+' ' Text
+'overload' Name
+';' Operator
+'\n\n' Text
+
+'{ Replace }' Comment.Multiline
+'\n' Text
+
+'function' Keyword
+' ' Text
+'ReplaceChars' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Old' Name
+',' Operator
+' ' Text
+'New' Keyword
+':' Operator
+' ' Text
+'Char' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'overload' Name
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'ReplaceChars' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Old' Name
+':' Operator
+' ' Text
+'TCharSet' Name
+';' Operator
+' ' Text
+'New' Keyword
+':' Operator
+' ' Text
+'Char' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'overload' Name
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'Replace' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+',' Operator
+' ' Text
+'Old' Name
+',' Operator
+' ' Text
+'New' Keyword
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n\n' Text
+
+'{ TStrings }' Comment.Multiline
+'\n' Text
+
+'function' Keyword
+' ' Text
+'SLOfFile' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'FileName' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'TStringList' Name
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'ContainsEmptyLines' Name.Function
+'(' Punctuation
+'SL' Name
+':' Operator
+' ' Text
+'TStrings' Name
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'procedure' Keyword
+' ' Text
+'DeleteEmptyLines' Name.Function
+'(' Punctuation
+'SL' Name
+':' Operator
+' ' Text
+'TStrings' Name
+')' Punctuation
+';' Operator
+'\n' Text
+
+'procedure' Keyword
+' ' Text
+'DeleteCommentLines' Name.Function
+'(' Punctuation
+'SL' Name
+':' Operator
+' ' Text
+'TStrings' Name
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'CommentSign' Name
+':' Operator
+' ' Text
+'string' Keyword
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+'//' Literal.String
+"'" Literal.String
+')' Punctuation
+';' Operator
+'\n' Text
+
+'procedure' Keyword
+' ' Text
+'WriteSL' Name.Function
+'(' Punctuation
+'Strings' Name
+':' Operator
+' ' Text
+'TStrings' Name
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'Prefix' Name
+':' Operator
+' ' Text
+'string' Keyword
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'const' Keyword
+' ' Text
+'Suffix' Name
+':' Operator
+' ' Text
+'string' Keyword
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+')' Punctuation
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'FindLine' Name.Function
+'(' Punctuation
+'SL' Name
+':' Operator
+' ' Text
+'TStrings' Name
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n\n' Text
+
+'procedure' Keyword
+' ' Text
+'QuickSortSL' Name.Function
+'(' Punctuation
+'SL' Name
+':' Operator
+' ' Text
+'TStringList' Name
+')' Punctuation
+';' Operator
+'\n\n' Text
+
+'{ TStrA }' Comment.Multiline
+'\n' Text
+
+'function' Keyword
+' ' Text
+'IncStrA' Name.Function
+'(' Punctuation
+'StrA' Name
+':' Operator
+' ' Text
+'TStrA' Name
+')' Punctuation
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n\n' Text
+
+'{ TByteA }' Comment.Multiline
+'\n' Text
+
+'function' Keyword
+' ' Text
+'StrOfByteA' Name.Function
+'(' Punctuation
+'a' Name
+':' Operator
+' ' Text
+'TByteA' Name
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'ByteAOfStr' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'TByteA' Name
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'ByteAOfInt' Name.Function
+'(' Punctuation
+'i' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'TByteA' Name
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'IntOfByteA' Name.Function
+'(' Punctuation
+'A' Name
+':' Operator
+' ' Text
+'TByteA' Name
+')' Punctuation
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'ByteAOfHex' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'Hex' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'TByteA' Name
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'SameByteA' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'A' Name
+',' Operator
+' ' Text
+'B' Name
+':' Operator
+' ' Text
+'TByteA' Name
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'Reverse' Name.Function
+'(' Punctuation
+'a' Name
+':' Operator
+' ' Text
+'TByteA' Name
+')' Punctuation
+':' Operator
+' ' Text
+'TByteA' Name
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'SaveByteA' Name.Function
+'(' Punctuation
+'Data' Name
+':' Operator
+' ' Text
+'TByteA' Name
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'FileName' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Overwrite' Name
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'True' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'LoadByteA' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'FileName' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'TByteA' Name
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'Endian' Name.Function
+'(' Punctuation
+'i' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n\n' Text
+
+'{ Files }' Comment.Multiline
+'\n' Text
+
+'function' Keyword
+' ' Text
+'SizeOfFile' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'FileName' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'FileEx' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'FileName' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'AllowFolders' Name
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'False' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'LWPSolve' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'Dir' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'LWPSlash' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'Dir' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'ExtractDrive' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'FileName' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'ExtractPath' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'FileName' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'ExtractPrefix' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'FileName' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'ExtractSuffix' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'FileName' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'IsValidFileName' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'FileName' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'MakeValidFileName' Name.Function
+'(' Punctuation
+'FileName' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'Default' Keyword.Pseudo
+':' Operator
+' ' Text
+'string' Keyword
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+'File' Literal.String
+"'" Literal.String
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n\n' Text
+
+'{ Converting }' Comment.Multiline
+'\n' Text
+
+'function' Keyword
+' ' Text
+'IsValidInteger' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'IsValidCardinal' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'StrOfBool' Name.Function
+'(' Punctuation
+'flag' Name
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'TrueStr' Name
+':' Operator
+' ' Text
+'string' Keyword
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+'True' Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'const' Keyword
+' ' Text
+'FalseStr' Name
+':' Operator
+' ' Text
+'string' Keyword
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+'False' Literal.String
+"'" Literal.String
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'StrOfInt' Name.Function
+'(' Punctuation
+'i' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'CardOfStr' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Cardinal' Keyword.Type
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'HexOrd' Name.Function
+'(' Punctuation
+'Hex' Name
+':' Operator
+' ' Text
+'Char' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'THex' Name
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'ByteOfHex' Name.Function
+'(' Punctuation
+'Hex' Name
+':' Operator
+' ' Text
+'THexByteStr' Name
+')' Punctuation
+':' Operator
+' ' Text
+'Byte' Keyword.Type
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'DecOfHex' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'Hex' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'HexOfByte' Name.Function
+'(' Punctuation
+'b' Name
+':' Operator
+' ' Text
+'Byte' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'THexByteStr' Name
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'HexOfCard' Name.Function
+'(' Punctuation
+'i' Name
+':' Operator
+' ' Text
+'Cardinal' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'overload' Name
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'HexOfCard' Name.Function
+'(' Punctuation
+'i' Name
+':' Operator
+' ' Text
+'Cardinal' Keyword.Type
+';' Operator
+' ' Text
+'Digits' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'overload' Name
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'PascalHexArray' Name.Function
+'(' Punctuation
+'a' Name
+':' Operator
+' ' Text
+'TByteA' Name
+';' Operator
+' ' Text
+'Name' Keyword.Pseudo
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'HexOfByteA' Name.Function
+'(' Punctuation
+'a' Name
+':' Operator
+' ' Text
+'TByteA' Name
+';' Operator
+' ' Text
+'Blocks' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'1' Literal.Number.Integer
+';' Operator
+'\n ' Text
+'const' Keyword
+' ' Text
+'Splitter' Name
+':' Operator
+' ' Text
+'string' Keyword
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+' ' Literal.String
+"'" Literal.String
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'BinOfByteA' Name.Function
+'(' Punctuation
+'a' Name
+':' Operator
+' ' Text
+'TByteA' Name
+';' Operator
+' ' Text
+'Blocks' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'4' Literal.Number.Integer
+';' Operator
+'\n ' Text
+'const' Keyword
+' ' Text
+'Splitter' Name
+':' Operator
+' ' Text
+'string' Keyword
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+' ' Literal.String
+"'" Literal.String
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'CardOfHex' Name.Function
+'(' Punctuation
+'Hex' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Cardinal' Keyword.Type
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'IntOfBin' Name.Function
+'(' Punctuation
+'Bin' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Cardinal' Keyword.Type
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'BinOfIntFill' Name.Function
+'(' Punctuation
+'n' Name
+':' Operator
+' ' Text
+'cardinal' Keyword.Type
+';' Operator
+' ' Text
+'MinCount' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'8' Literal.Number.Integer
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'BinOfInt' Name.Function
+'(' Punctuation
+'n' Name
+':' Operator
+' ' Text
+'cardinal' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'BaseNOfInt' Name.Function
+'(' Punctuation
+'I' Name
+':' Operator
+' ' Text
+'Cardinal' Keyword.Type
+';' Operator
+' ' Text
+'B' Name
+':' Operator
+' ' Text
+'TBaseN' Name
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'IntOfBaseN' Name.Function
+'(' Punctuation
+'V' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'B' Name
+':' Operator
+' ' Text
+'TBaseN' Name
+')' Punctuation
+':' Operator
+' ' Text
+'Cardinal' Keyword.Type
+';' Operator
+'\n\n' Text
+
+'{ Ranges }' Comment.Multiline
+'\n' Text
+
+'function' Keyword
+' ' Text
+'KeepIn' Name.Function
+'(' Punctuation
+'i' Name
+',' Operator
+' ' Text
+'Bottom' Name
+',' Operator
+' ' Text
+'Top' Name
+':' Operator
+' ' Text
+'Variant' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'Variant' Keyword.Type
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'InRange' Name.Function
+'(' Punctuation
+'Value' Name
+',' Operator
+' ' Text
+'Bottom' Name
+',' Operator
+' ' Text
+'Top' Name
+':' Operator
+' ' Text
+'Variant' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'InStrictRange' Name.Function
+'(' Punctuation
+'Value' Name
+',' Operator
+' ' Text
+'Bottom' Name
+',' Operator
+' ' Text
+'Top' Name
+':' Operator
+' ' Text
+'Variant' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'Min' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'A' Name
+',' Operator
+' ' Text
+'B' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+' ' Text
+'overload' Name
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'Min' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'A' Name
+':' Operator
+' ' Text
+'TIntA' Name
+')' Punctuation
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+' ' Text
+'overload' Name
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'Max' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'A' Name
+',' Operator
+' ' Text
+'B' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+' ' Text
+'overload' Name
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'Max' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'A' Name
+':' Operator
+' ' Text
+'TIntA' Name
+')' Punctuation
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+' ' Text
+'overload' Name
+';' Operator
+'\n\n' Text
+
+'const' Keyword
+'\n ' Text
+'RangesSeparator' Name
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+',' Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'RangeInnerSeparator' Name
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+'-' Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'RangeInfinite' Name
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+'*' Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'RangeSpecialChars' Name
+' ' Text
+'=' Operator
+' ' Text
+'[' Punctuation
+'RangesSeparator' Name
+',' Operator
+' ' Text
+'RangeInnerSeparator' Name
+',' Operator
+' ' Text
+'RangeInfinite' Name
+']' Punctuation
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'RangesOfStr' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'TRanges' Name
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'InRanges' Name.Function
+'(' Punctuation
+'Ranges' Name
+':' Operator
+' ' Text
+'TRanges' Name
+';' Operator
+' ' Text
+'TestValue' Name
+':' Operator
+' ' Text
+'Cardinal' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'Success' Name.Function
+'(' Punctuation
+'Res' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+' ' Text
+'ResultOnSuccess' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'ERROR_SUCCESS' Name
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'Failure' Name.Function
+'(' Punctuation
+'Res' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+' ' Text
+'ResultOnSuccess' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'ERROR_SUCCESS' Name
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'ExpandString' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n\n' Text
+
+'{ Files }' Comment.Multiline
+'\n' Text
+
+'procedure' Keyword
+' ' Text
+'DeleteFiles' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'Mask' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'ScanSubDirs' Name
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'True' Keyword
+';' Operator
+'\n ' Text
+'Attributes' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'faFindEveryFile' Name
+')' Punctuation
+';' Operator
+'\n' Text
+
+'procedure' Keyword
+' ' Text
+'FileNew' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'FileName' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'DateTimeOfFileTime' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'FileTime' Name
+':' Operator
+' ' Text
+'TFileTime' Name
+')' Punctuation
+':' Operator
+' ' Text
+'TDateTime' Keyword.Type
+';' Operator
+'\n\n' Text
+
+'{ FileNames }' Comment.Multiline
+'\n' Text
+
+'function' Keyword
+' ' Text
+'GetFileNew' Name.Function
+'(' Punctuation
+'FileName' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'NoFloppyDrives' Name
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'True' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n\n' Text
+
+'{ Finding Files }' Comment.Multiline
+'\n' Text
+
+'function' Keyword
+' ' Text
+'FindAll' Name.Function
+'(' Punctuation
+'Strings' Name
+':' Operator
+' ' Text
+'TStrings' Name
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'Mask' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n ' Text
+'ScanSubDirs' Name
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'True' Keyword
+';' Operator
+' ' Text
+'Attributes' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'faFindEveryFile' Name
+';' Operator
+'\n ' Text
+'FileReturn' Name
+':' Operator
+' ' Text
+'TFileNameFunc' Name
+' ' Text
+'=' Operator
+' ' Text
+'nil' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'FindAllFirst' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'Mask' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'ScanSubDirs' Name
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'True' Keyword
+';' Operator
+'\n ' Text
+'Attributes' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'faFindEveryFile' Name
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'FullOSInfo' Name.Function
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'Win32PlatformStr' Name.Function
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'Win9x' Name.Function
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'WinNT' Name.Function
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'Win2000' Name.Function
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'function' Keyword
+' ' Text
+'WinXP' Name.Function
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n\n' Text
+
+'var' Keyword
+'\n ' Text
+'MyDir' Name
+':' Operator
+' ' Text
+'string' Keyword
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'LastSuccessRes' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Operator
+'\n \n' Text
+
+'{ Backward compatibility }' Comment.Multiline
+'\n' Text
+
+'{$IFNDEF VER130}' Comment.Multiline
+'\n' Text
+
+'function' Keyword
+' ' Text
+'SameText' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S1' Name
+',' Operator
+' ' Text
+'S2' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'{$ENDIF}' Comment.Multiline
+'\n\n' Text
+
+'implementation' Keyword
+'\n' Text
+
+'{$IFNDEF VER140}' Comment.Multiline
+'\n' Text
+
+'uses' Keyword
+' ' Text
+'FileCtrl' Name
+';' Operator
+'\n' Text
+
+'{$ENDIF}' Comment.Multiline
+'\n\n' Text
+
+'{$IFNDEF VER130}' Comment.Multiline
+'\n' Text
+
+'function' Keyword
+' ' Text
+'SameText' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S1' Name
+',' Operator
+' ' Text
+'S2' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'CompareText' Name.Builtin
+'(' Punctuation
+'S1' Name
+',' Operator
+' ' Text
+'S2' Name
+')' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n' Text
+
+'{$ENDIF}' Comment.Multiline
+'\n\n' Text
+
+'procedure' Keyword
+' ' Text
+'Report' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'ReportName' Name
+',' Operator
+' ' Text
+'Text' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'F' Name
+':' Operator
+' ' Text
+'TextFile' Keyword.Type
+';' Operator
+'\n ' Text
+'FileName' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'FileName' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'MyDir' Name
+' ' Text
+'+' Operator
+' ' Text
+'ReportName' Name
+' ' Text
+'+' Operator
+' ' Text
+"'" Literal.String
+'.rep' Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'Assign' Name
+'(' Punctuation
+'F' Name
+',' Operator
+' ' Text
+'FileName' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'try' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'not' Keyword
+' ' Text
+'FileExists' Name.Builtin
+'(' Punctuation
+'FileName' Name
+')' Punctuation
+' ' Text
+'then' Keyword
+'\n ' Text
+'Rewrite' Name.Builtin
+'(' Punctuation
+'F' Name
+')' Punctuation
+'\n ' Text
+'else' Keyword
+'\n ' Text
+'Append' Name.Builtin
+'(' Punctuation
+'F' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'WriteLn' Name.Builtin
+'(' Punctuation
+'F' Name
+',' Operator
+' ' Text
+'Text' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'finally' Keyword
+'\n ' Text
+'Close' Name.Builtin
+'(' Punctuation
+'F' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'procedure' Keyword
+' ' Text
+'ClearReport' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'ReportName' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'FileName' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'FileName' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'MyDir' Name
+' ' Text
+'+' Operator
+' ' Text
+'ReportName' Name
+' ' Text
+'+' Operator
+' ' Text
+"'" Literal.String
+'.rep' Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'DeleteFile' Name.Builtin
+'(' Punctuation
+'FileName' Name
+')' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'procedure' Keyword
+' ' Text
+'ReportFmt' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'ReportName' Name
+',' Operator
+' ' Text
+'Fmt' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'Args' Name
+':' Operator
+' ' Text
+'array' Keyword
+' ' Text
+'of' Keyword
+' ' Text
+'const' Keyword
+')' Punctuation
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Report' Name
+'(' Punctuation
+'ReportName' Name
+',' Operator
+' ' Text
+'Format' Name.Builtin
+'(' Punctuation
+'Fmt' Name
+',' Operator
+' ' Text
+'Args' Name
+'))' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'procedure' Keyword
+' ' Text
+'GetParams' Name.Function
+'(' Punctuation
+'Strings' Name
+':' Operator
+' ' Text
+'TStrings' Name
+')' Punctuation
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'P' Name
+':' Operator
+' ' Text
+'PChar' Keyword.Type
+';' Operator
+'\n ' Text
+'Param' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n\n ' Text
+'function' Keyword
+' ' Text
+'GetParamStr' Name.Function
+'(' Punctuation
+'var' Keyword
+' ' Text
+'P' Name
+':' Operator
+' ' Text
+'PChar' Keyword.Type
+';' Operator
+' ' Text
+'var' Keyword
+' ' Text
+'Param' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n ' Text
+'var' Keyword
+'\n ' Text
+'Quoted' Name
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n ' Text
+'begin' Keyword
+'\n ' Text
+'Param' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+';' Operator
+'\n\n ' Text
+'repeat' Keyword
+'\n ' Text
+'while' Keyword
+' ' Text
+'(' Punctuation
+'P' Name
+'[' Punctuation
+'0' Literal.Number.Integer
+']' Punctuation
+' ' Text
+'<' Operator
+'>' Operator
+' ' Text
+'#0' Literal.String.Char
+')' Punctuation
+' ' Text
+'and' Keyword
+' ' Text
+'(' Punctuation
+'P' Name
+'[' Punctuation
+'0' Literal.Number.Integer
+']' Punctuation
+' ' Text
+'<' Operator
+'=' Operator
+' ' Text
+"'" Literal.String
+' ' Literal.String
+"'" Literal.String
+')' Punctuation
+' ' Text
+'do' Keyword
+'\n ' Text
+'Inc' Name.Builtin
+'(' Punctuation
+'P' Name
+')' Punctuation
+';' Operator
+'\n\n ' Text
+'Quoted' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'False' Keyword
+';' Operator
+'\n ' Text
+'while' Keyword
+' ' Text
+'P' Name
+'[' Punctuation
+'0' Literal.Number.Integer
+']' Punctuation
+' ' Text
+'<' Operator
+'>' Operator
+' ' Text
+'#0' Literal.String.Char
+' ' Text
+'do' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'P' Name
+'[' Punctuation
+'0' Literal.Number.Integer
+']' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+'"' Literal.String
+"'" Literal.String
+' ' Text
+'then' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'Quoted' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'not' Keyword
+' ' Text
+'Quoted' Name
+';' Operator
+'\n ' Text
+'Inc' Name.Builtin
+'(' Punctuation
+'P' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'Continue' Keyword
+';' Operator
+' ' Text
+'end' Keyword
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'(' Punctuation
+'P' Name
+'[' Punctuation
+'0' Literal.Number.Integer
+']' Punctuation
+' ' Text
+'<' Operator
+'=' Operator
+' ' Text
+"'" Literal.String
+' ' Literal.String
+"'" Literal.String
+')' Punctuation
+' ' Text
+'and' Keyword
+' ' Text
+'not' Keyword
+' ' Text
+'Quoted' Name
+' ' Text
+'then' Keyword
+'\n ' Text
+'Break' Keyword
+';' Operator
+'\n ' Text
+'Param' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Param' Name
+' ' Text
+'+' Operator
+' ' Text
+'P' Name
+'[' Punctuation
+'0' Literal.Number.Integer
+']' Punctuation
+';' Operator
+'\n ' Text
+'Inc' Name.Builtin
+'(' Punctuation
+'P' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n ' Text
+'until' Keyword
+' ' Text
+'(' Punctuation
+'Param' Name
+' ' Text
+'<' Operator
+'>' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+')' Punctuation
+' ' Text
+'or' Keyword
+' ' Text
+'(' Punctuation
+'P' Name
+'[' Punctuation
+'0' Literal.Number.Integer
+']' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+'#0' Literal.String.Char
+')' Punctuation
+';' Operator
+'\n\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Param' Name
+' ' Text
+'<' Operator
+'>' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Strings' Name
+'.' Operator
+'Clear' Name
+';' Operator
+'\n ' Text
+'P' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'GetCommandLine' Name
+';' Operator
+'\n ' Text
+'GetParamStr' Name
+'(' Punctuation
+'P' Name
+',' Operator
+' ' Text
+'Param' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'while' Keyword
+' ' Text
+'GetParamStr' Name
+'(' Punctuation
+'P' Name
+',' Operator
+' ' Text
+'Param' Name
+')' Punctuation
+' ' Text
+'do' Keyword
+'\n ' Text
+'Strings' Name
+'.' Operator
+'Add' Name
+'(' Punctuation
+'Param' Name
+')' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'GetParams' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'Separator' Name
+':' Operator
+' ' Text
+'string' Keyword
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+' ' Literal.String
+"'" Literal.String
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'SL' Name
+':' Operator
+' ' Text
+'TStringList' Name
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'SL' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'TStringList' Name
+'.' Operator
+'Create' Name
+';' Operator
+'\n ' Text
+'GetParams' Name
+'(' Punctuation
+'SL' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Join' Name
+'(' Punctuation
+'SL' Name
+',' Operator
+' ' Text
+'Separator' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'SL' Name
+'.' Operator
+'Free' Name
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'Switch' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'Switch' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'PrefixChars' Name
+':' Operator
+' ' Text
+'TCharSet' Name
+' ' Text
+'=' Operator
+' ' Text
+'SwitchChars' Name
+';' Operator
+'\n ' Text
+'IgnoreCase' Name
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'True' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'//= SysUtils.FindCmdLineSwitch' Comment.Single
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'i' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n ' Text
+'s' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'True' Keyword
+';' Operator
+'\n\n ' Text
+'for' Keyword
+' ' Text
+'i' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'1' Literal.Number.Integer
+' ' Text
+'to' Keyword
+' ' Text
+'ParamCount' Name.Builtin
+' ' Text
+'do' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'s' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'ParamStr' Name.Builtin
+'(' Punctuation
+'i' Name
+')' Punctuation
+';' Operator
+'\n\n ' Text
+'if' Keyword
+' ' Text
+'(' Punctuation
+'s' Name
+' ' Text
+'<' Operator
+'>' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+')' Punctuation
+' ' Text
+'and' Keyword
+' ' Text
+'(' Punctuation
+'s' Name
+'[' Punctuation
+'1' Literal.Number.Integer
+']' Punctuation
+' ' Text
+'in' Keyword
+' ' Text
+'PrefixChars' Name
+')' Punctuation
+' ' Text
+'then' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+"//i know that always s <> '', but this is saver" Comment.Single
+'\n ' Text
+'s' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Copy' Name.Builtin
+'(' Punctuation
+'s' Name
+',' Operator
+' ' Text
+'2' Literal.Number.Integer
+',' Operator
+' ' Text
+'MaxInt' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'(' Punctuation
+'s' Name
+' ' Text
+'=' Operator
+' ' Text
+'Switch' Name
+')' Punctuation
+' ' Text
+'or' Keyword
+' ' Text
+'(' Punctuation
+'IgnoreCase' Name
+' ' Text
+'and' Keyword
+' ' Text
+'(' Punctuation
+'0' Literal.Number.Integer
+'=' Operator
+'AnsiCompareText' Name.Builtin
+'(' Punctuation
+'s' Name
+',' Operator
+' ' Text
+'Switch' Name
+')))' Punctuation
+' ' Text
+'then' Keyword
+'\n ' Text
+'Exit' Keyword
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'False' Keyword
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'ParamNum' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'for' Keyword
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'1' Literal.Number.Integer
+' ' Text
+'to' Keyword
+' ' Text
+'ParamCount' Name.Builtin
+' ' Text
+'do' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'0' Literal.Number.Integer
+'=' Operator
+'AnsiCompareText' Name.Builtin
+'(' Punctuation
+'ParamStr' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+')' Punctuation
+',' Operator
+' ' Text
+'S' Name
+')' Punctuation
+' ' Text
+'then' Keyword
+'\n ' Text
+'Exit' Keyword
+';' Operator
+'\n\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'ParamPrefixNum' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'Prefix' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'Len' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Len' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'Prefix' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'for' Keyword
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'1' Literal.Number.Integer
+' ' Text
+'to' Keyword
+' ' Text
+'ParamCount' Name.Builtin
+' ' Text
+'do' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'0' Literal.Number.Integer
+'=' Operator
+'AnsiCompareText' Name.Builtin
+'(' Punctuation
+'Copy' Name.Builtin
+'(' Punctuation
+'ParamStr' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+')' Punctuation
+',' Operator
+' ' Text
+'1' Literal.Number.Integer
+',' Operator
+' ' Text
+'Len' Name
+')' Punctuation
+',' Operator
+' ' Text
+'Prefix' Name
+')' Punctuation
+' ' Text
+'then' Keyword
+'\n ' Text
+'Exit' Keyword
+';' Operator
+'\n\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'Param' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'ParamNum' Name
+'(' Punctuation
+'S' Name
+')' Punctuation
+' ' Text
+'>' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'ParamPrefix' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'Prefix' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'ParamPrefixNum' Name
+'(' Punctuation
+'Prefix' Name
+')' Punctuation
+' ' Text
+'>' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'GetParam' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'Prefix' Name
+':' Operator
+' ' Text
+'string' Keyword
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'Default' Keyword.Pseudo
+':' Operator
+' ' Text
+'string' Keyword
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'i' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Default' Keyword.Pseudo
+';' Operator
+'\n\n ' Text
+'if' Keyword
+' ' Text
+'Prefix' Name
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+' ' Text
+'then' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'ParamStr' Name.Builtin
+'(' Punctuation
+'1' Literal.Number.Integer
+')' Punctuation
+';' Operator
+'\n ' Text
+'Exit' Keyword
+';' Operator
+' ' Text
+'end' Keyword
+';' Operator
+'\n\n ' Text
+'i' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'ParamPrefixNum' Name
+'(' Punctuation
+'Prefix' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'i' Name
+' ' Text
+'>' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Copy' Name.Builtin
+'(' Punctuation
+'ParamStr' Name.Builtin
+'(' Punctuation
+'i' Name
+')' Punctuation
+',' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'Prefix' Name
+')' Punctuation
+' ' Text
+'+' Operator
+' ' Text
+'1' Literal.Number.Integer
+',' Operator
+' ' Text
+'MaxInt' Name
+')' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'GetMyDir' Name.Function
+'(' Punctuation
+'FullPath' Name
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'False' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'Buffer' Name
+':' Operator
+' ' Text
+'array' Keyword
+'[' Punctuation
+'0' Literal.Number.Integer
+'.' Operator
+'.' Operator
+'260' Literal.Number.Integer
+']' Punctuation
+' ' Text
+'of' Keyword
+' ' Text
+'Char' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'SetString' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+',' Operator
+' ' Text
+'Buffer' Name
+',' Operator
+' ' Text
+'GetModuleFileName' Name.Builtin
+'(' Punctuation
+'0' Literal.Number.Integer
+',' Operator
+' ' Text
+'Buffer' Name
+',' Operator
+' ' Text
+'SizeOf' Name.Builtin
+'(' Punctuation
+'Buffer' Name
+')))' Punctuation
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'FullPath' Name
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'GetFileNew' Name
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+')' Punctuation
+';' Operator
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'ExtractPath' Name
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+')' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'WinDir' Name.Function
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'Res' Name
+':' Operator
+' ' Text
+'PChar' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+"'" Literal.String
+'\\' Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'GetMem' Name.Builtin
+'(' Punctuation
+'Res' Name
+',' Operator
+' ' Text
+'MAX_PATH' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'GetWindowsDirectory' Name
+'(' Punctuation
+'Res' Name
+',' Operator
+' ' Text
+'MAX_PATH' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Res' Name
+' ' Text
+'+' Operator
+' ' Text
+"'" Literal.String
+'\\' Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'FreeMem' Name.Builtin
+'(' Punctuation
+'Res' Name
+',' Operator
+' ' Text
+'MAX_PATH' Name
+')' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'SysDir' Name.Function
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'Res' Name
+':' Operator
+' ' Text
+'PChar' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+"'" Literal.String
+'\\' Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'GetMem' Name.Builtin
+'(' Punctuation
+'Res' Name
+',' Operator
+' ' Text
+'MAX_PATH' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'GetSystemDirectory' Name
+'(' Punctuation
+'Res' Name
+',' Operator
+' ' Text
+'MAX_PATH' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Res' Name
+' ' Text
+'+' Operator
+' ' Text
+"'" Literal.String
+'\\' Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'FreeMem' Name.Builtin
+'(' Punctuation
+'Res' Name
+',' Operator
+' ' Text
+'MAX_PATH' Name
+')' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'UserName' Name.Function
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'Len' Name
+':' Operator
+' ' Text
+'Cardinal' Keyword.Type
+';' Operator
+'\n ' Text
+'Res' Name
+':' Operator
+' ' Text
+'PChar' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'GetMem' Name.Builtin
+'(' Punctuation
+'Res' Name
+',' Operator
+' ' Text
+'MAX_PATH' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'Len' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'MAX_PATH' Name
+';' Operator
+'\n ' Text
+'GetUserName' Name
+'(' Punctuation
+'Res' Name
+',' Operator
+' ' Text
+'Len' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Res' Name
+';' Operator
+'\n ' Text
+'FreeMem' Name.Builtin
+'(' Punctuation
+'Res' Name
+',' Operator
+' ' Text
+'MAX_PATH' Name
+')' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'FirstChar' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Char' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'s' Name
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'#0' Literal.String.Char
+'\n ' Text
+'else' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'s' Name
+'[' Punctuation
+'1' Literal.Number.Integer
+']' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'LastChar' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Char' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'s' Name
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'#0' Literal.String.Char
+'\n ' Text
+'else' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'s' Name
+'[' Punctuation
+'Length' Name.Builtin
+'(' Punctuation
+'s' Name
+')]' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'CharPos' Name.Function
+'(' Punctuation
+'C' Name
+':' Operator
+' ' Text
+'Char' Keyword.Type
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Offset' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'1' Literal.Number.Integer
+')' Punctuation
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'MaxPosToSearch' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Offset' Name
+';' Operator
+'\n ' Text
+'MaxPosToSearch' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'S' Name
+')' Punctuation
+';' Operator
+'\n\n ' Text
+'while' Keyword
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'<' Operator
+'=' Operator
+' ' Text
+'MaxPosToSearch' Name
+' ' Text
+'do' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'S' Name
+'[' Punctuation
+'Result' Name.Builtin.Pseudo
+']' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+'C' Name
+' ' Text
+'then' Keyword
+'\n ' Text
+'Exit' Keyword
+';' Operator
+'\n ' Text
+'Inc' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+')' Punctuation
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'CharPos' Name.Function
+'(' Punctuation
+'C' Name
+':' Operator
+' ' Text
+'TCharSet' Name
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Offset' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'1' Literal.Number.Integer
+')' Punctuation
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'MaxPosToSearch' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Offset' Name
+';' Operator
+'\n ' Text
+'MaxPosToSearch' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'S' Name
+')' Punctuation
+';' Operator
+'\n\n ' Text
+'while' Keyword
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'<' Operator
+'=' Operator
+' ' Text
+'MaxPosToSearch' Name
+' ' Text
+'do' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'S' Name
+'[' Punctuation
+'Result' Name.Builtin.Pseudo
+']' Punctuation
+' ' Text
+'in' Keyword
+' ' Text
+'C' Name
+' ' Text
+'then' Keyword
+'\n ' Text
+'Exit' Keyword
+';' Operator
+'\n ' Text
+'Inc' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+')' Punctuation
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'CharPosR' Name.Function
+'(' Punctuation
+'C' Name
+':' Operator
+' ' Text
+'Char' Keyword.Type
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Offset' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'-' Operator
+'1' Literal.Number.Integer
+')' Punctuation
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'Offset' Name
+' ' Text
+'<' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'S' Name
+')' Punctuation
+' ' Text
+'+' Operator
+' ' Text
+'1' Literal.Number.Integer
+' ' Text
+'-' Operator
+' ' Text
+'Offset' Name
+'\n ' Text
+'else' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Offset' Name
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'>' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'S' Name
+')' Punctuation
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'S' Name
+')' Punctuation
+';' Operator
+'\n\n ' Text
+'while' Keyword
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'>' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'do' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'S' Name
+'[' Punctuation
+'Result' Name.Builtin.Pseudo
+']' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+'C' Name
+' ' Text
+'then' Keyword
+'\n ' Text
+'Exit' Keyword
+';' Operator
+'\n ' Text
+'Dec' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+')' Punctuation
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'PosEx' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'SubStr' Name
+',' Operator
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Offset' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'1' Literal.Number.Integer
+')' Punctuation
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'MaxPosToSearch' Name
+',' Operator
+' ' Text
+'LenSubStr' Name
+',' Operator
+' ' Text
+'i' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'SubStr' Name
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+' ' Text
+'then' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Operator
+'\n ' Text
+'Exit' Keyword
+';' Operator
+' ' Text
+'end' Keyword
+';' Operator
+'\n\n ' Text
+'if' Keyword
+' ' Text
+'Offset' Name
+' ' Text
+'<' Operator
+' ' Text
+'1' Literal.Number.Integer
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'1' Literal.Number.Integer
+'\n ' Text
+'else' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Offset' Name
+';' Operator
+'\n\n ' Text
+'LenSubStr' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'SubStr' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'MaxPosToSearch' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'S' Name
+')' Punctuation
+' ' Text
+'-' Operator
+' ' Text
+'LenSubStr' Name
+' ' Text
+'+' Operator
+' ' Text
+'1' Literal.Number.Integer
+';' Operator
+'\n\n ' Text
+'while' Keyword
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'<' Operator
+'=' Operator
+' ' Text
+'MaxPosToSearch' Name
+' ' Text
+'do' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'S' Name
+'[' Punctuation
+'Result' Name.Builtin.Pseudo
+']' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+'SubStr' Name
+'[' Punctuation
+'1' Literal.Number.Integer
+']' Punctuation
+' ' Text
+'then' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'i' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'1' Literal.Number.Integer
+';' Operator
+'\n\n ' Text
+'while' Keyword
+' ' Text
+'(' Punctuation
+'i' Name
+' ' Text
+'<' Operator
+' ' Text
+'LenSubStr' Name
+')' Punctuation
+'\n ' Text
+'and' Keyword
+' ' Text
+'(' Punctuation
+'S' Name
+'[' Punctuation
+'Result' Name.Builtin.Pseudo
+' ' Text
+'+' Operator
+' ' Text
+'i' Name
+']' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+'SubStr' Name
+'[' Punctuation
+'i' Name
+' ' Text
+'+' Operator
+' ' Text
+'1' Literal.Number.Integer
+'])' Punctuation
+' ' Text
+'do' Keyword
+'\n ' Text
+'Inc' Name.Builtin
+'(' Punctuation
+'i' Name
+')' Punctuation
+';' Operator
+'\n\n ' Text
+'if' Keyword
+' ' Text
+'i' Name
+' ' Text
+'=' Operator
+' ' Text
+'LenSubStr' Name
+' ' Text
+'then' Keyword
+'\n ' Text
+'Exit' Keyword
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n ' Text
+'Inc' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+')' Punctuation
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'PosExText' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'SubStr' Name
+',' Operator
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Offset' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'1' Literal.Number.Integer
+')' Punctuation
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'MaxPosToSearch' Name
+',' Operator
+' ' Text
+'LenSubStr' Name
+',' Operator
+' ' Text
+'i' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n\n ' Text
+'function' Keyword
+' ' Text
+'SameChar' Name.Function
+'(' Punctuation
+'a' Name
+',' Operator
+' ' Text
+'b' Name
+':' Operator
+' ' Text
+'Char' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n ' Text
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'UpCase' Name.Builtin
+'(' Punctuation
+'a' Name
+')' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+'UpCase' Name.Builtin
+'(' Punctuation
+'b' Name
+')' Punctuation
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'SubStr' Name
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+' ' Text
+'then' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Operator
+'\n ' Text
+'Exit' Keyword
+';' Operator
+' ' Text
+'end' Keyword
+';' Operator
+'\n\n ' Text
+'if' Keyword
+' ' Text
+'Offset' Name
+' ' Text
+'<' Operator
+' ' Text
+'1' Literal.Number.Integer
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'1' Literal.Number.Integer
+'\n ' Text
+'else' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Offset' Name
+';' Operator
+'\n\n ' Text
+'LenSubStr' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'SubStr' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'MaxPosToSearch' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'S' Name
+')' Punctuation
+' ' Text
+'-' Operator
+' ' Text
+'LenSubStr' Name
+' ' Text
+'+' Operator
+' ' Text
+'1' Literal.Number.Integer
+';' Operator
+'\n\n ' Text
+'while' Keyword
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'<' Operator
+'=' Operator
+' ' Text
+'MaxPosToSearch' Name
+' ' Text
+'do' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'SameChar' Name
+'(' Punctuation
+'S' Name
+'[' Punctuation
+'Result' Name.Builtin.Pseudo
+']' Punctuation
+',' Operator
+' ' Text
+'SubStr' Name
+'[' Punctuation
+'1' Literal.Number.Integer
+'])' Punctuation
+' ' Text
+'then' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'i' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'1' Literal.Number.Integer
+';' Operator
+'\n\n ' Text
+'while' Keyword
+' ' Text
+'(' Punctuation
+'i' Name
+' ' Text
+'<' Operator
+' ' Text
+'LenSubStr' Name
+')' Punctuation
+'\n ' Text
+'and' Keyword
+' ' Text
+'(' Punctuation
+'SameChar' Name
+'(' Punctuation
+'S' Name
+'[' Punctuation
+'Result' Name.Builtin.Pseudo
+' ' Text
+'+' Operator
+' ' Text
+'i' Name
+']' Punctuation
+',' Operator
+' ' Text
+'SubStr' Name
+'[' Punctuation
+'i' Name
+' ' Text
+'+' Operator
+' ' Text
+'1' Literal.Number.Integer
+']))' Punctuation
+' ' Text
+'do' Keyword
+'\n ' Text
+'Inc' Name.Builtin
+'(' Punctuation
+'i' Name
+')' Punctuation
+';' Operator
+'\n\n ' Text
+'if' Keyword
+' ' Text
+'i' Name
+' ' Text
+'=' Operator
+' ' Text
+'LenSubStr' Name
+' ' Text
+'then' Keyword
+'\n ' Text
+'Exit' Keyword
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n ' Text
+'Inc' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+')' Punctuation
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'PosExAnsiText' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'SubStr' Name
+',' Operator
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Offset' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'1' Literal.Number.Integer
+')' Punctuation
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'MaxPosToSearch' Name
+',' Operator
+' ' Text
+'LenSubStr' Name
+',' Operator
+' ' Text
+'i' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n\n ' Text
+'function' Keyword
+' ' Text
+'SameChar' Name.Function
+'(' Punctuation
+'a' Name
+',' Operator
+' ' Text
+'b' Name
+':' Operator
+' ' Text
+'Char' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n ' Text
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'CharLower' Name
+'(' Punctuation
+'PChar' Keyword.Type
+'(' Punctuation
+'a' Name
+'))' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+'CharLower' Name
+'(' Punctuation
+'PChar' Keyword.Type
+'(' Punctuation
+'b' Name
+'))' Punctuation
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'SubStr' Name
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+' ' Text
+'then' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Operator
+'\n ' Text
+'Exit' Keyword
+';' Operator
+' ' Text
+'end' Keyword
+';' Operator
+'\n\n ' Text
+'if' Keyword
+' ' Text
+'Offset' Name
+' ' Text
+'<' Operator
+' ' Text
+'1' Literal.Number.Integer
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'1' Literal.Number.Integer
+'\n ' Text
+'else' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Offset' Name
+';' Operator
+'\n\n ' Text
+'LenSubStr' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'SubStr' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'MaxPosToSearch' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'S' Name
+')' Punctuation
+' ' Text
+'-' Operator
+' ' Text
+'LenSubStr' Name
+' ' Text
+'+' Operator
+' ' Text
+'1' Literal.Number.Integer
+';' Operator
+'\n\n ' Text
+'while' Keyword
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'<' Operator
+'=' Operator
+' ' Text
+'MaxPosToSearch' Name
+' ' Text
+'do' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'SameChar' Name
+'(' Punctuation
+'S' Name
+'[' Punctuation
+'Result' Name.Builtin.Pseudo
+']' Punctuation
+',' Operator
+' ' Text
+'SubStr' Name
+'[' Punctuation
+'1' Literal.Number.Integer
+'])' Punctuation
+' ' Text
+'then' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'i' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'1' Literal.Number.Integer
+';' Operator
+'\n\n ' Text
+'while' Keyword
+' ' Text
+'(' Punctuation
+'i' Name
+' ' Text
+'<' Operator
+' ' Text
+'LenSubStr' Name
+')' Punctuation
+'\n ' Text
+'and' Keyword
+' ' Text
+'(' Punctuation
+'SameChar' Name
+'(' Punctuation
+'S' Name
+'[' Punctuation
+'Result' Name.Builtin.Pseudo
+' ' Text
+'+' Operator
+' ' Text
+'i' Name
+']' Punctuation
+',' Operator
+' ' Text
+'SubStr' Name
+'[' Punctuation
+'i' Name
+' ' Text
+'+' Operator
+' ' Text
+'1' Literal.Number.Integer
+']))' Punctuation
+' ' Text
+'do' Keyword
+'\n ' Text
+'Inc' Name.Builtin
+'(' Punctuation
+'i' Name
+')' Punctuation
+';' Operator
+'\n\n ' Text
+'if' Keyword
+' ' Text
+'i' Name
+' ' Text
+'=' Operator
+' ' Text
+'LenSubStr' Name
+' ' Text
+'then' Keyword
+'\n ' Text
+'Exit' Keyword
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n ' Text
+'Inc' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+')' Punctuation
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'UntilChar' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Brake' Name
+':' Operator
+' ' Text
+'Char' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'p' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'p' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'CharPos' Name
+'(' Punctuation
+'Brake' Name
+',' Operator
+' ' Text
+'S' Name
+')' Punctuation
+';' Operator
+'\n\n ' Text
+'if' Keyword
+' ' Text
+'p' Name
+' ' Text
+'>' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Copy' Name.Builtin
+'(' Punctuation
+'S' Name
+',' Operator
+' ' Text
+'1' Literal.Number.Integer
+',' Operator
+' ' Text
+'p' Name
+' ' Text
+'-' Operator
+' ' Text
+'1' Literal.Number.Integer
+')' Punctuation
+'\n ' Text
+'else' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'S' Name
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'UntilChar' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Brake' Name
+':' Operator
+' ' Text
+'TCharSet' Name
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'p' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'p' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'CharPos' Name
+'(' Punctuation
+'Brake' Name
+',' Operator
+' ' Text
+'S' Name
+')' Punctuation
+';' Operator
+'\n\n ' Text
+'if' Keyword
+' ' Text
+'p' Name
+' ' Text
+'>' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Copy' Name.Builtin
+'(' Punctuation
+'S' Name
+',' Operator
+' ' Text
+'1' Literal.Number.Integer
+',' Operator
+' ' Text
+'p' Name
+' ' Text
+'-' Operator
+' ' Text
+'1' Literal.Number.Integer
+')' Punctuation
+'\n ' Text
+'else' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'S' Name
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'UntilLastChar' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Brake' Name
+':' Operator
+' ' Text
+'Char' Keyword.Type
+';' Operator
+'\n ' Text
+'IgnoreNoBrake' Name
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'True' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'p' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'p' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'CharPosR' Name
+'(' Punctuation
+'Brake' Name
+',' Operator
+' ' Text
+'S' Name
+')' Punctuation
+';' Operator
+'\n\n ' Text
+'if' Keyword
+' ' Text
+'p' Name
+' ' Text
+'>' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Copy' Name.Builtin
+'(' Punctuation
+'S' Name
+',' Operator
+' ' Text
+'1' Literal.Number.Integer
+',' Operator
+' ' Text
+'p' Name
+' ' Text
+'-' Operator
+' ' Text
+'1' Literal.Number.Integer
+')' Punctuation
+'\n ' Text
+'else' Keyword
+' ' Text
+'if' Keyword
+' ' Text
+'IgnoreNoBrake' Name
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'S' Name
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'FromChar' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Brake' Name
+':' Operator
+' ' Text
+'Char' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'p' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'p' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'CharPos' Name
+'(' Punctuation
+'Brake' Name
+',' Operator
+' ' Text
+'S' Name
+')' Punctuation
+';' Operator
+'\n\n ' Text
+'if' Keyword
+' ' Text
+'p' Name
+' ' Text
+'>' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Copy' Name.Builtin
+'(' Punctuation
+'S' Name
+',' Operator
+' ' Text
+'p' Name
+' ' Text
+'+' Operator
+' ' Text
+'1' Literal.Number.Integer
+',' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'S' Name
+')' Punctuation
+' ' Text
+'-' Operator
+' ' Text
+'p' Name
+')' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'FromChar' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Brake' Name
+':' Operator
+' ' Text
+'TCharSet' Name
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'p' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'p' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'CharPos' Name
+'(' Punctuation
+'Brake' Name
+',' Operator
+' ' Text
+'S' Name
+')' Punctuation
+';' Operator
+'\n\n ' Text
+'if' Keyword
+' ' Text
+'p' Name
+' ' Text
+'>' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Copy' Name.Builtin
+'(' Punctuation
+'S' Name
+',' Operator
+' ' Text
+'p' Name
+' ' Text
+'+' Operator
+' ' Text
+'1' Literal.Number.Integer
+',' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'S' Name
+')' Punctuation
+' ' Text
+'-' Operator
+' ' Text
+'p' Name
+')' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'FromLastChar' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Brake' Name
+':' Operator
+' ' Text
+'Char' Keyword.Type
+';' Operator
+'\n ' Text
+'IgnoreNoBrake' Name
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'False' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'p' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'p' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'CharPosR' Name
+'(' Punctuation
+'Brake' Name
+',' Operator
+' ' Text
+'S' Name
+')' Punctuation
+';' Operator
+'\n\n ' Text
+'if' Keyword
+' ' Text
+'p' Name
+' ' Text
+'>' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Copy' Name.Builtin
+'(' Punctuation
+'S' Name
+',' Operator
+' ' Text
+'p' Name
+' ' Text
+'+' Operator
+' ' Text
+'1' Literal.Number.Integer
+',' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'S' Name
+')' Punctuation
+' ' Text
+'-' Operator
+' ' Text
+'p' Name
+')' Punctuation
+'\n ' Text
+'else' Keyword
+' ' Text
+'if' Keyword
+' ' Text
+'IgnoreNoBrake' Name
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'S' Name
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'BetweenChars' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Start' Name
+',' Operator
+' ' Text
+'Finish' Name
+':' Operator
+' ' Text
+'Char' Keyword.Type
+';' Operator
+'\n ' Text
+'Inclusive' Name
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'False' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'p' Name
+',' Operator
+' ' Text
+'fin' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+';' Operator
+'\n\n ' Text
+'p' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'CharPos' Name
+'(' Punctuation
+'Start' Name
+',' Operator
+' ' Text
+'S' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'p' Name
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'then' Keyword
+'\n ' Text
+'Exit' Keyword
+';' Operator
+'\n\n ' Text
+'fin' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'CharPos' Name
+'(' Punctuation
+'Finish' Name
+',' Operator
+' ' Text
+'S' Name
+',' Operator
+' ' Text
+'p' Name
+' ' Text
+'+' Operator
+' ' Text
+'1' Literal.Number.Integer
+')' Punctuation
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'fin' Name
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'then' Keyword
+'\n ' Text
+'Exit' Keyword
+';' Operator
+'\n\n ' Text
+'if' Keyword
+' ' Text
+'not' Keyword
+' ' Text
+'Inclusive' Name
+' ' Text
+'then' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'Inc' Name.Builtin
+'(' Punctuation
+'p' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'Dec' Name.Builtin
+'(' Punctuation
+'fin' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Copy' Name.Builtin
+'(' Punctuation
+'S' Name
+',' Operator
+' ' Text
+'p' Name
+',' Operator
+' ' Text
+'fin' Name
+' ' Text
+'-' Operator
+' ' Text
+'p' Name
+' ' Text
+'+' Operator
+' ' Text
+'1' Literal.Number.Integer
+')' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'UntilStr' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Brake' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'p' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'Brake' Name
+')' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+'1' Literal.Number.Integer
+' ' Text
+'then' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'UntilChar' Name
+'(' Punctuation
+'S' Name
+',' Operator
+' ' Text
+'Brake' Name
+'[' Punctuation
+'1' Literal.Number.Integer
+'])' Punctuation
+';' Operator
+'\n ' Text
+'Exit' Keyword
+';' Operator
+' ' Text
+'end' Keyword
+';' Operator
+'\n\n ' Text
+'p' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'PosEx' Name
+'(' Punctuation
+'Brake' Name
+',' Operator
+' ' Text
+'S' Name
+')' Punctuation
+';' Operator
+'\n\n ' Text
+'if' Keyword
+' ' Text
+'p' Name
+' ' Text
+'>' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Copy' Name.Builtin
+'(' Punctuation
+'S' Name
+',' Operator
+' ' Text
+'1' Literal.Number.Integer
+',' Operator
+' ' Text
+'p' Name
+' ' Text
+'-' Operator
+' ' Text
+'1' Literal.Number.Integer
+')' Punctuation
+'\n ' Text
+'else' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'S' Name
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'FromStr' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Brake' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'p' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'Brake' Name
+')' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+'1' Literal.Number.Integer
+' ' Text
+'then' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'FromChar' Name
+'(' Punctuation
+'S' Name
+',' Operator
+' ' Text
+'Brake' Name
+'[' Punctuation
+'1' Literal.Number.Integer
+'])' Punctuation
+';' Operator
+'\n ' Text
+'Exit' Keyword
+';' Operator
+' ' Text
+'end' Keyword
+';' Operator
+'\n\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'p' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'PosEx' Name
+'(' Punctuation
+'Brake' Name
+',' Operator
+' ' Text
+'s' Name
+')' Punctuation
+';' Operator
+'\n\n ' Text
+'if' Keyword
+' ' Text
+'p' Name
+' ' Text
+'>' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'then' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'Inc' Name.Builtin
+'(' Punctuation
+'p' Name
+',' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'Brake' Name
+'))' Punctuation
+';' Operator
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Copy' Name.Builtin
+'(' Punctuation
+'S' Name
+',' Operator
+' ' Text
+'p' Name
+',' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'S' Name
+')' Punctuation
+' ' Text
+'-' Operator
+' ' Text
+'p' Name
+' ' Text
+'+' Operator
+' ' Text
+'1' Literal.Number.Integer
+')' Punctuation
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'StringWrap' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Width' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'LineEnd' Name
+':' Operator
+' ' Text
+'string' Keyword
+' ' Text
+'=' Operator
+' ' Text
+'EOL' Name
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'i' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'(' Punctuation
+'S' Name
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+')' Punctuation
+' ' Text
+'or' Keyword
+' ' Text
+'(' Punctuation
+'Width' Name
+' ' Text
+'<' Operator
+' ' Text
+'1' Literal.Number.Integer
+')' Punctuation
+' ' Text
+'then' Keyword
+'\n ' Text
+'Exit' Keyword
+';' Operator
+'\n\n ' Text
+'i' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'1' Literal.Number.Integer
+';' Operator
+'\n ' Text
+'while' Keyword
+' ' Text
+'True' Keyword
+' ' Text
+'do' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'+' Operator
+' ' Text
+'Copy' Name.Builtin
+'(' Punctuation
+'S' Name
+',' Operator
+' ' Text
+'i' Name
+',' Operator
+' ' Text
+'Width' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'Inc' Name.Builtin
+'(' Punctuation
+'i' Name
+',' Operator
+' ' Text
+'Width' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'i' Name
+' ' Text
+'<' Operator
+'=' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'S' Name
+')' Punctuation
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'+' Operator
+' ' Text
+'LineEnd' Name
+'\n ' Text
+'else' Keyword
+'\n ' Text
+'Exit' Keyword
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'Split' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+',' Operator
+' ' Text
+'Separator' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'IgnoreMultiSep' Name
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'True' Keyword
+';' Operator
+'\n ' Text
+'MinCount' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+')' Punctuation
+':' Operator
+' ' Text
+'TStrA' Name
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'p' Name
+',' Operator
+' ' Text
+'fin' Name
+',' Operator
+' ' Text
+'SepLen' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n\n ' Text
+'procedure' Keyword
+' ' Text
+'Add' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+';' Operator
+'\n ' Text
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'IgnoreMultiSep' Name
+' ' Text
+'and' Keyword
+' ' Text
+'(' Punctuation
+'S' Name
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+')' Punctuation
+' ' Text
+'then' Keyword
+'\n ' Text
+'Exit' Keyword
+';' Operator
+'\n ' Text
+'SetLength' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+',' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+')' Punctuation
+' ' Text
+'+' Operator
+' ' Text
+'1' Literal.Number.Integer
+')' Punctuation
+';' Operator
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+'[' Punctuation
+'High' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+')]' Punctuation
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'S' Name
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'S' Name
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+' ' Text
+'then' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+')' Punctuation
+' ' Text
+'<' Operator
+' ' Text
+'MinCount' Name
+' ' Text
+'then' Keyword
+'\n ' Text
+'SetLength' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+',' Operator
+' ' Text
+'MinCount' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'Exit' Keyword
+';' Operator
+' ' Text
+'end' Keyword
+';' Operator
+'\n\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'nil' Keyword
+';' Operator
+'\n ' Text
+'SepLen' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'Separator' Name
+')' Punctuation
+';' Operator
+'\n\n ' Text
+'p' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'1' Literal.Number.Integer
+';' Operator
+'\n ' Text
+'fin' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'PosEx' Name
+'(' Punctuation
+'Separator' Name
+',' Operator
+' ' Text
+'S' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'while' Keyword
+' ' Text
+'fin' Name
+' ' Text
+'>' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'do' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'Add' Name
+'(' Punctuation
+'Copy' Name.Builtin
+'(' Punctuation
+'S' Name
+',' Operator
+' ' Text
+'p' Name
+',' Operator
+' ' Text
+'fin' Name
+' ' Text
+'-' Operator
+' ' Text
+'p' Name
+'))' Punctuation
+';' Operator
+'\n ' Text
+'p' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'fin' Name
+' ' Text
+'+' Operator
+' ' Text
+'SepLen' Name
+';' Operator
+'\n ' Text
+'fin' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'PosEx' Name
+'(' Punctuation
+'Separator' Name
+',' Operator
+' ' Text
+'S' Name
+',' Operator
+' ' Text
+'p' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n ' Text
+'Add' Name
+'(' Punctuation
+'Copy' Name.Builtin
+'(' Punctuation
+'S' Name
+',' Operator
+' ' Text
+'p' Name
+',' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'S' Name
+')' Punctuation
+' ' Text
+'-' Operator
+' ' Text
+'p' Name
+' ' Text
+'+' Operator
+' ' Text
+'1' Literal.Number.Integer
+'))' Punctuation
+';' Operator
+'\n\n ' Text
+'if' Keyword
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+')' Punctuation
+' ' Text
+'<' Operator
+' ' Text
+'MinCount' Name
+' ' Text
+'then' Keyword
+'\n ' Text
+'SetLength' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+',' Operator
+' ' Text
+'MinCount' Name
+')' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'procedure' Keyword
+' ' Text
+'Split' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+',' Operator
+' ' Text
+'Separator' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Strings' Name
+':' Operator
+' ' Text
+'TStrings' Name
+';' Operator
+'\n ' Text
+'IgnoreMultiSep' Name
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'True' Keyword
+')' Punctuation
+';' Operator
+' \n' Text
+
+'var' Keyword
+'\n ' Text
+'p' Name
+',' Operator
+' ' Text
+'fin' Name
+',' Operator
+' ' Text
+'SepLen' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n\n ' Text
+'procedure' Keyword
+' ' Text
+'Add' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+';' Operator
+'\n ' Text
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'IgnoreMultiSep' Name
+' ' Text
+'and' Keyword
+' ' Text
+'(' Punctuation
+'S' Name
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+')' Punctuation
+' ' Text
+'then' Keyword
+'\n ' Text
+'Exit' Keyword
+';' Operator
+'\n ' Text
+'Strings' Name
+'.' Operator
+'Add' Name
+'(' Punctuation
+'S' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'S' Name
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+' ' Text
+'then' Keyword
+'\n ' Text
+'Exit' Keyword
+';' Operator
+'\n\n ' Text
+'Strings' Name
+'.' Operator
+'BeginUpdate' Name
+';' Operator
+'\n ' Text
+'SepLen' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'Separator' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'p' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'1' Literal.Number.Integer
+';' Operator
+'\n ' Text
+'fin' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'PosEx' Name
+'(' Punctuation
+'Separator' Name
+',' Operator
+' ' Text
+'S' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'while' Keyword
+' ' Text
+'fin' Name
+' ' Text
+'>' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'do' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'Add' Name
+'(' Punctuation
+'Copy' Name.Builtin
+'(' Punctuation
+'S' Name
+',' Operator
+' ' Text
+'p' Name
+',' Operator
+' ' Text
+'fin' Name
+' ' Text
+'-' Operator
+' ' Text
+'p' Name
+'))' Punctuation
+';' Operator
+'\n ' Text
+'p' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'fin' Name
+' ' Text
+'+' Operator
+' ' Text
+'SepLen' Name
+';' Operator
+'\n ' Text
+'fin' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'PosEx' Name
+'(' Punctuation
+'Separator' Name
+',' Operator
+' ' Text
+'S' Name
+',' Operator
+' ' Text
+'p' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n ' Text
+'Add' Name
+'(' Punctuation
+'Copy' Name.Builtin
+'(' Punctuation
+'S' Name
+',' Operator
+' ' Text
+'p' Name
+',' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'S' Name
+')' Punctuation
+' ' Text
+'-' Operator
+' ' Text
+'p' Name
+' ' Text
+'+' Operator
+' ' Text
+'1' Literal.Number.Integer
+'))' Punctuation
+';' Operator
+'\n ' Text
+'Strings' Name
+'.' Operator
+'EndUpdate' Name
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'Split' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Separators' Name
+':' Operator
+' ' Text
+'TCharSet' Name
+';' Operator
+'\n ' Text
+'IgnoreMultiSep' Name
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'True' Keyword
+';' Operator
+' ' Text
+'MinCount' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+')' Punctuation
+':' Operator
+' ' Text
+'TStrA' Name
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'p' Name
+',' Operator
+' ' Text
+'fin' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n\n ' Text
+'procedure' Keyword
+' ' Text
+'Add' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+';' Operator
+'\n ' Text
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'IgnoreMultiSep' Name
+' ' Text
+'and' Keyword
+' ' Text
+'(' Punctuation
+'S' Name
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+')' Punctuation
+' ' Text
+'then' Keyword
+'\n ' Text
+'Exit' Keyword
+';' Operator
+'\n ' Text
+'SetLength' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+',' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+')' Punctuation
+' ' Text
+'+' Operator
+' ' Text
+'1' Literal.Number.Integer
+')' Punctuation
+';' Operator
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+'[' Punctuation
+'High' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+')]' Punctuation
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'S' Name
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'S' Name
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+' ' Text
+'then' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+')' Punctuation
+' ' Text
+'<' Operator
+' ' Text
+'MinCount' Name
+' ' Text
+'then' Keyword
+'\n ' Text
+'SetLength' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+',' Operator
+' ' Text
+'MinCount' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'Exit' Keyword
+';' Operator
+' ' Text
+'end' Keyword
+';' Operator
+'\n\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'nil' Keyword
+';' Operator
+'\n\n ' Text
+'p' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'1' Literal.Number.Integer
+';' Operator
+'\n ' Text
+'fin' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'CharPos' Name
+'(' Punctuation
+'Separators' Name
+',' Operator
+' ' Text
+'S' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'while' Keyword
+' ' Text
+'fin' Name
+' ' Text
+'>' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'do' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'Add' Name
+'(' Punctuation
+'Copy' Name.Builtin
+'(' Punctuation
+'S' Name
+',' Operator
+' ' Text
+'p' Name
+',' Operator
+' ' Text
+'fin' Name
+' ' Text
+'-' Operator
+' ' Text
+'p' Name
+'))' Punctuation
+';' Operator
+'\n ' Text
+'p' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'fin' Name
+' ' Text
+'+' Operator
+' ' Text
+'1' Literal.Number.Integer
+';' Operator
+'\n ' Text
+'fin' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'CharPos' Name
+'(' Punctuation
+'Separators' Name
+',' Operator
+' ' Text
+'S' Name
+',' Operator
+' ' Text
+'p' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n ' Text
+'Add' Name
+'(' Punctuation
+'Copy' Name.Builtin
+'(' Punctuation
+'S' Name
+',' Operator
+' ' Text
+'p' Name
+',' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'S' Name
+')' Punctuation
+' ' Text
+'-' Operator
+' ' Text
+'p' Name
+' ' Text
+'+' Operator
+' ' Text
+'1' Literal.Number.Integer
+'))' Punctuation
+';' Operator
+'\n\n ' Text
+'if' Keyword
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+')' Punctuation
+' ' Text
+'<' Operator
+' ' Text
+'MinCount' Name
+' ' Text
+'then' Keyword
+'\n ' Text
+'SetLength' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+',' Operator
+' ' Text
+'MinCount' Name
+')' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'procedure' Keyword
+' ' Text
+'TileStr' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'BrakeStart' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+' ' Text
+'BrakeEnd' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n ' Text
+'out' Name
+' ' Text
+'Left' Name
+',' Operator
+' ' Text
+'Right' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Left' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Copy' Name.Builtin
+'(' Punctuation
+'S' Name
+',' Operator
+' ' Text
+'1' Literal.Number.Integer
+',' Operator
+' ' Text
+'BrakeStart' Name
+'-' Operator
+'1' Literal.Number.Integer
+')' Punctuation
+';' Operator
+'\n ' Text
+'Right' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Copy' Name.Builtin
+'(' Punctuation
+'S' Name
+',' Operator
+' ' Text
+'BrakeEnd' Name
+' ' Text
+'+' Operator
+' ' Text
+'1' Literal.Number.Integer
+',' Operator
+' ' Text
+'MaxInt' Name
+')' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'Join' Name.Function
+'(' Punctuation
+'Strings' Name
+':' Operator
+' ' Text
+'TStrings' Name
+';' Operator
+' ' Text
+'Separator' Name
+':' Operator
+' ' Text
+'string' Keyword
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+' ' Literal.String
+"'" Literal.String
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'i' Name
+',' Operator
+' ' Text
+'imax' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'imax' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Strings' Name
+'.' Operator
+'Count' Name
+'-' Operator
+'1' Literal.Number.Integer
+';' Operator
+'\n ' Text
+'for' Keyword
+' ' Text
+'i' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'to' Keyword
+' ' Text
+'imax' Name
+' ' Text
+'do' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'+' Operator
+' ' Text
+'Strings' Name
+'[' Punctuation
+'i' Name
+']' Punctuation
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'i' Name
+' ' Text
+'<' Operator
+' ' Text
+'imax' Name
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'+' Operator
+' ' Text
+'Separator' Name
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'Join' Name.Function
+'(' Punctuation
+'StrA' Name
+':' Operator
+' ' Text
+'TStrA' Name
+';' Operator
+' ' Text
+'Separator' Name
+':' Operator
+' ' Text
+'string' Keyword
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+' ' Literal.String
+"'" Literal.String
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'overload' Name
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'i' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'for' Keyword
+' ' Text
+'i' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'to' Keyword
+' ' Text
+'High' Name.Builtin
+'(' Punctuation
+'StrA' Name
+')' Punctuation
+' ' Text
+'do' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'+' Operator
+' ' Text
+'StrA' Name
+'[' Punctuation
+'i' Name
+']' Punctuation
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'i' Name
+' ' Text
+'<' Operator
+' ' Text
+'High' Name.Builtin
+'(' Punctuation
+'StrA' Name
+')' Punctuation
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'+' Operator
+' ' Text
+'Separator' Name
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'MulStr' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Count' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'P' Name
+':' Operator
+' ' Text
+'PChar' Keyword.Type
+';' Operator
+'\n ' Text
+'Len' Name
+',' Operator
+' ' Text
+'i' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'Count' Name
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'then' Keyword
+'\n ' Text
+'Exit' Keyword
+';' Operator
+'\n\n ' Text
+'Len' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'S' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'SetLength' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+',' Operator
+' ' Text
+'Len' Name
+' ' Text
+'*' Operator
+' ' Text
+'Count' Name
+')' Punctuation
+';' Operator
+'\n\n ' Text
+'P' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Pointer' Keyword.Type
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+')' Punctuation
+';' Operator
+'\n ' Text
+'for' Keyword
+' ' Text
+'i' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'1' Literal.Number.Integer
+' ' Text
+'to' Keyword
+' ' Text
+'Count' Name
+' ' Text
+'do' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'Move' Name.Builtin
+'(' Punctuation
+'Pointer' Keyword.Type
+'(' Punctuation
+'S' Name
+')' Punctuation
+'^' Operator
+',' Operator
+' ' Text
+'P' Name
+'^' Operator
+',' Operator
+' ' Text
+'Len' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'Inc' Name.Builtin
+'(' Punctuation
+'P' Name
+',' Operator
+' ' Text
+'Len' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'AlignR' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Width' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+' ' Text
+'Filler' Name
+':' Operator
+' ' Text
+'Char' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+' ' Literal.String
+"'" Literal.String
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'MulStr' Name
+'(' Punctuation
+'Filler' Name
+',' Operator
+' ' Text
+'Width' Name
+' ' Text
+'-' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'S' Name
+'))' Punctuation
+' ' Text
+'+' Operator
+' ' Text
+'S' Name
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'MaxStr' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'MaxLen' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'Len' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Len' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'S' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'Len' Name
+' ' Text
+'<' Operator
+'=' Operator
+' ' Text
+'MaxLen' Name
+' ' Text
+'then' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'S' Name
+';' Operator
+'\n ' Text
+'Exit' Keyword
+' ' Text
+'end' Keyword
+';' Operator
+'\n\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Copy' Name.Builtin
+'(' Punctuation
+'S' Name
+',' Operator
+' ' Text
+'1' Literal.Number.Integer
+',' Operator
+' ' Text
+'MaxLen' Name
+' ' Text
+'-' Operator
+' ' Text
+'3' Literal.Number.Integer
+')' Punctuation
+' ' Text
+'+' Operator
+' ' Text
+"'" Literal.String
+'...' Literal.String
+"'" Literal.String
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'TrimAll' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'i' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'for' Keyword
+' ' Text
+'i' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'1' Literal.Number.Integer
+' ' Text
+'to' Keyword
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'S' Name
+')' Punctuation
+' ' Text
+'do' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'S' Name
+'[' Punctuation
+'i' Name
+']' Punctuation
+' ' Text
+'>' Operator
+' ' Text
+'#32' Literal.String.Char
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'+' Operator
+' ' Text
+'S' Name
+'[' Punctuation
+'i' Name
+']' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'ControlChar' Name.Function
+'(' Punctuation
+'C' Name
+':' Operator
+' ' Text
+'Char' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'C' Name
+' ' Text
+'in' Keyword
+' ' Text
+'StrangeChars' Name
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'FriendlyChar' Name.Function
+'(' Punctuation
+'C' Name
+':' Operator
+' ' Text
+'Char' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'Char' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'case' Keyword
+' ' Text
+'C' Name
+' ' Text
+'of' Keyword
+'\n ' Text
+'#0' Literal.String.Char
+':' Operator
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+"'" Literal.String
+'.' Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'#1' Literal.String.Char
+'.' Operator
+'.' Operator
+'#31' Literal.String.Char
+':' Operator
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+"'" Literal.String
+'?' Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'#255' Literal.String.Char
+':' Operator
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+"'" Literal.String
+'#' Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'else' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'C' Name
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'FriendlyStr' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'i' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'SetLength' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+',' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'S' Name
+'))' Punctuation
+';' Operator
+'\n ' Text
+'for' Keyword
+' ' Text
+'i' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'1' Literal.Number.Integer
+' ' Text
+'to' Keyword
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'S' Name
+')' Punctuation
+' ' Text
+'do' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+'[' Punctuation
+'i' Name
+']' Punctuation
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'FriendlyChar' Name
+'(' Punctuation
+'S' Name
+'[' Punctuation
+'i' Name
+'])' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'FriendlyStr' Name.Function
+'(' Punctuation
+'a' Name
+':' Operator
+' ' Text
+'TByteA' Name
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'i' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'SetLength' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+',' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'a' Name
+'))' Punctuation
+';' Operator
+'\n ' Text
+'for' Keyword
+' ' Text
+'i' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'to' Keyword
+' ' Text
+'High' Name.Builtin
+'(' Punctuation
+'a' Name
+')' Punctuation
+' ' Text
+'do' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+'[' Punctuation
+'i' Name
+' ' Text
+'+' Operator
+' ' Text
+'1' Literal.Number.Integer
+']' Punctuation
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'FriendlyChar' Name
+'(' Punctuation
+'Char' Keyword.Type
+'(' Punctuation
+'a' Name
+'[' Punctuation
+'i' Name
+']))' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'Quote' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Quoter' Name
+':' Operator
+' ' Text
+'Char' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+'"' Literal.String
+"'" Literal.String
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'S' Name
+';' Operator
+'\n\n ' Text
+'if' Keyword
+' ' Text
+'FirstChar' Name
+'(' Punctuation
+'S' Name
+')' Punctuation
+' ' Text
+'<' Operator
+'>' Operator
+' ' Text
+'Quoter' Name
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Quoter' Name
+' ' Text
+'+' Operator
+' ' Text
+'Result' Name.Builtin.Pseudo
+';' Operator
+'\n\n ' Text
+'if' Keyword
+' ' Text
+'LastChar' Name
+'(' Punctuation
+'S' Name
+')' Punctuation
+' ' Text
+'<' Operator
+'>' Operator
+' ' Text
+'Quoter' Name
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'+' Operator
+' ' Text
+'Quoter' Name
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'DeQuote' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'S' Name
+')' Punctuation
+' ' Text
+'>' Operator
+' ' Text
+'2' Literal.Number.Integer
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Copy' Name.Builtin
+'(' Punctuation
+'S' Name
+',' Operator
+' ' Text
+'2' Literal.Number.Integer
+',' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'S' Name
+')' Punctuation
+' ' Text
+'-' Operator
+' ' Text
+'2' Literal.Number.Integer
+')' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'UnQuote' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'Start' Name
+',' Operator
+' ' Text
+'Len' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Start' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'1' Literal.Number.Integer
+';' Operator
+'\n ' Text
+'Len' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'S' Name
+')' Punctuation
+';' Operator
+'\n\n ' Text
+'if' Keyword
+' ' Text
+'(' Punctuation
+'S' Name
+' ' Text
+'<' Operator
+'>' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+')' Punctuation
+' ' Text
+'and' Keyword
+' ' Text
+'(' Punctuation
+'S' Name
+'[' Punctuation
+'1' Literal.Number.Integer
+']' Punctuation
+' ' Text
+'in' Keyword
+' ' Text
+'([' Punctuation
+'#0' Literal.String.Char
+'.' Operator
+'.' Operator
+'#32' Literal.String.Char
+']' Punctuation
+' ' Text
+'+' Operator
+' ' Text
+'QuoteChars' Name
+'))' Punctuation
+' ' Text
+'then' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'(' Punctuation
+'LastChar' Name
+'(' Punctuation
+'S' Name
+')' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+'S' Name
+'[' Punctuation
+'1' Literal.Number.Integer
+'])' Punctuation
+' ' Text
+'then' Keyword
+'\n ' Text
+'Dec' Name.Builtin
+'(' Punctuation
+'Len' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'Inc' Name.Builtin
+'(' Punctuation
+'Start' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Copy' Name.Builtin
+'(' Punctuation
+'S' Name
+',' Operator
+' ' Text
+'Start' Name
+',' Operator
+' ' Text
+'Len' Name
+' ' Text
+'-' Operator
+' ' Text
+'Start' Name
+' ' Text
+'+' Operator
+' ' Text
+'1' Literal.Number.Integer
+')' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'StrNumerus' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'Value' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'Singular' Name
+',' Operator
+' ' Text
+'Plural' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n ' Text
+'const' Keyword
+' ' Text
+'Zero' Name
+':' Operator
+' ' Text
+'string' Keyword
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+'0' Literal.String
+"'" Literal.String
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'Abs' Name.Builtin
+'(' Punctuation
+'Value' Name
+')' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+'1' Literal.Number.Integer
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'IntToStr' Name.Builtin
+'(' Punctuation
+'Value' Name
+')' Punctuation
+' ' Text
+'+' Operator
+' ' Text
+"'" Literal.String
+' ' Literal.String
+"'" Literal.String
+' ' Text
+'+' Operator
+' ' Text
+'Singular' Name
+'\n ' Text
+'else' Keyword
+' ' Text
+'if' Keyword
+' ' Text
+'Value' Name
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Zero' Name
+' ' Text
+'+' Operator
+' ' Text
+"'" Literal.String
+' ' Literal.String
+"'" Literal.String
+' ' Text
+'+' Operator
+' ' Text
+'Plural' Name
+'\n ' Text
+'else' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'IntToStr' Name.Builtin
+'(' Punctuation
+'Value' Name
+')' Punctuation
+' ' Text
+'+' Operator
+' ' Text
+"'" Literal.String
+' ' Literal.String
+"'" Literal.String
+' ' Text
+'+' Operator
+' ' Text
+'Plural' Name
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'MakeStr' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'Items' Name
+':' Operator
+' ' Text
+'array' Keyword
+' ' Text
+'of' Keyword
+' ' Text
+'const' Keyword
+';' Operator
+' ' Text
+'Separator' Name
+':' Operator
+' ' Text
+'string' Keyword
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'const' Keyword
+'\n ' Text
+'BoolStrings' Name
+':' Operator
+' ' Text
+'array' Keyword
+'[' Punctuation
+'Boolean' Keyword.Type
+']' Punctuation
+' ' Text
+'of' Keyword
+' ' Text
+'string' Keyword
+' ' Text
+'=' Operator
+' ' Text
+'(' Punctuation
+"'" Literal.String
+'False' Literal.String
+"'" Literal.String
+',' Operator
+' ' Text
+"'" Literal.String
+'True' Literal.String
+"'" Literal.String
+')' Punctuation
+';' Operator
+'\n\n' Text
+
+'var' Keyword
+'\n ' Text
+'i' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n\n ' Text
+'function' Keyword
+' ' Text
+'StrOfP' Name.Function
+'(' Punctuation
+'P' Name
+':' Operator
+' ' Text
+'Pointer' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n ' Text
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'P' Name
+' ' Text
+'=' Operator
+' ' Text
+'nil' Keyword
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+"'" Literal.String
+'[nil]' Literal.String
+"'" Literal.String
+'\n ' Text
+'else' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+"'" Literal.String
+'[' Literal.String
+"'" Literal.String
+' ' Text
+'+' Operator
+' ' Text
+'IntToStr' Name.Builtin
+'(' Punctuation
+'Cardinal' Keyword.Type
+'(' Punctuation
+'P' Name
+'))' Punctuation
+' ' Text
+'+' Operator
+' ' Text
+"'" Literal.String
+']' Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n\n ' Text
+'procedure' Keyword
+' ' Text
+'Add' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+';' Operator
+'\n ' Text
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'+' Operator
+' ' Text
+'s' Name
+' ' Text
+'+' Operator
+' ' Text
+'Separator' Name
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'for' Keyword
+' ' Text
+'i' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'to' Keyword
+' ' Text
+'High' Name.Builtin
+'(' Punctuation
+'Items' Name
+')' Punctuation
+' ' Text
+'do' Keyword
+'\n ' Text
+'with' Keyword
+' ' Text
+'Items' Name
+'[' Punctuation
+'i' Name
+']' Punctuation
+' ' Text
+'do' Keyword
+'\n ' Text
+'case' Keyword
+' ' Text
+'VType' Name
+' ' Text
+'of' Keyword
+'\n ' Text
+'vtString' Name
+':' Operator
+' ' Text
+'Add' Name
+'(' Punctuation
+'VString' Name
+'^' Operator
+')' Punctuation
+';' Operator
+'\n ' Text
+'vtInteger' Name
+':' Operator
+' ' Text
+'Add' Name
+'(' Punctuation
+'IntToStr' Name.Builtin
+'(' Punctuation
+'VInteger' Name
+'))' Punctuation
+';' Operator
+'\n ' Text
+'vtBoolean' Name
+':' Operator
+' ' Text
+'Add' Name
+'(' Punctuation
+'BoolStrings' Name
+'[' Punctuation
+'VBoolean' Name
+'])' Punctuation
+';' Operator
+'\n ' Text
+'vtChar' Name
+':' Operator
+' ' Text
+'Add' Name
+'(' Punctuation
+'VChar' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'vtPChar' Name
+':' Operator
+' ' Text
+'Add' Name
+'(' Punctuation
+'VPChar' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'vtExtended' Name
+':' Operator
+' ' Text
+'Add' Name
+'(' Punctuation
+'FloatToStr' Name.Builtin
+'(' Punctuation
+'VExtended' Name
+'^' Operator
+'))' Punctuation
+';' Operator
+'\n ' Text
+'vtObject' Name
+':' Operator
+' ' Text
+'if' Keyword
+' ' Text
+'VObject' Name
+' ' Text
+'is' Keyword
+' ' Text
+'TComponent' Name
+' ' Text
+'then' Keyword
+'\n ' Text
+'Add' Name
+'(' Punctuation
+'TComponent' Name
+'(' Punctuation
+'VObject' Name
+')' Punctuation
+'.' Operator
+'Name' Name
+')' Punctuation
+'\n ' Text
+'else' Keyword
+'\n ' Text
+'Add' Name
+'(' Punctuation
+'VObject' Name
+'.' Operator
+'ClassName' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'vtClass' Name
+':' Operator
+' ' Text
+'Add' Name
+'(' Punctuation
+'VClass' Name
+'.' Operator
+'ClassName' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'vtAnsiString' Name
+':' Operator
+' ' Text
+'Add' Name
+'(' Punctuation
+'string' Keyword
+'(' Punctuation
+'VAnsiString' Name
+'))' Punctuation
+';' Operator
+'\n ' Text
+'vtCurrency' Name
+':' Operator
+' ' Text
+'Add' Name
+'(' Punctuation
+'CurrToStr' Name.Builtin
+'(' Punctuation
+'VCurrency' Name
+'^' Operator
+'))' Punctuation
+';' Operator
+'\n ' Text
+'vtInt64' Name
+':' Operator
+' ' Text
+'Add' Name
+'(' Punctuation
+'IntToStr' Name.Builtin
+'(' Punctuation
+'VInt64' Name
+'^' Operator
+'))' Punctuation
+';' Operator
+'\n ' Text
+'vtVariant' Name
+':' Operator
+' ' Text
+'Add' Name
+'(' Punctuation
+'string' Keyword
+'(' Punctuation
+'VVariant' Name
+'^' Operator
+'))' Punctuation
+';' Operator
+'\n\n ' Text
+'vtWideChar' Name
+':' Operator
+' ' Text
+'Add' Name
+'(' Punctuation
+'VWideChar' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'vtPWideChar' Name
+':' Operator
+' ' Text
+'Add' Name
+'(' Punctuation
+'VPWideChar' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'vtInterface' Name
+':' Operator
+' ' Text
+'Add' Name
+'(' Punctuation
+'StrOfP' Name
+'(' Punctuation
+'VInterface' Name
+'))' Punctuation
+';' Operator
+'\n ' Text
+'vtPointer' Name
+':' Operator
+' ' Text
+'Add' Name
+'(' Punctuation
+'StrOfP' Name
+'(' Punctuation
+'VPointer' Name
+'))' Punctuation
+';' Operator
+'\n ' Text
+'vtWideString' Name
+':' Operator
+' ' Text
+'Add' Name
+'(' Punctuation
+'WideString' Keyword.Type
+'(' Punctuation
+'VWideString' Name
+'))' Punctuation
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'<' Operator
+'>' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+' ' Text
+'then' Keyword
+'\n ' Text
+'SetLength' Name.Builtin
+'(' Punctuation
+'result' Name.Builtin.Pseudo
+',' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+')' Punctuation
+' ' Text
+'-' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'Separator' Name
+'))' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'procedure' Keyword
+' ' Text
+'ShowText' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'Items' Name
+':' Operator
+' ' Text
+'array' Keyword
+' ' Text
+'of' Keyword
+' ' Text
+'const' Keyword
+';' Operator
+' ' Text
+'Separator' Name
+':' Operator
+' ' Text
+'string' Keyword
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+')' Punctuation
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'Text' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Text' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'MakeStr' Name
+'(' Punctuation
+'Items' Name
+',' Operator
+' ' Text
+'Separator' Name
+')' Punctuation
+';' Operator
+'\n\n ' Text
+'MessageBox' Name
+'(' Punctuation
+'0' Literal.Number.Integer
+',' Operator
+' ' Text
+'PChar' Keyword.Type
+'(' Punctuation
+'Text' Name
+')' Punctuation
+',' Operator
+' ' Text
+"'" Literal.String
+'Info' Literal.String
+"'" Literal.String
+',' Operator
+' ' Text
+'MB_OK' Name
+' ' Text
+'and' Keyword
+' ' Text
+'MB_APPLMODAL' Name
+')' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'DeleteChars' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'C' Name
+':' Operator
+' ' Text
+'Char' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'i' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'for' Keyword
+' ' Text
+'i' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'1' Literal.Number.Integer
+' ' Text
+'to' Keyword
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'S' Name
+')' Punctuation
+' ' Text
+'do' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'S' Name
+'[' Punctuation
+'i' Name
+']' Punctuation
+' ' Text
+'<' Operator
+'>' Operator
+' ' Text
+'C' Name
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'+' Operator
+' ' Text
+'S' Name
+'[' Punctuation
+'i' Name
+']' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'DeleteChars' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'C' Name
+':' Operator
+' ' Text
+'TCharSet' Name
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'i' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'for' Keyword
+' ' Text
+'i' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'1' Literal.Number.Integer
+' ' Text
+'to' Keyword
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'S' Name
+')' Punctuation
+' ' Text
+'do' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'not' Keyword
+' ' Text
+'(' Punctuation
+'S' Name
+'[' Punctuation
+'i' Name
+']' Punctuation
+' ' Text
+'in' Keyword
+' ' Text
+'C' Name
+')' Punctuation
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'+' Operator
+' ' Text
+'S' Name
+'[' Punctuation
+'i' Name
+']' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'ExtractChars' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'C' Name
+':' Operator
+' ' Text
+'TCharSet' Name
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'i' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'for' Keyword
+' ' Text
+'i' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'1' Literal.Number.Integer
+' ' Text
+'to' Keyword
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'S' Name
+')' Punctuation
+' ' Text
+'do' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'S' Name
+'[' Punctuation
+'i' Name
+']' Punctuation
+' ' Text
+'in' Keyword
+' ' Text
+'C' Name
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'+' Operator
+' ' Text
+'S' Name
+'[' Punctuation
+'i' Name
+']' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'CharCount' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'C' Name
+':' Operator
+' ' Text
+'Char' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'i' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Operator
+'\n ' Text
+'for' Keyword
+' ' Text
+'i' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'1' Literal.Number.Integer
+' ' Text
+'to' Keyword
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'S' Name
+')' Punctuation
+' ' Text
+'do' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'S' Name
+'[' Punctuation
+'i' Name
+']' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+'C' Name
+' ' Text
+'then' Keyword
+'\n ' Text
+'Inc' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+')' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'StrAtPos' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Pos' Name.Builtin
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'Str' Name.Builtin
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'(' Punctuation
+'Str' Name.Builtin
+' ' Text
+'<' Operator
+'>' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+')' Punctuation
+' ' Text
+'and' Keyword
+' ' Text
+'(' Punctuation
+'Str' Name.Builtin
+' ' Text
+'=' Operator
+' ' Text
+'Copy' Name.Builtin
+'(' Punctuation
+'S' Name
+',' Operator
+' ' Text
+'Pos' Name.Builtin
+',' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'Str' Name.Builtin
+')))' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'TextAtPos' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Pos' Name.Builtin
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'Text' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'(' Punctuation
+'Text' Name
+' ' Text
+'<' Operator
+'>' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+')' Punctuation
+' ' Text
+'and' Keyword
+' ' Text
+'SameText' Name.Builtin
+'(' Punctuation
+'Text' Name
+',' Operator
+' ' Text
+'Copy' Name.Builtin
+'(' Punctuation
+'S' Name
+',' Operator
+' ' Text
+'Pos' Name.Builtin
+',' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'Text' Name
+')))' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'StrAtBegin' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+',' Operator
+' ' Text
+'Str' Name.Builtin
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'StrAtPos' Name
+'(' Punctuation
+'S' Name
+',' Operator
+' ' Text
+'1' Literal.Number.Integer
+',' Operator
+' ' Text
+'Str' Name.Builtin
+')' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'TextAtBegin' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+',' Operator
+' ' Text
+'Text' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'TextAtPos' Name
+'(' Punctuation
+'S' Name
+',' Operator
+' ' Text
+'1' Literal.Number.Integer
+',' Operator
+' ' Text
+'Text' Name
+')' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'CharIn' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'C' Name
+':' Operator
+' ' Text
+'Char' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'i' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'True' Keyword
+';' Operator
+'\n ' Text
+'for' Keyword
+' ' Text
+'i' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'1' Literal.Number.Integer
+' ' Text
+'to' Keyword
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'S' Name
+')' Punctuation
+' ' Text
+'do' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'S' Name
+'[' Punctuation
+'i' Name
+']' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+'C' Name
+' ' Text
+'then' Keyword
+' ' Text
+'Exit' Keyword
+';' Operator
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'False' Keyword
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'CharIn' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'C' Name
+':' Operator
+' ' Text
+'TCharSet' Name
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'i' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'False' Keyword
+';' Operator
+'\n ' Text
+'for' Keyword
+' ' Text
+'i' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'1' Literal.Number.Integer
+' ' Text
+'to' Keyword
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'S' Name
+')' Punctuation
+' ' Text
+'do' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'S' Name
+'[' Punctuation
+'i' Name
+']' Punctuation
+' ' Text
+'in' Keyword
+' ' Text
+'C' Name
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'then' Keyword
+'\n ' Text
+'Exit' Keyword
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'StrIn' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+',' Operator
+' ' Text
+'SubStr' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'PosEx' Name
+'(' Punctuation
+'SubStr' Name
+',' Operator
+' ' Text
+'S' Name
+')' Punctuation
+' ' Text
+'>' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'StrIn' Name.Function
+'(' Punctuation
+'SL' Name
+':' Operator
+' ' Text
+'TStrings' Name
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'i' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'False' Keyword
+';' Operator
+'\n ' Text
+'for' Keyword
+' ' Text
+'i' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'to' Keyword
+' ' Text
+'SL' Name
+'.' Operator
+'Count' Name
+'-' Operator
+'1' Literal.Number.Integer
+' ' Text
+'do' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'(' Punctuation
+'S' Name
+' ' Text
+'=' Operator
+' ' Text
+'SL' Name
+'[' Punctuation
+'i' Name
+'])' Punctuation
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'then' Keyword
+'\n ' Text
+'Exit' Keyword
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'StrIn' Name.Function
+'(' Punctuation
+'A' Name
+':' Operator
+' ' Text
+'TStrA' Name
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'i' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'False' Keyword
+';' Operator
+'\n ' Text
+'for' Keyword
+' ' Text
+'i' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Low' Name.Builtin
+'(' Punctuation
+'A' Name
+')' Punctuation
+' ' Text
+'to' Keyword
+' ' Text
+'High' Name.Builtin
+'(' Punctuation
+'A' Name
+')' Punctuation
+' ' Text
+'do' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'(' Punctuation
+'S' Name
+' ' Text
+'=' Operator
+' ' Text
+'A' Name
+'[' Punctuation
+'i' Name
+'])' Punctuation
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'then' Keyword
+'\n ' Text
+'Exit' Keyword
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'TextIn' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+',' Operator
+' ' Text
+'Text' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'PosExText' Name
+'(' Punctuation
+'Text' Name
+',' Operator
+' ' Text
+'S' Name
+')' Punctuation
+' ' Text
+'>' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'TextIn' Name.Function
+'(' Punctuation
+'SL' Name
+':' Operator
+' ' Text
+'TStrings' Name
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'Text' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'i' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'False' Keyword
+';' Operator
+'\n ' Text
+'for' Keyword
+' ' Text
+'i' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'to' Keyword
+' ' Text
+'SL' Name
+'.' Operator
+'Count' Name
+'-' Operator
+'1' Literal.Number.Integer
+' ' Text
+'do' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'SameText' Name.Builtin
+'(' Punctuation
+'Text' Name
+',' Operator
+' ' Text
+'SL' Name
+'[' Punctuation
+'i' Name
+'])' Punctuation
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'then' Keyword
+'\n ' Text
+'Exit' Keyword
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'TextIn' Name.Function
+'(' Punctuation
+'A' Name
+':' Operator
+' ' Text
+'TStrA' Name
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'Text' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'i' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'False' Keyword
+';' Operator
+'\n ' Text
+'for' Keyword
+' ' Text
+'i' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Low' Name.Builtin
+'(' Punctuation
+'A' Name
+')' Punctuation
+' ' Text
+'to' Keyword
+' ' Text
+'High' Name.Builtin
+'(' Punctuation
+'A' Name
+')' Punctuation
+' ' Text
+'do' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'SameText' Name.Builtin
+'(' Punctuation
+'Text' Name
+',' Operator
+' ' Text
+'A' Name
+'[' Punctuation
+'i' Name
+'])' Punctuation
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'then' Keyword
+'\n ' Text
+'Exit' Keyword
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'StrIndex' Name.Function
+'(' Punctuation
+'SL' Name
+':' Operator
+' ' Text
+'TStrings' Name
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'for' Keyword
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'to' Keyword
+' ' Text
+'SL' Name
+'.' Operator
+'Count' Name
+'-' Operator
+'1' Literal.Number.Integer
+' ' Text
+'do' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'S' Name
+' ' Text
+'=' Operator
+' ' Text
+'SL' Name
+'[' Punctuation
+'Result' Name.Builtin.Pseudo
+']' Punctuation
+' ' Text
+'then' Keyword
+'\n ' Text
+'Exit' Keyword
+';' Operator
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'-' Operator
+'1' Literal.Number.Integer
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'StrIndex' Name.Function
+'(' Punctuation
+'A' Name
+':' Operator
+' ' Text
+'TStrA' Name
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'for' Keyword
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Low' Name.Builtin
+'(' Punctuation
+'A' Name
+')' Punctuation
+' ' Text
+'to' Keyword
+' ' Text
+'High' Name.Builtin
+'(' Punctuation
+'A' Name
+')' Punctuation
+' ' Text
+'do' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'S' Name
+' ' Text
+'=' Operator
+' ' Text
+'A' Name
+'[' Punctuation
+'Result' Name.Builtin.Pseudo
+']' Punctuation
+' ' Text
+'then' Keyword
+'\n ' Text
+'Exit' Keyword
+';' Operator
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'-' Operator
+'1' Literal.Number.Integer
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'TextIndex' Name.Function
+'(' Punctuation
+'SL' Name
+':' Operator
+' ' Text
+'TStrings' Name
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'Text' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'for' Keyword
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'to' Keyword
+' ' Text
+'SL' Name
+'.' Operator
+'Count' Name
+'-' Operator
+'1' Literal.Number.Integer
+' ' Text
+'do' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'SameText' Name.Builtin
+'(' Punctuation
+'Text' Name
+',' Operator
+' ' Text
+'SL' Name
+'[' Punctuation
+'Result' Name.Builtin.Pseudo
+'])' Punctuation
+' ' Text
+'then' Keyword
+'\n ' Text
+'Exit' Keyword
+';' Operator
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'-' Operator
+'1' Literal.Number.Integer
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'TextIndex' Name.Function
+'(' Punctuation
+'A' Name
+':' Operator
+' ' Text
+'TStrA' Name
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'Text' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'for' Keyword
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Low' Name.Builtin
+'(' Punctuation
+'A' Name
+')' Punctuation
+' ' Text
+'to' Keyword
+' ' Text
+'High' Name.Builtin
+'(' Punctuation
+'A' Name
+')' Punctuation
+' ' Text
+'do' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'SameText' Name.Builtin
+'(' Punctuation
+'Text' Name
+',' Operator
+' ' Text
+'A' Name
+'[' Punctuation
+'Result' Name.Builtin.Pseudo
+'])' Punctuation
+' ' Text
+'then' Keyword
+'\n ' Text
+'Exit' Keyword
+';' Operator
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'-' Operator
+'1' Literal.Number.Integer
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'ReplaceChars' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Old' Name
+',' Operator
+' ' Text
+'New' Keyword
+':' Operator
+' ' Text
+'Char' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'i' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'S' Name
+';' Operator
+'\n ' Text
+'for' Keyword
+' ' Text
+'i' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'1' Literal.Number.Integer
+' ' Text
+'to' Keyword
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+')' Punctuation
+' ' Text
+'do' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'Result' Name.Builtin.Pseudo
+'[' Punctuation
+'i' Name
+']' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+'Old' Name
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+'[' Punctuation
+'i' Name
+']' Punctuation
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'New' Keyword
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'ReplaceChars' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'Old' Name
+':' Operator
+' ' Text
+'TCharSet' Name
+';' Operator
+' ' Text
+'New' Keyword
+':' Operator
+' ' Text
+'Char' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'i' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'S' Name
+';' Operator
+'\n ' Text
+'for' Keyword
+' ' Text
+'i' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'1' Literal.Number.Integer
+' ' Text
+'to' Keyword
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+')' Punctuation
+' ' Text
+'do' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'Result' Name.Builtin.Pseudo
+'[' Punctuation
+'i' Name
+']' Punctuation
+' ' Text
+'in' Keyword
+' ' Text
+'Old' Name
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+'[' Punctuation
+'i' Name
+']' Punctuation
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'New' Keyword
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'Replace' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+',' Operator
+' ' Text
+'Old' Name
+',' Operator
+' ' Text
+'New' Keyword
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'oldp' Name
+',' Operator
+' ' Text
+'ps' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'ps' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'1' Literal.Number.Integer
+';' Operator
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'while' Keyword
+' ' Text
+'True' Keyword
+' ' Text
+'do' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'oldp' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'ps' Name
+';' Operator
+'\n ' Text
+'ps' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'PosEx' Name
+'(' Punctuation
+'Old' Name
+',' Operator
+' ' Text
+'S' Name
+',' Operator
+' ' Text
+'oldp' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'ps' Name
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'then' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'+' Operator
+' ' Text
+'Copy' Name.Builtin
+'(' Punctuation
+'S' Name
+',' Operator
+' ' Text
+'oldp' Name
+',' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'S' Name
+')' Punctuation
+' ' Text
+'-' Operator
+' ' Text
+'oldp' Name
+' ' Text
+'+' Operator
+' ' Text
+'1' Literal.Number.Integer
+')' Punctuation
+';' Operator
+'\n ' Text
+'Exit' Keyword
+';' Operator
+' ' Text
+'end' Keyword
+';' Operator
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'+' Operator
+' ' Text
+'Copy' Name.Builtin
+'(' Punctuation
+'S' Name
+',' Operator
+' ' Text
+'oldp' Name
+',' Operator
+' ' Text
+'ps' Name
+' ' Text
+'-' Operator
+' ' Text
+'oldp' Name
+')' Punctuation
+' ' Text
+'+' Operator
+' ' Text
+'New' Keyword
+';' Operator
+'\n ' Text
+'Inc' Name.Builtin
+'(' Punctuation
+'ps' Name
+',' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'Old' Name
+'))' Punctuation
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'SLOfFile' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'FileName' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'TStringList' Name
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'TStringList' Name
+'.' Operator
+'Create' Name
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'FileExists' Name.Builtin
+'(' Punctuation
+'FileName' Name
+')' Punctuation
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+'.' Operator
+'LoadFromFile' Name
+'(' Punctuation
+'FileName' Name
+')' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'ContainsEmptyLines' Name.Function
+'(' Punctuation
+'SL' Name
+':' Operator
+' ' Text
+'TStrings' Name
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'StrIn' Name
+'(' Punctuation
+'SL' Name
+',' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+')' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'procedure' Keyword
+' ' Text
+'DeleteEmptyLines' Name.Function
+'(' Punctuation
+'SL' Name
+':' Operator
+' ' Text
+'TStrings' Name
+')' Punctuation
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'i' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'i' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Operator
+'\n ' Text
+'while' Keyword
+' ' Text
+'i' Name
+' ' Text
+'<' Operator
+' ' Text
+'SL' Name
+'.' Operator
+'Count' Name
+' ' Text
+'do' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'SL' Name
+'[' Punctuation
+'i' Name
+']' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+' ' Text
+'then' Keyword
+'\n ' Text
+'SL' Name
+'.' Operator
+'Delete' Name
+'(' Punctuation
+'i' Name
+')' Punctuation
+'\n ' Text
+'else' Keyword
+'\n ' Text
+'Inc' Name.Builtin
+'(' Punctuation
+'i' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'procedure' Keyword
+' ' Text
+'DeleteCommentLines' Name.Function
+'(' Punctuation
+'SL' Name
+':' Operator
+' ' Text
+'TStrings' Name
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'CommentSign' Name
+':' Operator
+' ' Text
+'string' Keyword
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+'//' Literal.String
+"'" Literal.String
+')' Punctuation
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'i' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'i' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Operator
+'\n ' Text
+'while' Keyword
+' ' Text
+'i' Name
+' ' Text
+'<' Operator
+' ' Text
+'SL' Name
+'.' Operator
+'Count' Name
+' ' Text
+'do' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'(' Punctuation
+'SL' Name
+'[' Punctuation
+'i' Name
+']' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+')' Punctuation
+' ' Text
+'or' Keyword
+' ' Text
+'(' Punctuation
+'StrAtBegin' Name
+'(' Punctuation
+'TrimLeft' Name.Builtin
+'(' Punctuation
+'SL' Name
+'[' Punctuation
+'i' Name
+'])' Punctuation
+',' Operator
+' ' Text
+'CommentSign' Name
+'))' Punctuation
+' ' Text
+'then' Keyword
+'\n ' Text
+'SL' Name
+'.' Operator
+'Delete' Name
+'(' Punctuation
+'i' Name
+')' Punctuation
+'\n ' Text
+'else' Keyword
+'\n ' Text
+'Inc' Name.Builtin
+'(' Punctuation
+'i' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'FindLine' Name.Function
+'(' Punctuation
+'SL' Name
+':' Operator
+' ' Text
+'TStrings' Name
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'for' Keyword
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'to' Keyword
+' ' Text
+'SL' Name
+'.' Operator
+'Count' Name
+'-' Operator
+'1' Literal.Number.Integer
+' ' Text
+'do' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'TextAtBegin' Name
+'(' Punctuation
+'SL' Name
+'[' Punctuation
+'Result' Name.Builtin.Pseudo
+']' Punctuation
+',' Operator
+' ' Text
+'S' Name
+')' Punctuation
+' ' Text
+'then' Keyword
+'\n ' Text
+'Exit' Keyword
+';' Operator
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'-' Operator
+'1' Literal.Number.Integer
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'procedure' Keyword
+' ' Text
+'QuickSortSL' Name.Function
+'(' Punctuation
+'SL' Name
+':' Operator
+' ' Text
+'TStringList' Name
+')' Punctuation
+';' Operator
+'\n\n ' Text
+'procedure' Keyword
+' ' Text
+'Sort' Name.Function
+'(' Punctuation
+'l' Name
+',' Operator
+' ' Text
+'r' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+')' Punctuation
+';' Operator
+'\n ' Text
+'var' Keyword
+'\n ' Text
+'i' Name
+',' Operator
+'j' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n ' Text
+'z' Name
+',' Operator
+'x' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n ' Text
+'begin' Keyword
+'\n ' Text
+'i' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'l' Name
+';' Operator
+'\n ' Text
+'j' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'r' Name
+';' Operator
+'\n ' Text
+'x' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'SL' Name
+'[(' Punctuation
+'j' Name
+' ' Text
+'+' Operator
+' ' Text
+'i' Name
+')' Punctuation
+' ' Text
+'div' Keyword
+' ' Text
+'2' Literal.Number.Integer
+']' Punctuation
+';' Operator
+'\n ' Text
+'repeat' Keyword
+'\n ' Text
+'while' Keyword
+' ' Text
+'SL' Name
+'[' Punctuation
+'i' Name
+']' Punctuation
+' ' Text
+'<' Operator
+' ' Text
+'x' Name
+' ' Text
+'do' Keyword
+' ' Text
+'Inc' Name.Builtin
+'(' Punctuation
+'i' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'while' Keyword
+' ' Text
+'SL' Name
+'[' Punctuation
+'j' Name
+']' Punctuation
+' ' Text
+'>' Operator
+' ' Text
+'x' Name
+' ' Text
+'do' Keyword
+' ' Text
+'Dec' Name.Builtin
+'(' Punctuation
+'j' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'i' Name
+' ' Text
+'<' Operator
+'=' Operator
+' ' Text
+'j' Name
+' ' Text
+'then' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'z' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'SL' Name
+'[' Punctuation
+'i' Name
+']' Punctuation
+';' Operator
+'\n ' Text
+'SL' Name
+'[' Punctuation
+'i' Name
+']' Punctuation
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'SL' Name
+'[' Punctuation
+'j' Name
+']' Punctuation
+';' Operator
+'\n ' Text
+'SL' Name
+'[' Punctuation
+'j' Name
+']' Punctuation
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'z' Name
+';' Operator
+'\n ' Text
+'Inc' Name.Builtin
+'(' Punctuation
+'i' Name
+')' Punctuation
+';' Operator
+' ' Text
+'Dec' Name.Builtin
+'(' Punctuation
+'j' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n ' Text
+'until' Keyword
+' ' Text
+'i' Name
+' ' Text
+'>' Operator
+' ' Text
+'j' Name
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'j' Name
+' ' Text
+'>' Operator
+' ' Text
+'l' Name
+' ' Text
+'then' Keyword
+' ' Text
+'Sort' Name
+'(' Punctuation
+'l' Name
+',' Operator
+' ' Text
+'j' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'i' Name
+' ' Text
+'<' Operator
+' ' Text
+'r' Name
+' ' Text
+'then' Keyword
+' ' Text
+'Sort' Name
+'(' Punctuation
+'i' Name
+',' Operator
+' ' Text
+'r' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'SL' Name
+'.' Operator
+'Count' Name
+' ' Text
+'>' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'then' Keyword
+'\n ' Text
+'Sort' Name
+'(' Punctuation
+'0' Literal.Number.Integer
+',' Operator
+' ' Text
+'SL' Name
+'.' Operator
+'Count' Name
+'-' Operator
+'1' Literal.Number.Integer
+')' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'IncStrA' Name.Function
+'(' Punctuation
+'StrA' Name
+':' Operator
+' ' Text
+'TStrA' Name
+')' Punctuation
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'SetLength' Name.Builtin
+'(' Punctuation
+'StrA' Name
+',' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'StrA' Name
+')' Punctuation
+' ' Text
+'+' Operator
+' ' Text
+'1' Literal.Number.Integer
+')' Punctuation
+';' Operator
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'High' Name.Builtin
+'(' Punctuation
+'StrA' Name
+')' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'StrOfByteA' Name.Function
+'(' Punctuation
+'a' Name
+':' Operator
+' ' Text
+'TByteA' Name
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'string' Keyword
+'(' Punctuation
+'Copy' Name.Builtin
+'(' Punctuation
+'a' Name
+',' Operator
+' ' Text
+'0' Literal.Number.Integer
+',' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'a' Name
+')))' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'ByteAOfStr' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'TByteA' Name
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'TByteA' Name
+'(' Punctuation
+'Copy' Name.Builtin
+'(' Punctuation
+'S' Name
+',' Operator
+' ' Text
+'1' Literal.Number.Integer
+',' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'s' Name
+')))' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'ByteAOfInt' Name.Function
+'(' Punctuation
+'i' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'TByteA' Name
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'SetLength' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+',' Operator
+' ' Text
+'SizeOf' Name.Builtin
+'(' Punctuation
+'Integer' Keyword.Type
+'))' Punctuation
+';' Operator
+'\n ' Text
+'Move' Name.Builtin
+'(' Punctuation
+'i' Name
+',' Operator
+' ' Text
+'Pointer' Keyword.Type
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+')' Punctuation
+'^' Operator
+',' Operator
+' ' Text
+'SizeOf' Name.Builtin
+'(' Punctuation
+'Integer' Keyword.Type
+'))' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'IntOfByteA' Name.Function
+'(' Punctuation
+'A' Name
+':' Operator
+' ' Text
+'TByteA' Name
+')' Punctuation
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Operator
+'\n ' Text
+'Move' Name.Builtin
+'(' Punctuation
+'Pointer' Keyword.Type
+'(' Punctuation
+'A' Name
+')' Punctuation
+'^' Operator
+',' Operator
+' ' Text
+'Result' Name.Builtin.Pseudo
+',' Operator
+' ' Text
+'Min' Name.Builtin
+'(' Punctuation
+'Length' Name.Builtin
+'(' Punctuation
+'A' Name
+')' Punctuation
+',' Operator
+' ' Text
+'SizeOf' Name.Builtin
+'(' Punctuation
+'Integer' Keyword.Type
+')))' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'ByteAOfHex' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'Hex' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'TByteA' Name
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'i' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n ' Text
+'h' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'h' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'ExtractChars' Name
+'(' Punctuation
+'Hex' Name
+',' Operator
+' ' Text
+'HexadecimalChars' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'SetLength' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+',' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'h' Name
+')' Punctuation
+' ' Text
+'div' Keyword
+' ' Text
+'2' Literal.Number.Integer
+')' Punctuation
+';' Operator
+'\n ' Text
+'for' Keyword
+' ' Text
+'i' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'to' Keyword
+' ' Text
+'High' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+')' Punctuation
+' ' Text
+'do' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+'[' Punctuation
+'i' Name
+']' Punctuation
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'ByteOfHex' Name
+'(' Punctuation
+'Copy' Name.Builtin
+'(' Punctuation
+'h' Name
+',' Operator
+' ' Text
+'(' Punctuation
+'i' Name
+' ' Text
+'shl' Keyword
+' ' Text
+'1' Literal.Number.Integer
+')' Punctuation
+' ' Text
+'+' Operator
+' ' Text
+'1' Literal.Number.Integer
+',' Operator
+' ' Text
+'2' Literal.Number.Integer
+'))' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'SizeOfFile' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'FileName' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'F' Name
+':' Operator
+' ' Text
+'file' Keyword
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'AssignFile' Name.Builtin
+'(' Punctuation
+'F' Name
+',' Operator
+' ' Text
+'FileName' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'{$I-}' Comment.Multiline
+'Reset' Name.Builtin
+'(' Punctuation
+'F' Name
+',' Operator
+' ' Text
+'1' Literal.Number.Integer
+')' Punctuation
+';' Operator
+'{$I+}' Comment.Multiline
+'\n ' Text
+'if' Keyword
+' ' Text
+'IOResult' Name.Builtin
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'then' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'FileSize' Name.Builtin
+'(' Punctuation
+'F' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'CloseFile' Name.Builtin
+'(' Punctuation
+'F' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'end' Keyword
+' ' Text
+'else' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'FileEx' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'FileName' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'AllowFolders' Name
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'False' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'FindData' Name
+':' Operator
+' ' Text
+'TWin32FindData' Name
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'FileName' Name
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+' ' Text
+'then' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'False' Keyword
+';' Operator
+'\n ' Text
+'Exit' Keyword
+';' Operator
+' ' Text
+'end' Keyword
+';' Operator
+'\n\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'(' Punctuation
+'AllowFolders' Name
+' ' Text
+'and' Keyword
+' ' Text
+'DirectoryExists' Name.Builtin
+'(' Punctuation
+'FileName' Name
+'))' Punctuation
+' ' Text
+'or' Keyword
+'\n ' Text
+'(' Punctuation
+'FindFirstFile' Name
+'(' Punctuation
+'PChar' Keyword.Type
+'(' Punctuation
+'FileName' Name
+')' Punctuation
+',' Operator
+' ' Text
+'FindData' Name
+')' Punctuation
+' ' Text
+'<' Operator
+'>' Operator
+' ' Text
+'INVALID_HANDLE_VALUE' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'and' Keyword
+' ' Text
+'not' Keyword
+' ' Text
+'CharIn' Name
+'(' Punctuation
+'FileName' Name
+',' Operator
+' ' Text
+'WildCards' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'and' Keyword
+' ' Text
+'(' Punctuation
+'AllowFolders' Name
+'\n ' Text
+'or' Keyword
+' ' Text
+'((' Punctuation
+'FindData' Name
+'.' Operator
+'dwFileAttributes' Name
+' ' Text
+'and' Keyword
+' ' Text
+'FILE_ATTRIBUTE_DIRECTORY' Name
+')' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+'))' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'LWPSolve' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'Dir' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'(' Punctuation
+'Dir' Name
+' ' Text
+'<' Operator
+'>' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+')' Punctuation
+' ' Text
+'and' Keyword
+' ' Text
+'(' Punctuation
+'Dir' Name
+'[' Punctuation
+'Length' Name.Builtin
+'(' Punctuation
+'Dir' Name
+')]' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+'\\' Literal.String
+"'" Literal.String
+')' Punctuation
+' ' Text
+'then' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Copy' Name.Builtin
+'(' Punctuation
+'Dir' Name
+',' Operator
+' ' Text
+'1' Literal.Number.Integer
+',' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'Dir' Name
+')' Punctuation
+' ' Text
+'-' Operator
+' ' Text
+'1' Literal.Number.Integer
+')' Punctuation
+';' Operator
+'\n ' Text
+'end' Keyword
+' ' Text
+'else' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Dir' Name
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'LWPSlash' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'Dir' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'(' Punctuation
+'Dir' Name
+' ' Text
+'<' Operator
+'>' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+')' Punctuation
+' ' Text
+'and' Keyword
+' ' Text
+'(' Punctuation
+'Dir' Name
+'[' Punctuation
+'Length' Name.Builtin
+'(' Punctuation
+'Dir' Name
+')]' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+'\\' Literal.String
+"'" Literal.String
+')' Punctuation
+' ' Text
+'then' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Copy' Name.Builtin
+'(' Punctuation
+'Dir' Name
+',' Operator
+' ' Text
+'1' Literal.Number.Integer
+',' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'Dir' Name
+'))' Punctuation
+';' Operator
+'\n ' Text
+'end' Keyword
+' ' Text
+'else' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Dir' Name
+' ' Text
+'+' Operator
+' ' Text
+"'" Literal.String
+'\\' Literal.String
+"'" Literal.String
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'ExtractDrive' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'FileName' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'(' Punctuation
+'Length' Name.Builtin
+'(' Punctuation
+'FileName' Name
+')' Punctuation
+' ' Text
+'>' Operator
+'=' Operator
+' ' Text
+'2' Literal.Number.Integer
+')' Punctuation
+' ' Text
+'and' Keyword
+' ' Text
+'(' Punctuation
+'FileName' Name
+'[' Punctuation
+'2' Literal.Number.Integer
+']' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+':' Literal.String
+"'" Literal.String
+')' Punctuation
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'UpperCase' Name.Builtin
+'(' Punctuation
+'FileName' Name
+'[' Punctuation
+'1' Literal.Number.Integer
+']' Punctuation
+' ' Text
+'+' Operator
+' ' Text
+"'" Literal.String
+':\\' Literal.String
+"'" Literal.String
+')' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'ExtractPath' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'FileName' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'p' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'p' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'CharPosR' Name
+'(' Punctuation
+"'" Literal.String
+'\\' Literal.String
+"'" Literal.String
+',' Operator
+' ' Text
+'FileName' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'P' Name
+' ' Text
+'>' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Copy' Name.Builtin
+'(' Punctuation
+'FileName' Name
+',' Operator
+' ' Text
+'1' Literal.Number.Integer
+',' Operator
+' ' Text
+'p' Name
+')' Punctuation
+'\n ' Text
+'else' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'FileName' Name
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'ExtractPrefix' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'FileName' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'UntilLastChar' Name
+'(' Punctuation
+'ExtractFileName' Name.Builtin
+'(' Punctuation
+'FileName' Name
+')' Punctuation
+',' Operator
+' ' Text
+"'" Literal.String
+'.' Literal.String
+"'" Literal.String
+')' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'ExtractSuffix' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'FileName' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'FromLastChar' Name
+'(' Punctuation
+'ExtractFileName' Name.Builtin
+'(' Punctuation
+'FileName' Name
+')' Punctuation
+',' Operator
+' ' Text
+"'" Literal.String
+'.' Literal.String
+"'" Literal.String
+')' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'SameByteA' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'A' Name
+',' Operator
+' ' Text
+'B' Name
+':' Operator
+' ' Text
+'TByteA' Name
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'(' Punctuation
+'A' Name
+' ' Text
+'=' Operator
+' ' Text
+'B' Name
+')' Punctuation
+' ' Text
+'or' Keyword
+' ' Text
+'((' Punctuation
+'Length' Name.Builtin
+'(' Punctuation
+'A' Name
+')' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'B' Name
+'))' Punctuation
+' ' Text
+'and' Keyword
+' ' Text
+'CompareMem' Name.Builtin
+'(' Punctuation
+'A' Name
+',' Operator
+' ' Text
+'B' Name
+',' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'A' Name
+')))' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'Reverse' Name.Function
+'(' Punctuation
+'A' Name
+':' Operator
+' ' Text
+'TByteA' Name
+')' Punctuation
+':' Operator
+' ' Text
+'TByteA' Name
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'i' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'SetLength' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+',' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'A' Name
+'))' Punctuation
+';' Operator
+'\n\n ' Text
+'for' Keyword
+' ' Text
+'i' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'to' Keyword
+' ' Text
+'High' Name.Builtin
+'(' Punctuation
+'A' Name
+')' Punctuation
+' ' Text
+'do' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+'[' Punctuation
+'High' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+')' Punctuation
+' ' Text
+'-' Operator
+' ' Text
+'i' Name
+']' Punctuation
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'A' Name
+'[' Punctuation
+'i' Name
+']' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'Endian' Name.Function
+'(' Punctuation
+'i' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'type' Keyword
+'\n ' Text
+'EndianArray' Name
+' ' Text
+'=' Operator
+' ' Text
+'packed' Keyword
+' ' Text
+'array' Keyword
+'[' Punctuation
+'0' Literal.Number.Integer
+'.' Operator
+'.' Operator
+'3' Literal.Number.Integer
+']' Punctuation
+' ' Text
+'of' Keyword
+' ' Text
+'Byte' Keyword.Type
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'a' Name
+',' Operator
+' ' Text
+'b' Name
+':' Operator
+' ' Text
+'EndianArray' Name
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'a' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'EndianArray' Name
+'(' Punctuation
+'i' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'b' Name
+'[' Punctuation
+'0' Literal.Number.Integer
+']' Punctuation
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'a' Name
+'[' Punctuation
+'3' Literal.Number.Integer
+']' Punctuation
+';' Operator
+'\n ' Text
+'b' Name
+'[' Punctuation
+'1' Literal.Number.Integer
+']' Punctuation
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'a' Name
+'[' Punctuation
+'2' Literal.Number.Integer
+']' Punctuation
+';' Operator
+'\n ' Text
+'b' Name
+'[' Punctuation
+'2' Literal.Number.Integer
+']' Punctuation
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'a' Name
+'[' Punctuation
+'1' Literal.Number.Integer
+']' Punctuation
+';' Operator
+'\n ' Text
+'b' Name
+'[' Punctuation
+'3' Literal.Number.Integer
+']' Punctuation
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'a' Name
+'[' Punctuation
+'0' Literal.Number.Integer
+']' Punctuation
+';' Operator
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Integer' Keyword.Type
+'(' Punctuation
+'b' Name
+')' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'SaveByteA' Name.Function
+'(' Punctuation
+'Data' Name
+':' Operator
+' ' Text
+'TByteA' Name
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'FileName' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n ' Text
+'Overwrite' Name
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'True' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'F' Name
+':' Operator
+' ' Text
+'file' Keyword
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'FileExists' Name.Builtin
+'(' Punctuation
+'FileName' Name
+')' Punctuation
+' ' Text
+'and' Keyword
+' ' Text
+'not' Keyword
+' ' Text
+'Overwrite' Name
+' ' Text
+'then' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'False' Keyword
+';' Operator
+'\n ' Text
+'Exit' Keyword
+' ' Text
+'end' Keyword
+';' Operator
+'\n\n ' Text
+'AssignFile' Name.Builtin
+'(' Punctuation
+'F' Name
+',' Operator
+' ' Text
+'FileName' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'{$I-}' Comment.Multiline
+'Rewrite' Name.Builtin
+'(' Punctuation
+'F' Name
+',' Operator
+' ' Text
+'1' Literal.Number.Integer
+')' Punctuation
+';' Operator
+'{$I+}' Comment.Multiline
+'\n ' Text
+'if' Keyword
+' ' Text
+'IOResult' Name.Builtin
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'then' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'Data' Name
+')' Punctuation
+' ' Text
+'>' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'then' Keyword
+'\n ' Text
+'BlockWrite' Name.Builtin
+'(' Punctuation
+'F' Name
+',' Operator
+' ' Text
+'Data' Name
+'[' Punctuation
+'0' Literal.Number.Integer
+']' Punctuation
+',' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'Data' Name
+'))' Punctuation
+';' Operator
+'\n ' Text
+'CloseFile' Name.Builtin
+'(' Punctuation
+'F' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'True' Keyword
+';' Operator
+'\n ' Text
+'end' Keyword
+' ' Text
+'else' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'False' Keyword
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'LoadByteA' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'FileName' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'TByteA' Name
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'F' Name
+':' Operator
+' ' Text
+'file' Keyword
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'AssignFile' Name.Builtin
+'(' Punctuation
+'F' Name
+',' Operator
+' ' Text
+'FileName' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'{$I-}' Comment.Multiline
+'Reset' Name.Builtin
+'(' Punctuation
+'F' Name
+',' Operator
+' ' Text
+'1' Literal.Number.Integer
+')' Punctuation
+';' Operator
+'{$I+}' Comment.Multiline
+'\n ' Text
+'if' Keyword
+' ' Text
+'IOResult' Name.Builtin
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'then' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'SetLength' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+',' Operator
+' ' Text
+'FileSize' Name.Builtin
+'(' Punctuation
+'F' Name
+'))' Punctuation
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+')' Punctuation
+' ' Text
+'>' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'then' Keyword
+'\n ' Text
+'BlockRead' Name.Builtin
+'(' Punctuation
+'F' Name
+',' Operator
+' ' Text
+'Result' Name.Builtin.Pseudo
+'[' Punctuation
+'0' Literal.Number.Integer
+']' Punctuation
+',' Operator
+' ' Text
+'FileSize' Name.Builtin
+'(' Punctuation
+'F' Name
+'))' Punctuation
+';' Operator
+'\n ' Text
+'CloseFile' Name.Builtin
+'(' Punctuation
+'F' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'end' Keyword
+' ' Text
+'else' Keyword
+'\n ' Text
+'SetLength' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+',' Operator
+' ' Text
+'0' Literal.Number.Integer
+')' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'IsValidFileName' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'FileName' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'(' Punctuation
+'FileName' Name
+' ' Text
+'<' Operator
+'>' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+')' Punctuation
+' ' Text
+'and' Keyword
+' ' Text
+'not' Keyword
+' ' Text
+'CharIn' Name
+'(' Punctuation
+'FileName' Name
+',' Operator
+' ' Text
+'FileNameEnemies' Name
+')' Punctuation
+'\n ' Text
+'and' Keyword
+' ' Text
+'CharIn' Name
+'(' Punctuation
+'Trim' Name.Builtin
+'(' Punctuation
+'FileName' Name
+')' Punctuation
+',' Operator
+' ' Text
+'AllChars' Name
+' ' Text
+'-' Operator
+' ' Text
+'[' Punctuation
+"'" Literal.String
+'.' Literal.String
+"'" Literal.String
+'])' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'MakeValidFileName' Name.Function
+'(' Punctuation
+'FileName' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'Default' Keyword.Pseudo
+':' Operator
+' ' Text
+'string' Keyword
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+'File' Literal.String
+"'" Literal.String
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'FileName' Name
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+' ' Text
+'then' Keyword
+'\n ' Text
+'FileName' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Default' Keyword.Pseudo
+';' Operator
+'\n\n ' Text
+'if' Keyword
+' ' Text
+'CharIn' Name
+'(' Punctuation
+'FileName' Name
+',' Operator
+' ' Text
+'FileNameEnemies' Name
+')' Punctuation
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'ReplaceChars' Name
+'(' Punctuation
+'FileName' Name
+',' Operator
+' ' Text
+'FileNameEnemies' Name
+',' Operator
+' ' Text
+"'" Literal.String
+'_' Literal.String
+"'" Literal.String
+')' Punctuation
+'\n ' Text
+'else' Keyword
+' ' Text
+'if' Keyword
+' ' Text
+'not' Keyword
+' ' Text
+'CharIn' Name
+'(' Punctuation
+'Trim' Name.Builtin
+'(' Punctuation
+'FileName' Name
+')' Punctuation
+',' Operator
+' ' Text
+'AllChars' Name
+' ' Text
+'-' Operator
+' ' Text
+'[' Punctuation
+"'" Literal.String
+'.' Literal.String
+"'" Literal.String
+'])' Punctuation
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Default' Keyword.Pseudo
+'\n ' Text
+'else' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'FileName' Name
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'IsValidInteger' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+"{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
+
+'var' Keyword
+'\n ' Text
+'i' Name
+':' Operator
+' ' Text
+'Int64' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'i' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'StrToInt64Def' Name.Builtin
+'(' Punctuation
+'S' Name
+',' Operator
+' ' Text
+'High' Name.Builtin
+'(' Punctuation
+'Int64' Keyword.Type
+'))' Punctuation
+';' Operator
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'(' Punctuation
+'i' Name
+' ' Text
+'>' Operator
+'=' Operator
+' ' Text
+'Low' Name.Builtin
+'(' Punctuation
+'Integer' Keyword.Type
+'))' Punctuation
+' ' Text
+'and' Keyword
+' ' Text
+'(' Punctuation
+'i' Name
+' ' Text
+'<' Operator
+'=' Operator
+' ' Text
+'High' Name.Builtin
+'(' Punctuation
+'Integer' Keyword.Type
+'))' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'IsValidCardinal' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+"{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
+
+'var' Keyword
+'\n ' Text
+'i' Name
+':' Operator
+' ' Text
+'Int64' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'i' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'StrToInt64Def' Name.Builtin
+'(' Punctuation
+'S' Name
+',' Operator
+' ' Text
+'-' Operator
+'1' Literal.Number.Integer
+')' Punctuation
+';' Operator
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'(' Punctuation
+'i' Name
+' ' Text
+'>' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+')' Punctuation
+' ' Text
+'and' Keyword
+' ' Text
+'(' Punctuation
+'i' Name
+' ' Text
+'<' Operator
+'=' Operator
+' ' Text
+'High' Name.Builtin
+'(' Punctuation
+'Cardinal' Keyword.Type
+'))' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'StrOfBool' Name.Function
+'(' Punctuation
+'flag' Name
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'TrueStr' Name
+':' Operator
+' ' Text
+'string' Keyword
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+'True' Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'const' Keyword
+' ' Text
+'FalseStr' Name
+':' Operator
+' ' Text
+'string' Keyword
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+'False' Literal.String
+"'" Literal.String
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'Flag' Name
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'TrueStr' Name
+'\n ' Text
+'else' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'FalseStr' Name
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'StrOfInt' Name.Function
+'(' Punctuation
+'i' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n' Text
+
+"{ 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
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'IntToStr' Name.Builtin
+'(' Punctuation
+'i' Name
+')' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'CardOfStr' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Cardinal' Keyword.Type
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'Res' Name
+':' Operator
+' ' Text
+'Int64' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Res' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'StrToInt64Def' Name.Builtin
+'(' Punctuation
+'S' Name
+',' Operator
+' ' Text
+'-' Operator
+'1' Literal.Number.Integer
+')' Punctuation
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'Res' Name
+' ' Text
+'>' Operator
+' ' Text
+'High' Name.Builtin
+'(' Punctuation
+'Cardinal' Keyword.Type
+')' Punctuation
+' ' Text
+'then' Keyword
+'\n ' Text
+'Res' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'High' Name.Builtin
+'(' Punctuation
+'Cardinal' Keyword.Type
+')' Punctuation
+'\n ' Text
+'else' Keyword
+' ' Text
+'if' Keyword
+' ' Text
+'Res' Name
+' ' Text
+'<' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'then' Keyword
+'\n ' Text
+'Res' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Operator
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Cardinal' Keyword.Type
+'(' Punctuation
+'Res' Name
+')' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'HexOrd' Name.Function
+'(' Punctuation
+'Hex' Name
+':' Operator
+' ' Text
+'Char' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'THex' Name
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'case' Keyword
+' ' Text
+'Hex' Name
+' ' Text
+'of' Keyword
+'\n ' Text
+"'" Literal.String
+'0' Literal.String
+"'" Literal.String
+'.' Operator
+'.' Operator
+"'" Literal.String
+'9' Literal.String
+"'" Literal.String
+':' Operator
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Byte' Keyword.Type
+'(' Punctuation
+'Hex' Name
+')' Punctuation
+' ' Text
+'-' Operator
+' ' Text
+'48' Literal.Number.Integer
+';' Operator
+'\n ' Text
+"'" Literal.String
+'A' Literal.String
+"'" Literal.String
+'.' Operator
+'.' Operator
+"'" Literal.String
+'F' Literal.String
+"'" Literal.String
+':' Operator
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Byte' Keyword.Type
+'(' Punctuation
+'Hex' Name
+')' Punctuation
+' ' Text
+'-' Operator
+' ' Text
+'55' Literal.Number.Integer
+';' Operator
+'\n ' Text
+"'" Literal.String
+'a' Literal.String
+"'" Literal.String
+'.' Operator
+'.' Operator
+"'" Literal.String
+'f' Literal.String
+"'" Literal.String
+':' Operator
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Byte' Keyword.Type
+'(' Punctuation
+'Hex' Name
+')' Punctuation
+' ' Text
+'-' Operator
+' ' Text
+'87' Literal.Number.Integer
+';' Operator
+'\n ' Text
+'else' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'ByteOfHex' Name.Function
+'(' Punctuation
+'Hex' Name
+':' Operator
+' ' Text
+'THexByteStr' Name
+')' Punctuation
+':' Operator
+' ' Text
+'Byte' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'(' Punctuation
+'HexOrd' Name
+'(' Punctuation
+'Hex' Name
+'[' Punctuation
+'1' Literal.Number.Integer
+'])' Punctuation
+' ' Text
+'shl' Keyword
+' ' Text
+'4' Literal.Number.Integer
+')' Punctuation
+' ' Text
+'+' Operator
+' ' Text
+'HexOrd' Name
+'(' Punctuation
+'Hex' Name
+'[' Punctuation
+'2' Literal.Number.Integer
+'])' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'DecOfHex' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'Hex' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'IntToStr' Name.Builtin
+'(' Punctuation
+'CardOfHex' Name
+'(' Punctuation
+'Hex' Name
+'))' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'HexOfByte' Name.Function
+'(' Punctuation
+'b' Name
+':' Operator
+' ' Text
+'Byte' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'THexByteStr' Name
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'HexChar' Name
+'[(' Punctuation
+'b' Name
+' ' Text
+'and' Keyword
+' ' Text
+'$F0' Literal.Number.Hex
+')' Punctuation
+' ' Text
+'shr' Keyword
+' ' Text
+'4' Literal.Number.Integer
+']' Punctuation
+'\n ' Text
+'+' Operator
+' ' Text
+'HexChar' Name
+'[' Punctuation
+' ' Text
+'b' Name
+' ' Text
+'and' Keyword
+' ' Text
+'$0F' Literal.Number.Hex
+' ' Text
+']' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+"{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
+
+'function' Keyword
+' ' Text
+'HexOfCard' Name.Function
+'(' Punctuation
+'i' Name
+':' Operator
+' ' Text
+'Cardinal' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'a' Name
+':' Operator
+' ' Text
+'Cardinal' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'while' Keyword
+' ' Text
+'i' Name
+' ' Text
+'>' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'do' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'a' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'i' Name
+' ' Text
+'and' Keyword
+' ' Text
+'$F' Literal.Number.Hex
+';' Operator
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'HexChar' Name
+'[' Punctuation
+'a' Name
+']' Punctuation
+' ' Text
+'+' Operator
+' ' Text
+'Result' Name.Builtin.Pseudo
+';' Operator
+'\n ' Text
+'i' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'i' Name
+' ' Text
+'shr' Keyword
+' ' Text
+'4' Literal.Number.Integer
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'HexOfCard' Name.Function
+'(' Punctuation
+'i' Name
+':' Operator
+' ' Text
+'Cardinal' Keyword.Type
+';' Operator
+' ' Text
+'Digits' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'a' Name
+':' Operator
+' ' Text
+'Cardinal' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'while' Keyword
+' ' Text
+'i' Name
+' ' Text
+'>' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'do' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'a' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'i' Name
+' ' Text
+'and' Keyword
+' ' Text
+'$F' Literal.Number.Hex
+';' Operator
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'HexChar' Name
+'[' Punctuation
+'a' Name
+']' Punctuation
+' ' Text
+'+' Operator
+' ' Text
+'Result' Name.Builtin.Pseudo
+';' Operator
+'\n ' Text
+'i' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'i' Name
+' ' Text
+'shr' Keyword
+' ' Text
+'4' Literal.Number.Integer
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'MulStr' Name
+'(' Punctuation
+"'" Literal.String
+'0' Literal.String
+"'" Literal.String
+',' Operator
+' ' Text
+'Digits' Name
+' ' Text
+'-' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+'))' Punctuation
+' ' Text
+'+' Operator
+' ' Text
+'Result' Name.Builtin.Pseudo
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'PascalHexArray' Name.Function
+'(' Punctuation
+'a' Name
+':' Operator
+' ' Text
+'TByteA' Name
+';' Operator
+' ' Text
+'Name' Keyword.Pseudo
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'i' Name
+',' Operator
+' ' Text
+'len' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+"'" Literal.String
+'const' Literal.String
+"'" Literal.String
+' ' Text
+'+' Operator
+' ' Text
+'EOL' Name
+' ' Text
+'+' Operator
+'\n ' Text
+"'" Literal.String
+' ' Literal.String
+"'" Literal.String
+' ' Text
+'+' Operator
+' ' Text
+'Name' Name
+' ' Text
+'+' Operator
+' ' Text
+"'" Literal.String
+': array[0..' Literal.String
+"'" Literal.String
+' ' Text
+'+' Operator
+' ' Text
+'IntToStr' Name.Builtin
+'(' Punctuation
+'High' Name.Builtin
+'(' Punctuation
+'a' Name
+'))' Punctuation
+' ' Text
+'+' Operator
+' ' Text
+"'" Literal.String
+'] of Byte = (' Literal.String
+"'" Literal.String
+';' Operator
+'\n\n ' Text
+'len' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'a' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'for' Keyword
+' ' Text
+'i' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'to' Keyword
+' ' Text
+'len' Name
+'-' Operator
+'1' Literal.Number.Integer
+' ' Text
+'do' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'(' Punctuation
+'i' Name
+' ' Text
+'mod' Keyword
+' ' Text
+'19' Literal.Number.Integer
+')' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'+' Operator
+' ' Text
+'EOL' Name
+' ' Text
+'+' Operator
+' ' Text
+"'" Literal.String
+' ' Literal.String
+"'" Literal.String
+' ' Text
+'+' Operator
+' ' Text
+"'" Literal.String
+' ' Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'+' Operator
+' ' Text
+"'" Literal.String
+'$' Literal.String
+"'" Literal.String
+' ' Text
+'+' Operator
+' ' Text
+'HexOfByte' Name
+'(' Punctuation
+'a' Name
+'[' Punctuation
+'i' Name
+'])' Punctuation
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'i' Name
+' ' Text
+'<' Operator
+' ' Text
+'len' Name
+'-' Operator
+'1' Literal.Number.Integer
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'+' Operator
+' ' Text
+"'" Literal.String
+',' Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'+' Operator
+' ' Text
+'EOL' Name
+' ' Text
+'+' Operator
+' ' Text
+"'" Literal.String
+' );' Literal.String
+"'" Literal.String
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'HexOfByteA' Name.Function
+'(' Punctuation
+'a' Name
+':' Operator
+' ' Text
+'TByteA' Name
+';' Operator
+' ' Text
+'Blocks' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'1' Literal.Number.Integer
+';' Operator
+'\n ' Text
+'const' Keyword
+' ' Text
+'Splitter' Name
+':' Operator
+' ' Text
+'string' Keyword
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+' ' Literal.String
+"'" Literal.String
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'i' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+';' Operator
+'\n\n ' Text
+'if' Keyword
+' ' Text
+'Blocks' Name
+' ' Text
+'>' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'then' Keyword
+'\n ' Text
+'for' Keyword
+' ' Text
+'i' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'to' Keyword
+' ' Text
+'High' Name.Builtin
+'(' Punctuation
+'a' Name
+')' Punctuation
+' ' Text
+'do' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'+' Operator
+' ' Text
+'HexOfByte' Name
+'(' Punctuation
+'a' Name
+'[' Punctuation
+'i' Name
+'])' Punctuation
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'i' Name
+' ' Text
+'<' Operator
+' ' Text
+'High' Name.Builtin
+'(' Punctuation
+'a' Name
+')' Punctuation
+' ' Text
+'then' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'((' Punctuation
+'i' Name
+'+' Operator
+'1' Literal.Number.Integer
+')' Punctuation
+' ' Text
+'mod' Keyword
+' ' Text
+'Blocks' Name
+')' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'+' Operator
+' ' Text
+'Splitter' Name
+';' Operator
+'\n ' Text
+'end' Keyword
+'\n ' Text
+'else' Keyword
+'\n ' Text
+'for' Keyword
+' ' Text
+'i' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'to' Keyword
+' ' Text
+'High' Name.Builtin
+'(' Punctuation
+'a' Name
+')' Punctuation
+' ' Text
+'do' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'+' Operator
+' ' Text
+'HexOfByte' Name
+'(' Punctuation
+'a' Name
+'[' Punctuation
+'i' Name
+'])' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'BinOfByteA' Name.Function
+'(' Punctuation
+'a' Name
+':' Operator
+' ' Text
+'TByteA' Name
+';' Operator
+' ' Text
+'Blocks' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'4' Literal.Number.Integer
+';' Operator
+'\n ' Text
+'const' Keyword
+' ' Text
+'Splitter' Name
+':' Operator
+' ' Text
+'string' Keyword
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+' ' Literal.String
+"'" Literal.String
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'i' Name
+',' Operator
+' ' Text
+'max' Name.Builtin
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n ' Text
+'Bit' Name
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+';' Operator
+'\n\n ' Text
+'if' Keyword
+' ' Text
+'Blocks' Name
+' ' Text
+'>' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'then' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'max' Name.Builtin
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'8' Literal.Number.Integer
+' ' Text
+'*' Operator
+' ' Text
+'(' Punctuation
+'High' Name.Builtin
+'(' Punctuation
+'a' Name
+'))' Punctuation
+' ' Text
+'+' Operator
+' ' Text
+'7' Literal.Number.Integer
+';' Operator
+'\n ' Text
+'for' Keyword
+' ' Text
+'i' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'to' Keyword
+' ' Text
+'max' Name.Builtin
+' ' Text
+'do' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'Bit' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'7' Literal.Number.Integer
+'-' Operator
+'(' Punctuation
+'i' Name
+' ' Text
+'mod' Keyword
+' ' Text
+'8' Literal.Number.Integer
+')' Punctuation
+' ' Text
+'in' Keyword
+' ' Text
+'TBitSet' Name
+'(' Punctuation
+'a' Name
+'[' Punctuation
+'i' Name
+' ' Text
+'div' Keyword
+' ' Text
+'8' Literal.Number.Integer
+'])' Punctuation
+';' Operator
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'+' Operator
+' ' Text
+'Char' Keyword.Type
+'(' Punctuation
+'Byte' Keyword.Type
+'(' Punctuation
+"'" Literal.String
+'0' Literal.String
+"'" Literal.String
+')' Punctuation
+' ' Text
+'+' Operator
+' ' Text
+'Byte' Keyword.Type
+'(' Punctuation
+'Bit' Name
+'))' Punctuation
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'i' Name
+' ' Text
+'<' Operator
+' ' Text
+'max' Name.Builtin
+' ' Text
+'then' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'((' Punctuation
+'i' Name
+'+' Operator
+'1' Literal.Number.Integer
+')' Punctuation
+' ' Text
+'mod' Keyword
+' ' Text
+'Blocks' Name
+')' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'+' Operator
+' ' Text
+'Splitter' Name
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n ' Text
+'end' Keyword
+' ' Text
+'else' Keyword
+'\n ' Text
+'for' Keyword
+' ' Text
+'i' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'to' Keyword
+' ' Text
+'High' Name.Builtin
+'(' Punctuation
+'a' Name
+')' Punctuation
+' ' Text
+'do' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'+' Operator
+' ' Text
+'Char' Keyword.Type
+'(' Punctuation
+'Byte' Keyword.Type
+'(' Punctuation
+"'" Literal.String
+'0' Literal.String
+"'" Literal.String
+')' Punctuation
+' ' Text
+'+' Operator
+' ' Text
+'a' Name
+'[' Punctuation
+'i' Name
+']' Punctuation
+' ' Text
+'shr' Keyword
+' ' Text
+'(' Punctuation
+'i' Name
+' ' Text
+'and' Keyword
+' ' Text
+'8' Literal.Number.Integer
+'))' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'CardOfHex' Name.Function
+'(' Punctuation
+'Hex' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Cardinal' Keyword.Type
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'i' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Operator
+'\n ' Text
+'Hex' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Copy' Name.Builtin
+'(' Punctuation
+'ExtractChars' Name
+'(' Punctuation
+'Hex' Name
+',' Operator
+' ' Text
+'HexadecimalChars' Name
+')' Punctuation
+',' Operator
+' ' Text
+'1' Literal.Number.Integer
+',' Operator
+' ' Text
+'8' Literal.Number.Integer
+')' Punctuation
+';' Operator
+'\n\n ' Text
+'for' Keyword
+' ' Text
+'i' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'1' Literal.Number.Integer
+' ' Text
+'to' Keyword
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'Hex' Name
+')' Punctuation
+' ' Text
+'do' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'Hex' Name
+'[' Punctuation
+'i' Name
+']' Punctuation
+' ' Text
+'<' Operator
+'>' Operator
+' ' Text
+"'" Literal.String
+'0' Literal.String
+"'" Literal.String
+' ' Text
+'then' Keyword
+'\n ' Text
+'Inc' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+',' Operator
+' ' Text
+'HexOrd' Name
+'(' Punctuation
+'Hex' Name
+'[' Punctuation
+'i' Name
+'])' Punctuation
+' ' Text
+'shl' Keyword
+' ' Text
+'((' Punctuation
+'Length' Name.Builtin
+'(' Punctuation
+'Hex' Name
+')' Punctuation
+' ' Text
+'-' Operator
+' ' Text
+'i' Name
+')' Punctuation
+' ' Text
+'shl' Keyword
+' ' Text
+'2' Literal.Number.Integer
+'))' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'IntOfBin' Name.Function
+'(' Punctuation
+'Bin' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Cardinal' Keyword.Type
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'i' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Operator
+'\n ' Text
+'Bin' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Copy' Name.Builtin
+'(' Punctuation
+'ExtractChars' Name
+'(' Punctuation
+'Bin' Name
+',' Operator
+' ' Text
+'BinaryChars' Name
+')' Punctuation
+',' Operator
+' ' Text
+'1' Literal.Number.Integer
+',' Operator
+' ' Text
+'32' Literal.Number.Integer
+')' Punctuation
+';' Operator
+'\n\n ' Text
+'for' Keyword
+' ' Text
+'i' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'Bin' Name
+')' Punctuation
+' ' Text
+'downto' Keyword
+' ' Text
+'1' Literal.Number.Integer
+' ' Text
+'do' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'Bin' Name
+'[' Punctuation
+'i' Name
+']' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+'1' Literal.String
+"'" Literal.String
+' ' Text
+'then' Keyword
+'\n ' Text
+'Inc' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+',' Operator
+' ' Text
+'1' Literal.Number.Integer
+' ' Text
+'shl' Keyword
+' ' Text
+'(' Punctuation
+'Length' Name.Builtin
+'(' Punctuation
+'Bin' Name
+')' Punctuation
+' ' Text
+'-' Operator
+' ' Text
+'i' Name
+'))' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'BinOfInt' Name.Function
+'(' Punctuation
+'n' Name
+':' Operator
+' ' Text
+'Cardinal' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'a' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'n' Name
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'then' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+"'" Literal.String
+'0' Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'exit' Keyword
+';' Operator
+' ' Text
+'end' Keyword
+';' Operator
+'\n\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'while' Keyword
+' ' Text
+'n' Name
+' ' Text
+'>' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'do' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'a' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'n' Name
+' ' Text
+'and' Keyword
+' ' Text
+'1' Literal.Number.Integer
+';' Operator
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Char' Keyword.Type
+'(' Punctuation
+'a' Name
+' ' Text
+'+' Operator
+' ' Text
+'Byte' Keyword.Type
+'(' Punctuation
+"'" Literal.String
+'0' Literal.String
+"'" Literal.String
+'))' Punctuation
+' ' Text
+'+' Operator
+' ' Text
+'Result' Name.Builtin.Pseudo
+';' Operator
+'\n ' Text
+'n' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'n' Name
+' ' Text
+'shr' Keyword
+' ' Text
+'1' Literal.Number.Integer
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'BinOfIntFill' Name.Function
+'(' Punctuation
+'n' Name
+':' Operator
+' ' Text
+'Cardinal' Keyword.Type
+';' Operator
+' ' Text
+'MinCount' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'8' Literal.Number.Integer
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'a' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'n' Name
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'then' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'MulStr' Name
+'(' Punctuation
+"'" Literal.String
+'0' Literal.String
+"'" Literal.String
+',' Operator
+' ' Text
+'MinCount' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'Exit' Keyword
+';' Operator
+' ' Text
+'end' Keyword
+';' Operator
+'\n\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'while' Keyword
+' ' Text
+'n' Name
+' ' Text
+'>' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'do' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'a' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'n' Name
+' ' Text
+'and' Keyword
+' ' Text
+'1' Literal.Number.Integer
+';' Operator
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Char' Keyword.Type
+'(' Punctuation
+'a' Name
+' ' Text
+'+' Operator
+' ' Text
+'Byte' Keyword.Type
+'(' Punctuation
+"'" Literal.String
+'0' Literal.String
+"'" Literal.String
+'))' Punctuation
+' ' Text
+'+' Operator
+' ' Text
+'Result' Name.Builtin.Pseudo
+';' Operator
+'\n ' Text
+'n' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'n' Name
+' ' Text
+'shr' Keyword
+' ' Text
+'1' Literal.Number.Integer
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'MulStr' Name
+'(' Punctuation
+"'" Literal.String
+'0' Literal.String
+"'" Literal.String
+',' Operator
+' ' Text
+'MinCount' Name
+' ' Text
+'-' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+'))' Punctuation
+' ' Text
+'+' Operator
+' ' Text
+'Result' Name.Builtin.Pseudo
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'BaseNOfInt' Name.Function
+'(' Punctuation
+'I' Name
+':' Operator
+' ' Text
+'Cardinal' Keyword.Type
+';' Operator
+' ' Text
+'B' Name
+':' Operator
+' ' Text
+'TBaseN' Name
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'a' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'(' Punctuation
+'B' Name
+' ' Text
+'<' Operator
+' ' Text
+'2' Literal.Number.Integer
+')' Punctuation
+' ' Text
+'or' Keyword
+' ' Text
+'(' Punctuation
+'i' Name
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+')' Punctuation
+' ' Text
+'then' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+"'" Literal.String
+'0' Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'Exit' Keyword
+';' Operator
+' ' Text
+'end' Keyword
+';' Operator
+'\n\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'while' Keyword
+' ' Text
+'i' Name
+' ' Text
+'>' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'do' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'a' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'i' Name
+' ' Text
+'mod' Keyword
+' ' Text
+'B' Name
+';' Operator
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'BaseNChar' Name
+'[' Punctuation
+'a' Name
+']' Punctuation
+' ' Text
+'+' Operator
+' ' Text
+'Result' Name.Builtin.Pseudo
+';' Operator
+'\n ' Text
+'i' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'i' Name
+' ' Text
+'div' Keyword
+' ' Text
+'B' Name
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'IntOfBaseN' Name.Function
+'(' Punctuation
+'V' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'B' Name
+':' Operator
+' ' Text
+'TBaseN' Name
+')' Punctuation
+':' Operator
+' ' Text
+'Cardinal' Keyword.Type
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'i' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n ' Text
+'F' Name
+':' Operator
+' ' Text
+'Cardinal' Keyword.Type
+';' Operator
+'\n ' Text
+'c' Name
+':' Operator
+' ' Text
+'Byte' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Operator
+'\n ' Text
+'V' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'TrimAll' Name
+'(' Punctuation
+'V' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'F' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'1' Literal.Number.Integer
+';' Operator
+'\n ' Text
+'for' Keyword
+' ' Text
+'i' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'V' Name
+')' Punctuation
+' ' Text
+'downto' Keyword
+' ' Text
+'1' Literal.Number.Integer
+' ' Text
+'do' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'c' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Byte' Keyword.Type
+'(' Punctuation
+'UpCase' Name.Builtin
+'(' Punctuation
+'V' Name
+'[' Punctuation
+'i' Name
+']))' Punctuation
+';' Operator
+'\n ' Text
+'case' Keyword
+' ' Text
+'Char' Keyword.Type
+'(' Punctuation
+'c' Name
+')' Punctuation
+' ' Text
+'of' Keyword
+'\n ' Text
+"'" Literal.String
+'0' Literal.String
+"'" Literal.String
+'.' Operator
+'.' Operator
+"'" Literal.String
+'9' Literal.String
+"'" Literal.String
+':' Operator
+' ' Text
+'c' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'c' Name
+' ' Text
+'-' Operator
+' ' Text
+'48' Literal.Number.Integer
+';' Operator
+'\n ' Text
+"'" Literal.String
+'A' Literal.String
+"'" Literal.String
+'.' Operator
+'.' Operator
+"'" Literal.String
+'Z' Literal.String
+"'" Literal.String
+':' Operator
+' ' Text
+'c' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'c' Name
+' ' Text
+'-' Operator
+' ' Text
+'55' Literal.Number.Integer
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'c' Name
+' ' Text
+'<' Operator
+' ' Text
+'B' Name
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'+' Operator
+' ' Text
+'Byte' Keyword.Type
+'(' Punctuation
+'c' Name
+')' Punctuation
+' ' Text
+'*' Operator
+' ' Text
+'F' Name
+';' Operator
+'\n ' Text
+'F' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'F' Name
+' ' Text
+'*' Operator
+' ' Text
+'B' Name
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'KeepIn' Name.Function
+'(' Punctuation
+'i' Name
+',' Operator
+' ' Text
+'Bottom' Name
+',' Operator
+' ' Text
+'Top' Name
+':' Operator
+' ' Text
+'Variant' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'Variant' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'i' Name
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'>' Operator
+' ' Text
+'Top' Name
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Top' Name
+'\n ' Text
+'else' Keyword
+' ' Text
+'if' Keyword
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'<' Operator
+' ' Text
+'Bottom' Name
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Bottom' Name
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'InRange' Name.Function
+'(' Punctuation
+'Value' Name
+',' Operator
+' ' Text
+'Bottom' Name
+',' Operator
+' ' Text
+'Top' Name
+':' Operator
+' ' Text
+'Variant' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'(' Punctuation
+'Value' Name
+' ' Text
+'>' Operator
+'=' Operator
+' ' Text
+'Bottom' Name
+')' Punctuation
+' ' Text
+'and' Keyword
+' ' Text
+'(' Punctuation
+'Value' Name
+' ' Text
+'<' Operator
+'=' Operator
+' ' Text
+'Top' Name
+')' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'InStrictRange' Name.Function
+'(' Punctuation
+'Value' Name
+',' Operator
+' ' Text
+'Bottom' Name
+',' Operator
+' ' Text
+'Top' Name
+':' Operator
+' ' Text
+'Variant' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'(' Punctuation
+'Value' Name
+' ' Text
+'>' Operator
+' ' Text
+'Bottom' Name
+')' Punctuation
+' ' Text
+'and' Keyword
+' ' Text
+'(' Punctuation
+'Value' Name
+' ' Text
+'<' Operator
+' ' Text
+'Top' Name
+')' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'Min' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'A' Name
+',' Operator
+' ' Text
+'B' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'A' Name
+' ' Text
+'<' Operator
+' ' Text
+'B' Name
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'A' Name
+'\n ' Text
+'else' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'B' Name
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'Min' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'A' Name
+':' Operator
+' ' Text
+'TIntA' Name
+')' Punctuation
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'i' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'A' Name
+')' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'then' Keyword
+'\n ' Text
+'Exit' Keyword
+';' Operator
+'\n\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'A' Name
+'[' Punctuation
+'0' Literal.Number.Integer
+']' Punctuation
+';' Operator
+'\n ' Text
+'for' Keyword
+' ' Text
+'i' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'1' Literal.Number.Integer
+' ' Text
+'to' Keyword
+' ' Text
+'High' Name.Builtin
+'(' Punctuation
+'A' Name
+')' Punctuation
+' ' Text
+'do' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'A' Name
+'[' Punctuation
+'i' Name
+']' Punctuation
+' ' Text
+'<' Operator
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'A' Name
+'[' Punctuation
+'i' Name
+']' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'Max' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'A' Name
+',' Operator
+' ' Text
+'B' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'A' Name
+' ' Text
+'>' Operator
+' ' Text
+'B' Name
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'A' Name
+'\n ' Text
+'else' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'B' Name
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'Max' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'A' Name
+':' Operator
+' ' Text
+'TIntA' Name
+')' Punctuation
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'i' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'A' Name
+')' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'then' Keyword
+'\n ' Text
+'Exit' Keyword
+';' Operator
+'\n\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'A' Name
+'[' Punctuation
+'0' Literal.Number.Integer
+']' Punctuation
+';' Operator
+'\n ' Text
+'for' Keyword
+' ' Text
+'i' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'1' Literal.Number.Integer
+' ' Text
+'to' Keyword
+' ' Text
+'High' Name.Builtin
+'(' Punctuation
+'A' Name
+')' Punctuation
+' ' Text
+'do' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'A' Name
+'[' Punctuation
+'i' Name
+']' Punctuation
+' ' Text
+'>' Operator
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'A' Name
+'[' Punctuation
+'i' Name
+']' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'RangesOfStr' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'TRanges' Name
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'SL' Name
+':' Operator
+' ' Text
+'TStringList' Name
+';' Operator
+'\n ' Text
+'r' Name
+',' Operator
+' ' Text
+'b' Name
+',' Operator
+' ' Text
+'t' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n ' Text
+'i' Name
+',' Operator
+' ' Text
+'p' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n\n ' Text
+'function' Keyword
+' ' Text
+'TryStrToCard' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'out' Name
+' ' Text
+'Value' Name
+':' Operator
+' ' Text
+'Cardinal' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n ' Text
+'var' Keyword
+'\n ' Text
+'E' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n ' Text
+'begin' Keyword
+'\n ' Text
+'Val' Name.Builtin
+'(' Punctuation
+'S' Name
+',' Operator
+' ' Text
+'Value' Name
+',' Operator
+' ' Text
+'E' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'E' Name
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'nil' Keyword
+';' Operator
+'\n ' Text
+'SL' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'TStringList' Name
+'.' Operator
+'Create' Name
+';' Operator
+'\n ' Text
+'try' Keyword
+'\n ' Text
+'Split' Name
+'(' Punctuation
+'S' Name
+',' Operator
+' ' Text
+'RangesSeparator' Name
+',' Operator
+' ' Text
+'SL' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'SetLength' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+',' Operator
+' ' Text
+'SL' Name
+'.' Operator
+'Count' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'for' Keyword
+' ' Text
+'i' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'to' Keyword
+' ' Text
+'SL' Name
+'.' Operator
+'Count' Name
+'-' Operator
+'1' Literal.Number.Integer
+' ' Text
+'do' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'r' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'SL' Name
+'[' Punctuation
+'i' Name
+']' Punctuation
+';' Operator
+'\n ' Text
+'with' Keyword
+' ' Text
+'Result' Name.Builtin.Pseudo
+'[' Punctuation
+'i' Name
+']' Punctuation
+' ' Text
+'do' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'p' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'CharPos' Name
+'(' Punctuation
+'RangeInnerSeparator' Name
+',' Operator
+' ' Text
+'r' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'Simple' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'p' Name
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Operator
+' ' Text
+"// no '-' found" Comment.Single
+'\n ' Text
+'if' Keyword
+' ' Text
+'Simple' Name
+' ' Text
+'then' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'r' Name
+' ' Text
+'=' Operator
+' ' Text
+'RangeInfinite' Name
+' ' Text
+'then' Keyword
+' ' Text
+'begin' Keyword
+' ' Text
+'// * --> *-*' Comment.Single
+'\n ' Text
+'Simple' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'False' Keyword
+';' Operator
+'\n ' Text
+'Bottom' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Low' Name.Builtin
+'(' Punctuation
+'Bottom' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'Top' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'High' Name.Builtin
+'(' Punctuation
+'Top' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'end' Keyword
+' ' Text
+'else' Keyword
+' ' Text
+'if' Keyword
+' ' Text
+'not' Keyword
+' ' Text
+'TryStrToCard' Name
+'(' Punctuation
+'r' Name
+',' Operator
+' ' Text
+'Value' Name
+')' Punctuation
+' ' Text
+'then' Keyword
+'\n ' Text
+'Break' Keyword
+';' Operator
+'\n\n ' Text
+'end' Keyword
+' ' Text
+'else' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'TileStr' Name
+'(' Punctuation
+'r' Name
+',' Operator
+' ' Text
+'p' Name
+',' Operator
+' ' Text
+'p' Name
+',' Operator
+' ' Text
+'b' Name
+',' Operator
+' ' Text
+'t' Name
+')' Punctuation
+';' Operator
+'\n\n ' Text
+'if' Keyword
+' ' Text
+'b' Name
+' ' Text
+'=' Operator
+' ' Text
+'RangeInfinite' Name
+' ' Text
+'then' Keyword
+'\n ' Text
+'Bottom' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Low' Name.Builtin
+'(' Punctuation
+'Bottom' Name
+')' Punctuation
+'\n ' Text
+'else' Keyword
+' ' Text
+'if' Keyword
+' ' Text
+'not' Keyword
+' ' Text
+'TryStrToCard' Name
+'(' Punctuation
+'b' Name
+',' Operator
+' ' Text
+'Bottom' Name
+')' Punctuation
+' ' Text
+'then' Keyword
+'\n ' Text
+'Break' Keyword
+';' Operator
+'\n\n ' Text
+'if' Keyword
+' ' Text
+'t' Name
+' ' Text
+'=' Operator
+' ' Text
+'RangeInfinite' Name
+' ' Text
+'then' Keyword
+'\n ' Text
+'Top' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'High' Name.Builtin
+'(' Punctuation
+'Top' Name
+')' Punctuation
+'\n ' Text
+'else' Keyword
+' ' Text
+'if' Keyword
+' ' Text
+'not' Keyword
+' ' Text
+'TryStrToCard' Name
+'(' Punctuation
+'t' Name
+',' Operator
+' ' Text
+'Top' Name
+')' Punctuation
+' ' Text
+'then' Keyword
+'\n ' Text
+'Break' Keyword
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'Bottom' Name
+' ' Text
+'>' Operator
+' ' Text
+'Top' Name
+' ' Text
+'then' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'p' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Bottom' Name
+';' Operator
+' ' Text
+'Bottom' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Top' Name
+';' Operator
+' ' Text
+'Top' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'p' Name
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n\n ' Text
+'if' Keyword
+' ' Text
+'i' Name
+' ' Text
+'<' Operator
+'>' Operator
+' ' Text
+'SL' Name
+'.' Operator
+'Count' Name
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'nil' Keyword
+';' Operator
+'\n\n ' Text
+'finally' Keyword
+'\n ' Text
+'SL' Name
+'.' Operator
+'Free' Name
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'InRanges' Name.Function
+'(' Punctuation
+'Ranges' Name
+':' Operator
+' ' Text
+'TRanges' Name
+';' Operator
+' ' Text
+'TestValue' Name
+':' Operator
+' ' Text
+'Cardinal' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'i' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'True' Keyword
+';' Operator
+'\n\n ' Text
+'for' Keyword
+' ' Text
+'i' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'to' Keyword
+' ' Text
+'High' Name.Builtin
+'(' Punctuation
+'Ranges' Name
+')' Punctuation
+' ' Text
+'do' Keyword
+'\n ' Text
+'with' Keyword
+' ' Text
+'Ranges' Name
+'[' Punctuation
+'i' Name
+']' Punctuation
+' ' Text
+'do' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'Simple' Name
+' ' Text
+'then' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'TestValue' Name
+' ' Text
+'=' Operator
+' ' Text
+'Value' Name
+' ' Text
+'then' Keyword
+'\n ' Text
+'Exit' Keyword
+';' Operator
+'\n ' Text
+'end' Keyword
+' ' Text
+'else' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'InRange' Name.Builtin
+'(' Punctuation
+'TestValue' Name
+',' Operator
+' ' Text
+'Bottom' Name
+',' Operator
+' ' Text
+'Top' Name
+')' Punctuation
+' ' Text
+'then' Keyword
+'\n ' Text
+'Exit' Keyword
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'False' Keyword
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'procedure' Keyword
+' ' Text
+'WriteSL' Name.Function
+'(' Punctuation
+'Strings' Name
+':' Operator
+' ' Text
+'TStrings' Name
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'Prefix' Name
+':' Operator
+' ' Text
+'string' Keyword
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'const' Keyword
+' ' Text
+'Suffix' Name
+':' Operator
+' ' Text
+'string' Keyword
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+')' Punctuation
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'i' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'for' Keyword
+' ' Text
+'i' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'to' Keyword
+' ' Text
+'Strings' Name
+'.' Operator
+'Count' Name
+'-' Operator
+'1' Literal.Number.Integer
+' ' Text
+'do' Keyword
+'\n ' Text
+'WriteLn' Name.Builtin
+'(' Punctuation
+'Prefix' Name
+' ' Text
+'+' Operator
+' ' Text
+'Strings' Name
+'[' Punctuation
+'i' Name
+']' Punctuation
+' ' Text
+'+' Operator
+' ' Text
+'Suffix' Name
+')' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'Success' Name.Function
+'(' Punctuation
+'Res' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+' ' Text
+'ResultOnSuccess' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'ERROR_SUCCESS' Name
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'(' Punctuation
+'Res' Name
+' ' Text
+'=' Operator
+' ' Text
+'ResultOnSuccess' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'LastSuccessRes' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Res' Name
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'Failure' Name.Function
+'(' Punctuation
+'Res' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+' ' Text
+'ResultOnSuccess' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'ERROR_SUCCESS' Name
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'not' Keyword
+' ' Text
+'Success' Name
+'(' Punctuation
+'Res' Name
+',' Operator
+' ' Text
+'ResultOnSuccess' Name
+')' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'ExpandString' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'Len' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n ' Text
+'P' Name
+',' Operator
+' ' Text
+'Res' Name
+':' Operator
+' ' Text
+'PChar' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'P' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'PChar' Keyword.Type
+'(' Punctuation
+'S' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'Len' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'ExpandEnvironmentStrings' Name
+'(' Punctuation
+'P' Name
+',' Operator
+' ' Text
+'nil' Keyword
+',' Operator
+' ' Text
+'0' Literal.Number.Integer
+')' Punctuation
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'Len' Name
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'then' Keyword
+'\n ' Text
+'Exit' Keyword
+';' Operator
+'\n\n ' Text
+'GetMem' Name.Builtin
+'(' Punctuation
+'Res' Name
+',' Operator
+' ' Text
+'Len' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'ExpandEnvironmentStrings' Name
+'(' Punctuation
+'P' Name
+',' Operator
+' ' Text
+'Res' Name
+',' Operator
+' ' Text
+'Len' Name
+')' Punctuation
+';' Operator
+'\n\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Res' Name
+';' Operator
+'\n ' Text
+'FreeMem' Name.Builtin
+'(' Punctuation
+'Res' Name
+',' Operator
+' ' Text
+'Len' Name
+')' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'FindAll' Name.Function
+'(' Punctuation
+'Strings' Name
+':' Operator
+' ' Text
+'TStrings' Name
+';' Operator
+' ' Text
+'const' Keyword
+' ' Text
+'Mask' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n ' Text
+'ScanSubDirs' Name
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'True' Keyword
+';' Operator
+' ' Text
+'Attributes' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'faFindEveryFile' Name
+';' Operator
+'\n ' Text
+'FileReturn' Name
+':' Operator
+' ' Text
+'TFileNameFunc' Name
+' ' Text
+'=' Operator
+' ' Text
+'nil' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'Path' Name
+',' Operator
+' ' Text
+'FileName' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n\n ' Text
+'procedure' Keyword
+' ' Text
+'ScanDir' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'Path' Name
+',' Operator
+' ' Text
+'FileName' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+';' Operator
+'\n ' Text
+'var' Keyword
+'\n ' Text
+'PSR' Name
+':' Operator
+' ' Text
+'TSearchRec' Name
+';' Operator
+'\n ' Text
+'Res' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n\n ' Text
+'procedure' Keyword
+' ' Text
+'Add' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'S' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+';' Operator
+'\n ' Text
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'S' Name
+' ' Text
+'<' Operator
+'>' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+' ' Text
+'then' Keyword
+'\n ' Text
+'Strings' Name
+'.' Operator
+'Add' Name
+'(' Punctuation
+'S' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n\n ' Text
+'begin' Keyword
+'\n ' Text
+'Res' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'FindFirst' Name.Builtin
+'(' Punctuation
+'Path' Name
+' ' Text
+'+' Operator
+' ' Text
+'FileName' Name
+',' Operator
+' ' Text
+'Attributes' Name
+',' Operator
+' ' Text
+'PSR' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'while' Keyword
+' ' Text
+'Success' Name
+'(' Punctuation
+'Res' Name
+',' Operator
+' ' Text
+'0' Literal.Number.Integer
+')' Punctuation
+' ' Text
+'do' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'Assigned' Name.Builtin
+'(' Punctuation
+'FileReturn' Name
+')' Punctuation
+' ' Text
+'then' Keyword
+'\n ' Text
+'Add' Name
+'(' Punctuation
+'FileReturn' Name
+'(' Punctuation
+'Path' Name
+' ' Text
+'+' Operator
+' ' Text
+'PSR' Name
+'.' Operator
+'Name' Name
+'))' Punctuation
+'\n ' Text
+'else' Keyword
+'\n ' Text
+'Add' Name
+'(' Punctuation
+'Path' Name
+' ' Text
+'+' Operator
+' ' Text
+'PSR' Name
+'.' Operator
+'Name' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'Res' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'FindNext' Name.Builtin
+'(' Punctuation
+'PSR' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n ' Text
+'FindClose' Name.Builtin
+'(' Punctuation
+'PSR' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'not' Keyword
+' ' Text
+'ScanSubDirs' Name
+' ' Text
+'then' Keyword
+'\n ' Text
+'Exit' Keyword
+';' Operator
+'\n\n ' Text
+'Res' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'FindFirst' Name.Builtin
+'(' Punctuation
+'Path' Name
+' ' Text
+'+' Operator
+' ' Text
+"'" Literal.String
+'*' Literal.String
+"'" Literal.String
+',' Operator
+' ' Text
+'faDirectory' Name
+',' Operator
+' ' Text
+'PSR' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'while' Keyword
+' ' Text
+'Success' Name
+'(' Punctuation
+'Res' Name
+',' Operator
+' ' Text
+'0' Literal.Number.Integer
+')' Punctuation
+' ' Text
+'do' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'(' Punctuation
+'PSR' Name
+'.' Operator
+'Attr' Name
+' ' Text
+'and' Keyword
+' ' Text
+'faDirectory' Name
+' ' Text
+'>' Operator
+' ' Text
+'0' Literal.Number.Integer
+')' Punctuation
+'\n ' Text
+'and' Keyword
+' ' Text
+'(' Punctuation
+'PSR' Name
+'.' Operator
+'Name' Name
+' ' Text
+'<' Operator
+'>' Operator
+' ' Text
+"'" Literal.String
+'.' Literal.String
+"'" Literal.String
+')' Punctuation
+' ' Text
+'and' Keyword
+' ' Text
+'(' Punctuation
+'PSR' Name
+'.' Operator
+'Name' Name
+' ' Text
+'<' Operator
+'>' Operator
+' ' Text
+"'" Literal.String
+'..' Literal.String
+"'" Literal.String
+')' Punctuation
+' ' Text
+'then' Keyword
+'\n ' Text
+'ScanDir' Name
+'(' Punctuation
+'Path' Name
+' ' Text
+'+' Operator
+' ' Text
+'PSR' Name
+'.' Operator
+'Name' Name
+' ' Text
+'+' Operator
+' ' Text
+"'" Literal.String
+'\\' Literal.String
+"'" Literal.String
+',' Operator
+' ' Text
+'FileName' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'Res' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'FindNext' Name.Builtin
+'(' Punctuation
+'PSR' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n ' Text
+'FindClose' Name.Builtin
+'(' Punctuation
+'PSR' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Strings' Name
+'.' Operator
+'Clear' Name
+';' Operator
+'\n ' Text
+'Path' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'ExtractPath' Name
+'(' Punctuation
+'Mask' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'FileName' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'ExtractFileName' Name.Builtin
+'(' Punctuation
+'Mask' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'ScanDir' Name
+'(' Punctuation
+'Path' Name
+',' Operator
+' ' Text
+'FileName' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Strings' Name
+'.' Operator
+'Count' Name
+' ' Text
+'>' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'FindAllFirst' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'Mask' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'ScanSubDirs' Name
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'True' Keyword
+';' Operator
+'\n ' Text
+'Attributes' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'faFindEveryFile' Name
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'Path' Name
+',' Operator
+' ' Text
+'FileName' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n\n ' Text
+'function' Keyword
+' ' Text
+'ScanDir' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'Path' Name
+',' Operator
+' ' Text
+'FileName' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n ' Text
+'var' Keyword
+'\n ' Text
+'PSR' Name
+':' Operator
+' ' Text
+'TSearchRec' Name
+';' Operator
+'\n ' Text
+'Res' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n ' Text
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'False' Keyword
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'Success' Name
+'(' Punctuation
+'FindFirst' Name.Builtin
+'(' Punctuation
+'Path' Name
+' ' Text
+'+' Operator
+' ' Text
+'FileName' Name
+',' Operator
+' ' Text
+'Attributes' Name
+',' Operator
+' ' Text
+'PSR' Name
+')' Punctuation
+',' Operator
+' ' Text
+'0' Literal.Number.Integer
+')' Punctuation
+' ' Text
+'then' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'FindAllFirst' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Path' Name
+' ' Text
+'+' Operator
+' ' Text
+'PSR' Name
+'.' Operator
+'Name' Name
+';' Operator
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'True' Keyword
+';' Operator
+'\n ' Text
+'FindClose' Name.Builtin
+'(' Punctuation
+'PSR' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'Exit' Keyword
+';' Operator
+' ' Text
+'end' Keyword
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'not' Keyword
+' ' Text
+'ScanSubDirs' Name
+' ' Text
+'then' Keyword
+'\n ' Text
+'Exit' Keyword
+';' Operator
+'\n\n ' Text
+'Res' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'FindFirst' Name.Builtin
+'(' Punctuation
+'Path' Name
+' ' Text
+'+' Operator
+' ' Text
+"'" Literal.String
+'*' Literal.String
+"'" Literal.String
+',' Operator
+' ' Text
+'faDirectory' Name
+',' Operator
+' ' Text
+'PSR' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'while' Keyword
+' ' Text
+'not' Keyword
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'and' Keyword
+' ' Text
+'Success' Name
+'(' Punctuation
+'Res' Name
+',' Operator
+' ' Text
+'0' Literal.Number.Integer
+')' Punctuation
+' ' Text
+'do' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'(' Punctuation
+'PSR' Name
+'.' Operator
+'Attr' Name
+' ' Text
+'and' Keyword
+' ' Text
+'faDirectory' Name
+' ' Text
+'>' Operator
+' ' Text
+'0' Literal.Number.Integer
+')' Punctuation
+'\n ' Text
+'and' Keyword
+' ' Text
+'(' Punctuation
+'PSR' Name
+'.' Operator
+'Name' Name
+' ' Text
+'<' Operator
+'>' Operator
+' ' Text
+"'" Literal.String
+'.' Literal.String
+"'" Literal.String
+')' Punctuation
+' ' Text
+'and' Keyword
+' ' Text
+'(' Punctuation
+'PSR' Name
+'.' Operator
+'Name' Name
+' ' Text
+'<' Operator
+'>' Operator
+' ' Text
+"'" Literal.String
+'..' Literal.String
+"'" Literal.String
+')' Punctuation
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'ScanDir' Name
+'(' Punctuation
+'Path' Name
+' ' Text
+'+' Operator
+' ' Text
+'PSR' Name
+'.' Operator
+'Name' Name
+' ' Text
+'+' Operator
+' ' Text
+"'" Literal.String
+'\\' Literal.String
+"'" Literal.String
+',' Operator
+' ' Text
+'FileName' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'Res' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'FindNext' Name.Builtin
+'(' Punctuation
+'PSR' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n ' Text
+'FindClose' Name.Builtin
+'(' Punctuation
+'PSR' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'Path' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'ExtractPath' Name
+'(' Punctuation
+'Mask' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'FileName' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'ExtractFileName' Name.Builtin
+'(' Punctuation
+'Mask' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'ScanDir' Name
+'(' Punctuation
+'Path' Name
+',' Operator
+' ' Text
+'FileName' Name
+')' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'procedure' Keyword
+' ' Text
+'DeleteFiles' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'Mask' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'ScanSubDirs' Name
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'True' Keyword
+';' Operator
+'\n ' Text
+'Attributes' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'faFindEveryFile' Name
+')' Punctuation
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'Path' Name
+',' Operator
+' ' Text
+'FileName' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n\n ' Text
+'procedure' Keyword
+' ' Text
+'ScanDir' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'Path' Name
+',' Operator
+' ' Text
+'FileName' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+';' Operator
+'\n ' Text
+'var' Keyword
+'\n ' Text
+'PSR' Name
+':' Operator
+' ' Text
+'TSearchRec' Name
+';' Operator
+'\n ' Text
+'Res' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n\n ' Text
+'procedure' Keyword
+' ' Text
+'TryDeleteFile' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'FileName' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+';' Operator
+'\n ' Text
+'begin' Keyword
+'\n ' Text
+'try' Keyword
+'\n ' Text
+'DeleteFile' Name.Builtin
+'(' Punctuation
+'Path' Name
+' ' Text
+'+' Operator
+' ' Text
+'PSR' Name
+'.' Operator
+'Name' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'except' Keyword
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n\n ' Text
+'begin' Keyword
+'\n ' Text
+'Res' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'FindFirst' Name.Builtin
+'(' Punctuation
+'Path' Name
+' ' Text
+'+' Operator
+' ' Text
+'FileName' Name
+',' Operator
+' ' Text
+'Attributes' Name
+',' Operator
+' ' Text
+'PSR' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'while' Keyword
+' ' Text
+'Success' Name
+'(' Punctuation
+'Res' Name
+',' Operator
+' ' Text
+'0' Literal.Number.Integer
+')' Punctuation
+' ' Text
+'do' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'TryDeleteFile' Name
+'(' Punctuation
+'Path' Name
+' ' Text
+'+' Operator
+' ' Text
+'PSR' Name
+'.' Operator
+'Name' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'Res' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'FindNext' Name.Builtin
+'(' Punctuation
+'PSR' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n ' Text
+'FindClose' Name.Builtin
+'(' Punctuation
+'PSR' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'not' Keyword
+' ' Text
+'ScanSubDirs' Name
+' ' Text
+'then' Keyword
+'\n ' Text
+'Exit' Keyword
+';' Operator
+'\n\n ' Text
+'Res' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'FindFirst' Name.Builtin
+'(' Punctuation
+'Path' Name
+' ' Text
+'+' Operator
+' ' Text
+"'" Literal.String
+'*' Literal.String
+"'" Literal.String
+',' Operator
+' ' Text
+'faDirectory' Name
+',' Operator
+' ' Text
+'PSR' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'while' Keyword
+' ' Text
+'Success' Name
+'(' Punctuation
+'Res' Name
+',' Operator
+' ' Text
+'0' Literal.Number.Integer
+')' Punctuation
+' ' Text
+'do' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'(' Punctuation
+'PSR' Name
+'.' Operator
+'Attr' Name
+' ' Text
+'and' Keyword
+' ' Text
+'faDirectory' Name
+' ' Text
+'>' Operator
+' ' Text
+'0' Literal.Number.Integer
+')' Punctuation
+'\n ' Text
+'and' Keyword
+' ' Text
+'(' Punctuation
+'PSR' Name
+'.' Operator
+'Name' Name
+' ' Text
+'<' Operator
+'>' Operator
+' ' Text
+"'" Literal.String
+'.' Literal.String
+"'" Literal.String
+')' Punctuation
+' ' Text
+'and' Keyword
+' ' Text
+'(' Punctuation
+'PSR' Name
+'.' Operator
+'Name' Name
+' ' Text
+'<' Operator
+'>' Operator
+' ' Text
+"'" Literal.String
+'..' Literal.String
+"'" Literal.String
+')' Punctuation
+' ' Text
+'then' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'ScanDir' Name
+'(' Punctuation
+'Path' Name
+' ' Text
+'+' Operator
+' ' Text
+'PSR' Name
+'.' Operator
+'Name' Name
+' ' Text
+'+' Operator
+' ' Text
+"'" Literal.String
+'\\' Literal.String
+"'" Literal.String
+',' Operator
+' ' Text
+'FileName' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'TryDeleteFile' Name
+'(' Punctuation
+'Path' Name
+' ' Text
+'+' Operator
+' ' Text
+'PSR' Name
+'.' Operator
+'Name' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n ' Text
+'Res' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'FindNext' Name.Builtin
+'(' Punctuation
+'PSR' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n ' Text
+'FindClose' Name.Builtin
+'(' Punctuation
+'PSR' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Path' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'ExtractPath' Name
+'(' Punctuation
+'Mask' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'FileName' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'ExtractFileName' Name.Builtin
+'(' Punctuation
+'Mask' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'ScanDir' Name
+'(' Punctuation
+'Path' Name
+',' Operator
+' ' Text
+'FileName' Name
+')' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'GetFileNew' Name.Function
+'(' Punctuation
+'FileName' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+' ' Text
+'NoFloppyDrives' Name
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+' ' Text
+'=' Operator
+' ' Text
+'True' Keyword
+')' Punctuation
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'Drive' Name
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n ' Text
+'pf' Name
+',' Operator
+' ' Text
+'pd' Name
+',' Operator
+' ' Text
+'Len' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n ' Text
+'PSR' Name
+':' Operator
+' ' Text
+'TSearchRec' Name
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'FileName' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Trim' Name.Builtin
+'(' Punctuation
+'FileName' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'FileName' Name
+')' Punctuation
+' ' Text
+'<' Operator
+' ' Text
+'2' Literal.Number.Integer
+' ' Text
+'then' Keyword
+'\n ' Text
+'Exit' Keyword
+';' Operator
+'\n\n ' Text
+'Drive' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'ExtractDrive' Name
+'(' Punctuation
+'FileName' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'not' Keyword
+' ' Text
+'DirectoryExists' Name.Builtin
+'(' Punctuation
+'Drive' Name
+')' Punctuation
+' ' Text
+'then' Keyword
+'\n ' Text
+'Exit' Keyword
+';' Operator
+'\n\n ' Text
+'if' Keyword
+' ' Text
+'NoFloppyDrives' Name
+' ' Text
+'and' Keyword
+' ' Text
+'(' Punctuation
+'Drive' Name
+'[' Punctuation
+'1' Literal.Number.Integer
+']' Punctuation
+' ' Text
+'in' Keyword
+' ' Text
+'[' Punctuation
+"'" Literal.String
+'A' Literal.String
+"'" Literal.String
+',' Operator
+' ' Text
+"'" Literal.String
+'B' Literal.String
+"'" Literal.String
+'])' Punctuation
+' ' Text
+'then' Keyword
+'\n ' Text
+'Exit' Keyword
+';' Operator
+'\n\n ' Text
+'Len' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'FileName' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Drive' Name
+';' Operator
+'\n ' Text
+'pf' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Length' Name.Builtin
+'(' Punctuation
+'Drive' Name
+')' Punctuation
+' ' Text
+'+' Operator
+' ' Text
+'1' Literal.Number.Integer
+';' Operator
+'\n ' Text
+'while' Keyword
+' ' Text
+'pf' Name
+' ' Text
+'<' Operator
+'=' Operator
+' ' Text
+'Len' Name
+' ' Text
+'do' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'FileName' Name
+'[' Punctuation
+'pf' Name
+']' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+'\\' Literal.String
+"'" Literal.String
+' ' Text
+'then' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'+' Operator
+' ' Text
+"'" Literal.String
+'\\' Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'Inc' Name.Builtin
+'(' Punctuation
+'pf' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'Continue' Keyword
+';' Operator
+' ' Text
+'end' Keyword
+';' Operator
+'\n\n ' Text
+'pd' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'CharPos' Name
+'(' Punctuation
+"'" Literal.String
+'\\' Literal.String
+"'" Literal.String
+',' Operator
+' ' Text
+'FileName' Name
+',' Operator
+' ' Text
+'pf' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'pd' Name
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'then' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'0' Literal.Number.Integer
+'=' Operator
+'FindFirst' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+' ' Text
+'+' Operator
+' ' Text
+'Copy' Name.Builtin
+'(' Punctuation
+'FileName' Name
+',' Operator
+' ' Text
+'pf' Name
+',' Operator
+' ' Text
+'MaxInt' Name
+')' Punctuation
+',' Operator
+' ' Text
+'faFindEveryFile' Name
+',' Operator
+' ' Text
+'PSR' Name
+')' Punctuation
+' ' Text
+'then' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'+' Operator
+' ' Text
+'PSR' Name
+'.' Operator
+'Name' Name
+';' Operator
+'\n ' Text
+'Break' Keyword
+';' Operator
+' ' Text
+'end' Keyword
+' ' Text
+'else' Keyword
+' ' Text
+'begin' Keyword
+'\n ' Text
+'FindClose' Name.Builtin
+'(' Punctuation
+'PSR' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'0' Literal.Number.Integer
+'=' Operator
+'FindFirst' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+' ' Text
+'+' Operator
+' ' Text
+'Copy' Name.Builtin
+'(' Punctuation
+'FileName' Name
+',' Operator
+' ' Text
+'pf' Name
+',' Operator
+' ' Text
+'MaxInt' Name
+')' Punctuation
+',' Operator
+' ' Text
+'faDirectory' Name
+',' Operator
+' ' Text
+'PSR' Name
+')' Punctuation
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'+' Operator
+' ' Text
+'PSR' Name
+'.' Operator
+'Name' Name
+' ' Text
+'+' Operator
+' ' Text
+"'" Literal.String
+'\\' Literal.String
+"'" Literal.String
+'\n ' Text
+'else' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'FindClose' Name.Builtin
+'(' Punctuation
+'PSR' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+' ' Text
+'then' Keyword
+'\n ' Text
+'Break' Keyword
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n\n ' Text
+'if' Keyword
+' ' Text
+'0' Literal.Number.Integer
+'=' Operator
+'FindFirst' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+' ' Text
+'+' Operator
+' ' Text
+'Copy' Name.Builtin
+'(' Punctuation
+'FileName' Name
+',' Operator
+' ' Text
+'pf' Name
+',' Operator
+' ' Text
+'pd' Name
+' ' Text
+'-' Operator
+' ' Text
+'pf' Name
+')' Punctuation
+',' Operator
+' ' Text
+'faDirectory' Name
+',' Operator
+' ' Text
+'PSR' Name
+')' Punctuation
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'+' Operator
+' ' Text
+'PSR' Name
+'.' Operator
+'Name' Name
+' ' Text
+'+' Operator
+' ' Text
+"'" Literal.String
+'\\' Literal.String
+"'" Literal.String
+'\n ' Text
+'else' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+';' Operator
+'\n ' Text
+'FindClose' Name.Builtin
+'(' Punctuation
+'PSR' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+' ' Text
+'then' Keyword
+'\n ' Text
+'Break' Keyword
+';' Operator
+'\n\n ' Text
+'pf' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'pd' Name
+' ' Text
+'+' Operator
+' ' Text
+'1' Literal.Number.Integer
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n\n ' Text
+'if' Keyword
+' ' Text
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+' ' Text
+'<' Operator
+'>' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+')' Punctuation
+' ' Text
+'and' Keyword
+' ' Text
+'not' Keyword
+' ' Text
+'FileEx' Name
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+',' Operator
+' ' Text
+'True' Keyword
+')' Punctuation
+' ' Text
+'then' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+"'" Literal.String
+"'" Literal.String
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'DateTimeOfFileTime' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'FileTime' Name
+':' Operator
+' ' Text
+'TFileTime' Name
+')' Punctuation
+':' Operator
+' ' Text
+'TDateTime' Keyword.Type
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'LocalFileTime' Name
+':' Operator
+' ' Text
+'TFileTime' Name
+';' Operator
+'\n ' Text
+'Res' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Operator
+'\n\n ' Text
+'FileTimeToLocalFileTime' Name
+'(' Punctuation
+'FileTime' Name
+',' Operator
+' ' Text
+'LocalFileTime' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'not' Keyword
+' ' Text
+'FileTimeToDosDateTime' Name
+'(' Punctuation
+'LocalFileTime' Name
+',' Operator
+' ' Text
+'LongRec' Name
+'(' Punctuation
+'Res' Name
+')' Punctuation
+'.' Operator
+'Hi' Name
+',' Operator
+'\n ' Text
+'LongRec' Name
+'(' Punctuation
+'Res' Name
+')' Punctuation
+'.' Operator
+'Lo' Name
+')' Punctuation
+' ' Text
+'then' Keyword
+'\n ' Text
+'Res' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'-' Operator
+'1' Literal.Number.Integer
+';' Operator
+'\n\n ' Text
+'if' Keyword
+' ' Text
+'(' Punctuation
+'Res' Name
+' ' Text
+'=' Operator
+' ' Text
+'-' Operator
+'1' Literal.Number.Integer
+')' Punctuation
+' ' Text
+'or' Keyword
+' ' Text
+'(' Punctuation
+'Res' Name
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+')' Punctuation
+' ' Text
+'then' Keyword
+'\n ' Text
+'Exit' Keyword
+';' Operator
+'\n ' Text
+'try' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'FileDateToDateTime' Name.Builtin
+'(' Punctuation
+'Res' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'except' Keyword
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'procedure' Keyword
+' ' Text
+'FileNew' Name.Function
+'(' Punctuation
+'const' Keyword
+' ' Text
+'FileName' Name
+':' Operator
+' ' Text
+'string' Keyword
+')' Punctuation
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'Handle' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Handle' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'FileCreate' Name.Builtin
+'(' Punctuation
+'FileName' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'FileClose' Name.Builtin
+'(' Punctuation
+'Handle' Name
+')' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'Win32PlatformStr' Name.Function
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'const' Keyword
+'\n ' Text
+'PlatformStrings' Name
+':' Operator
+' ' Text
+'array' Keyword
+'[' Punctuation
+'VER_PLATFORM_WIN32s' Name
+'.' Operator
+'.' Operator
+'VER_PLATFORM_WIN32_NT' Name
+']' Punctuation
+' ' Text
+'of' Keyword
+' ' Text
+'string' Keyword
+' ' Text
+'=' Operator
+'\n ' Text
+'(' Punctuation
+"'" Literal.String
+'VER_PLATFORM_WIN32s' Literal.String
+"'" Literal.String
+',' Operator
+' ' Text
+"'" Literal.String
+'VER_PLATFORM_WIN32_WINDOWS' Literal.String
+"'" Literal.String
+',' Operator
+' ' Text
+"'" Literal.String
+'VER_PLATFORM_WIN32_NT' Literal.String
+"'" Literal.String
+')' Punctuation
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'PlatformStrings' Name
+'[' Punctuation
+'Win32Platform' Name
+']' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'FullOSInfo' Name.Function
+':' Operator
+' ' Text
+'string' Keyword
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Format' Name.Builtin
+'(' Punctuation
+'\n ' Text
+"'" Literal.String
+'Platform: %s' Literal.String
+"'" Literal.String
+' ' Text
+'+' Operator
+' ' Text
+'EOL' Name
+' ' Text
+'+' Operator
+'\n ' Text
+"'" Literal.String
+'Version: %d.%d Build %d' Literal.String
+"'" Literal.String
+' ' Text
+'+' Operator
+' ' Text
+'EOL' Name
+' ' Text
+'+' Operator
+'\n ' Text
+"'" Literal.String
+'CSD: %s' Literal.String
+"'" Literal.String
+',' Operator
+'\n ' Text
+'[' Punctuation
+'\n ' Text
+'Win32PlatformStr' Name
+',' Operator
+'\n ' Text
+'Win32MajorVersion' Name
+',' Operator
+' ' Text
+'Win32MinorVersion' Name
+',' Operator
+' ' Text
+'Win32BuildNumber' Name
+',' Operator
+'\n ' Text
+'Win32CSDVersion' Name
+'\n ' Text
+']' Punctuation
+'\n ' Text
+')' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'Win9x' Name.Function
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Win32Platform' Name
+' ' Text
+'=' Operator
+' ' Text
+'VER_PLATFORM_WIN32_WINDOWS' Name
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'WinNT' Name.Function
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Win32Platform' Name
+' ' Text
+'=' Operator
+' ' Text
+'VER_PLATFORM_WIN32_NT' Name
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'Win2000' Name.Function
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'(' Punctuation
+'Win32Platform' Name
+' ' Text
+'=' Operator
+' ' Text
+'VER_PLATFORM_WIN32_NT' Name
+')' Punctuation
+'\n ' Text
+'and' Keyword
+' ' Text
+'(' Punctuation
+'Win32MajorVersion' Name
+' ' Text
+'=' Operator
+' ' Text
+'4' Literal.Number.Integer
+')' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'WinXP' Name.Function
+':' Operator
+' ' Text
+'Boolean' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Win32MajorVersion' Name
+' ' Text
+'>' Operator
+'=' Operator
+' ' Text
+'5' Literal.Number.Integer
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'initialization' Keyword
+'\n ' Text
+'MyDir' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'GetMyDir' Name
+';' Operator
+'\n\n' Text
+
+'end' Keyword
+'.' Operator
+'\n\n' Text
+
+'unit' Keyword
+' ' Text
+'FifoStream' Name
+';' Operator
+'\n\n' Text
+
+'interface' Keyword
+'\n\n' Text
+
+'uses' Keyword
+' ' Text
+'Classes' Name
+',' Operator
+' ' Text
+'windows' Name
+',' Operator
+' ' Text
+'Dialogs' Name
+';' Operator
+'\n\n' Text
+
+'const' Keyword
+'\n ' Text
+'DefaultChunksize' Name
+' ' Text
+'=' Operator
+' ' Text
+'32768' Literal.Number.Integer
+';' Operator
+' ' Text
+'// 32kb per chunk as default.' Comment.Single
+'\n\n' Text
+
+'type' Keyword
+'\n ' Text
+'PMemChunk' Name
+' ' Text
+'=' Operator
+' ' Text
+'^' Operator
+'TMemChunk' Name
+';' Operator
+'\n ' Text
+'TMemChunk' Name
+' ' Text
+'=' Operator
+' ' Text
+'record' Keyword
+'\n ' Text
+'Filled' Name
+':' Operator
+' ' Text
+'Longword' Keyword.Type
+';' Operator
+'\n ' Text
+'Read' Name.Builtin
+':' Operator
+' ' Text
+'Longword' Keyword.Type
+';' Operator
+'\n ' Text
+'Data' Name
+':' Operator
+' ' Text
+'pointer' Keyword.Type
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n\n ' Text
+'TFifo' Name
+' ' Text
+'=' Operator
+' ' Text
+'class' Keyword
+'\n ' Text
+'private' Keyword.Pseudo
+'\n ' Text
+'FBuffers' Name
+':' Operator
+' ' Text
+'TList' Name
+';' Operator
+'\n ' Text
+'FChunksize' Name
+':' Operator
+' ' Text
+'Longword' Keyword.Type
+';' Operator
+'\n ' Text
+'FCritSect' Name
+':' Operator
+' ' Text
+'TRTLCriticalSection' Name
+';' Operator
+'\n ' Text
+'FIsWinNT' Name
+':' Operator
+' ' Text
+'boolean' Keyword.Type
+';' Operator
+'\n ' Text
+'FBytesInFifo' Name
+':' Operator
+' ' Text
+'LongWord' Keyword.Type
+';' Operator
+'\n ' Text
+'protected' Keyword.Pseudo
+'\n ' Text
+'function' Keyword
+' ' Text
+'GetBytesInFifo' Name.Function
+':' Operator
+' ' Text
+'LongWord' Keyword.Type
+';' Operator
+'\n ' Text
+'public' Keyword.Pseudo
+'\n ' Text
+'constructor' Keyword
+' ' Text
+'Create' Name.Function
+';' Operator
+'\n ' Text
+'destructor' Keyword
+' ' Text
+'Destroy' Name.Function
+';' Operator
+' ' Text
+'override' Keyword.Pseudo
+';' Operator
+'\n ' Text
+'procedure' Keyword
+' ' Text
+'Write' Name.Function
+'(' Punctuation
+'Data' Name
+':' Operator
+' ' Text
+'pointer' Keyword.Type
+';' Operator
+' ' Text
+'Size' Name
+':' Operator
+' ' Text
+'LongWord' Keyword.Type
+')' Punctuation
+';' Operator
+'\n ' Text
+'procedure' Keyword
+' ' Text
+'Read' Name.Function
+'(' Punctuation
+'Buff' Name
+':' Operator
+' ' Text
+'pointer' Keyword.Type
+';' Operator
+' ' Text
+'var' Keyword
+' ' Text
+'ReqSize' Name
+':' Operator
+' ' Text
+'LongWord' Keyword.Type
+')' Punctuation
+';' Operator
+'\n ' Text
+'procedure' Keyword
+' ' Text
+'PeekData' Name.Function
+'(' Punctuation
+'Buff' Name
+':' Operator
+' ' Text
+'pointer' Keyword.Type
+';' Operator
+' ' Text
+'var' Keyword
+' ' Text
+'ReqSize' Name
+':' Operator
+' ' Text
+'LongWord' Keyword.Type
+')' Punctuation
+';' Operator
+'\n ' Text
+'published' Keyword.Pseudo
+'\n ' Text
+'property' Keyword
+' ' Text
+'BytesInFifo' Name.Property
+':' Operator
+' ' Text
+'LongWord' Keyword.Type
+' ' Text
+'read' Keyword.Pseudo
+' ' Text
+'FBytesInFifo' Name.Function
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'implementation' Keyword
+'\n\n' Text
+
+'constructor' Keyword
+' ' Text
+'TFifo' Name.Class
+'.' Operator
+'Create' Name.Function
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'inherited' Keyword
+';' Operator
+'\n ' Text
+'FBuffers' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'TList' Name
+'.' Operator
+'Create' Name
+';' Operator
+'\n ' Text
+'// set default chunksize...' Comment.Single
+'\n ' Text
+'FChunksize' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'DefaultChunksize' Name
+';' Operator
+'\n ' Text
+'InitializeCriticalSection' Name
+'(' Punctuation
+'FCritSect' Name
+')' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'destructor' Keyword
+' ' Text
+'TFifo' Name.Class
+'.' Operator
+'Destroy' Name.Function
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'I' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'EnterCriticalSection' Name
+'(' Punctuation
+'FCritSect' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'for' Keyword
+' ' Text
+'I' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'to' Keyword
+' ' Text
+'FBuffers' Name
+'.' Operator
+'count' Name
+' ' Text
+'-' Operator
+' ' Text
+'1' Literal.Number.Integer
+' ' Text
+'do' Keyword
+'\n ' Text
+'begin' Keyword
+'\n ' Text
+'FreeMem' Name.Builtin
+'(' Punctuation
+'PMemChunk' Name
+'(' Punctuation
+'Fbuffers' Name
+'[' Punctuation
+'I' Name
+'])' Punctuation
+'.' Operator
+'Data' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'Dispose' Keyword
+'(' Punctuation
+'PMemChunk' Name
+'(' Punctuation
+'Fbuffers' Name
+'[' Punctuation
+'I' Name
+']))' Punctuation
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n ' Text
+'FBuffers' Name
+'.' Operator
+'Clear' Name
+';' Operator
+'\n ' Text
+'FBuffers' Name
+'.' Operator
+'Free' Name
+';' Operator
+'\n ' Text
+'LeaveCriticalSection' Name
+'(' Punctuation
+'FCritSect' Name
+')' Punctuation
+';' Operator
+'\n\n ' Text
+'DeleteCriticalSection' Name
+'(' Punctuation
+'FCritSect' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'inherited' Keyword
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'function' Keyword
+' ' Text
+'TFifo' Name.Class
+'.' Operator
+'GetBytesInFifo' Name.Function
+':' Operator
+' ' Text
+'LongWord' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'Result' Name.Builtin.Pseudo
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'FBuffers' Name
+'.' Operator
+'Count' Name
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'then' Keyword
+'\n ' Text
+'begin' Keyword
+'\n ' Text
+'exit' Keyword
+';' Operator
+'\n ' Text
+'end' Keyword
+'\n ' Text
+'else' Keyword
+'\n ' Text
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'FBuffers' Name
+'.' Operator
+'Count' Name
+' ' Text
+'>' Operator
+' ' Text
+'1' Literal.Number.Integer
+' ' Text
+'then' Keyword
+'\n ' Text
+'Inc' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+',' Operator
+' ' Text
+'(' Punctuation
+'FBuffers' Name
+'.' Operator
+'Count' Name
+' ' Text
+'-' Operator
+' ' Text
+'1' Literal.Number.Integer
+')' Punctuation
+' ' Text
+'*' Operator
+' ' Text
+'FChunkSize' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'Inc' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+',' Operator
+' ' Text
+'PMemChunk' Name
+'(' Punctuation
+'FBuffers' Name
+'[' Punctuation
+'Fbuffers' Name
+'.' Operator
+'Count' Name
+' ' Text
+'-' Operator
+' ' Text
+'1' Literal.Number.Integer
+'])' Punctuation
+'.' Operator
+'Filled' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'Dec' Name.Builtin
+'(' Punctuation
+'Result' Name.Builtin.Pseudo
+',' Operator
+' ' Text
+'PMemChunk' Name
+'(' Punctuation
+'FBuffers' Name
+'[' Punctuation
+'0' Literal.Number.Integer
+'])' Punctuation
+'.' Operator
+'Read' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'procedure' Keyword
+' ' Text
+'TFifo' Name.Class
+'.' Operator
+'Write' Name.Function
+'(' Punctuation
+'Data' Name
+':' Operator
+' ' Text
+'pointer' Keyword.Type
+';' Operator
+' ' Text
+'Size' Name
+':' Operator
+' ' Text
+'LongWord' Keyword.Type
+')' Punctuation
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'Privpointer' Name
+':' Operator
+' ' Text
+'pointer' Keyword.Type
+';' Operator
+'\n ' Text
+'PrivSize' Name
+':' Operator
+' ' Text
+'LongWord' Keyword.Type
+';' Operator
+'\n ' Text
+'Chunk' Name
+':' Operator
+' ' Text
+'PMemChunk' Name
+';' Operator
+'\n ' Text
+'PosInChunk' Name
+':' Operator
+' ' Text
+'pointer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'LongWord' Keyword.Type
+'(' Punctuation
+'Data' Name
+')' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'then' Keyword
+'\n ' Text
+'begin' Keyword
+'\n ' Text
+'// null pointer? somebody is trying to fool us, get out...' Comment.Single
+'\n ' Text
+'Exit' Keyword
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n ' Text
+'EnterCriticalSection' Name
+'(' Punctuation
+'FCritSect' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'PrivPointer' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Data' Name
+';' Operator
+'\n ' Text
+'PrivSize' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Operator
+'\n ' Text
+'// are already buffers there?' Comment.Single
+'\n ' Text
+'if' Keyword
+' ' Text
+'FBuffers' Name
+'.' Operator
+'count' Name
+' ' Text
+'>' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'then' Keyword
+'\n ' Text
+'begin' Keyword
+'\n ' Text
+'// is the last one of them not completely filled?' Comment.Single
+'\n ' Text
+'if' Keyword
+' ' Text
+'PMemChunk' Name
+'(' Punctuation
+'FBuffers' Name
+'[' Punctuation
+'FBuffers' Name
+'.' Operator
+'count' Name
+' ' Text
+'-' Operator
+' ' Text
+'1' Literal.Number.Integer
+'])' Punctuation
+'.' Operator
+'filled' Name
+' ' Text
+'<' Operator
+' ' Text
+'FChunksize' Name
+' ' Text
+'then' Keyword
+'\n ' Text
+'// not completely filled, so fill up the buffer.' Comment.Single
+'\n ' Text
+'begin' Keyword
+'\n ' Text
+'Chunk' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'PMemChunk' Name
+'(' Punctuation
+'FBuffers' Name
+'[' Punctuation
+'FBuffers' Name
+'.' Operator
+'count' Name
+' ' Text
+'-' Operator
+' ' Text
+'1' Literal.Number.Integer
+'])' Punctuation
+';' Operator
+'\n ' Text
+'// fetch chunkdata.' Comment.Single
+'\n ' Text
+'PosInChunk' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Chunk' Name
+'.' Operator
+'Data' Name
+';' Operator
+'\n ' Text
+'// move to current fill pos...' Comment.Single
+'\n ' Text
+'Inc' Name.Builtin
+'(' Punctuation
+'LongWord' Keyword.Type
+'(' Punctuation
+'PosInChunk' Name
+')' Punctuation
+',' Operator
+' ' Text
+'Chunk' Name
+'.' Operator
+'Filled' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'// can we fill the chunk completely?' Comment.Single
+'\n ' Text
+'if' Keyword
+' ' Text
+'Size' Name
+' ' Text
+'>' Operator
+' ' Text
+'FChunksize' Name
+' ' Text
+'-' Operator
+' ' Text
+'Chunk' Name
+'.' Operator
+'Filled' Name
+' ' Text
+'then' Keyword
+'\n ' Text
+'begin' Keyword
+'\n ' Text
+'// yes we can.' Comment.Single
+'\n ' Text
+'Move' Name.Builtin
+'(' Punctuation
+'PrivPointer' Name
+'^' Operator
+',' Operator
+' ' Text
+'PosInChunk' Name
+'^' Operator
+',' Operator
+' ' Text
+'FChunksize' Name
+' ' Text
+'-' Operator
+' ' Text
+'Chunk' Name
+'.' Operator
+'Filled' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'Inc' Name.Builtin
+'(' Punctuation
+'PrivSize' Name
+',' Operator
+' ' Text
+'FChunksize' Name
+' ' Text
+'-' Operator
+' ' Text
+'Chunk' Name
+'.' Operator
+'Filled' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'Inc' Name.Builtin
+'(' Punctuation
+'LongWord' Keyword.Type
+'(' Punctuation
+'PrivPointer' Name
+')' Punctuation
+',' Operator
+' ' Text
+'FChunksize' Name
+' ' Text
+'-' Operator
+' ' Text
+'Chunk' Name
+'.' Operator
+'Filled' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'Chunk' Name
+'.' Operator
+'Filled' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'FChunkSize' Name
+';' Operator
+'\n ' Text
+'end' Keyword
+'\n ' Text
+'else' Keyword
+'\n ' Text
+'// we have to less data for filling the chunk completely,' Comment.Single
+'\n ' Text
+'// just put everything in.' Comment.Single
+'\n ' Text
+'begin' Keyword
+'\n ' Text
+'Move' Name.Builtin
+'(' Punctuation
+'PrivPointer' Name
+'^' Operator
+',' Operator
+' ' Text
+'PosInChunk' Name
+'^' Operator
+',' Operator
+' ' Text
+'Size' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'Inc' Name.Builtin
+'(' Punctuation
+'PrivSize' Name
+',' Operator
+' ' Text
+'Size' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'Inc' Name.Builtin
+'(' Punctuation
+'Chunk' Name
+'.' Operator
+'Filled' Name
+',' Operator
+' ' Text
+'Size' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n ' Text
+'// as long as we have remaining stuff put it into new chunks.' Comment.Single
+'\n ' Text
+'while' Keyword
+' ' Text
+'(' Punctuation
+'PrivSize' Name
+' ' Text
+'<' Operator
+' ' Text
+'Size' Name
+')' Punctuation
+' ' Text
+'do' Keyword
+'\n ' Text
+'begin' Keyword
+'\n ' Text
+'new' Keyword
+'(' Punctuation
+'Chunk' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'GetMem' Name.Builtin
+'(' Punctuation
+'Chunk' Name
+'.' Operator
+'Data' Name
+',' Operator
+' ' Text
+'FChunksize' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'Chunk' Name
+'.' Operator
+'Read' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Operator
+'\n ' Text
+'// can we fill an entire chunk with the remaining data?' Comment.Single
+'\n ' Text
+'if' Keyword
+' ' Text
+'Privsize' Name
+' ' Text
+'+' Operator
+' ' Text
+'FChunksize' Name
+' ' Text
+'<' Operator
+' ' Text
+'Size' Name
+' ' Text
+'then' Keyword
+'\n ' Text
+'begin' Keyword
+'\n ' Text
+'// yes we can, so put the stuff in.' Comment.Single
+'\n ' Text
+'Move' Name.Builtin
+'(' Punctuation
+'Privpointer' Name
+'^' Operator
+',' Operator
+' ' Text
+'Chunk' Name
+'.' Operator
+'Data' Name
+'^' Operator
+',' Operator
+' ' Text
+'FChunksize' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'Inc' Name.Builtin
+'(' Punctuation
+'LongWord' Keyword.Type
+'(' Punctuation
+'PrivPointer' Name
+')' Punctuation
+',' Operator
+' ' Text
+'FChunksize' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'Inc' Name.Builtin
+'(' Punctuation
+'PrivSize' Name
+',' Operator
+' ' Text
+'FChunksize' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'Chunk' Name
+'.' Operator
+'Filled' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'FChunksize' Name
+';' Operator
+'\n ' Text
+'end' Keyword
+'\n ' Text
+'else' Keyword
+' ' Text
+'// we have to less data to fill the entire chunk, just put the remaining stuff in.' Comment.Single
+'\n ' Text
+'begin' Keyword
+'\n ' Text
+'Move' Name.Builtin
+'(' Punctuation
+'Privpointer' Name
+'^' Operator
+',' Operator
+' ' Text
+'Chunk' Name
+'.' Operator
+'Data' Name
+'^' Operator
+',' Operator
+' ' Text
+'Size' Name
+' ' Text
+'-' Operator
+' ' Text
+'Privsize' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'Chunk' Name
+'.' Operator
+'Filled' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Size' Name
+' ' Text
+'-' Operator
+' ' Text
+'Privsize' Name
+';' Operator
+'\n ' Text
+'Inc' Name.Builtin
+'(' Punctuation
+'PrivSize' Name
+',' Operator
+' ' Text
+'Size' Name
+' ' Text
+'-' Operator
+' ' Text
+'Privsize' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n ' Text
+'Fbuffers' Name
+'.' Operator
+'Add' Name
+'(' Punctuation
+'Chunk' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n ' Text
+'if' Keyword
+' ' Text
+'Size' Name
+' ' Text
+'<' Operator
+'>' Operator
+' ' Text
+'Privsize' Name
+' ' Text
+'then' Keyword
+'\n ' Text
+'Showmessage' Name
+'(' Punctuation
+"'" Literal.String
+'miscalculation in TFifo.write' Literal.String
+"'" Literal.String
+')' Punctuation
+';' Operator
+'\n ' Text
+'FBytesInFifo' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'GetBytesInFifo' Name
+';' Operator
+'\n ' Text
+'LeaveCriticalSection' Name
+'(' Punctuation
+'FCritSect' Name
+')' Punctuation
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'procedure' Keyword
+' ' Text
+'TFifo' Name.Class
+'.' Operator
+'Read' Name.Function
+'(' Punctuation
+'Buff' Name
+':' Operator
+' ' Text
+'pointer' Keyword.Type
+';' Operator
+' ' Text
+'var' Keyword
+' ' Text
+'ReqSize' Name
+':' Operator
+' ' Text
+'LongWord' Keyword.Type
+')' Punctuation
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'PrivSize' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n ' Text
+'Privpos' Name
+':' Operator
+' ' Text
+'pointer' Keyword.Type
+';' Operator
+'\n ' Text
+'Chunk' Name
+':' Operator
+' ' Text
+'PMemChunk' Name
+';' Operator
+'\n ' Text
+'ChunkPos' Name
+':' Operator
+' ' Text
+'pointer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'LongWord' Keyword.Type
+'(' Punctuation
+'Buff' Name
+')' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'then' Keyword
+'\n ' Text
+'begin' Keyword
+'\n ' Text
+'// null pointer? somebody is trying to fool us, get out...' Comment.Single
+'\n ' Text
+'Exit' Keyword
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n ' Text
+'EnterCriticalSection' Name
+'(' Punctuation
+'FCritSect' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'PrivSize' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Operator
+'\n ' Text
+'Privpos' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Buff' Name
+';' Operator
+'\n ' Text
+'while' Keyword
+' ' Text
+'FBuffers' Name
+'.' Operator
+'Count' Name
+' ' Text
+'>' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'do' Keyword
+'\n ' Text
+'begin' Keyword
+'\n ' Text
+'Chunk' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'PMemChunk' Name
+'(' Punctuation
+'FBuffers' Name
+'[' Punctuation
+'0' Literal.Number.Integer
+'])' Punctuation
+';' Operator
+'\n ' Text
+'ChunkPos' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Chunk' Name
+'.' Operator
+'data' Name
+';' Operator
+'\n ' Text
+'Inc' Name.Builtin
+'(' Punctuation
+'LongWord' Keyword.Type
+'(' Punctuation
+'ChunkPos' Name
+')' Punctuation
+',' Operator
+' ' Text
+'Chunk' Name
+'.' Operator
+'Read' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'// does the remaining part of the chunk fit into the buffer?' Comment.Single
+'\n ' Text
+'if' Keyword
+' ' Text
+'PrivSize' Name
+' ' Text
+'+' Operator
+' ' Text
+'(' Punctuation
+'Chunk' Name
+'.' Operator
+'Filled' Name
+' ' Text
+'-' Operator
+' ' Text
+'Chunk' Name
+'.' Operator
+'read' Name
+')' Punctuation
+' ' Text
+'<' Operator
+' ' Text
+'ReqSize' Name
+' ' Text
+'then' Keyword
+'\n ' Text
+'begin' Keyword
+' ' Text
+'// yep, it fits' Comment.Single
+'\n ' Text
+'Move' Name.Builtin
+'(' Punctuation
+'ChunkPos' Name
+'^' Operator
+',' Operator
+' ' Text
+'Privpos' Name
+'^' Operator
+',' Operator
+' ' Text
+'Chunk' Name
+'.' Operator
+'Filled' Name
+' ' Text
+'-' Operator
+' ' Text
+'Chunk' Name
+'.' Operator
+'read' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'Inc' Name.Builtin
+'(' Punctuation
+'PrivSize' Name
+',' Operator
+' ' Text
+'Chunk' Name
+'.' Operator
+'Filled' Name
+' ' Text
+'-' Operator
+' ' Text
+'Chunk' Name
+'.' Operator
+'read' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'FreeMem' Name.Builtin
+'(' Punctuation
+'Chunk' Name
+'.' Operator
+'Data' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'Dispose' Keyword
+'(' Punctuation
+'Chunk' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'FBuffers' Name
+'.' Operator
+'Delete' Name
+'(' Punctuation
+'0' Literal.Number.Integer
+')' Punctuation
+';' Operator
+'\n ' Text
+'end' Keyword
+'\n ' Text
+'else' Keyword
+' ' Text
+"// remaining part didn't fit, get as much as we can and increment the" Comment.Single
+'\n ' Text
+'// read attribute.' Comment.Single
+'\n ' Text
+'begin' Keyword
+'\n ' Text
+'Move' Name.Builtin
+'(' Punctuation
+'ChunkPos' Name
+'^' Operator
+',' Operator
+' ' Text
+'Privpos' Name
+'^' Operator
+',' Operator
+' ' Text
+'ReqSize' Name
+' ' Text
+'-' Operator
+' ' Text
+'PrivSize' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'Inc' Name.Builtin
+'(' Punctuation
+'Chunk' Name
+'.' Operator
+'read' Name
+',' Operator
+' ' Text
+'ReqSize' Name
+' ' Text
+'-' Operator
+' ' Text
+'PrivSize' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'Inc' Name.Builtin
+'(' Punctuation
+'PrivSize' Name
+',' Operator
+' ' Text
+'ReqSize' Name
+' ' Text
+'-' Operator
+' ' Text
+'PrivSize' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+"// as we filled the buffer, we'll have to break here." Comment.Single
+'\n ' Text
+'break' Keyword
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n ' Text
+'FBytesInFifo' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'GetBytesInFifo' Name
+';' Operator
+'\n ' Text
+'LeaveCriticalSection' Name
+'(' Punctuation
+'FCritSect' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'ReqSize' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'PrivSize' Name
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'// read Data from Stream without removing it from the Stream...' Comment.Single
+'\n\n' Text
+
+'procedure' Keyword
+' ' Text
+'TFifo' Name.Class
+'.' Operator
+'PeekData' Name.Function
+'(' Punctuation
+'Buff' Name
+':' Operator
+' ' Text
+'pointer' Keyword.Type
+';' Operator
+' ' Text
+'var' Keyword
+' ' Text
+'ReqSize' Name
+':' Operator
+' ' Text
+'LongWord' Keyword.Type
+')' Punctuation
+';' Operator
+'\n' Text
+
+'var' Keyword
+'\n ' Text
+'PrivSize' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n ' Text
+'Privpos' Name
+':' Operator
+' ' Text
+'pointer' Keyword.Type
+';' Operator
+'\n ' Text
+'Chunk' Name
+':' Operator
+' ' Text
+'PMemChunk' Name
+';' Operator
+'\n ' Text
+'ChunkPos' Name
+':' Operator
+' ' Text
+'pointer' Keyword.Type
+';' Operator
+'\n ' Text
+'ChunkNr' Name
+':' Operator
+' ' Text
+'Integer' Keyword.Type
+';' Operator
+'\n' Text
+
+'begin' Keyword
+'\n ' Text
+'if' Keyword
+' ' Text
+'LongWord' Keyword.Type
+'(' Punctuation
+'Buff' Name
+')' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'then' Keyword
+'\n ' Text
+'begin' Keyword
+'\n ' Text
+'// null pointer? somebody is trying to fool us, get out...' Comment.Single
+'\n ' Text
+'Exit' Keyword
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n ' Text
+'EnterCriticalSection' Name
+'(' Punctuation
+'FCritSect' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'PrivSize' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Operator
+'\n ' Text
+'Privpos' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Buff' Name
+';' Operator
+'\n ' Text
+'ChunkNr' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Operator
+'\n ' Text
+'while' Keyword
+' ' Text
+'FBuffers' Name
+'.' Operator
+'Count' Name
+' ' Text
+'>' Operator
+' ' Text
+'ChunkNr' Name
+' ' Text
+'do' Keyword
+'\n ' Text
+'begin' Keyword
+'\n ' Text
+'Chunk' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'PMemChunk' Name
+'(' Punctuation
+'FBuffers' Name
+'[' Punctuation
+'ChunkNr' Name
+'])' Punctuation
+';' Operator
+'\n ' Text
+'ChunkPos' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'Chunk' Name
+'.' Operator
+'data' Name
+';' Operator
+'\n ' Text
+'Inc' Name.Builtin
+'(' Punctuation
+'LongWord' Keyword.Type
+'(' Punctuation
+'ChunkPos' Name
+')' Punctuation
+',' Operator
+' ' Text
+'Chunk' Name
+'.' Operator
+'Read' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'// does the remaining part of the chunk fit into the buffer?' Comment.Single
+'\n ' Text
+'if' Keyword
+' ' Text
+'PrivSize' Name
+' ' Text
+'+' Operator
+' ' Text
+'(' Punctuation
+'Chunk' Name
+'.' Operator
+'Filled' Name
+' ' Text
+'-' Operator
+' ' Text
+'Chunk' Name
+'.' Operator
+'read' Name
+')' Punctuation
+' ' Text
+'<' Operator
+' ' Text
+'ReqSize' Name
+' ' Text
+'then' Keyword
+'\n ' Text
+'begin' Keyword
+' ' Text
+'// yep, it fits' Comment.Single
+'\n ' Text
+'Move' Name.Builtin
+'(' Punctuation
+'ChunkPos' Name
+'^' Operator
+',' Operator
+' ' Text
+'Privpos' Name
+'^' Operator
+',' Operator
+' ' Text
+'Chunk' Name
+'.' Operator
+'Filled' Name
+' ' Text
+'-' Operator
+' ' Text
+'Chunk' Name
+'.' Operator
+'read' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'Inc' Name.Builtin
+'(' Punctuation
+'PrivSize' Name
+',' Operator
+' ' Text
+'Chunk' Name
+'.' Operator
+'Filled' Name
+' ' Text
+'-' Operator
+' ' Text
+'Chunk' Name
+'.' Operator
+'read' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'Inc' Name.Builtin
+'(' Punctuation
+'ChunkNr' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'end' Keyword
+'\n ' Text
+'else' Keyword
+' ' Text
+"// remaining part didn't fit, get as much as we can and increment the" Comment.Single
+'\n ' Text
+'// read attribute.' Comment.Single
+'\n ' Text
+'begin' Keyword
+'\n ' Text
+'Move' Name.Builtin
+'(' Punctuation
+'ChunkPos' Name
+'^' Operator
+',' Operator
+' ' Text
+'Privpos' Name
+'^' Operator
+',' Operator
+' ' Text
+'ReqSize' Name
+' ' Text
+'-' Operator
+' ' Text
+'PrivSize' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'Inc' Name.Builtin
+'(' Punctuation
+'PrivSize' Name
+',' Operator
+' ' Text
+'ReqSize' Name
+' ' Text
+'-' Operator
+' ' Text
+'PrivSize' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+"// as we filled the buffer, we'll have to break here." Comment.Single
+'\n ' Text
+'break' Keyword
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n ' Text
+'end' Keyword
+';' Operator
+'\n ' Text
+'LeaveCriticalSection' Name
+'(' Punctuation
+'FCritSect' Name
+')' Punctuation
+';' Operator
+'\n ' Text
+'ReqSize' Name
+' ' Text
+':' Operator
+'=' Operator
+' ' Text
+'PrivSize' Name
+';' Operator
+'\n' Text
+
+'end' Keyword
+';' Operator
+'\n\n' Text
+
+'end' Keyword
+'.' Operator
+'\n' Text