summaryrefslogtreecommitdiff
path: root/test/delphi/ytools.out.raydebug
diff options
context:
space:
mode:
Diffstat (limited to 'test/delphi/ytools.out.raydebug')
-rw-r--r--test/delphi/ytools.out.raydebug2708
1 files changed, 2708 insertions, 0 deletions
diff --git a/test/delphi/ytools.out.raydebug b/test/delphi/ytools.out.raydebug
new file mode 100644
index 0000000..f1621fd
--- /dev/null
+++ b/test/delphi/ytools.out.raydebug
@@ -0,0 +1,2708 @@
+comment(// vim:ft=pascal)
+
+reserved(unit) ident(YTools)operator(;)
+
+comment({===============================================================================
+
+ cYcnus.YTools 1.0.3 Beta for Delphi 4+
+ by licenser and Murphy
+
+ ©2000-2003 by cYcnus
+ visit www.cYcnus.de
+
+ licenser@cYcnus.de (Heinz N. Gies\)
+ murphy@cYcnus.de (Kornelius Kalnbach\)
+
+ this unit is published under the terms of the GPL
+
+===============================================================================})
+
+reserved(interface)
+
+reserved(uses)
+ ident(Windows)operator(,) ident(SysUtils)operator(,) ident(Classes)operator(,) ident(YTypes)operator(;)
+
+reserved(const)
+ ident(BackSpace) operator(=) char(#8)operator(;)
+ ident(Tab) operator(=) char(#9)operator(;)
+ ident(LF) operator(=) char(#10)operator(;) comment(//Line Feed)
+ ident(CR) operator(=) char(#13)operator(;) comment(//Carriage Return)
+ ident(Space) operator(=) char(#32)operator(;)
+ ident(EOLChars) operator(=) operator([)ident(CR)operator(,) ident(LF)operator(];)
+preprocessor({$IFNDEF VER140})
+ ident(sLineBreak) operator(=) char(#13)char(#10)operator(;)
+ ident(SwitchChars) operator(=) operator([)char<delimiter(')content(/)delimiter(')>operator(,) char<delimiter(')content(-)delimiter(')>operator(];)
+preprocessor({$ENDIF})
+ ident(EOL) operator(=) ident(sLineBreak)operator(;)
+ ident(MaxCard) operator(=) ident(High)operator(()ident(Cardinal)operator(\);)
+ ident(AllChars) operator(=) operator([)char(#0)operator(..)char(#255)operator(];)
+ ident(Alphabetical) operator(=) operator([)char<delimiter(')content(A)delimiter(')>operator(..)char<delimiter(')content(Z)delimiter(')>operator(,) char<delimiter(')content(a)delimiter(')>operator(..)char<delimiter(')content(z)delimiter(')>operator(];)
+ ident(DecimalChars) operator(=) operator([)char<delimiter(')content(0)delimiter(')>operator(..)char<delimiter(')content(9)delimiter(')>operator(];)
+ ident(AlphaNumerical) operator(=) ident(Alphabetical) operator(+) ident(DecimalChars)operator(;)
+ ident(StrangeChars) operator(=) operator([)char(#0)operator(..)char(#31)operator(,) char(#127)operator(,) char(#129)operator(,) char(#141)operator(..)char(#144)operator(,) char(#157)operator(,) char(#158)operator(];)
+
+ ident(HexadecimalChars) operator(=) ident(DecimalChars) operator(+) operator([)char<delimiter(')content(A)delimiter(')>operator(..)char<delimiter(')content(F)delimiter(')>operator(,) char<delimiter(')content(a)delimiter(')>operator(..)char<delimiter(')content(f)delimiter(')>operator(];)
+ ident(OctalChars) operator(=) operator([)char<delimiter(')content(0)delimiter(')>operator(..)char<delimiter(')content(7)delimiter(')>operator(];)
+ ident(BinaryChars) operator(=) operator([)char<delimiter(')content(0)delimiter(')>operator(,) char<delimiter(')content(1)delimiter(')>operator(];)
+
+ ident(QuoteChars) operator(=) operator([)char<delimiter(')content('')delimiter(')>operator(,) char<delimiter(')content(")delimiter(')>operator(];)
+ ident(WildCards) operator(=) operator([)char<delimiter(')content(*)delimiter(')>operator(,) char<delimiter(')content(?)delimiter(')>operator(];)
+ ident(FileNameEnemies) operator(=) ident(WildCards) operator(+) operator([)char<delimiter(')content(\\)delimiter(')>operator(,) char<delimiter(')content(/)delimiter(')>operator(,) char<delimiter(')content(:)delimiter(')>operator(,) char<delimiter(')content(<)delimiter(')>operator(,) char<delimiter(')content(>)delimiter(')>operator(,) char<delimiter(')content(|)delimiter(')>operator(];)
+
+ ident(HexChar)operator(:) reserved(array)operator([)ident(THex)operator(]) reserved(of) ident(Char) operator(=) operator(()
+ char<delimiter(')content(0)delimiter(')>operator(,)char<delimiter(')content(1)delimiter(')>operator(,)char<delimiter(')content(2)delimiter(')>operator(,)char<delimiter(')content(3)delimiter(')>operator(,)char<delimiter(')content(4)delimiter(')>operator(,)char<delimiter(')content(5)delimiter(')>operator(,)char<delimiter(')content(6)delimiter(')>operator(,)char<delimiter(')content(7)delimiter(')>operator(,)char<delimiter(')content(8)delimiter(')>operator(,)char<delimiter(')content(9)delimiter(')>operator(,)char<delimiter(')content(A)delimiter(')>operator(,)char<delimiter(')content(B)delimiter(')>operator(,)char<delimiter(')content(C)delimiter(')>operator(,)char<delimiter(')content(D)delimiter(')>operator(,)char<delimiter(')content(E)delimiter(')>operator(,)char<delimiter(')content(F)delimiter(')>operator(\);)
+ ident(LowerHexChar)operator(:) reserved(array)operator([)ident(THex)operator(]) reserved(of) ident(Char) operator(=) operator(()
+ char<delimiter(')content(0)delimiter(')>operator(,)char<delimiter(')content(1)delimiter(')>operator(,)char<delimiter(')content(2)delimiter(')>operator(,)char<delimiter(')content(3)delimiter(')>operator(,)char<delimiter(')content(4)delimiter(')>operator(,)char<delimiter(')content(5)delimiter(')>operator(,)char<delimiter(')content(6)delimiter(')>operator(,)char<delimiter(')content(7)delimiter(')>operator(,)char<delimiter(')content(8)delimiter(')>operator(,)char<delimiter(')content(9)delimiter(')>operator(,)char<delimiter(')content(a)delimiter(')>operator(,)char<delimiter(')content(b)delimiter(')>operator(,)char<delimiter(')content(c)delimiter(')>operator(,)char<delimiter(')content(d)delimiter(')>operator(,)char<delimiter(')content(e)delimiter(')>operator(,)char<delimiter(')content(f)delimiter(')>operator(\);)
+ ident(BaseNChar)operator(:) reserved(array)operator([)ident(TBaseN)operator(]) reserved(of) ident(Char) operator(=) operator(()
+ char<delimiter(')content(0)delimiter(')>operator(,)char<delimiter(')content(1)delimiter(')>operator(,)char<delimiter(')content(2)delimiter(')>operator(,)char<delimiter(')content(3)delimiter(')>operator(,)char<delimiter(')content(4)delimiter(')>operator(,)char<delimiter(')content(5)delimiter(')>operator(,)char<delimiter(')content(6)delimiter(')>operator(,)char<delimiter(')content(7)delimiter(')>operator(,)char<delimiter(')content(8)delimiter(')>operator(,)char<delimiter(')content(9)delimiter(')>operator(,)char<delimiter(')content(A)delimiter(')>operator(,)char<delimiter(')content(B)delimiter(')>operator(,)char<delimiter(')content(C)delimiter(')>operator(,)char<delimiter(')content(D)delimiter(')>operator(,)char<delimiter(')content(E)delimiter(')>operator(,)char<delimiter(')content(F)delimiter(')>operator(,)char<delimiter(')content(G)delimiter(')>operator(,)char<delimiter(')content(H)delimiter(')>operator(,)
+ char<delimiter(')content(I)delimiter(')>operator(,)char<delimiter(')content(J)delimiter(')>operator(,)char<delimiter(')content(K)delimiter(')>operator(,)char<delimiter(')content(L)delimiter(')>operator(,)char<delimiter(')content(M)delimiter(')>operator(,)char<delimiter(')content(N)delimiter(')>operator(,)char<delimiter(')content(O)delimiter(')>operator(,)char<delimiter(')content(P)delimiter(')>operator(,)char<delimiter(')content(Q)delimiter(')>operator(,)char<delimiter(')content(R)delimiter(')>operator(,)char<delimiter(')content(S)delimiter(')>operator(,)char<delimiter(')content(T)delimiter(')>operator(,)char<delimiter(')content(U)delimiter(')>operator(,)char<delimiter(')content(V)delimiter(')>operator(,)char<delimiter(')content(W)delimiter(')>operator(,)char<delimiter(')content(X)delimiter(')>operator(,)char<delimiter(')content(Y)delimiter(')>operator(,)char<delimiter(')content(Z)delimiter(')>operator(\);)
+
+ ident(cYcnusOverlayColor) operator(=) hex($050001)operator(;)
+
+ ident(faFindEveryFile) operator(=) ident(faReadOnly) operator(+) ident(faHidden) operator(+) ident(faSysFile) operator(+) ident(faArchive)operator(;)
+
+ ident(platWin9x) operator(=) operator([)ident(VER_PLATFORM_WIN32s)operator(,) ident(VER_PLATFORM_WIN32_WINDOWS)operator(];)
+
+
+comment({ Debugging })
+reserved(procedure) ident(ClearReport)operator(()reserved(const) ident(ReportName)operator(:) reserved(string)operator(\);)
+reserved(procedure) ident(Report)operator(()reserved(const) ident(ReportName)operator(,) ident(Text)operator(:) reserved(string)operator(\);)
+reserved(procedure) ident(ReportFmt)operator(()reserved(const) ident(ReportName)operator(,) ident(Fmt)operator(:) reserved(string)operator(;) reserved(const) ident(Args)operator(:) reserved(array) reserved(of) reserved(const)operator(\);)
+
+comment({ Params })
+reserved(procedure) ident(GetParams)operator(()ident(Strings)operator(:) ident(TStrings)operator(\);) directive(overload)operator(;)
+reserved(function) ident(GetParams)operator(()reserved(const) ident(Separator)operator(:) reserved(string) operator(=) char<delimiter(')content( )delimiter(')>operator(\):) reserved(string)operator(;) directive(overload)operator(;)
+
+reserved(function) ident(ParamNum)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(\):) ident(Integer)operator(;)
+reserved(function) ident(ParamPrefixNum)operator(()reserved(const) ident(Prefix)operator(:) reserved(string)operator(\):) ident(Integer)operator(;)
+reserved(function) ident(Param)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(\):) ident(Boolean)operator(;)
+reserved(function) ident(ParamPrefix)operator(()reserved(const) ident(Prefix)operator(:) reserved(string)operator(\):) ident(Boolean)operator(;)
+
+reserved(function) ident(Switch)operator(()reserved(const) ident(Switch)operator(:) reserved(string)operator(;) reserved(const) ident(PrefixChars)operator(:) ident(TCharSet) operator(=) ident(SwitchChars)operator(;)
+ ident(IgnoreCase)operator(:) ident(Boolean) operator(=) ident(True)operator(\):) ident(Boolean)operator(;)
+reserved(function) ident(GetParam)operator(()reserved(const) ident(Prefix)operator(:) reserved(string) operator(=) string<delimiter(')delimiter(')>operator(;) reserved(const) ident(Default)operator(:) reserved(string) operator(=) string<delimiter(')delimiter(')>operator(\):) reserved(string)operator(;)
+
+comment({ Dirs & UserName})
+reserved(function) ident(GetMyDir)operator(()ident(FullPath)operator(:) ident(Boolean) operator(=) ident(False)operator(\):) reserved(string)operator(;)
+reserved(function) ident(WinDir)operator(:) reserved(string)operator(;)
+reserved(function) ident(SysDir)operator(:) reserved(string)operator(;)
+reserved(function) ident(UserName)operator(:) reserved(string)operator(;)
+
+comment({ Strings & Chars})
+reserved(function) ident(FirstChar)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(\):) ident(Char)operator(;)
+reserved(function) ident(LastChar)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(\):) ident(Char)operator(;)
+
+reserved(function) ident(CharPos)operator(()ident(C)operator(:) ident(Char)operator(;) reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(Offset)operator(:) ident(Integer) operator(=) integer(1)operator(\):) ident(Integer)operator(;) directive(overload)operator(;)
+reserved(function) ident(CharPos)operator(()ident(C)operator(:) ident(TCharSet)operator(;) reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(Offset)operator(:) ident(Integer) operator(=) integer(1)operator(\):) ident(Integer)operator(;) directive(overload)operator(;)
+reserved(function) ident(CharPosR)operator(()ident(C)operator(:) ident(Char)operator(;) reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(Offset)operator(:) ident(Integer) operator(=) operator(-)integer(1)operator(\):) ident(Integer)operator(;)
+reserved(function) ident(PosEx)operator(()reserved(const) ident(SubStr)operator(,) ident(S)operator(:) reserved(string)operator(;) ident(Offset)operator(:) ident(Integer) operator(=) integer(1)operator(\):) ident(Integer)operator(;)
+reserved(function) ident(PosExText)operator(()reserved(const) ident(SubStr)operator(,) ident(S)operator(:) reserved(string)operator(;) ident(Offset)operator(:) ident(Integer) operator(=) integer(1)operator(\):) ident(Integer)operator(;)
+reserved(function) ident(PosExAnsiText)operator(()reserved(const) ident(SubStr)operator(,) ident(S)operator(:) reserved(string)operator(;) ident(Offset)operator(:) ident(Integer) operator(=) integer(1)operator(\):) ident(Integer)operator(;)
+
+reserved(function) ident(UntilChar)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(Brake)operator(:) ident(Char)operator(\):) reserved(string)operator(;) directive(overload)operator(;)
+reserved(function) ident(UntilChar)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(Brake)operator(:) ident(TCharSet)operator(\):) reserved(string)operator(;) directive(overload)operator(;)
+reserved(function) ident(UntilLastChar)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(Brake)operator(:) ident(Char)operator(;)
+ ident(IgnoreNoBrake)operator(:) ident(Boolean) operator(=) ident(True)operator(\):) reserved(string)operator(;)
+
+reserved(function) ident(FromChar)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(Brake)operator(:) ident(Char)operator(\):) reserved(string)operator(;) directive(overload)operator(;)
+reserved(function) ident(FromChar)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(Brake)operator(:) ident(TCharSet)operator(\):) reserved(string)operator(;) directive(overload)operator(;)
+reserved(function) ident(FromLastChar)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(Brake)operator(:) ident(Char)operator(;)
+ ident(IgnoreNoBrake)operator(:) ident(Boolean) operator(=) ident(False)operator(\):) reserved(string)operator(;)
+
+reserved(function) ident(BetweenChars)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(Start)operator(,) ident(Finish)operator(:) ident(Char)operator(;)
+ ident(Inclusive)operator(:) ident(Boolean) operator(=) ident(False)operator(\):) reserved(string)operator(;)
+
+reserved(function) ident(UntilStr)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(Brake)operator(:) reserved(string)operator(\):) reserved(string)operator(;)
+reserved(function) ident(FromStr)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(Brake)operator(:) reserved(string)operator(\):) reserved(string)operator(;)
+
+reserved(function) ident(StringWrap)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(Width)operator(:) ident(Integer)operator(;) reserved(const) ident(LineEnd)operator(:) reserved(string) operator(=) ident(EOL)operator(\):) reserved(string)operator(;)
+
+comment({ Splitting & Combining })
+reserved(function) ident(Split)operator(()reserved(const) ident(S)operator(,) ident(Separator)operator(:) reserved(string)operator(;) ident(IgnoreMultiSep)operator(:) ident(Boolean) operator(=) ident(True)operator(;)
+ ident(MinCount)operator(:) ident(Integer) operator(=) integer(0)operator(\):) ident(TStrA)operator(;) directive(overload)operator(;)
+reserved(procedure) ident(Split)operator(()reserved(const) ident(S)operator(,) ident(Separator)operator(:) reserved(string)operator(;) ident(Strings)operator(:) ident(TStrings)operator(;)
+ ident(IgnoreMultiSep)operator(:) ident(Boolean) operator(=) ident(True)operator(\);) directive(overload)operator(;)
+reserved(function) ident(Split)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(Separators)operator(:) ident(TCharSet)operator(;)
+ ident(IgnoreMultiSep)operator(:) ident(Boolean) operator(=) ident(True)operator(;) ident(MinCount)operator(:) ident(Integer) operator(=) integer(0)operator(\):) ident(TStrA)operator(;) directive(overload)operator(;)
+
+reserved(procedure) ident(TileStr)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(BrakeStart)operator(:) ident(Integer)operator(;) ident(BrakeEnd)operator(:) ident(Integer)operator(;)
+ reserved(out) ident(Left)operator(,) ident(Right)operator(:) reserved(string)operator(\);)
+
+reserved(function) ident(Join)operator(()ident(Strings)operator(:) ident(TStrings)operator(;) ident(Separator)operator(:) reserved(string) operator(=) char<delimiter(')content( )delimiter(')>operator(\):) reserved(string)operator(;) directive(overload)operator(;)
+reserved(function) ident(Join)operator(()ident(StrA)operator(:) ident(TStrA)operator(;) ident(Separator)operator(:) reserved(string) operator(=) char<delimiter(')content( )delimiter(')>operator(\):) reserved(string)operator(;) directive(overload)operator(;)
+
+reserved(function) ident(MulStr)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(Count)operator(:) ident(Integer)operator(\):) reserved(string)operator(;)
+
+comment({ Strings ausrichten })
+reserved(function) ident(AlignR)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(Width)operator(:) ident(Integer)operator(;) ident(Filler)operator(:) ident(Char) operator(=) char<delimiter(')content( )delimiter(')>operator(\):) reserved(string)operator(;)
+reserved(function) ident(MaxStr)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(MaxLen)operator(:) ident(Integer)operator(\):) reserved(string)operator(;)
+
+comment({ Stringing })
+reserved(function) ident(TrimAll)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(\):) reserved(string)operator(;)
+
+reserved(function) ident(ControlChar)operator(()ident(C)operator(:) ident(Char)operator(\):) ident(Boolean)operator(;)
+reserved(function) ident(FriendlyChar)operator(()ident(C)operator(:) ident(Char)operator(\):) ident(Char)operator(;)
+
+reserved(function) ident(FriendlyStr)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(\):) reserved(string)operator(;) directive(overload)operator(;)
+reserved(function) ident(FriendlyStr)operator(()ident(a)operator(:) ident(TByteA)operator(\):) reserved(string)operator(;) directive(overload)operator(;)
+
+reserved(function) ident(Quote)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(Quoter)operator(:) ident(Char) operator(=) char<delimiter(')content(")delimiter(')>operator(\):) reserved(string)operator(;)
+reserved(function) ident(UnQuote)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(\):) reserved(string)operator(;)
+reserved(function) ident(DeQuote)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(\):) reserved(string)operator(;)
+
+reserved(function) ident(StrNumerus)operator(()reserved(const) ident(Value)operator(:) ident(Integer)operator(;) reserved(const) ident(Singular)operator(,) ident(Plural)operator(:) reserved(string)operator(;)
+ reserved(const) ident(Zero)operator(:) reserved(string) operator(=) char<delimiter(')content(0)delimiter(')>operator(\):) reserved(string)operator(;)
+
+reserved(function) ident(MakeStr)operator(()reserved(const) ident(Items)operator(:) reserved(array) reserved(of) reserved(const)operator(;) ident(Separator)operator(:) reserved(string) operator(=) string<delimiter(')delimiter(')>operator(\):) reserved(string)operator(;)
+reserved(procedure) ident(ShowText)operator(()reserved(const) ident(Items)operator(:) reserved(array) reserved(of) reserved(const)operator(;) ident(Separator)operator(:) reserved(string) operator(=) string<delimiter(')delimiter(')>operator(\);)
+
+comment({ Delete })
+reserved(function) ident(DeleteChars)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(C)operator(:) ident(Char)operator(\):) reserved(string)operator(;) directive(overload)operator(;)
+reserved(function) ident(DeleteChars)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(C)operator(:) ident(TCharSet)operator(\):) reserved(string)operator(;) directive(overload)operator(;)
+reserved(function) ident(ExtractChars)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(C)operator(:) ident(TCharSet)operator(\):) reserved(string)operator(;)
+
+comment({ Find })
+reserved(function) ident(CharCount)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(C)operator(:) ident(Char)operator(\):) ident(Integer)operator(;)
+
+reserved(function) ident(CharIn)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(C)operator(:) ident(Char)operator(\):) ident(Boolean)operator(;) directive(overload)operator(;)
+reserved(function) ident(CharIn)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(C)operator(:) ident(TCharSet)operator(\):) ident(Boolean)operator(;) directive(overload)operator(;)
+
+reserved(function) ident(StrAtPos)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(Pos)operator(:) ident(Integer)operator(;) reserved(const) ident(Str)operator(:) reserved(string)operator(\):) ident(Boolean)operator(;)
+reserved(function) ident(StrAtBegin)operator(()reserved(const) ident(S)operator(,) ident(Str)operator(:) reserved(string)operator(\):) ident(Boolean)operator(;)
+reserved(function) ident(StrIn)operator(()reserved(const) ident(S)operator(,) ident(SubStr)operator(:) reserved(string)operator(\):) ident(Boolean)operator(;) directive(overload)operator(;)
+reserved(function) ident(StrIn)operator(()ident(A)operator(:) ident(TStrA)operator(;) reserved(const) ident(S)operator(:) reserved(string)operator(\):) ident(Boolean)operator(;) directive(overload)operator(;)
+reserved(function) ident(StrIn)operator(()ident(SL)operator(:) ident(TStrings)operator(;) reserved(const) ident(S)operator(:) reserved(string)operator(\):) ident(Boolean)operator(;) directive(overload)operator(;)
+reserved(function) ident(StrIndex)operator(()ident(A)operator(:) ident(TStrA)operator(;) reserved(const) ident(S)operator(:) reserved(string)operator(\):) ident(Integer)operator(;) directive(overload)operator(;)
+reserved(function) ident(StrIndex)operator(()ident(SL)operator(:) ident(TStrings)operator(;) reserved(const) ident(S)operator(:) reserved(string)operator(\):) ident(Integer)operator(;) directive(overload)operator(;)
+
+reserved(function) ident(TextAtPos)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(Pos)operator(:) ident(Integer)operator(;) reserved(const) ident(Text)operator(:) reserved(string)operator(\):) ident(Boolean)operator(;)
+reserved(function) ident(TextAtBegin)operator(()reserved(const) ident(S)operator(,) ident(Text)operator(:) reserved(string)operator(\):) ident(Boolean)operator(;)
+reserved(function) ident(TextIn)operator(()reserved(const) ident(S)operator(,) ident(Text)operator(:) reserved(string)operator(\):) ident(Boolean)operator(;) directive(overload)operator(;)
+reserved(function) ident(TextIn)operator(()ident(A)operator(:) ident(TStrA)operator(;) reserved(const) ident(Text)operator(:) reserved(string)operator(\):) ident(Boolean)operator(;) directive(overload)operator(;)
+reserved(function) ident(TextIn)operator(()ident(SL)operator(:) ident(TStrings)operator(;) reserved(const) ident(Text)operator(:) reserved(string)operator(\):) ident(Boolean)operator(;) directive(overload)operator(;)
+reserved(function) ident(TextIndex)operator(()ident(A)operator(:) ident(TStrA)operator(;) reserved(const) ident(Text)operator(:) reserved(string)operator(\):) ident(Integer)operator(;) directive(overload)operator(;)
+reserved(function) ident(TextIndex)operator(()ident(SL)operator(:) ident(TStrings)operator(;) reserved(const) ident(Text)operator(:) reserved(string)operator(\):) ident(Integer)operator(;) directive(overload)operator(;)
+
+comment({ Replace })
+reserved(function) ident(ReplaceChars)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(Old)operator(,) ident(New)operator(:) ident(Char)operator(\):) reserved(string)operator(;) directive(overload)operator(;)
+reserved(function) ident(ReplaceChars)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(Old)operator(:) ident(TCharSet)operator(;) ident(New)operator(:) ident(Char)operator(\):) reserved(string)operator(;) directive(overload)operator(;)
+
+reserved(function) ident(Replace)operator(()reserved(const) ident(S)operator(,) ident(Old)operator(,) ident(New)operator(:) reserved(string)operator(\):) reserved(string)operator(;)
+
+comment({ TStrings })
+reserved(function) ident(SLOfFile)operator(()reserved(const) ident(FileName)operator(:) reserved(string)operator(\):) ident(TStringList)operator(;)
+reserved(function) ident(ContainsEmptyLines)operator(()ident(SL)operator(:) ident(TStrings)operator(\):) ident(Boolean)operator(;)
+reserved(procedure) ident(DeleteEmptyLines)operator(()ident(SL)operator(:) ident(TStrings)operator(\);)
+reserved(procedure) ident(DeleteCommentLines)operator(()ident(SL)operator(:) ident(TStrings)operator(;) reserved(const) ident(CommentSign)operator(:) reserved(string) operator(=) string<delimiter(')content(//)delimiter(')>operator(\);)
+reserved(procedure) ident(WriteSL)operator(()ident(Strings)operator(:) ident(TStrings)operator(;) reserved(const) ident(Prefix)operator(:) reserved(string) operator(=) string<delimiter(')delimiter(')>operator(;)
+ reserved(const) ident(Suffix)operator(:) reserved(string) operator(=) string<delimiter(')delimiter(')>operator(\);)
+
+reserved(function) ident(FindLine)operator(()ident(SL)operator(:) ident(TStrings)operator(;) reserved(const) ident(S)operator(:) reserved(string)operator(\):) ident(Integer)operator(;)
+
+reserved(procedure) ident(QuickSortSL)operator(()ident(SL)operator(:) ident(TStringList)operator(\);)
+
+comment({ TStrA })
+reserved(function) ident(IncStrA)operator(()ident(StrA)operator(:) ident(TStrA)operator(\):) ident(Integer)operator(;)
+
+comment({ TByteA })
+reserved(function) ident(StrOfByteA)operator(()ident(a)operator(:) ident(TByteA)operator(\):) reserved(string)operator(;)
+reserved(function) ident(ByteAOfStr)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(\):) ident(TByteA)operator(;)
+reserved(function) ident(ByteAOfInt)operator(()ident(i)operator(:) ident(Integer)operator(\):) ident(TByteA)operator(;)
+reserved(function) ident(IntOfByteA)operator(()ident(A)operator(:) ident(TByteA)operator(\):) ident(Integer)operator(;)
+reserved(function) ident(ByteAOfHex)operator(()reserved(const) ident(Hex)operator(:) reserved(string)operator(\):) ident(TByteA)operator(;)
+
+reserved(function) ident(SameByteA)operator(()reserved(const) ident(A)operator(,) ident(B)operator(:) ident(TByteA)operator(\):) ident(Boolean)operator(;)
+reserved(function) ident(Reverse)operator(()ident(a)operator(:) ident(TByteA)operator(\):) ident(TByteA)operator(;)
+reserved(function) ident(SaveByteA)operator(()ident(Data)operator(:) ident(TByteA)operator(;) reserved(const) ident(FileName)operator(:) reserved(string)operator(;) ident(Overwrite)operator(:) ident(Boolean) operator(=) ident(True)operator(\):) ident(Boolean)operator(;)
+reserved(function) ident(LoadByteA)operator(()reserved(const) ident(FileName)operator(:) reserved(string)operator(\):) ident(TByteA)operator(;)
+
+reserved(function) ident(Endian)operator(()ident(i)operator(:) ident(Integer)operator(\):) ident(Integer)operator(;)
+
+comment({ Files })
+reserved(function) ident(SizeOfFile)operator(()reserved(const) ident(FileName)operator(:) reserved(string)operator(\):) ident(Integer)operator(;)
+reserved(function) ident(FileEx)operator(()reserved(const) ident(FileName)operator(:) reserved(string)operator(;) ident(AllowFolders)operator(:) ident(Boolean) operator(=) ident(False)operator(\):) ident(Boolean)operator(;)
+reserved(function) ident(LWPSolve)operator(()reserved(const) ident(Dir)operator(:) reserved(string)operator(\):) reserved(string)operator(;)
+reserved(function) ident(LWPSlash)operator(()reserved(const) ident(Dir)operator(:) reserved(string)operator(\):) reserved(string)operator(;)
+
+reserved(function) ident(ExtractDrive)operator(()reserved(const) ident(FileName)operator(:) reserved(string)operator(\):) reserved(string)operator(;)
+reserved(function) ident(ExtractPath)operator(()reserved(const) ident(FileName)operator(:) reserved(string)operator(\):) reserved(string)operator(;)
+reserved(function) ident(ExtractPrefix)operator(()reserved(const) ident(FileName)operator(:) reserved(string)operator(\):) reserved(string)operator(;)
+reserved(function) ident(ExtractSuffix)operator(()reserved(const) ident(FileName)operator(:) reserved(string)operator(\):) reserved(string)operator(;)
+
+reserved(function) ident(IsValidFileName)operator(()reserved(const) ident(FileName)operator(:) reserved(string)operator(\):) ident(Boolean)operator(;)
+reserved(function) ident(MakeValidFileName)operator(()ident(FileName)operator(:) reserved(string)operator(;) reserved(const) ident(Default)operator(:) reserved(string) operator(=) string<delimiter(')content(File)delimiter(')>operator(\):) reserved(string)operator(;)
+
+comment({ Converting })
+reserved(function) ident(IsValidInteger)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(\):) ident(Boolean)operator(;)
+reserved(function) ident(IsValidCardinal)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(\):) ident(Boolean)operator(;)
+
+reserved(function) ident(StrOfBool)operator(()ident(flag)operator(:) ident(Boolean)operator(;) reserved(const) ident(TrueStr)operator(:) reserved(string) operator(=) string<delimiter(')content(True)delimiter(')>operator(;)
+ reserved(const) ident(FalseStr)operator(:) reserved(string) operator(=) string<delimiter(')content(False)delimiter(')>operator(\):) reserved(string)operator(;)
+reserved(function) ident(StrOfInt)operator(()ident(i)operator(:) ident(Integer)operator(\):) reserved(string)operator(;)
+reserved(function) ident(CardOfStr)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(\):) ident(Cardinal)operator(;)
+
+reserved(function) ident(HexOrd)operator(()ident(Hex)operator(:) ident(Char)operator(\):) ident(THex)operator(;)
+reserved(function) ident(ByteOfHex)operator(()ident(Hex)operator(:) ident(THexByteStr)operator(\):) ident(Byte)operator(;)
+
+reserved(function) ident(DecOfHex)operator(()reserved(const) ident(Hex)operator(:) reserved(string)operator(\):) reserved(string)operator(;)
+reserved(function) ident(HexOfByte)operator(()ident(b)operator(:) ident(Byte)operator(\):) ident(THexByteStr)operator(;)
+reserved(function) ident(HexOfCard)operator(()ident(i)operator(:) ident(Cardinal)operator(\):) reserved(string)operator(;) directive(overload)operator(;)
+reserved(function) ident(HexOfCard)operator(()ident(i)operator(:) ident(Cardinal)operator(;) ident(Digits)operator(:) ident(Integer)operator(\):) reserved(string)operator(;) directive(overload)operator(;)
+
+reserved(function) ident(PascalHexArray)operator(()ident(a)operator(:) ident(TByteA)operator(;) ident(Name)operator(:) reserved(string)operator(\):) reserved(string)operator(;)
+
+reserved(function) ident(HexOfByteA)operator(()ident(a)operator(:) ident(TByteA)operator(;) ident(Blocks)operator(:) ident(Integer) operator(=) integer(1)operator(;)
+ reserved(const) ident(Splitter)operator(:) reserved(string) operator(=) char<delimiter(')content( )delimiter(')>operator(\):) reserved(string)operator(;)
+reserved(function) ident(BinOfByteA)operator(()ident(a)operator(:) ident(TByteA)operator(;) ident(Blocks)operator(:) ident(Integer) operator(=) integer(4)operator(;)
+ reserved(const) ident(Splitter)operator(:) reserved(string) operator(=) char<delimiter(')content( )delimiter(')>operator(\):) reserved(string)operator(;)
+
+reserved(function) ident(CardOfHex)operator(()ident(Hex)operator(:) reserved(string)operator(\):) ident(Cardinal)operator(;)
+reserved(function) ident(IntOfBin)operator(()ident(Bin)operator(:) reserved(string)operator(\):) ident(Cardinal)operator(;)
+
+reserved(function) ident(BinOfIntFill)operator(()ident(n)operator(:) ident(cardinal)operator(;) ident(MinCount)operator(:) ident(Integer) operator(=) integer(8)operator(\):) reserved(string)operator(;)
+reserved(function) ident(BinOfInt)operator(()ident(n)operator(:) ident(cardinal)operator(\):) reserved(string)operator(;)
+
+reserved(function) ident(BaseNOfInt)operator(()ident(I)operator(:) ident(Cardinal)operator(;) ident(B)operator(:) ident(TBaseN)operator(\):) reserved(string)operator(;)
+reserved(function) ident(IntOfBaseN)operator(()ident(V)operator(:) reserved(string)operator(;) ident(B)operator(:) ident(TBaseN)operator(\):) ident(Cardinal)operator(;)
+
+comment({ Ranges })
+reserved(function) ident(KeepIn)operator(()ident(i)operator(,) ident(Bottom)operator(,) ident(Top)operator(:) ident(Variant)operator(\):) ident(Variant)operator(;)
+reserved(function) ident(InRange)operator(()ident(Value)operator(,) ident(Bottom)operator(,) ident(Top)operator(:) ident(Variant)operator(\):) ident(Boolean)operator(;)
+reserved(function) ident(InStrictRange)operator(()ident(Value)operator(,) ident(Bottom)operator(,) ident(Top)operator(:) ident(Variant)operator(\):) ident(Boolean)operator(;)
+reserved(function) ident(Min)operator(()reserved(const) ident(A)operator(,) ident(B)operator(:) ident(Integer)operator(\):) ident(Integer)operator(;) directive(overload)operator(;)
+reserved(function) ident(Min)operator(()reserved(const) ident(A)operator(:) ident(TIntA)operator(\):) ident(Integer)operator(;) directive(overload)operator(;)
+reserved(function) ident(Max)operator(()reserved(const) ident(A)operator(,) ident(B)operator(:) ident(Integer)operator(\):) ident(Integer)operator(;) directive(overload)operator(;)
+reserved(function) ident(Max)operator(()reserved(const) ident(A)operator(:) ident(TIntA)operator(\):) ident(Integer)operator(;) directive(overload)operator(;)
+
+reserved(const)
+ ident(RangesSeparator) operator(=) char<delimiter(')content(,)delimiter(')>operator(;)
+ ident(RangeInnerSeparator) operator(=) char<delimiter(')content(-)delimiter(')>operator(;)
+ ident(RangeInfinite) operator(=) char<delimiter(')content(*)delimiter(')>operator(;)
+ ident(RangeSpecialChars) operator(=) operator([)ident(RangesSeparator)operator(,) ident(RangeInnerSeparator)operator(,) ident(RangeInfinite)operator(];)
+
+reserved(function) ident(RangesOfStr)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(\):) ident(TRanges)operator(;)
+reserved(function) ident(InRanges)operator(()ident(Ranges)operator(:) ident(TRanges)operator(;) ident(TestValue)operator(:) ident(Cardinal)operator(\):) ident(Boolean)operator(;)
+
+reserved(function) ident(Success)operator(()ident(Res)operator(:) ident(Integer)operator(;) ident(ResultOnSuccess)operator(:) ident(Integer) operator(=) ident(ERROR_SUCCESS)operator(\):) ident(Boolean)operator(;)
+reserved(function) ident(Failure)operator(()ident(Res)operator(:) ident(Integer)operator(;) ident(ResultOnSuccess)operator(:) ident(Integer) operator(=) ident(ERROR_SUCCESS)operator(\):) ident(Boolean)operator(;)
+
+reserved(function) ident(ExpandString)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(\):) reserved(string)operator(;)
+
+comment({ Files })
+reserved(procedure) ident(DeleteFiles)operator(()reserved(const) ident(Mask)operator(:) reserved(string)operator(;) ident(ScanSubDirs)operator(:) ident(Boolean) operator(=) ident(True)operator(;)
+ ident(Attributes)operator(:) ident(Integer) operator(=) ident(faFindEveryFile)operator(\);)
+reserved(procedure) ident(FileNew)operator(()reserved(const) ident(FileName)operator(:) reserved(string)operator(\);)
+reserved(function) ident(DateTimeOfFileTime)operator(()reserved(const) ident(FileTime)operator(:) ident(TFileTime)operator(\):) ident(TDateTime)operator(;)
+
+comment({ FileNames })
+reserved(function) ident(GetFileNew)operator(()ident(FileName)operator(:) reserved(string)operator(;) ident(NoFloppyDrives)operator(:) ident(Boolean) operator(=) ident(True)operator(\):) reserved(string)operator(;)
+
+comment({ Finding Files })
+reserved(function) ident(FindAll)operator(()ident(Strings)operator(:) ident(TStrings)operator(;) reserved(const) ident(Mask)operator(:) reserved(string)operator(;)
+ ident(ScanSubDirs)operator(:) ident(Boolean) operator(=) ident(True)operator(;) ident(Attributes)operator(:) ident(Integer) operator(=) ident(faFindEveryFile)operator(;)
+ ident(FileReturn)operator(:) ident(TFileNameFunc) operator(=) reserved(nil)operator(\):) ident(Boolean)operator(;)
+reserved(function) ident(FindAllFirst)operator(()reserved(const) ident(Mask)operator(:) reserved(string)operator(;) ident(ScanSubDirs)operator(:) ident(Boolean) operator(=) ident(True)operator(;)
+ ident(Attributes)operator(:) ident(Integer) operator(=) ident(faFindEveryFile)operator(\):) reserved(string)operator(;)
+
+reserved(function) ident(FullOSInfo)operator(:) reserved(string)operator(;)
+reserved(function) ident(Win32PlatformStr)operator(:) reserved(string)operator(;)
+reserved(function) ident(Win9x)operator(:) ident(Boolean)operator(;)
+reserved(function) ident(WinNT)operator(:) ident(Boolean)operator(;)
+reserved(function) ident(Win2000)operator(:) ident(Boolean)operator(;)
+reserved(function) ident(WinXP)operator(:) ident(Boolean)operator(;)
+
+reserved(var)
+ ident(MyDir)operator(:) reserved(string) operator(=) string<delimiter(')delimiter(')>operator(;)
+ ident(LastSuccessRes)operator(:) ident(Integer) operator(=) integer(0)operator(;)
+
+comment({ Backward compatibility })
+preprocessor({$IFNDEF VER130})
+reserved(function) ident(SameText)operator(()reserved(const) ident(S1)operator(,) ident(S2)operator(:) reserved(string)operator(\):) ident(Boolean)operator(;)
+preprocessor({$ENDIF})
+
+reserved(implementation)
+preprocessor({$IFNDEF VER140})
+reserved(uses) ident(FileCtrl)operator(;)
+preprocessor({$ENDIF})
+
+preprocessor({$IFNDEF VER130})
+reserved(function) ident(SameText)operator(()reserved(const) ident(S1)operator(,) ident(S2)operator(:) reserved(string)operator(\):) ident(Boolean)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) ident(CompareText)operator(()ident(S1)operator(,) ident(S2)operator(\)) operator(=) integer(0)operator(;)
+reserved(end)operator(;)
+preprocessor({$ENDIF})
+
+reserved(procedure) ident(Report)operator(()reserved(const) ident(ReportName)operator(,) ident(Text)operator(:) reserved(string)operator(\);)
+reserved(var)
+ ident(F)operator(:) ident(TextFile)operator(;)
+ ident(FileName)operator(:) reserved(string)operator(;)
+reserved(begin)
+ ident(FileName) operator(:=) ident(MyDir) operator(+) ident(ReportName) operator(+) string<delimiter(')content(.rep)delimiter(')>operator(;)
+ ident(Assign)operator(()ident(F)operator(,) ident(FileName)operator(\);)
+ reserved(try)
+ reserved(if) reserved(not) ident(FileExists)operator(()ident(FileName)operator(\)) reserved(then)
+ ident(Rewrite)operator(()ident(F)operator(\))
+ reserved(else)
+ ident(Append)operator(()ident(F)operator(\);)
+ ident(WriteLn)operator(()ident(F)operator(,) ident(Text)operator(\);)
+ reserved(finally)
+ ident(Close)operator(()ident(F)operator(\);)
+ reserved(end)operator(;)
+reserved(end)operator(;)
+
+reserved(procedure) ident(ClearReport)operator(()reserved(const) ident(ReportName)operator(:) reserved(string)operator(\);)
+reserved(var)
+ ident(FileName)operator(:) reserved(string)operator(;)
+reserved(begin)
+ ident(FileName) operator(:=) ident(MyDir) operator(+) ident(ReportName) operator(+) string<delimiter(')content(.rep)delimiter(')>operator(;)
+ ident(DeleteFile)operator(()ident(FileName)operator(\);)
+reserved(end)operator(;)
+
+reserved(procedure) ident(ReportFmt)operator(()reserved(const) ident(ReportName)operator(,) ident(Fmt)operator(:) reserved(string)operator(;) reserved(const) ident(Args)operator(:) reserved(array) reserved(of) reserved(const)operator(\);)
+reserved(begin)
+ ident(Report)operator(()ident(ReportName)operator(,) ident(Format)operator(()ident(Fmt)operator(,) ident(Args)operator(\)\);)
+reserved(end)operator(;)
+
+reserved(procedure) ident(GetParams)operator(()ident(Strings)operator(:) ident(TStrings)operator(\);)
+reserved(var)
+ ident(P)operator(:) ident(PChar)operator(;)
+ ident(Param)operator(:) reserved(string)operator(;)
+
+ reserved(function) ident(GetParamStr)operator(()reserved(var) ident(P)operator(:) ident(PChar)operator(;) reserved(var) ident(Param)operator(:) reserved(string)operator(\):) ident(Boolean)operator(;)
+ reserved(var)
+ ident(Quoted)operator(:) ident(Boolean)operator(;)
+ reserved(begin)
+ ident(Param) operator(:=) string<delimiter(')delimiter(')>operator(;)
+
+ reserved(repeat)
+ reserved(while) operator(()ident(P)operator([)integer(0)operator(]) operator(<>) char(#0)operator(\)) reserved(and) operator(()ident(P)operator([)integer(0)operator(]) operator(<=) char<delimiter(')content( )delimiter(')>operator(\)) reserved(do)
+ ident(Inc)operator(()ident(P)operator(\);)
+
+ ident(Quoted) operator(:=) ident(False)operator(;)
+ reserved(while) ident(P)operator([)integer(0)operator(]) operator(<>) char(#0) reserved(do) reserved(begin)
+ reserved(if) ident(P)operator([)integer(0)operator(]) operator(=) char<delimiter(')content(")delimiter(')> reserved(then) reserved(begin)
+ ident(Quoted) operator(:=) reserved(not) ident(Quoted)operator(;)
+ ident(Inc)operator(()ident(P)operator(\);)
+ ident(Continue)operator(;) reserved(end)operator(;)
+ reserved(if) operator(()ident(P)operator([)integer(0)operator(]) operator(<=) char<delimiter(')content( )delimiter(')>operator(\)) reserved(and) reserved(not) ident(Quoted) reserved(then)
+ ident(Break)operator(;)
+ ident(Param) operator(:=) ident(Param) operator(+) ident(P)operator([)integer(0)operator(];)
+ ident(Inc)operator(()ident(P)operator(\);)
+ reserved(end)operator(;)
+ reserved(until) operator(()ident(Param) operator(<>) string<delimiter(')delimiter(')>operator(\)) reserved(or) operator(()ident(P)operator([)integer(0)operator(]) operator(=) char(#0)operator(\);)
+
+ ident(Result) operator(:=) ident(Param) operator(<>) string<delimiter(')delimiter(')>operator(;)
+ reserved(end)operator(;)
+
+reserved(begin)
+ ident(Strings)operator(.)ident(Clear)operator(;)
+ ident(P) operator(:=) ident(GetCommandLine)operator(;)
+ ident(GetParamStr)operator(()ident(P)operator(,) ident(Param)operator(\);)
+ reserved(while) ident(GetParamStr)operator(()ident(P)operator(,) ident(Param)operator(\)) reserved(do)
+ ident(Strings)operator(.)ident(Add)operator(()ident(Param)operator(\);)
+reserved(end)operator(;)
+
+reserved(function) ident(GetParams)operator(()reserved(const) ident(Separator)operator(:) reserved(string) operator(=) char<delimiter(')content( )delimiter(')>operator(\):) reserved(string)operator(;)
+reserved(var)
+ ident(SL)operator(:) ident(TStringList)operator(;)
+reserved(begin)
+ ident(SL) operator(:=) ident(TStringList)operator(.)ident(Create)operator(;)
+ ident(GetParams)operator(()ident(SL)operator(\);)
+ ident(Result) operator(:=) ident(Join)operator(()ident(SL)operator(,) ident(Separator)operator(\);)
+ ident(SL)operator(.)ident(Free)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(Switch)operator(()reserved(const) ident(Switch)operator(:) reserved(string)operator(;) reserved(const) ident(PrefixChars)operator(:) ident(TCharSet) operator(=) ident(SwitchChars)operator(;)
+ ident(IgnoreCase)operator(:) ident(Boolean) operator(=) ident(True)operator(\):) ident(Boolean)operator(;)
+comment(//= SysUtils.FindCmdLineSwitch)
+reserved(var)
+ ident(i)operator(:) ident(Integer)operator(;)
+ ident(s)operator(:) reserved(string)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) ident(True)operator(;)
+
+ reserved(for) ident(i) operator(:=) integer(1) reserved(to) ident(ParamCount) reserved(do) reserved(begin)
+ ident(s) operator(:=) ident(ParamStr)operator(()ident(i)operator(\);)
+
+ reserved(if) operator(()ident(s) operator(<>) string<delimiter(')delimiter(')>operator(\)) reserved(and) operator(()ident(s)operator([)integer(1)operator(]) reserved(in) ident(PrefixChars)operator(\)) reserved(then) reserved(begin)
+ comment(//i know that always s <> '', but this is saver)
+ ident(s) operator(:=) ident(Copy)operator(()ident(s)operator(,) integer(2)operator(,) ident(MaxInt)operator(\);)
+ reserved(if) operator(()ident(s) operator(=) ident(Switch)operator(\)) reserved(or) operator(()ident(IgnoreCase) reserved(and) operator(()integer(0)operator(=)ident(AnsiCompareText)operator(()ident(s)operator(,) ident(Switch)operator(\)\)\)) reserved(then)
+ ident(Exit)operator(;)
+ reserved(end)operator(;)
+ reserved(end)operator(;)
+
+ ident(Result) operator(:=) ident(False)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(ParamNum)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(\):) ident(Integer)operator(;)
+reserved(begin)
+ reserved(for) ident(Result) operator(:=) integer(1) reserved(to) ident(ParamCount) reserved(do)
+ reserved(if) integer(0)operator(=)ident(AnsiCompareText)operator(()ident(ParamStr)operator(()ident(Result)operator(\),) ident(S)operator(\)) reserved(then)
+ ident(Exit)operator(;)
+
+ ident(Result) operator(:=) integer(0)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(ParamPrefixNum)operator(()reserved(const) ident(Prefix)operator(:) reserved(string)operator(\):) ident(Integer)operator(;)
+reserved(var)
+ ident(Len)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ ident(Len) operator(:=) ident(Length)operator(()ident(Prefix)operator(\);)
+ reserved(for) ident(Result) operator(:=) integer(1) reserved(to) ident(ParamCount) reserved(do)
+ reserved(if) integer(0)operator(=)ident(AnsiCompareText)operator(()ident(Copy)operator(()ident(ParamStr)operator(()ident(Result)operator(\),) integer(1)operator(,) ident(Len)operator(\),) ident(Prefix)operator(\)) reserved(then)
+ ident(Exit)operator(;)
+
+ ident(Result) operator(:=) integer(0)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(Param)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(\):) ident(Boolean)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) ident(ParamNum)operator(()ident(S)operator(\)) operator(>) integer(0)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(ParamPrefix)operator(()reserved(const) ident(Prefix)operator(:) reserved(string)operator(\):) ident(Boolean)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) ident(ParamPrefixNum)operator(()ident(Prefix)operator(\)) operator(>) integer(0)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(GetParam)operator(()reserved(const) ident(Prefix)operator(:) reserved(string) operator(=) string<delimiter(')delimiter(')>operator(;) reserved(const) ident(Default)operator(:) reserved(string) operator(=) string<delimiter(')delimiter(')>operator(\):) reserved(string)operator(;)
+reserved(var)
+ ident(i)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) ident(Default)operator(;)
+
+ reserved(if) ident(Prefix) operator(=) string<delimiter(')delimiter(')> reserved(then) reserved(begin)
+ ident(Result) operator(:=) ident(ParamStr)operator(()integer(1)operator(\);)
+ ident(Exit)operator(;) reserved(end)operator(;)
+
+ ident(i) operator(:=) ident(ParamPrefixNum)operator(()ident(Prefix)operator(\);)
+ reserved(if) ident(i) operator(>) integer(0) reserved(then)
+ ident(Result) operator(:=) ident(Copy)operator(()ident(ParamStr)operator(()ident(i)operator(\),) ident(Length)operator(()ident(Prefix)operator(\)) operator(+) integer(1)operator(,) ident(MaxInt)operator(\);)
+reserved(end)operator(;)
+
+reserved(function) ident(GetMyDir)operator(()ident(FullPath)operator(:) ident(Boolean) operator(=) ident(False)operator(\):) reserved(string)operator(;)
+reserved(var)
+ ident(Buffer)operator(:) reserved(array)operator([)integer(0)operator(..)integer(260)operator(]) reserved(of) ident(Char)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) string<delimiter(')delimiter(')>operator(;)
+ ident(SetString)operator(()ident(Result)operator(,) ident(Buffer)operator(,) ident(GetModuleFileName)operator(()integer(0)operator(,) ident(Buffer)operator(,) ident(SizeOf)operator(()ident(Buffer)operator(\)\)\);)
+ reserved(if) ident(FullPath) reserved(then)
+ ident(Result) operator(:=) ident(GetFileNew)operator(()ident(Result)operator(\);)
+ ident(Result) operator(:=) ident(ExtractPath)operator(()ident(Result)operator(\);)
+reserved(end)operator(;)
+
+reserved(function) ident(WinDir)operator(:) reserved(string)operator(;)
+reserved(var)
+ ident(Res)operator(:) ident(PChar)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) char<delimiter(')content(\\)delimiter(')>operator(;)
+ ident(GetMem)operator(()ident(Res)operator(,) ident(MAX_PATH)operator(\);)
+ ident(GetWindowsDirectory)operator(()ident(Res)operator(,) ident(MAX_PATH)operator(\);)
+ ident(Result) operator(:=) ident(Res) operator(+) char<delimiter(')content(\\)delimiter(')>operator(;)
+ ident(FreeMem)operator(()ident(Res)operator(,) ident(MAX_PATH)operator(\);)
+reserved(end)operator(;)
+
+reserved(function) ident(SysDir)operator(:) reserved(string)operator(;)
+reserved(var)
+ ident(Res)operator(:) ident(PChar)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) char<delimiter(')content(\\)delimiter(')>operator(;)
+ ident(GetMem)operator(()ident(Res)operator(,) ident(MAX_PATH)operator(\);)
+ ident(GetSystemDirectory)operator(()ident(Res)operator(,) ident(MAX_PATH)operator(\);)
+ ident(Result) operator(:=) ident(Res) operator(+) char<delimiter(')content(\\)delimiter(')>operator(;)
+ ident(FreeMem)operator(()ident(Res)operator(,) ident(MAX_PATH)operator(\);)
+reserved(end)operator(;)
+
+reserved(function) ident(UserName)operator(:) reserved(string)operator(;)
+reserved(var)
+ ident(Len)operator(:) ident(Cardinal)operator(;)
+ ident(Res)operator(:) ident(PChar)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) string<delimiter(')delimiter(')>operator(;)
+ ident(GetMem)operator(()ident(Res)operator(,) ident(MAX_PATH)operator(\);)
+ ident(Len) operator(:=) ident(MAX_PATH)operator(;)
+ ident(GetUserName)operator(()ident(Res)operator(,) ident(Len)operator(\);)
+ ident(Result) operator(:=) ident(Res)operator(;)
+ ident(FreeMem)operator(()ident(Res)operator(,) ident(MAX_PATH)operator(\);)
+reserved(end)operator(;)
+
+reserved(function) ident(FirstChar)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(\):) ident(Char)operator(;)
+reserved(begin)
+ reserved(if) ident(s) operator(=) string<delimiter(')delimiter(')> reserved(then)
+ ident(Result) operator(:=) char(#0)
+ reserved(else)
+ ident(Result) operator(:=) ident(s)operator([)integer(1)operator(];)
+reserved(end)operator(;)
+
+reserved(function) ident(LastChar)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(\):) ident(Char)operator(;)
+reserved(begin)
+ reserved(if) ident(s) operator(=) string<delimiter(')delimiter(')> reserved(then)
+ ident(Result) operator(:=) char(#0)
+ reserved(else)
+ ident(Result) operator(:=) ident(s)operator([)ident(Length)operator(()ident(s)operator(\)];)
+reserved(end)operator(;)
+
+reserved(function) ident(CharPos)operator(()ident(C)operator(:) ident(Char)operator(;) reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(Offset)operator(:) ident(Integer) operator(=) integer(1)operator(\):) ident(Integer)operator(;)
+reserved(var)
+ ident(MaxPosToSearch)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) ident(Offset)operator(;)
+ ident(MaxPosToSearch) operator(:=) ident(Length)operator(()ident(S)operator(\);)
+
+ reserved(while) ident(Result) operator(<=) ident(MaxPosToSearch) reserved(do) reserved(begin)
+ reserved(if) ident(S)operator([)ident(Result)operator(]) operator(=) ident(C) reserved(then)
+ ident(Exit)operator(;)
+ ident(Inc)operator(()ident(Result)operator(\);)
+ reserved(end)operator(;)
+
+ ident(Result) operator(:=) integer(0)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(CharPos)operator(()ident(C)operator(:) ident(TCharSet)operator(;) reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(Offset)operator(:) ident(Integer) operator(=) integer(1)operator(\):) ident(Integer)operator(;)
+reserved(var)
+ ident(MaxPosToSearch)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) ident(Offset)operator(;)
+ ident(MaxPosToSearch) operator(:=) ident(Length)operator(()ident(S)operator(\);)
+
+ reserved(while) ident(Result) operator(<=) ident(MaxPosToSearch) reserved(do) reserved(begin)
+ reserved(if) ident(S)operator([)ident(Result)operator(]) reserved(in) ident(C) reserved(then)
+ ident(Exit)operator(;)
+ ident(Inc)operator(()ident(Result)operator(\);)
+ reserved(end)operator(;)
+
+ ident(Result) operator(:=) integer(0)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(CharPosR)operator(()ident(C)operator(:) ident(Char)operator(;) reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(Offset)operator(:) ident(Integer) operator(=) operator(-)integer(1)operator(\):) ident(Integer)operator(;)
+reserved(begin)
+ reserved(if) ident(Offset) operator(<) integer(0) reserved(then)
+ ident(Result) operator(:=) ident(Length)operator(()ident(S)operator(\)) operator(+) integer(1) operator(-) ident(Offset)
+ reserved(else)
+ ident(Result) operator(:=) ident(Offset)operator(;)
+ reserved(if) ident(Result) operator(>) ident(Length)operator(()ident(S)operator(\)) reserved(then)
+ ident(Result) operator(:=) ident(Length)operator(()ident(S)operator(\);)
+
+ reserved(while) ident(Result) operator(>) integer(0) reserved(do) reserved(begin)
+ reserved(if) ident(S)operator([)ident(Result)operator(]) operator(=) ident(C) reserved(then)
+ ident(Exit)operator(;)
+ ident(Dec)operator(()ident(Result)operator(\);)
+ reserved(end)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(PosEx)operator(()reserved(const) ident(SubStr)operator(,) ident(S)operator(:) reserved(string)operator(;) ident(Offset)operator(:) ident(Integer) operator(=) integer(1)operator(\):) ident(Integer)operator(;)
+reserved(var)
+ ident(MaxPosToSearch)operator(,) ident(LenSubStr)operator(,) ident(i)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ reserved(if) ident(SubStr) operator(=) string<delimiter(')delimiter(')> reserved(then) reserved(begin)
+ ident(Result) operator(:=) integer(0)operator(;)
+ ident(Exit)operator(;) reserved(end)operator(;)
+
+ reserved(if) ident(Offset) operator(<) integer(1) reserved(then)
+ ident(Result) operator(:=) integer(1)
+ reserved(else)
+ ident(Result) operator(:=) ident(Offset)operator(;)
+
+ ident(LenSubStr) operator(:=) ident(Length)operator(()ident(SubStr)operator(\);)
+ ident(MaxPosToSearch) operator(:=) ident(Length)operator(()ident(S)operator(\)) operator(-) ident(LenSubStr) operator(+) integer(1)operator(;)
+
+ reserved(while) ident(Result) operator(<=) ident(MaxPosToSearch) reserved(do) reserved(begin)
+ reserved(if) ident(S)operator([)ident(Result)operator(]) operator(=) ident(SubStr)operator([)integer(1)operator(]) reserved(then) reserved(begin)
+ ident(i) operator(:=) integer(1)operator(;)
+
+ reserved(while) operator(()ident(i) operator(<) ident(LenSubStr)operator(\))
+ reserved(and) operator(()ident(S)operator([)ident(Result) operator(+) ident(i)operator(]) operator(=) ident(SubStr)operator([)ident(i) operator(+) integer(1)operator(]\)) reserved(do)
+ ident(Inc)operator(()ident(i)operator(\);)
+
+ reserved(if) ident(i) operator(=) ident(LenSubStr) reserved(then)
+ ident(Exit)operator(;)
+ reserved(end)operator(;)
+ ident(Inc)operator(()ident(Result)operator(\);)
+ reserved(end)operator(;)
+
+ ident(Result) operator(:=) integer(0)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(PosExText)operator(()reserved(const) ident(SubStr)operator(,) ident(S)operator(:) reserved(string)operator(;) ident(Offset)operator(:) ident(Integer) operator(=) integer(1)operator(\):) ident(Integer)operator(;)
+reserved(var)
+ ident(MaxPosToSearch)operator(,) ident(LenSubStr)operator(,) ident(i)operator(:) ident(Integer)operator(;)
+
+ reserved(function) ident(SameChar)operator(()ident(a)operator(,) ident(b)operator(:) ident(Char)operator(\):) ident(Boolean)operator(;)
+ reserved(begin)
+ ident(Result) operator(:=) ident(UpCase)operator(()ident(a)operator(\)) operator(=) ident(UpCase)operator(()ident(b)operator(\))
+ reserved(end)operator(;)
+
+reserved(begin)
+ reserved(if) ident(SubStr) operator(=) string<delimiter(')delimiter(')> reserved(then) reserved(begin)
+ ident(Result) operator(:=) integer(0)operator(;)
+ ident(Exit)operator(;) reserved(end)operator(;)
+
+ reserved(if) ident(Offset) operator(<) integer(1) reserved(then)
+ ident(Result) operator(:=) integer(1)
+ reserved(else)
+ ident(Result) operator(:=) ident(Offset)operator(;)
+
+ ident(LenSubStr) operator(:=) ident(Length)operator(()ident(SubStr)operator(\);)
+ ident(MaxPosToSearch) operator(:=) ident(Length)operator(()ident(S)operator(\)) operator(-) ident(LenSubStr) operator(+) integer(1)operator(;)
+
+ reserved(while) ident(Result) operator(<=) ident(MaxPosToSearch) reserved(do) reserved(begin)
+ reserved(if) ident(SameChar)operator(()ident(S)operator([)ident(Result)operator(],) ident(SubStr)operator([)integer(1)operator(]\)) reserved(then) reserved(begin)
+ ident(i) operator(:=) integer(1)operator(;)
+
+ reserved(while) operator(()ident(i) operator(<) ident(LenSubStr)operator(\))
+ reserved(and) operator(()ident(SameChar)operator(()ident(S)operator([)ident(Result) operator(+) ident(i)operator(],) ident(SubStr)operator([)ident(i) operator(+) integer(1)operator(]\)\)) reserved(do)
+ ident(Inc)operator(()ident(i)operator(\);)
+
+ reserved(if) ident(i) operator(=) ident(LenSubStr) reserved(then)
+ ident(Exit)operator(;)
+ reserved(end)operator(;)
+ ident(Inc)operator(()ident(Result)operator(\);)
+ reserved(end)operator(;)
+
+ ident(Result) operator(:=) integer(0)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(PosExAnsiText)operator(()reserved(const) ident(SubStr)operator(,) ident(S)operator(:) reserved(string)operator(;) ident(Offset)operator(:) ident(Integer) operator(=) integer(1)operator(\):) ident(Integer)operator(;)
+reserved(var)
+ ident(MaxPosToSearch)operator(,) ident(LenSubStr)operator(,) ident(i)operator(:) ident(Integer)operator(;)
+
+ reserved(function) ident(SameChar)operator(()ident(a)operator(,) ident(b)operator(:) ident(Char)operator(\):) ident(Boolean)operator(;)
+ reserved(begin)
+ ident(Result) operator(:=) ident(CharLower)operator(()ident(PChar)operator(()ident(a)operator(\)\)) operator(=) ident(CharLower)operator(()ident(PChar)operator(()ident(b)operator(\)\);)
+ reserved(end)operator(;)
+
+reserved(begin)
+ reserved(if) ident(SubStr) operator(=) string<delimiter(')delimiter(')> reserved(then) reserved(begin)
+ ident(Result) operator(:=) integer(0)operator(;)
+ ident(Exit)operator(;) reserved(end)operator(;)
+
+ reserved(if) ident(Offset) operator(<) integer(1) reserved(then)
+ ident(Result) operator(:=) integer(1)
+ reserved(else)
+ ident(Result) operator(:=) ident(Offset)operator(;)
+
+ ident(LenSubStr) operator(:=) ident(Length)operator(()ident(SubStr)operator(\);)
+ ident(MaxPosToSearch) operator(:=) ident(Length)operator(()ident(S)operator(\)) operator(-) ident(LenSubStr) operator(+) integer(1)operator(;)
+
+ reserved(while) ident(Result) operator(<=) ident(MaxPosToSearch) reserved(do) reserved(begin)
+ reserved(if) ident(SameChar)operator(()ident(S)operator([)ident(Result)operator(],) ident(SubStr)operator([)integer(1)operator(]\)) reserved(then) reserved(begin)
+ ident(i) operator(:=) integer(1)operator(;)
+
+ reserved(while) operator(()ident(i) operator(<) ident(LenSubStr)operator(\))
+ reserved(and) operator(()ident(SameChar)operator(()ident(S)operator([)ident(Result) operator(+) ident(i)operator(],) ident(SubStr)operator([)ident(i) operator(+) integer(1)operator(]\)\)) reserved(do)
+ ident(Inc)operator(()ident(i)operator(\);)
+
+ reserved(if) ident(i) operator(=) ident(LenSubStr) reserved(then)
+ ident(Exit)operator(;)
+ reserved(end)operator(;)
+ ident(Inc)operator(()ident(Result)operator(\);)
+ reserved(end)operator(;)
+
+ ident(Result) operator(:=) integer(0)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(UntilChar)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(Brake)operator(:) ident(Char)operator(\):) reserved(string)operator(;)
+reserved(var)
+ ident(p)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ ident(p) operator(:=) ident(CharPos)operator(()ident(Brake)operator(,) ident(S)operator(\);)
+
+ reserved(if) ident(p) operator(>) integer(0) reserved(then)
+ ident(Result) operator(:=) ident(Copy)operator(()ident(S)operator(,) integer(1)operator(,) ident(p) operator(-) integer(1)operator(\))
+ reserved(else)
+ ident(Result) operator(:=) ident(S)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(UntilChar)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(Brake)operator(:) ident(TCharSet)operator(\):) reserved(string)operator(;)
+reserved(var)
+ ident(p)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) string<delimiter(')delimiter(')>operator(;)
+ ident(p) operator(:=) ident(CharPos)operator(()ident(Brake)operator(,) ident(S)operator(\);)
+
+ reserved(if) ident(p) operator(>) integer(0) reserved(then)
+ ident(Result) operator(:=) ident(Copy)operator(()ident(S)operator(,) integer(1)operator(,) ident(p) operator(-) integer(1)operator(\))
+ reserved(else)
+ ident(Result) operator(:=) ident(S)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(UntilLastChar)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(Brake)operator(:) ident(Char)operator(;)
+ ident(IgnoreNoBrake)operator(:) ident(Boolean) operator(=) ident(True)operator(\):) reserved(string)operator(;)
+reserved(var)
+ ident(p)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) string<delimiter(')delimiter(')>operator(;)
+ ident(p) operator(:=) ident(CharPosR)operator(()ident(Brake)operator(,) ident(S)operator(\);)
+
+ reserved(if) ident(p) operator(>) integer(0) reserved(then)
+ ident(Result) operator(:=) ident(Copy)operator(()ident(S)operator(,) integer(1)operator(,) ident(p) operator(-) integer(1)operator(\))
+ reserved(else) reserved(if) ident(IgnoreNoBrake) reserved(then)
+ ident(Result) operator(:=) ident(S)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(FromChar)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(Brake)operator(:) ident(Char)operator(\):) reserved(string)operator(;)
+reserved(var)
+ ident(p)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) string<delimiter(')delimiter(')>operator(;)
+ ident(p) operator(:=) ident(CharPos)operator(()ident(Brake)operator(,) ident(S)operator(\);)
+
+ reserved(if) ident(p) operator(>) integer(0) reserved(then)
+ ident(Result) operator(:=) ident(Copy)operator(()ident(S)operator(,) ident(p) operator(+) integer(1)operator(,) ident(Length)operator(()ident(S)operator(\)) operator(-) ident(p)operator(\);)
+reserved(end)operator(;)
+
+reserved(function) ident(FromChar)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(Brake)operator(:) ident(TCharSet)operator(\):) reserved(string)operator(;)
+reserved(var)
+ ident(p)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) string<delimiter(')delimiter(')>operator(;)
+ ident(p) operator(:=) ident(CharPos)operator(()ident(Brake)operator(,) ident(S)operator(\);)
+
+ reserved(if) ident(p) operator(>) integer(0) reserved(then)
+ ident(Result) operator(:=) ident(Copy)operator(()ident(S)operator(,) ident(p) operator(+) integer(1)operator(,) ident(Length)operator(()ident(S)operator(\)) operator(-) ident(p)operator(\);)
+reserved(end)operator(;)
+
+reserved(function) ident(FromLastChar)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(Brake)operator(:) ident(Char)operator(;)
+ ident(IgnoreNoBrake)operator(:) ident(Boolean) operator(=) ident(False)operator(\):) reserved(string)operator(;)
+reserved(var)
+ ident(p)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) string<delimiter(')delimiter(')>operator(;)
+ ident(p) operator(:=) ident(CharPosR)operator(()ident(Brake)operator(,) ident(S)operator(\);)
+
+ reserved(if) ident(p) operator(>) integer(0) reserved(then)
+ ident(Result) operator(:=) ident(Copy)operator(()ident(S)operator(,) ident(p) operator(+) integer(1)operator(,) ident(Length)operator(()ident(S)operator(\)) operator(-) ident(p)operator(\))
+ reserved(else) reserved(if) ident(IgnoreNoBrake) reserved(then)
+ ident(Result) operator(:=) ident(S)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(BetweenChars)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(Start)operator(,) ident(Finish)operator(:) ident(Char)operator(;)
+ ident(Inclusive)operator(:) ident(Boolean) operator(=) ident(False)operator(\):) reserved(string)operator(;)
+reserved(var)
+ ident(p)operator(,) ident(fin)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) string<delimiter(')delimiter(')>operator(;)
+
+ ident(p) operator(:=) ident(CharPos)operator(()ident(Start)operator(,) ident(S)operator(\);)
+ reserved(if) ident(p) operator(=) integer(0) reserved(then)
+ ident(Exit)operator(;)
+
+ ident(fin) operator(:=) ident(CharPos)operator(()ident(Finish)operator(,) ident(S)operator(,) ident(p) operator(+) integer(1)operator(\);)
+ reserved(if) ident(fin) operator(=) integer(0) reserved(then)
+ ident(Exit)operator(;)
+
+ reserved(if) reserved(not) ident(Inclusive) reserved(then) reserved(begin)
+ ident(Inc)operator(()ident(p)operator(\);)
+ ident(Dec)operator(()ident(fin)operator(\);)
+ reserved(end)operator(;)
+
+ ident(Result) operator(:=) ident(Copy)operator(()ident(S)operator(,) ident(p)operator(,) ident(fin) operator(-) ident(p) operator(+) integer(1)operator(\);)
+reserved(end)operator(;)
+
+reserved(function) ident(UntilStr)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(Brake)operator(:) reserved(string)operator(\):) reserved(string)operator(;)
+reserved(var)
+ ident(p)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ reserved(if) ident(Length)operator(()ident(Brake)operator(\)) operator(=) integer(1) reserved(then) reserved(begin)
+ ident(Result) operator(:=) ident(UntilChar)operator(()ident(S)operator(,) ident(Brake)operator([)integer(1)operator(]\);)
+ ident(Exit)operator(;) reserved(end)operator(;)
+
+ ident(p) operator(:=) ident(PosEx)operator(()ident(Brake)operator(,) ident(S)operator(\);)
+
+ reserved(if) ident(p) operator(>) integer(0) reserved(then)
+ ident(Result) operator(:=) ident(Copy)operator(()ident(S)operator(,) integer(1)operator(,) ident(p) operator(-) integer(1)operator(\))
+ reserved(else)
+ ident(Result) operator(:=) ident(S)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(FromStr)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(Brake)operator(:) reserved(string)operator(\):) reserved(string)operator(;)
+reserved(var)
+ ident(p)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ reserved(if) ident(Length)operator(()ident(Brake)operator(\)) operator(=) integer(1) reserved(then) reserved(begin)
+ ident(Result) operator(:=) ident(FromChar)operator(()ident(S)operator(,) ident(Brake)operator([)integer(1)operator(]\);)
+ ident(Exit)operator(;) reserved(end)operator(;)
+
+ ident(Result) operator(:=) string<delimiter(')delimiter(')>operator(;)
+ ident(p) operator(:=) ident(PosEx)operator(()ident(Brake)operator(,) ident(s)operator(\);)
+
+ reserved(if) ident(p) operator(>) integer(0) reserved(then) reserved(begin)
+ ident(Inc)operator(()ident(p)operator(,) ident(Length)operator(()ident(Brake)operator(\)\);)
+ ident(Result) operator(:=) ident(Copy)operator(()ident(S)operator(,) ident(p)operator(,) ident(Length)operator(()ident(S)operator(\)) operator(-) ident(p) operator(+) integer(1)operator(\);)
+ reserved(end)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(StringWrap)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(Width)operator(:) ident(Integer)operator(;) reserved(const) ident(LineEnd)operator(:) reserved(string) operator(=) ident(EOL)operator(\):) reserved(string)operator(;)
+reserved(var)
+ ident(i)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) string<delimiter(')delimiter(')>operator(;)
+ reserved(if) operator(()ident(S) operator(=) string<delimiter(')delimiter(')>operator(\)) reserved(or) operator(()ident(Width) operator(<) integer(1)operator(\)) reserved(then)
+ ident(Exit)operator(;)
+
+ ident(i) operator(:=) integer(1)operator(;)
+ reserved(while) ident(True) reserved(do) reserved(begin)
+ ident(Result) operator(:=) ident(Result) operator(+) ident(Copy)operator(()ident(S)operator(,) ident(i)operator(,) ident(Width)operator(\);)
+ ident(Inc)operator(()ident(i)operator(,) ident(Width)operator(\);)
+ reserved(if) ident(i) operator(<=) ident(Length)operator(()ident(S)operator(\)) reserved(then)
+ ident(Result) operator(:=) ident(Result) operator(+) ident(LineEnd)
+ reserved(else)
+ ident(Exit)operator(;)
+ reserved(end)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(Split)operator(()reserved(const) ident(S)operator(,) ident(Separator)operator(:) reserved(string)operator(;) ident(IgnoreMultiSep)operator(:) ident(Boolean) operator(=) ident(True)operator(;)
+ ident(MinCount)operator(:) ident(Integer) operator(=) integer(0)operator(\):) ident(TStrA)operator(;)
+reserved(var)
+ ident(p)operator(,) ident(fin)operator(,) ident(SepLen)operator(:) ident(Integer)operator(;)
+
+ reserved(procedure) ident(Add)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(\);)
+ reserved(begin)
+ reserved(if) ident(IgnoreMultiSep) reserved(and) operator(()ident(S) operator(=) string<delimiter(')delimiter(')>operator(\)) reserved(then)
+ ident(Exit)operator(;)
+ ident(SetLength)operator(()ident(Result)operator(,) ident(Length)operator(()ident(Result)operator(\)) operator(+) integer(1)operator(\);)
+ ident(Result)operator([)ident(High)operator(()ident(Result)operator(\)]) operator(:=) ident(S)operator(;)
+ reserved(end)operator(;)
+
+reserved(begin)
+ reserved(if) ident(S) operator(=) string<delimiter(')delimiter(')> reserved(then) reserved(begin)
+ reserved(if) ident(Length)operator(()ident(Result)operator(\)) operator(<) ident(MinCount) reserved(then)
+ ident(SetLength)operator(()ident(Result)operator(,) ident(MinCount)operator(\);)
+ ident(Exit)operator(;) reserved(end)operator(;)
+
+ ident(Result) operator(:=) reserved(nil)operator(;)
+ ident(SepLen) operator(:=) ident(Length)operator(()ident(Separator)operator(\);)
+
+ ident(p) operator(:=) integer(1)operator(;)
+ ident(fin) operator(:=) ident(PosEx)operator(()ident(Separator)operator(,) ident(S)operator(\);)
+ reserved(while) ident(fin) operator(>) integer(0) reserved(do) reserved(begin)
+ ident(Add)operator(()ident(Copy)operator(()ident(S)operator(,) ident(p)operator(,) ident(fin) operator(-) ident(p)operator(\)\);)
+ ident(p) operator(:=) ident(fin) operator(+) ident(SepLen)operator(;)
+ ident(fin) operator(:=) ident(PosEx)operator(()ident(Separator)operator(,) ident(S)operator(,) ident(p)operator(\);)
+ reserved(end)operator(;)
+ ident(Add)operator(()ident(Copy)operator(()ident(S)operator(,) ident(p)operator(,) ident(Length)operator(()ident(S)operator(\)) operator(-) ident(p) operator(+) integer(1)operator(\)\);)
+
+ reserved(if) ident(Length)operator(()ident(Result)operator(\)) operator(<) ident(MinCount) reserved(then)
+ ident(SetLength)operator(()ident(Result)operator(,) ident(MinCount)operator(\);)
+reserved(end)operator(;)
+
+reserved(procedure) ident(Split)operator(()reserved(const) ident(S)operator(,) ident(Separator)operator(:) reserved(string)operator(;) ident(Strings)operator(:) ident(TStrings)operator(;)
+ ident(IgnoreMultiSep)operator(:) ident(Boolean) operator(=) ident(True)operator(\);)
+reserved(var)
+ ident(p)operator(,) ident(fin)operator(,) ident(SepLen)operator(:) ident(Integer)operator(;)
+
+ reserved(procedure) ident(Add)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(\);)
+ reserved(begin)
+ reserved(if) ident(IgnoreMultiSep) reserved(and) operator(()ident(S) operator(=) string<delimiter(')delimiter(')>operator(\)) reserved(then)
+ ident(Exit)operator(;)
+ ident(Strings)operator(.)ident(Add)operator(()ident(S)operator(\);)
+ reserved(end)operator(;)
+
+reserved(begin)
+ reserved(if) ident(S) operator(=) string<delimiter(')delimiter(')> reserved(then)
+ ident(Exit)operator(;)
+
+ ident(Strings)operator(.)ident(BeginUpdate)operator(;)
+ ident(SepLen) operator(:=) ident(Length)operator(()ident(Separator)operator(\);)
+ ident(p) operator(:=) integer(1)operator(;)
+ ident(fin) operator(:=) ident(PosEx)operator(()ident(Separator)operator(,) ident(S)operator(\);)
+ reserved(while) ident(fin) operator(>) integer(0) reserved(do) reserved(begin)
+ ident(Add)operator(()ident(Copy)operator(()ident(S)operator(,) ident(p)operator(,) ident(fin) operator(-) ident(p)operator(\)\);)
+ ident(p) operator(:=) ident(fin) operator(+) ident(SepLen)operator(;)
+ ident(fin) operator(:=) ident(PosEx)operator(()ident(Separator)operator(,) ident(S)operator(,) ident(p)operator(\);)
+ reserved(end)operator(;)
+ ident(Add)operator(()ident(Copy)operator(()ident(S)operator(,) ident(p)operator(,) ident(Length)operator(()ident(S)operator(\)) operator(-) ident(p) operator(+) integer(1)operator(\)\);)
+ ident(Strings)operator(.)ident(EndUpdate)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(Split)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(Separators)operator(:) ident(TCharSet)operator(;)
+ ident(IgnoreMultiSep)operator(:) ident(Boolean) operator(=) ident(True)operator(;) ident(MinCount)operator(:) ident(Integer) operator(=) integer(0)operator(\):) ident(TStrA)operator(;)
+reserved(var)
+ ident(p)operator(,) ident(fin)operator(:) ident(Integer)operator(;)
+
+ reserved(procedure) ident(Add)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(\);)
+ reserved(begin)
+ reserved(if) ident(IgnoreMultiSep) reserved(and) operator(()ident(S) operator(=) string<delimiter(')delimiter(')>operator(\)) reserved(then)
+ ident(Exit)operator(;)
+ ident(SetLength)operator(()ident(Result)operator(,) ident(Length)operator(()ident(Result)operator(\)) operator(+) integer(1)operator(\);)
+ ident(Result)operator([)ident(High)operator(()ident(Result)operator(\)]) operator(:=) ident(S)operator(;)
+ reserved(end)operator(;)
+
+reserved(begin)
+ reserved(if) ident(S) operator(=) string<delimiter(')delimiter(')> reserved(then) reserved(begin)
+ reserved(if) ident(Length)operator(()ident(Result)operator(\)) operator(<) ident(MinCount) reserved(then)
+ ident(SetLength)operator(()ident(Result)operator(,) ident(MinCount)operator(\);)
+ ident(Exit)operator(;) reserved(end)operator(;)
+
+ ident(Result) operator(:=) reserved(nil)operator(;)
+
+ ident(p) operator(:=) integer(1)operator(;)
+ ident(fin) operator(:=) ident(CharPos)operator(()ident(Separators)operator(,) ident(S)operator(\);)
+ reserved(while) ident(fin) operator(>) integer(0) reserved(do) reserved(begin)
+ ident(Add)operator(()ident(Copy)operator(()ident(S)operator(,) ident(p)operator(,) ident(fin) operator(-) ident(p)operator(\)\);)
+ ident(p) operator(:=) ident(fin) operator(+) integer(1)operator(;)
+ ident(fin) operator(:=) ident(CharPos)operator(()ident(Separators)operator(,) ident(S)operator(,) ident(p)operator(\);)
+ reserved(end)operator(;)
+ ident(Add)operator(()ident(Copy)operator(()ident(S)operator(,) ident(p)operator(,) ident(Length)operator(()ident(S)operator(\)) operator(-) ident(p) operator(+) integer(1)operator(\)\);)
+
+ reserved(if) ident(Length)operator(()ident(Result)operator(\)) operator(<) ident(MinCount) reserved(then)
+ ident(SetLength)operator(()ident(Result)operator(,) ident(MinCount)operator(\);)
+reserved(end)operator(;)
+
+reserved(procedure) ident(TileStr)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(BrakeStart)operator(:) ident(Integer)operator(;) ident(BrakeEnd)operator(:) ident(Integer)operator(;)
+ reserved(out) ident(Left)operator(,) ident(Right)operator(:) reserved(string)operator(\);)
+reserved(begin)
+ ident(Left) operator(:=) ident(Copy)operator(()ident(S)operator(,) integer(1)operator(,) ident(BrakeStart)operator(-)integer(1)operator(\);)
+ ident(Right) operator(:=) ident(Copy)operator(()ident(S)operator(,) ident(BrakeEnd) operator(+) integer(1)operator(,) ident(MaxInt)operator(\);)
+reserved(end)operator(;)
+
+reserved(function) ident(Join)operator(()ident(Strings)operator(:) ident(TStrings)operator(;) ident(Separator)operator(:) reserved(string) operator(=) char<delimiter(')content( )delimiter(')>operator(\):) reserved(string)operator(;)
+reserved(var)
+ ident(i)operator(,) ident(imax)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) string<delimiter(')delimiter(')>operator(;)
+ ident(imax) operator(:=) ident(Strings)operator(.)ident(Count)operator(-)integer(1)operator(;)
+ reserved(for) ident(i) operator(:=) integer(0) reserved(to) ident(imax) reserved(do) reserved(begin)
+ ident(Result) operator(:=) ident(Result) operator(+) ident(Strings)operator([)ident(i)operator(];)
+ reserved(if) ident(i) operator(<) ident(imax) reserved(then)
+ ident(Result) operator(:=) ident(Result) operator(+) ident(Separator)operator(;)
+ reserved(end)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(Join)operator(()ident(StrA)operator(:) ident(TStrA)operator(;) ident(Separator)operator(:) reserved(string) operator(=) char<delimiter(')content( )delimiter(')>operator(\):) reserved(string)operator(;) directive(overload)operator(;)
+reserved(var)
+ ident(i)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) string<delimiter(')delimiter(')>operator(;)
+ reserved(for) ident(i) operator(:=) integer(0) reserved(to) ident(High)operator(()ident(StrA)operator(\)) reserved(do) reserved(begin)
+ ident(Result) operator(:=) ident(Result) operator(+) ident(StrA)operator([)ident(i)operator(];)
+ reserved(if) ident(i) operator(<) ident(High)operator(()ident(StrA)operator(\)) reserved(then)
+ ident(Result) operator(:=) ident(Result) operator(+) ident(Separator)operator(;)
+ reserved(end)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(MulStr)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(Count)operator(:) ident(Integer)operator(\):) reserved(string)operator(;)
+reserved(var)
+ ident(P)operator(:) ident(PChar)operator(;)
+ ident(Len)operator(,) ident(i)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) string<delimiter(')delimiter(')>operator(;)
+ reserved(if) ident(Count) operator(=) integer(0) reserved(then)
+ ident(Exit)operator(;)
+
+ ident(Len) operator(:=) ident(Length)operator(()ident(S)operator(\);)
+ ident(SetLength)operator(()ident(Result)operator(,) ident(Len) operator(*) ident(Count)operator(\);)
+
+ ident(P) operator(:=) ident(Pointer)operator(()ident(Result)operator(\);)
+ reserved(for) ident(i) operator(:=) integer(1) reserved(to) ident(Count) reserved(do) reserved(begin)
+ ident(Move)operator(()ident(Pointer)operator(()ident(S)operator(\)^,) ident(P)operator(^,) ident(Len)operator(\);)
+ ident(Inc)operator(()ident(P)operator(,) ident(Len)operator(\);)
+ reserved(end)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(AlignR)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(Width)operator(:) ident(Integer)operator(;) ident(Filler)operator(:) ident(Char) operator(=) char<delimiter(')content( )delimiter(')>operator(\):) reserved(string)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) ident(MulStr)operator(()ident(Filler)operator(,) ident(Width) operator(-) ident(Length)operator(()ident(S)operator(\)\)) operator(+) ident(S)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(MaxStr)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(MaxLen)operator(:) ident(Integer)operator(\):) reserved(string)operator(;)
+reserved(var)
+ ident(Len)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ ident(Len) operator(:=) ident(Length)operator(()ident(S)operator(\);)
+ reserved(if) ident(Len) operator(<=) ident(MaxLen) reserved(then) reserved(begin)
+ ident(Result) operator(:=) ident(S)operator(;)
+ ident(Exit) reserved(end)operator(;)
+
+ ident(Result) operator(:=) ident(Copy)operator(()ident(S)operator(,) integer(1)operator(,) ident(MaxLen) operator(-) integer(3)operator(\)) operator(+) string<delimiter(')content(...)delimiter(')>operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(TrimAll)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(\):) reserved(string)operator(;)
+reserved(var)
+ ident(i)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ reserved(for) ident(i) operator(:=) integer(1) reserved(to) ident(Length)operator(()ident(S)operator(\)) reserved(do)
+ reserved(if) ident(S)operator([)ident(i)operator(]) operator(>) char(#32) reserved(then)
+ ident(Result) operator(:=) ident(Result) operator(+) ident(S)operator([)ident(i)operator(];)
+reserved(end)operator(;)
+
+reserved(function) ident(ControlChar)operator(()ident(C)operator(:) ident(Char)operator(\):) ident(Boolean)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) ident(C) reserved(in) ident(StrangeChars)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(FriendlyChar)operator(()ident(C)operator(:) ident(Char)operator(\):) ident(Char)operator(;)
+reserved(begin)
+ reserved(case) ident(C) reserved(of)
+ char(#0)operator(:) ident(Result) operator(:=) char<delimiter(')content(.)delimiter(')>operator(;)
+ char(#1)operator(..)char(#31)operator(:) ident(Result) operator(:=) char<delimiter(')content(?)delimiter(')>operator(;)
+ char(#255)operator(:) ident(Result) operator(:=) char<delimiter(')content(#)delimiter(')>operator(;)
+ reserved(else)
+ ident(Result) operator(:=) ident(C)operator(;)
+ reserved(end)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(FriendlyStr)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(\):) reserved(string)operator(;)
+reserved(var)
+ ident(i)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ ident(SetLength)operator(()ident(Result)operator(,) ident(Length)operator(()ident(S)operator(\)\);)
+ reserved(for) ident(i) operator(:=) integer(1) reserved(to) ident(Length)operator(()ident(S)operator(\)) reserved(do)
+ ident(Result)operator([)ident(i)operator(]) operator(:=) ident(FriendlyChar)operator(()ident(S)operator([)ident(i)operator(]\);)
+reserved(end)operator(;)
+
+reserved(function) ident(FriendlyStr)operator(()ident(a)operator(:) ident(TByteA)operator(\):) reserved(string)operator(;)
+reserved(var)
+ ident(i)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ ident(SetLength)operator(()ident(Result)operator(,) ident(Length)operator(()ident(a)operator(\)\);)
+ reserved(for) ident(i) operator(:=) integer(0) reserved(to) ident(High)operator(()ident(a)operator(\)) reserved(do)
+ ident(Result)operator([)ident(i) operator(+) integer(1)operator(]) operator(:=) ident(FriendlyChar)operator(()ident(Char)operator(()ident(a)operator([)ident(i)operator(]\)\);)
+reserved(end)operator(;)
+
+reserved(function) ident(Quote)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(Quoter)operator(:) ident(Char) operator(=) char<delimiter(')content(")delimiter(')>operator(\):) reserved(string)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) ident(S)operator(;)
+
+ reserved(if) ident(FirstChar)operator(()ident(S)operator(\)) operator(<>) ident(Quoter) reserved(then)
+ ident(Result) operator(:=) ident(Quoter) operator(+) ident(Result)operator(;)
+
+ reserved(if) ident(LastChar)operator(()ident(S)operator(\)) operator(<>) ident(Quoter) reserved(then)
+ ident(Result) operator(:=) ident(Result) operator(+) ident(Quoter)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(DeQuote)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(\):) reserved(string)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) string<delimiter(')delimiter(')>operator(;)
+ reserved(if) ident(Length)operator(()ident(S)operator(\)) operator(>) integer(2) reserved(then)
+ ident(Result) operator(:=) ident(Copy)operator(()ident(S)operator(,) integer(2)operator(,) ident(Length)operator(()ident(S)operator(\)) operator(-) integer(2)operator(\);)
+reserved(end)operator(;)
+
+reserved(function) ident(UnQuote)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(\):) reserved(string)operator(;)
+reserved(var)
+ ident(Start)operator(,) ident(Len)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ ident(Start) operator(:=) integer(1)operator(;)
+ ident(Len) operator(:=) ident(Length)operator(()ident(S)operator(\);)
+
+ reserved(if) operator(()ident(S) operator(<>) string<delimiter(')delimiter(')>operator(\)) reserved(and) operator(()ident(S)operator([)integer(1)operator(]) reserved(in) operator(([)char(#0)operator(..)char(#32)operator(]) operator(+) ident(QuoteChars)operator(\)\)) reserved(then) reserved(begin)
+ reserved(if) operator(()ident(LastChar)operator(()ident(S)operator(\)) operator(=) ident(S)operator([)integer(1)operator(]\)) reserved(then)
+ ident(Dec)operator(()ident(Len)operator(\);)
+ ident(Inc)operator(()ident(Start)operator(\);)
+ reserved(end)operator(;)
+
+ ident(Result) operator(:=) ident(Copy)operator(()ident(S)operator(,) ident(Start)operator(,) ident(Len) operator(-) ident(Start) operator(+) integer(1)operator(\);)
+reserved(end)operator(;)
+
+reserved(function) ident(StrNumerus)operator(()reserved(const) ident(Value)operator(:) ident(Integer)operator(;) reserved(const) ident(Singular)operator(,) ident(Plural)operator(:) reserved(string)operator(;)
+ reserved(const) ident(Zero)operator(:) reserved(string) operator(=) char<delimiter(')content(0)delimiter(')>operator(\):) reserved(string)operator(;)
+reserved(begin)
+ reserved(if) ident(Abs)operator(()ident(Value)operator(\)) operator(=) integer(1) reserved(then)
+ ident(Result) operator(:=) ident(IntToStr)operator(()ident(Value)operator(\)) operator(+) char<delimiter(')content( )delimiter(')> operator(+) ident(Singular)
+ reserved(else) reserved(if) ident(Value) operator(=) integer(0) reserved(then)
+ ident(Result) operator(:=) ident(Zero) operator(+) char<delimiter(')content( )delimiter(')> operator(+) ident(Plural)
+ reserved(else)
+ ident(Result) operator(:=) ident(IntToStr)operator(()ident(Value)operator(\)) operator(+) char<delimiter(')content( )delimiter(')> operator(+) ident(Plural)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(MakeStr)operator(()reserved(const) ident(Items)operator(:) reserved(array) reserved(of) reserved(const)operator(;) ident(Separator)operator(:) reserved(string) operator(=) string<delimiter(')delimiter(')>operator(\):) reserved(string)operator(;)
+reserved(const)
+ ident(BoolStrings)operator(:) reserved(array)operator([)ident(Boolean)operator(]) reserved(of) reserved(string) operator(=) operator(()string<delimiter(')content(False)delimiter(')>operator(,) string<delimiter(')content(True)delimiter(')>operator(\);)
+
+reserved(var)
+ ident(i)operator(:) ident(Integer)operator(;)
+
+ reserved(function) ident(StrOfP)operator(()ident(P)operator(:) ident(Pointer)operator(\):) reserved(string)operator(;)
+ reserved(begin)
+ reserved(if) ident(P) operator(=) reserved(nil) reserved(then)
+ ident(Result) operator(:=) string<delimiter(')content([nil])delimiter(')>
+ reserved(else)
+ ident(Result) operator(:=) char<delimiter(')content([)delimiter(')> operator(+) ident(IntToStr)operator(()ident(Cardinal)operator(()ident(P)operator(\)\)) operator(+) char<delimiter(')content(])delimiter(')>operator(;)
+ reserved(end)operator(;)
+
+ reserved(procedure) ident(Add)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(\);)
+ reserved(begin)
+ ident(Result) operator(:=) ident(Result) operator(+) ident(s) operator(+) ident(Separator)operator(;)
+ reserved(end)operator(;)
+
+reserved(begin)
+ ident(Result) operator(:=) string<delimiter(')delimiter(')>operator(;)
+ reserved(for) ident(i) operator(:=) integer(0) reserved(to) ident(High)operator(()ident(Items)operator(\)) reserved(do)
+ reserved(with) ident(Items)operator([)ident(i)operator(]) reserved(do)
+ reserved(case) ident(VType) reserved(of)
+ ident(vtString)operator(:) ident(Add)operator(()ident(VString)operator(^\);)
+ ident(vtInteger)operator(:) ident(Add)operator(()ident(IntToStr)operator(()ident(VInteger)operator(\)\);)
+ ident(vtBoolean)operator(:) ident(Add)operator(()ident(BoolStrings)operator([)ident(VBoolean)operator(]\);)
+ ident(vtChar)operator(:) ident(Add)operator(()ident(VChar)operator(\);)
+ ident(vtPChar)operator(:) ident(Add)operator(()ident(VPChar)operator(\);)
+ ident(vtExtended)operator(:) ident(Add)operator(()ident(FloatToStr)operator(()ident(VExtended)operator(^\)\);)
+ ident(vtObject)operator(:) reserved(if) ident(VObject) reserved(is) ident(TComponent) reserved(then)
+ ident(Add)operator(()ident(TComponent)operator(()ident(VObject)operator(\).)ident(Name)operator(\))
+ reserved(else)
+ ident(Add)operator(()ident(VObject)operator(.)ident(ClassName)operator(\);)
+ ident(vtClass)operator(:) ident(Add)operator(()ident(VClass)operator(.)ident(ClassName)operator(\);)
+ ident(vtAnsiString)operator(:) ident(Add)operator(()reserved(string)operator(()ident(VAnsiString)operator(\)\);)
+ ident(vtCurrency)operator(:) ident(Add)operator(()ident(CurrToStr)operator(()ident(VCurrency)operator(^\)\);)
+ ident(vtInt64)operator(:) ident(Add)operator(()ident(IntToStr)operator(()ident(VInt64)operator(^\)\);)
+ ident(vtVariant)operator(:) ident(Add)operator(()reserved(string)operator(()ident(VVariant)operator(^\)\);)
+
+ ident(vtWideChar)operator(:) ident(Add)operator(()ident(VWideChar)operator(\);)
+ ident(vtPWideChar)operator(:) ident(Add)operator(()ident(VPWideChar)operator(\);)
+ ident(vtInterface)operator(:) ident(Add)operator(()ident(StrOfP)operator(()ident(VInterface)operator(\)\);)
+ ident(vtPointer)operator(:) ident(Add)operator(()ident(StrOfP)operator(()ident(VPointer)operator(\)\);)
+ ident(vtWideString)operator(:) ident(Add)operator(()ident(WideString)operator(()ident(VWideString)operator(\)\);)
+ reserved(end)operator(;)
+ reserved(if) ident(Result) operator(<>) string<delimiter(')delimiter(')> reserved(then)
+ ident(SetLength)operator(()ident(result)operator(,) ident(Length)operator(()ident(Result)operator(\)) operator(-) ident(Length)operator(()ident(Separator)operator(\)\);)
+reserved(end)operator(;)
+
+reserved(procedure) ident(ShowText)operator(()reserved(const) ident(Items)operator(:) reserved(array) reserved(of) reserved(const)operator(;) ident(Separator)operator(:) reserved(string) operator(=) string<delimiter(')delimiter(')>operator(\);)
+reserved(var)
+ ident(Text)operator(:) reserved(string)operator(;)
+reserved(begin)
+ ident(Text) operator(:=) ident(MakeStr)operator(()ident(Items)operator(,) ident(Separator)operator(\);)
+
+ ident(MessageBox)operator(()integer(0)operator(,) ident(PChar)operator(()ident(Text)operator(\),) string<delimiter(')content(Info)delimiter(')>operator(,) ident(MB_OK) reserved(and) ident(MB_APPLMODAL)operator(\);)
+reserved(end)operator(;)
+
+reserved(function) ident(DeleteChars)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(C)operator(:) ident(Char)operator(\):) reserved(string)operator(;)
+reserved(var)
+ ident(i)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) string<delimiter(')delimiter(')>operator(;)
+ reserved(for) ident(i) operator(:=) integer(1) reserved(to) ident(Length)operator(()ident(S)operator(\)) reserved(do)
+ reserved(if) ident(S)operator([)ident(i)operator(]) operator(<>) ident(C) reserved(then)
+ ident(Result) operator(:=) ident(Result) operator(+) ident(S)operator([)ident(i)operator(];)
+reserved(end)operator(;)
+
+reserved(function) ident(DeleteChars)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(C)operator(:) ident(TCharSet)operator(\):) reserved(string)operator(;)
+reserved(var)
+ ident(i)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) string<delimiter(')delimiter(')>operator(;)
+ reserved(for) ident(i) operator(:=) integer(1) reserved(to) ident(Length)operator(()ident(S)operator(\)) reserved(do)
+ reserved(if) reserved(not) operator(()ident(S)operator([)ident(i)operator(]) reserved(in) ident(C)operator(\)) reserved(then)
+ ident(Result) operator(:=) ident(Result) operator(+) ident(S)operator([)ident(i)operator(];)
+reserved(end)operator(;)
+
+reserved(function) ident(ExtractChars)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(C)operator(:) ident(TCharSet)operator(\):) reserved(string)operator(;)
+reserved(var)
+ ident(i)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) string<delimiter(')delimiter(')>operator(;)
+ reserved(for) ident(i) operator(:=) integer(1) reserved(to) ident(Length)operator(()ident(S)operator(\)) reserved(do)
+ reserved(if) ident(S)operator([)ident(i)operator(]) reserved(in) ident(C) reserved(then)
+ ident(Result) operator(:=) ident(Result) operator(+) ident(S)operator([)ident(i)operator(];)
+reserved(end)operator(;)
+
+reserved(function) ident(CharCount)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(C)operator(:) ident(Char)operator(\):) ident(Integer)operator(;)
+reserved(var)
+ ident(i)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) integer(0)operator(;)
+ reserved(for) ident(i) operator(:=) integer(1) reserved(to) ident(Length)operator(()ident(S)operator(\)) reserved(do)
+ reserved(if) ident(S)operator([)ident(i)operator(]) operator(=) ident(C) reserved(then)
+ ident(Inc)operator(()ident(Result)operator(\);)
+reserved(end)operator(;)
+
+reserved(function) ident(StrAtPos)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(Pos)operator(:) ident(Integer)operator(;) reserved(const) ident(Str)operator(:) reserved(string)operator(\):) ident(Boolean)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) operator(()ident(Str) operator(<>) string<delimiter(')delimiter(')>operator(\)) reserved(and) operator(()ident(Str) operator(=) ident(Copy)operator(()ident(S)operator(,) ident(Pos)operator(,) ident(Length)operator(()ident(Str)operator(\)\)\);)
+reserved(end)operator(;)
+
+reserved(function) ident(TextAtPos)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(Pos)operator(:) ident(Integer)operator(;) reserved(const) ident(Text)operator(:) reserved(string)operator(\):) ident(Boolean)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) operator(()ident(Text) operator(<>) string<delimiter(')delimiter(')>operator(\)) reserved(and) ident(SameText)operator(()ident(Text)operator(,) ident(Copy)operator(()ident(S)operator(,) ident(Pos)operator(,) ident(Length)operator(()ident(Text)operator(\)\)\);)
+reserved(end)operator(;)
+
+reserved(function) ident(StrAtBegin)operator(()reserved(const) ident(S)operator(,) ident(Str)operator(:) reserved(string)operator(\):) ident(Boolean)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) ident(StrAtPos)operator(()ident(S)operator(,) integer(1)operator(,) ident(Str)operator(\);)
+reserved(end)operator(;)
+
+reserved(function) ident(TextAtBegin)operator(()reserved(const) ident(S)operator(,) ident(Text)operator(:) reserved(string)operator(\):) ident(Boolean)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) ident(TextAtPos)operator(()ident(S)operator(,) integer(1)operator(,) ident(Text)operator(\);)
+reserved(end)operator(;)
+
+reserved(function) ident(CharIn)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(C)operator(:) ident(Char)operator(\):) ident(Boolean)operator(;)
+reserved(var)
+ ident(i)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) ident(True)operator(;)
+ reserved(for) ident(i) operator(:=) integer(1) reserved(to) ident(Length)operator(()ident(S)operator(\)) reserved(do)
+ reserved(if) ident(S)operator([)ident(i)operator(]) operator(=) ident(C) reserved(then) ident(Exit)operator(;)
+ ident(Result) operator(:=) ident(False)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(CharIn)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(C)operator(:) ident(TCharSet)operator(\):) ident(Boolean)operator(;)
+reserved(var)
+ ident(i)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) ident(False)operator(;)
+ reserved(for) ident(i) operator(:=) integer(1) reserved(to) ident(Length)operator(()ident(S)operator(\)) reserved(do) reserved(begin)
+ ident(Result) operator(:=) ident(S)operator([)ident(i)operator(]) reserved(in) ident(C)operator(;)
+ reserved(if) ident(Result) reserved(then)
+ ident(Exit)operator(;)
+ reserved(end)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(StrIn)operator(()reserved(const) ident(S)operator(,) ident(SubStr)operator(:) reserved(string)operator(\):) ident(Boolean)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) ident(PosEx)operator(()ident(SubStr)operator(,) ident(S)operator(\)) operator(>) integer(0)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(StrIn)operator(()ident(SL)operator(:) ident(TStrings)operator(;) reserved(const) ident(S)operator(:) reserved(string)operator(\):) ident(Boolean)operator(;)
+reserved(var)
+ ident(i)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) ident(False)operator(;)
+ reserved(for) ident(i) operator(:=) integer(0) reserved(to) ident(SL)operator(.)ident(Count)operator(-)integer(1) reserved(do) reserved(begin)
+ ident(Result) operator(:=) operator(()ident(S) operator(=) ident(SL)operator([)ident(i)operator(]\);)
+ reserved(if) ident(Result) reserved(then)
+ ident(Exit)operator(;)
+ reserved(end)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(StrIn)operator(()ident(A)operator(:) ident(TStrA)operator(;) reserved(const) ident(S)operator(:) reserved(string)operator(\):) ident(Boolean)operator(;)
+reserved(var)
+ ident(i)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) ident(False)operator(;)
+ reserved(for) ident(i) operator(:=) ident(Low)operator(()ident(A)operator(\)) reserved(to) ident(High)operator(()ident(A)operator(\)) reserved(do) reserved(begin)
+ ident(Result) operator(:=) operator(()ident(S) operator(=) ident(A)operator([)ident(i)operator(]\);)
+ reserved(if) ident(Result) reserved(then)
+ ident(Exit)operator(;)
+ reserved(end)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(TextIn)operator(()reserved(const) ident(S)operator(,) ident(Text)operator(:) reserved(string)operator(\):) ident(Boolean)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) ident(PosExText)operator(()ident(Text)operator(,) ident(S)operator(\)) operator(>) integer(0)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(TextIn)operator(()ident(SL)operator(:) ident(TStrings)operator(;) reserved(const) ident(Text)operator(:) reserved(string)operator(\):) ident(Boolean)operator(;)
+reserved(var)
+ ident(i)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) ident(False)operator(;)
+ reserved(for) ident(i) operator(:=) integer(0) reserved(to) ident(SL)operator(.)ident(Count)operator(-)integer(1) reserved(do) reserved(begin)
+ ident(Result) operator(:=) ident(SameText)operator(()ident(Text)operator(,) ident(SL)operator([)ident(i)operator(]\);)
+ reserved(if) ident(Result) reserved(then)
+ ident(Exit)operator(;)
+ reserved(end)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(TextIn)operator(()ident(A)operator(:) ident(TStrA)operator(;) reserved(const) ident(Text)operator(:) reserved(string)operator(\):) ident(Boolean)operator(;)
+reserved(var)
+ ident(i)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) ident(False)operator(;)
+ reserved(for) ident(i) operator(:=) ident(Low)operator(()ident(A)operator(\)) reserved(to) ident(High)operator(()ident(A)operator(\)) reserved(do) reserved(begin)
+ ident(Result) operator(:=) ident(SameText)operator(()ident(Text)operator(,) ident(A)operator([)ident(i)operator(]\);)
+ reserved(if) ident(Result) reserved(then)
+ ident(Exit)operator(;)
+ reserved(end)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(StrIndex)operator(()ident(SL)operator(:) ident(TStrings)operator(;) reserved(const) ident(S)operator(:) reserved(string)operator(\):) ident(Integer)operator(;)
+reserved(begin)
+ reserved(for) ident(Result) operator(:=) integer(0) reserved(to) ident(SL)operator(.)ident(Count)operator(-)integer(1) reserved(do)
+ reserved(if) ident(S) operator(=) ident(SL)operator([)ident(Result)operator(]) reserved(then)
+ ident(Exit)operator(;)
+ ident(Result) operator(:=) operator(-)integer(1)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(StrIndex)operator(()ident(A)operator(:) ident(TStrA)operator(;) reserved(const) ident(S)operator(:) reserved(string)operator(\):) ident(Integer)operator(;)
+reserved(begin)
+ reserved(for) ident(Result) operator(:=) ident(Low)operator(()ident(A)operator(\)) reserved(to) ident(High)operator(()ident(A)operator(\)) reserved(do)
+ reserved(if) ident(S) operator(=) ident(A)operator([)ident(Result)operator(]) reserved(then)
+ ident(Exit)operator(;)
+ ident(Result) operator(:=) operator(-)integer(1)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(TextIndex)operator(()ident(SL)operator(:) ident(TStrings)operator(;) reserved(const) ident(Text)operator(:) reserved(string)operator(\):) ident(Integer)operator(;)
+reserved(begin)
+ reserved(for) ident(Result) operator(:=) integer(0) reserved(to) ident(SL)operator(.)ident(Count)operator(-)integer(1) reserved(do)
+ reserved(if) ident(SameText)operator(()ident(Text)operator(,) ident(SL)operator([)ident(Result)operator(]\)) reserved(then)
+ ident(Exit)operator(;)
+ ident(Result) operator(:=) operator(-)integer(1)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(TextIndex)operator(()ident(A)operator(:) ident(TStrA)operator(;) reserved(const) ident(Text)operator(:) reserved(string)operator(\):) ident(Integer)operator(;)
+reserved(begin)
+ reserved(for) ident(Result) operator(:=) ident(Low)operator(()ident(A)operator(\)) reserved(to) ident(High)operator(()ident(A)operator(\)) reserved(do)
+ reserved(if) ident(SameText)operator(()ident(Text)operator(,) ident(A)operator([)ident(Result)operator(]\)) reserved(then)
+ ident(Exit)operator(;)
+ ident(Result) operator(:=) operator(-)integer(1)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(ReplaceChars)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(Old)operator(,) ident(New)operator(:) ident(Char)operator(\):) reserved(string)operator(;)
+reserved(var)
+ ident(i)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) ident(S)operator(;)
+ reserved(for) ident(i) operator(:=) integer(1) reserved(to) ident(Length)operator(()ident(Result)operator(\)) reserved(do)
+ reserved(if) ident(Result)operator([)ident(i)operator(]) operator(=) ident(Old) reserved(then)
+ ident(Result)operator([)ident(i)operator(]) operator(:=) ident(New)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(ReplaceChars)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) ident(Old)operator(:) ident(TCharSet)operator(;) ident(New)operator(:) ident(Char)operator(\):) reserved(string)operator(;)
+reserved(var)
+ ident(i)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) ident(S)operator(;)
+ reserved(for) ident(i) operator(:=) integer(1) reserved(to) ident(Length)operator(()ident(Result)operator(\)) reserved(do)
+ reserved(if) ident(Result)operator([)ident(i)operator(]) reserved(in) ident(Old) reserved(then)
+ ident(Result)operator([)ident(i)operator(]) operator(:=) ident(New)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(Replace)operator(()reserved(const) ident(S)operator(,) ident(Old)operator(,) ident(New)operator(:) reserved(string)operator(\):) reserved(string)operator(;)
+reserved(var)
+ ident(oldp)operator(,) ident(ps)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ ident(ps) operator(:=) integer(1)operator(;)
+ ident(Result) operator(:=) string<delimiter(')delimiter(')>operator(;)
+ reserved(while) ident(True) reserved(do) reserved(begin)
+ ident(oldp) operator(:=) ident(ps)operator(;)
+ ident(ps) operator(:=) ident(PosEx)operator(()ident(Old)operator(,) ident(S)operator(,) ident(oldp)operator(\);)
+ reserved(if) ident(ps) operator(=) integer(0) reserved(then) reserved(begin)
+ ident(Result) operator(:=) ident(Result) operator(+) ident(Copy)operator(()ident(S)operator(,) ident(oldp)operator(,) ident(Length)operator(()ident(S)operator(\)) operator(-) ident(oldp) operator(+) integer(1)operator(\);)
+ ident(Exit)operator(;) reserved(end)operator(;)
+ ident(Result) operator(:=) ident(Result) operator(+) ident(Copy)operator(()ident(S)operator(,) ident(oldp)operator(,) ident(ps) operator(-) ident(oldp)operator(\)) operator(+) ident(New)operator(;)
+ ident(Inc)operator(()ident(ps)operator(,) ident(Length)operator(()ident(Old)operator(\)\);)
+ reserved(end)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(SLOfFile)operator(()reserved(const) ident(FileName)operator(:) reserved(string)operator(\):) ident(TStringList)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) ident(TStringList)operator(.)ident(Create)operator(;)
+ reserved(if) ident(FileExists)operator(()ident(FileName)operator(\)) reserved(then)
+ ident(Result)operator(.)ident(LoadFromFile)operator(()ident(FileName)operator(\);)
+reserved(end)operator(;)
+
+reserved(function) ident(ContainsEmptyLines)operator(()ident(SL)operator(:) ident(TStrings)operator(\):) ident(Boolean)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) ident(StrIn)operator(()ident(SL)operator(,) string<delimiter(')delimiter(')>operator(\);)
+reserved(end)operator(;)
+
+reserved(procedure) ident(DeleteEmptyLines)operator(()ident(SL)operator(:) ident(TStrings)operator(\);)
+reserved(var)
+ ident(i)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ ident(i) operator(:=) integer(0)operator(;)
+ reserved(while) ident(i) operator(<) ident(SL)operator(.)ident(Count) reserved(do) reserved(begin)
+ reserved(if) ident(SL)operator([)ident(i)operator(]) operator(=) string<delimiter(')delimiter(')> reserved(then)
+ ident(SL)operator(.)ident(Delete)operator(()ident(i)operator(\))
+ reserved(else)
+ ident(Inc)operator(()ident(i)operator(\);)
+ reserved(end)operator(;)
+reserved(end)operator(;)
+
+reserved(procedure) ident(DeleteCommentLines)operator(()ident(SL)operator(:) ident(TStrings)operator(;) reserved(const) ident(CommentSign)operator(:) reserved(string) operator(=) string<delimiter(')content(//)delimiter(')>operator(\);)
+reserved(var)
+ ident(i)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ ident(i) operator(:=) integer(0)operator(;)
+ reserved(while) ident(i) operator(<) ident(SL)operator(.)ident(Count) reserved(do) reserved(begin)
+ reserved(if) operator(()ident(SL)operator([)ident(i)operator(]) operator(=) string<delimiter(')delimiter(')>operator(\)) reserved(or) operator(()ident(StrAtBegin)operator(()ident(TrimLeft)operator(()ident(SL)operator([)ident(i)operator(]\),) ident(CommentSign)operator(\)\)) reserved(then)
+ ident(SL)operator(.)ident(Delete)operator(()ident(i)operator(\))
+ reserved(else)
+ ident(Inc)operator(()ident(i)operator(\);)
+ reserved(end)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(FindLine)operator(()ident(SL)operator(:) ident(TStrings)operator(;) reserved(const) ident(S)operator(:) reserved(string)operator(\):) ident(Integer)operator(;)
+reserved(begin)
+ reserved(for) ident(Result) operator(:=) integer(0) reserved(to) ident(SL)operator(.)ident(Count)operator(-)integer(1) reserved(do)
+ reserved(if) ident(TextAtBegin)operator(()ident(SL)operator([)ident(Result)operator(],) ident(S)operator(\)) reserved(then)
+ ident(Exit)operator(;)
+ ident(Result) operator(:=) operator(-)integer(1)operator(;)
+reserved(end)operator(;)
+
+reserved(procedure) ident(QuickSortSL)operator(()ident(SL)operator(:) ident(TStringList)operator(\);)
+
+ reserved(procedure) ident(Sort)operator(()ident(l)operator(,) ident(r)operator(:) ident(Integer)operator(\);)
+ reserved(var)
+ ident(i)operator(,)ident(j)operator(:) ident(Integer)operator(;)
+ ident(z)operator(,)ident(x)operator(:) reserved(string)operator(;)
+ reserved(begin)
+ ident(i) operator(:=) ident(l)operator(;)
+ ident(j) operator(:=) ident(r)operator(;)
+ ident(x) operator(:=) ident(SL)operator([()ident(j) operator(+) ident(i)operator(\)) reserved(div) integer(2)operator(];)
+ reserved(repeat)
+ reserved(while) ident(SL)operator([)ident(i)operator(]) operator(<) ident(x) reserved(do) ident(Inc)operator(()ident(i)operator(\);)
+ reserved(while) ident(SL)operator([)ident(j)operator(]) operator(>) ident(x) reserved(do) ident(Dec)operator(()ident(j)operator(\);)
+ reserved(if) ident(i) operator(<=) ident(j) reserved(then) reserved(begin)
+ ident(z) operator(:=) ident(SL)operator([)ident(i)operator(];)
+ ident(SL)operator([)ident(i)operator(]) operator(:=) ident(SL)operator([)ident(j)operator(];)
+ ident(SL)operator([)ident(j)operator(]) operator(:=) ident(z)operator(;)
+ ident(Inc)operator(()ident(i)operator(\);) ident(Dec)operator(()ident(j)operator(\);)
+ reserved(end)operator(;)
+ reserved(until) ident(i) operator(>) ident(j)operator(;)
+ reserved(if) ident(j) operator(>) ident(l) reserved(then) ident(Sort)operator(()ident(l)operator(,) ident(j)operator(\);)
+ reserved(if) ident(i) operator(<) ident(r) reserved(then) ident(Sort)operator(()ident(i)operator(,) ident(r)operator(\);)
+ reserved(end)operator(;)
+
+reserved(begin)
+ reserved(if) ident(SL)operator(.)ident(Count) operator(>) integer(0) reserved(then)
+ ident(Sort)operator(()integer(0)operator(,) ident(SL)operator(.)ident(Count)operator(-)integer(1)operator(\);)
+reserved(end)operator(;)
+
+reserved(function) ident(IncStrA)operator(()ident(StrA)operator(:) ident(TStrA)operator(\):) ident(Integer)operator(;)
+reserved(begin)
+ ident(SetLength)operator(()ident(StrA)operator(,) ident(Length)operator(()ident(StrA)operator(\)) operator(+) integer(1)operator(\);)
+ ident(Result) operator(:=) ident(High)operator(()ident(StrA)operator(\);)
+reserved(end)operator(;)
+
+reserved(function) ident(StrOfByteA)operator(()ident(a)operator(:) ident(TByteA)operator(\):) reserved(string)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) reserved(string)operator(()ident(Copy)operator(()ident(a)operator(,) integer(0)operator(,) ident(Length)operator(()ident(a)operator(\)\)\);)
+reserved(end)operator(;)
+
+reserved(function) ident(ByteAOfStr)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(\):) ident(TByteA)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) ident(TByteA)operator(()ident(Copy)operator(()ident(S)operator(,) integer(1)operator(,) ident(Length)operator(()ident(s)operator(\)\)\);)
+reserved(end)operator(;)
+
+reserved(function) ident(ByteAOfInt)operator(()ident(i)operator(:) ident(Integer)operator(\):) ident(TByteA)operator(;)
+reserved(begin)
+ ident(SetLength)operator(()ident(Result)operator(,) ident(SizeOf)operator(()ident(Integer)operator(\)\);)
+ ident(Move)operator(()ident(i)operator(,) ident(Pointer)operator(()ident(Result)operator(\)^,) ident(SizeOf)operator(()ident(Integer)operator(\)\);)
+reserved(end)operator(;)
+
+reserved(function) ident(IntOfByteA)operator(()ident(A)operator(:) ident(TByteA)operator(\):) ident(Integer)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) integer(0)operator(;)
+ ident(Move)operator(()ident(Pointer)operator(()ident(A)operator(\)^,) ident(Result)operator(,) ident(Min)operator(()ident(Length)operator(()ident(A)operator(\),) ident(SizeOf)operator(()ident(Integer)operator(\)\)\);)
+reserved(end)operator(;)
+
+reserved(function) ident(ByteAOfHex)operator(()reserved(const) ident(Hex)operator(:) reserved(string)operator(\):) ident(TByteA)operator(;)
+reserved(var)
+ ident(i)operator(:) ident(Integer)operator(;)
+ ident(h)operator(:) reserved(string)operator(;)
+reserved(begin)
+ ident(h) operator(:=) ident(ExtractChars)operator(()ident(Hex)operator(,) ident(HexadecimalChars)operator(\);)
+ ident(SetLength)operator(()ident(Result)operator(,) ident(Length)operator(()ident(h)operator(\)) reserved(div) integer(2)operator(\);)
+ reserved(for) ident(i) operator(:=) integer(0) reserved(to) ident(High)operator(()ident(Result)operator(\)) reserved(do)
+ ident(Result)operator([)ident(i)operator(]) operator(:=) ident(ByteOfHex)operator(()ident(Copy)operator(()ident(h)operator(,) operator(()ident(i) reserved(shl) integer(1)operator(\)) operator(+) integer(1)operator(,) integer(2)operator(\)\);)
+reserved(end)operator(;)
+
+reserved(function) ident(SizeOfFile)operator(()reserved(const) ident(FileName)operator(:) reserved(string)operator(\):) ident(Integer)operator(;)
+reserved(var)
+ ident(F)operator(:) reserved(file)operator(;)
+reserved(begin)
+ ident(AssignFile)operator(()ident(F)operator(,) ident(FileName)operator(\);)
+ preprocessor({$I-})ident(Reset)operator(()ident(F)operator(,) integer(1)operator(\);)preprocessor({$I+})
+ reserved(if) ident(IOResult) operator(=) integer(0) reserved(then) reserved(begin)
+ ident(Result) operator(:=) ident(FileSize)operator(()ident(F)operator(\);)
+ ident(CloseFile)operator(()ident(F)operator(\);)
+ reserved(end) reserved(else)
+ ident(Result) operator(:=) integer(0)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(FileEx)operator(()reserved(const) ident(FileName)operator(:) reserved(string)operator(;) ident(AllowFolders)operator(:) ident(Boolean) operator(=) ident(False)operator(\):) ident(Boolean)operator(;)
+reserved(var)
+ ident(FindData)operator(:) ident(TWin32FindData)operator(;)
+reserved(begin)
+ reserved(if) ident(FileName) operator(=) string<delimiter(')delimiter(')> reserved(then) reserved(begin)
+ ident(Result) operator(:=) ident(False)operator(;)
+ ident(Exit)operator(;) reserved(end)operator(;)
+
+ ident(Result) operator(:=) operator(()ident(AllowFolders) reserved(and) ident(DirectoryExists)operator(()ident(FileName)operator(\)\)) reserved(or)
+ operator(()ident(FindFirstFile)operator(()ident(PChar)operator(()ident(FileName)operator(\),) ident(FindData)operator(\)) operator(<>) ident(INVALID_HANDLE_VALUE)operator(\);)
+ ident(Result) operator(:=) ident(Result) reserved(and) reserved(not) ident(CharIn)operator(()ident(FileName)operator(,) ident(WildCards)operator(\);)
+ ident(Result) operator(:=) ident(Result) reserved(and) operator(()ident(AllowFolders)
+ reserved(or) operator((()ident(FindData)operator(.)ident(dwFileAttributes) reserved(and) ident(FILE_ATTRIBUTE_DIRECTORY)operator(\)) operator(=) integer(0)operator(\)\);)
+reserved(end)operator(;)
+
+reserved(function) ident(LWPSolve)operator(()reserved(const) ident(Dir)operator(:) reserved(string)operator(\):) reserved(string)operator(;)
+reserved(begin)
+ reserved(if) operator(()ident(Dir) operator(<>) string<delimiter(')delimiter(')>operator(\)) reserved(and) operator(()ident(Dir)operator([)ident(Length)operator(()ident(Dir)operator(\)]) operator(=) char<delimiter(')content(\\)delimiter(')>operator(\)) reserved(then) reserved(begin)
+ ident(Result) operator(:=) ident(Copy)operator(()ident(Dir)operator(,) integer(1)operator(,) ident(Length)operator(()ident(Dir)operator(\)) operator(-) integer(1)operator(\);)
+ reserved(end) reserved(else)
+ ident(Result) operator(:=) ident(Dir)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(LWPSlash)operator(()reserved(const) ident(Dir)operator(:) reserved(string)operator(\):) reserved(string)operator(;)
+reserved(begin)
+ reserved(if) operator(()ident(Dir) operator(<>) string<delimiter(')delimiter(')>operator(\)) reserved(and) operator(()ident(Dir)operator([)ident(Length)operator(()ident(Dir)operator(\)]) operator(=) char<delimiter(')content(\\)delimiter(')>operator(\)) reserved(then) reserved(begin)
+ ident(Result) operator(:=) ident(Copy)operator(()ident(Dir)operator(,) integer(1)operator(,) ident(Length)operator(()ident(Dir)operator(\)\);)
+ reserved(end) reserved(else)
+ ident(Result) operator(:=) ident(Dir) operator(+) char<delimiter(')content(\\)delimiter(')>operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(ExtractDrive)operator(()reserved(const) ident(FileName)operator(:) reserved(string)operator(\):) reserved(string)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) string<delimiter(')delimiter(')>operator(;)
+ reserved(if) operator(()ident(Length)operator(()ident(FileName)operator(\)) operator(>=) integer(2)operator(\)) reserved(and) operator(()ident(FileName)operator([)integer(2)operator(]) operator(=) char<delimiter(')content(:)delimiter(')>operator(\)) reserved(then)
+ ident(Result) operator(:=) ident(UpperCase)operator(()ident(FileName)operator([)integer(1)operator(]) operator(+) string<delimiter(')content(:\\)delimiter(')>operator(\);)
+reserved(end)operator(;)
+
+reserved(function) ident(ExtractPath)operator(()reserved(const) ident(FileName)operator(:) reserved(string)operator(\):) reserved(string)operator(;)
+reserved(var)
+ ident(p)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ ident(p) operator(:=) ident(CharPosR)operator(()char<delimiter(')content(\\)delimiter(')>operator(,) ident(FileName)operator(\);)
+ reserved(if) ident(P) operator(>) integer(0) reserved(then)
+ ident(Result) operator(:=) ident(Copy)operator(()ident(FileName)operator(,) integer(1)operator(,) ident(p)operator(\))
+ reserved(else)
+ ident(Result) operator(:=) ident(FileName)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(ExtractPrefix)operator(()reserved(const) ident(FileName)operator(:) reserved(string)operator(\):) reserved(string)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) ident(UntilLastChar)operator(()ident(ExtractFileName)operator(()ident(FileName)operator(\),) char<delimiter(')content(.)delimiter(')>operator(\);)
+reserved(end)operator(;)
+
+reserved(function) ident(ExtractSuffix)operator(()reserved(const) ident(FileName)operator(:) reserved(string)operator(\):) reserved(string)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) ident(FromLastChar)operator(()ident(ExtractFileName)operator(()ident(FileName)operator(\),) char<delimiter(')content(.)delimiter(')>operator(\);)
+reserved(end)operator(;)
+
+reserved(function) ident(SameByteA)operator(()reserved(const) ident(A)operator(,) ident(B)operator(:) ident(TByteA)operator(\):) ident(Boolean)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) operator(()ident(A) operator(=) ident(B)operator(\)) reserved(or) operator((()ident(Length)operator(()ident(A)operator(\)) operator(=) ident(Length)operator(()ident(B)operator(\)\)) reserved(and) ident(CompareMem)operator(()ident(A)operator(,) ident(B)operator(,) ident(Length)operator(()ident(A)operator(\)\)\);)
+reserved(end)operator(;)
+
+reserved(function) ident(Reverse)operator(()ident(A)operator(:) ident(TByteA)operator(\):) ident(TByteA)operator(;)
+reserved(var)
+ ident(i)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ ident(SetLength)operator(()ident(Result)operator(,) ident(Length)operator(()ident(A)operator(\)\);)
+
+ reserved(for) ident(i) operator(:=) integer(0) reserved(to) ident(High)operator(()ident(A)operator(\)) reserved(do)
+ ident(Result)operator([)ident(High)operator(()ident(Result)operator(\)) operator(-) ident(i)operator(]) operator(:=) ident(A)operator([)ident(i)operator(];)
+reserved(end)operator(;)
+
+reserved(function) ident(Endian)operator(()ident(i)operator(:) ident(Integer)operator(\):) ident(Integer)operator(;)
+reserved(type)
+ ident(EndianArray) operator(=) reserved(packed) reserved(array)operator([)integer(0)operator(..)integer(3)operator(]) reserved(of) ident(Byte)operator(;)
+reserved(var)
+ ident(a)operator(,) ident(b)operator(:) ident(EndianArray)operator(;)
+reserved(begin)
+ ident(a) operator(:=) ident(EndianArray)operator(()ident(i)operator(\);)
+ ident(b)operator([)integer(0)operator(]) operator(:=) ident(a)operator([)integer(3)operator(];)
+ ident(b)operator([)integer(1)operator(]) operator(:=) ident(a)operator([)integer(2)operator(];)
+ ident(b)operator([)integer(2)operator(]) operator(:=) ident(a)operator([)integer(1)operator(];)
+ ident(b)operator([)integer(3)operator(]) operator(:=) ident(a)operator([)integer(0)operator(];)
+ ident(Result) operator(:=) ident(Integer)operator(()ident(b)operator(\);)
+reserved(end)operator(;)
+
+reserved(function) ident(SaveByteA)operator(()ident(Data)operator(:) ident(TByteA)operator(;) reserved(const) ident(FileName)operator(:) reserved(string)operator(;)
+ ident(Overwrite)operator(:) ident(Boolean) operator(=) ident(True)operator(\):) ident(Boolean)operator(;)
+reserved(var)
+ ident(F)operator(:) reserved(file)operator(;)
+reserved(begin)
+ reserved(if) ident(FileExists)operator(()ident(FileName)operator(\)) reserved(and) reserved(not) ident(Overwrite) reserved(then) reserved(begin)
+ ident(Result) operator(:=) ident(False)operator(;)
+ ident(Exit) reserved(end)operator(;)
+
+ ident(AssignFile)operator(()ident(F)operator(,) ident(FileName)operator(\);)
+ preprocessor({$I-})ident(Rewrite)operator(()ident(F)operator(,) integer(1)operator(\);)preprocessor({$I+})
+ reserved(if) ident(IOResult) operator(=) integer(0) reserved(then) reserved(begin)
+ reserved(if) ident(Length)operator(()ident(Data)operator(\)) operator(>) integer(0) reserved(then)
+ ident(BlockWrite)operator(()ident(F)operator(,) ident(Data)operator([)integer(0)operator(],) ident(Length)operator(()ident(Data)operator(\)\);)
+ ident(CloseFile)operator(()ident(F)operator(\);)
+ ident(Result) operator(:=) ident(True)operator(;)
+ reserved(end) reserved(else)
+ ident(Result) operator(:=) ident(False)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(LoadByteA)operator(()reserved(const) ident(FileName)operator(:) reserved(string)operator(\):) ident(TByteA)operator(;)
+reserved(var)
+ ident(F)operator(:) reserved(file)operator(;)
+reserved(begin)
+ ident(AssignFile)operator(()ident(F)operator(,) ident(FileName)operator(\);)
+ preprocessor({$I-})ident(Reset)operator(()ident(F)operator(,) integer(1)operator(\);)preprocessor({$I+})
+ reserved(if) ident(IOResult) operator(=) integer(0) reserved(then) reserved(begin)
+ ident(SetLength)operator(()ident(Result)operator(,) ident(FileSize)operator(()ident(F)operator(\)\);)
+ reserved(if) ident(Length)operator(()ident(Result)operator(\)) operator(>) integer(0) reserved(then)
+ ident(BlockRead)operator(()ident(F)operator(,) ident(Result)operator([)integer(0)operator(],) ident(FileSize)operator(()ident(F)operator(\)\);)
+ ident(CloseFile)operator(()ident(F)operator(\);)
+ reserved(end) reserved(else)
+ ident(SetLength)operator(()ident(Result)operator(,) integer(0)operator(\);)
+reserved(end)operator(;)
+
+reserved(function) ident(IsValidFileName)operator(()reserved(const) ident(FileName)operator(:) reserved(string)operator(\):) ident(Boolean)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) operator(()ident(FileName) operator(<>) string<delimiter(')delimiter(')>operator(\)) reserved(and) reserved(not) ident(CharIn)operator(()ident(FileName)operator(,) ident(FileNameEnemies)operator(\))
+ reserved(and) ident(CharIn)operator(()ident(Trim)operator(()ident(FileName)operator(\),) ident(AllChars) operator(-) operator([)char<delimiter(')content(.)delimiter(')>operator(]\);)
+reserved(end)operator(;)
+
+reserved(function) ident(MakeValidFileName)operator(()ident(FileName)operator(:) reserved(string)operator(;) reserved(const) ident(Default)operator(:) reserved(string) operator(=) string<delimiter(')content(File)delimiter(')>operator(\):) reserved(string)operator(;)
+reserved(begin)
+ reserved(if) ident(FileName) operator(=) string<delimiter(')delimiter(')> reserved(then)
+ ident(FileName) operator(:=) ident(Default)operator(;)
+
+ reserved(if) ident(CharIn)operator(()ident(FileName)operator(,) ident(FileNameEnemies)operator(\)) reserved(then)
+ ident(Result) operator(:=) ident(ReplaceChars)operator(()ident(FileName)operator(,) ident(FileNameEnemies)operator(,) char<delimiter(')content(_)delimiter(')>operator(\))
+ reserved(else) reserved(if) reserved(not) ident(CharIn)operator(()ident(Trim)operator(()ident(FileName)operator(\),) ident(AllChars) operator(-) operator([)char<delimiter(')content(.)delimiter(')>operator(]\)) reserved(then)
+ ident(Result) operator(:=) ident(Default)
+ reserved(else)
+ ident(Result) operator(:=) ident(FileName)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(IsValidInteger)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(\):) ident(Boolean)operator(;)
+comment({const
+ LowInt = '2147483648';
+ HighInt = '2147483647';
+var
+ len, RealLen, i, o: Integer;
+ c: Char;
+begin
+ Result := False;
+ if S = '' then
+ Exit;
+
+ len := Length(S\);
+ o := 1;
+
+ if S[1] = '-' then begin
+ if len = 1 then
+ Exit;
+ Inc(o\);
+ while (o <= len\) and (S[o] = '0'\) do
+ Inc(o\);
+ if o > len then
+ Exit;
+ if o < len then begin
+ RealLen := len - o + 1;
+ if RealLen > Length(LowInt\) then
+ Exit
+ else if RealLen = Length(LowInt\) then begin
+ for i := 1 to Length(LowInt\) do begin
+ c := S[i + o - 1];
+ if (c < '0'\) or (c > LowInt[i]\) then
+ Exit;
+ if c in ['0'..Char((Byte(LowInt[i]\)-1\)\)] then
+ Break;
+ end;
+ Inc(o, i\);
+ end;
+ end;
+ end else begin
+ while (o <= len\) and (S[o] = '0'\) do
+ Inc(o\);
+ if o <= len then begin
+ RealLen := len - o + 1;
+ if RealLen > Length(HighInt\) then
+ Exit
+ else if RealLen = Length(HighInt\) then begin
+ for i := 1 to Length(HighInt\) do begin
+ c := S[i + o - 1];
+ if (c < '0'\) or (c > HighInt[i]\) then
+ Exit;
+ if c in ['0'..Char((Byte(HighInt[i]\)-1\)\)] then
+ Break;
+ end;
+ Inc(o, i\);
+ end;
+ end;
+ end;
+
+ for i := o to len do
+ if not (S[i] in ['0'..'9']\) then
+ Exit;
+
+ Result := True; })
+reserved(var)
+ ident(i)operator(:) ident(Int64)operator(;)
+reserved(begin)
+ ident(i) operator(:=) ident(StrToInt64Def)operator(()ident(S)operator(,) ident(High)operator(()ident(Int64)operator(\)\);)
+ ident(Result) operator(:=) operator(()ident(i) operator(>=) ident(Low)operator(()ident(Integer)operator(\)\)) reserved(and) operator(()ident(i) operator(<=) ident(High)operator(()ident(Integer)operator(\)\);)
+reserved(end)operator(;)
+
+reserved(function) ident(IsValidCardinal)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(\):) ident(Boolean)operator(;)
+comment({const
+ HighCard = '4294967295';
+var
+ len, RealLen, i, o: Integer;
+begin
+ Result := False;
+ if S = '' then
+ Exit;
+
+ len := Length(S\);
+ o := 1;
+
+ while (o <= len\) and (S[o] = '0'\) do
+ Inc(o\);
+ if o <= len then begin
+ RealLen := len - o + 1;
+ if RealLen > Length(HighCard\) then
+ Exit
+ else if RealLen = Length(HighCard\) then begin
+ for i := 1 to Length(HighCard\) do begin
+ if S[i + o - 1] > HighCard[i] then
+ Exit;
+ if S[i + o - 1] in ['0'..Char((Byte(HighCard[i]\)-1\)\)] then
+ Break;
+ end;
+ Inc(o, i\);
+ end;
+ end;
+
+ for i := o to len do
+ if not (S[i] in ['0'..'9']\) then
+ Exit;
+
+ Result := True; })
+reserved(var)
+ ident(i)operator(:) ident(Int64)operator(;)
+reserved(begin)
+ ident(i) operator(:=) ident(StrToInt64Def)operator(()ident(S)operator(,) operator(-)integer(1)operator(\);)
+ ident(Result) operator(:=) operator(()ident(i) operator(>=) integer(0)operator(\)) reserved(and) operator(()ident(i) operator(<=) ident(High)operator(()ident(Cardinal)operator(\)\);)
+reserved(end)operator(;)
+
+reserved(function) ident(StrOfBool)operator(()ident(flag)operator(:) ident(Boolean)operator(;) reserved(const) ident(TrueStr)operator(:) reserved(string) operator(=) string<delimiter(')content(True)delimiter(')>operator(;)
+ reserved(const) ident(FalseStr)operator(:) reserved(string) operator(=) string<delimiter(')content(False)delimiter(')>operator(\):) reserved(string)operator(;)
+reserved(begin)
+ reserved(if) ident(Flag) reserved(then)
+ ident(Result) operator(:=) ident(TrueStr)
+ reserved(else)
+ ident(Result) operator(:=) ident(FalseStr)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(StrOfInt)operator(()ident(i)operator(:) ident(Integer)operator(\):) reserved(string)operator(;)
+reserved(begin)
+comment({ if i = 0 then begin
+ Result := '0';
+ Exit end;
+
+ while i > 0 do begin
+ Result := Char(Byte('0'\) + (i mod 10\)\) + Result;
+ i := i div 10;
+ end;})
+ ident(Result) operator(:=) ident(IntToStr)operator(()ident(i)operator(\);)
+reserved(end)operator(;)
+
+reserved(function) ident(CardOfStr)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(\):) ident(Cardinal)operator(;)
+reserved(var)
+ ident(Res)operator(:) ident(Int64)operator(;)
+reserved(begin)
+ ident(Res) operator(:=) ident(StrToInt64Def)operator(()ident(S)operator(,) operator(-)integer(1)operator(\);)
+ reserved(if) ident(Res) operator(>) ident(High)operator(()ident(Cardinal)operator(\)) reserved(then)
+ ident(Res) operator(:=) ident(High)operator(()ident(Cardinal)operator(\))
+ reserved(else) reserved(if) ident(Res) operator(<) integer(0) reserved(then)
+ ident(Res) operator(:=) integer(0)operator(;)
+ ident(Result) operator(:=) ident(Cardinal)operator(()ident(Res)operator(\);)
+reserved(end)operator(;)
+
+reserved(function) ident(HexOrd)operator(()ident(Hex)operator(:) ident(Char)operator(\):) ident(THex)operator(;)
+reserved(begin)
+ reserved(case) ident(Hex) reserved(of)
+ char<delimiter(')content(0)delimiter(')>operator(..)char<delimiter(')content(9)delimiter(')>operator(:)
+ ident(Result) operator(:=) ident(Byte)operator(()ident(Hex)operator(\)) operator(-) integer(48)operator(;)
+ char<delimiter(')content(A)delimiter(')>operator(..)char<delimiter(')content(F)delimiter(')>operator(:)
+ ident(Result) operator(:=) ident(Byte)operator(()ident(Hex)operator(\)) operator(-) integer(55)operator(;)
+ char<delimiter(')content(a)delimiter(')>operator(..)char<delimiter(')content(f)delimiter(')>operator(:)
+ ident(Result) operator(:=) ident(Byte)operator(()ident(Hex)operator(\)) operator(-) integer(87)operator(;)
+ reserved(else)
+ ident(Result) operator(:=) integer(0)operator(;)
+ reserved(end)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(ByteOfHex)operator(()ident(Hex)operator(:) ident(THexByteStr)operator(\):) ident(Byte)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) operator(()ident(HexOrd)operator(()ident(Hex)operator([)integer(1)operator(]\)) reserved(shl) integer(4)operator(\)) operator(+) ident(HexOrd)operator(()ident(Hex)operator([)integer(2)operator(]\);)
+reserved(end)operator(;)
+
+reserved(function) ident(DecOfHex)operator(()reserved(const) ident(Hex)operator(:) reserved(string)operator(\):) reserved(string)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) ident(IntToStr)operator(()ident(CardOfHex)operator(()ident(Hex)operator(\)\);)
+reserved(end)operator(;)
+
+reserved(function) ident(HexOfByte)operator(()ident(b)operator(:) ident(Byte)operator(\):) ident(THexByteStr)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) ident(HexChar)operator([()ident(b) reserved(and) hex($F0)operator(\)) reserved(shr) integer(4)operator(])
+ operator(+) ident(HexChar)operator([) ident(b) reserved(and) hex($0F) operator(];)
+reserved(end)operator(;)
+
+comment({function HexOfCard2(c: Cardinal\): string;
+var
+ Data: array[0..(1 shl 4\) - 1] of Char;
+ i: Integer;
+begin
+ for i := 0 to (1 shl 4\) - 1 do
+ if i < 10 then
+ Data[i] := Char(Ord('0'\) + i\)
+ else
+ Data[i] := Char(Ord('A'\) + i - 10\);
+
+ Result := Data[(c and (((1 shl (1 shl 2\)\) - 1\) shl (7 shl 2\)\)\) shr (7 shl 2\)]
+ + Data[(c and (((1 shl (1 shl 2\)\) - 1\) shl (6 shl 2\)\)\) shr (6 shl 2\)]
+ + Data[(c and (((1 shl (1 shl 2\)\) - 1\) shl (5 shl 2\)\)\) shr (5 shl 2\)]
+ + Data[(c and (((1 shl (1 shl 2\)\) - 1\) shl (4 shl 2\)\)\) shr (4 shl 2\)]
+ + Data[(c and (((1 shl (1 shl 2\)\) - 1\) shl (3 shl 2\)\)\) shr (3 shl 2\)]
+ + Data[(c and (((1 shl (1 shl 2\)\) - 1\) shl (2 shl 2\)\)\) shr (2 shl 2\)]
+ + Data[(c and (((1 shl (1 shl 2\)\) - 1\) shl (1 shl 2\)\)\) shr (1 shl 2\)]
+ + Data[(c and (((1 shl (1 shl 2\)\) - 1\) shl (0 shl 2\)\)\) shr (0 shl 2\)];
+end; })
+
+reserved(function) ident(HexOfCard)operator(()ident(i)operator(:) ident(Cardinal)operator(\):) reserved(string)operator(;)
+reserved(var)
+ ident(a)operator(:) ident(Cardinal)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) string<delimiter(')delimiter(')>operator(;)
+ reserved(while) ident(i) operator(>) integer(0) reserved(do) reserved(begin)
+ ident(a) operator(:=) ident(i) reserved(and) hex($F)operator(;)
+ ident(Result) operator(:=) ident(HexChar)operator([)ident(a)operator(]) operator(+) ident(Result)operator(;)
+ ident(i) operator(:=) ident(i) reserved(shr) integer(4)operator(;)
+ reserved(end)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(HexOfCard)operator(()ident(i)operator(:) ident(Cardinal)operator(;) ident(Digits)operator(:) ident(Integer)operator(\):) reserved(string)operator(;)
+reserved(var)
+ ident(a)operator(:) ident(Cardinal)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) string<delimiter(')delimiter(')>operator(;)
+ reserved(while) ident(i) operator(>) integer(0) reserved(do) reserved(begin)
+ ident(a) operator(:=) ident(i) reserved(and) hex($F)operator(;)
+ ident(Result) operator(:=) ident(HexChar)operator([)ident(a)operator(]) operator(+) ident(Result)operator(;)
+ ident(i) operator(:=) ident(i) reserved(shr) integer(4)operator(;)
+ reserved(end)operator(;)
+ ident(Result) operator(:=) ident(MulStr)operator(()char<delimiter(')content(0)delimiter(')>operator(,) ident(Digits) operator(-) ident(Length)operator(()ident(Result)operator(\)\)) operator(+) ident(Result)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(PascalHexArray)operator(()ident(a)operator(:) ident(TByteA)operator(;) ident(Name)operator(:) reserved(string)operator(\):) reserved(string)operator(;)
+reserved(var)
+ ident(i)operator(,) ident(len)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) string<delimiter(')content(const)delimiter(')> operator(+) ident(EOL) operator(+)
+ string<delimiter(')content( )delimiter(')> operator(+) ident(Name) operator(+) string<delimiter(')content(: array[0..)delimiter(')> operator(+) ident(IntToStr)operator(()ident(High)operator(()ident(a)operator(\)\)) operator(+) string<delimiter(')content(] of Byte = ()delimiter(')>operator(;)
+
+ ident(len) operator(:=) ident(Length)operator(()ident(a)operator(\);)
+ reserved(for) ident(i) operator(:=) integer(0) reserved(to) ident(len)operator(-)integer(1) reserved(do) reserved(begin)
+ reserved(if) operator(()ident(i) reserved(mod) integer(19)operator(\)) operator(=) integer(0) reserved(then)
+ ident(Result) operator(:=) ident(Result) operator(+) ident(EOL) operator(+) string<delimiter(')content( )delimiter(')> operator(+) string<delimiter(')content( )delimiter(')>operator(;)
+ ident(Result) operator(:=) ident(Result) operator(+) char<delimiter(')content($)delimiter(')> operator(+) ident(HexOfByte)operator(()ident(a)operator([)ident(i)operator(]\);)
+ reserved(if) ident(i) operator(<) ident(len)operator(-)integer(1) reserved(then)
+ ident(Result) operator(:=) ident(Result) operator(+) char<delimiter(')content(,)delimiter(')>operator(;)
+ reserved(end)operator(;)
+ ident(Result) operator(:=) ident(Result) operator(+) ident(EOL) operator(+) string<delimiter(')content( \);)delimiter(')>operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(HexOfByteA)operator(()ident(a)operator(:) ident(TByteA)operator(;) ident(Blocks)operator(:) ident(Integer) operator(=) integer(1)operator(;)
+ reserved(const) ident(Splitter)operator(:) reserved(string) operator(=) char<delimiter(')content( )delimiter(')>operator(\):) reserved(string)operator(;)
+reserved(var)
+ ident(i)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) string<delimiter(')delimiter(')>operator(;)
+
+ reserved(if) ident(Blocks) operator(>) integer(0) reserved(then)
+ reserved(for) ident(i) operator(:=) integer(0) reserved(to) ident(High)operator(()ident(a)operator(\)) reserved(do) reserved(begin)
+ ident(Result) operator(:=) ident(Result) operator(+) ident(HexOfByte)operator(()ident(a)operator([)ident(i)operator(]\);)
+ reserved(if) ident(i) operator(<) ident(High)operator(()ident(a)operator(\)) reserved(then)
+ reserved(if) operator((()ident(i)operator(+)integer(1)operator(\)) reserved(mod) ident(Blocks)operator(\)) operator(=) integer(0) reserved(then)
+ ident(Result) operator(:=) ident(Result) operator(+) ident(Splitter)operator(;)
+ reserved(end)
+ reserved(else)
+ reserved(for) ident(i) operator(:=) integer(0) reserved(to) ident(High)operator(()ident(a)operator(\)) reserved(do)
+ ident(Result) operator(:=) ident(Result) operator(+) ident(HexOfByte)operator(()ident(a)operator([)ident(i)operator(]\);)
+reserved(end)operator(;)
+
+reserved(function) ident(BinOfByteA)operator(()ident(a)operator(:) ident(TByteA)operator(;) ident(Blocks)operator(:) ident(Integer) operator(=) integer(4)operator(;)
+ reserved(const) ident(Splitter)operator(:) reserved(string) operator(=) char<delimiter(')content( )delimiter(')>operator(\):) reserved(string)operator(;)
+reserved(var)
+ ident(i)operator(,) ident(max)operator(:) ident(Integer)operator(;)
+ ident(Bit)operator(:) ident(Boolean)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) string<delimiter(')delimiter(')>operator(;)
+
+ reserved(if) ident(Blocks) operator(>) integer(0) reserved(then) reserved(begin)
+ ident(max) operator(:=) integer(8) operator(*) operator(()ident(High)operator(()ident(a)operator(\)\)) operator(+) integer(7)operator(;)
+ reserved(for) ident(i) operator(:=) integer(0) reserved(to) ident(max) reserved(do) reserved(begin)
+ ident(Bit) operator(:=) integer(7)operator(-()ident(i) reserved(mod) integer(8)operator(\)) reserved(in) ident(TBitSet)operator(()ident(a)operator([)ident(i) reserved(div) integer(8)operator(]\);)
+ ident(Result) operator(:=) ident(Result) operator(+) ident(Char)operator(()ident(Byte)operator(()char<delimiter(')content(0)delimiter(')>operator(\)) operator(+) ident(Byte)operator(()ident(Bit)operator(\)\);)
+ reserved(if) ident(i) operator(<) ident(max) reserved(then)
+ reserved(if) operator((()ident(i)operator(+)integer(1)operator(\)) reserved(mod) ident(Blocks)operator(\)) operator(=) integer(0) reserved(then)
+ ident(Result) operator(:=) ident(Result) operator(+) ident(Splitter)operator(;)
+ reserved(end)operator(;)
+ reserved(end) reserved(else)
+ reserved(for) ident(i) operator(:=) integer(0) reserved(to) ident(High)operator(()ident(a)operator(\)) reserved(do)
+ ident(Result) operator(:=) ident(Result) operator(+) ident(Char)operator(()ident(Byte)operator(()char<delimiter(')content(0)delimiter(')>operator(\)) operator(+) ident(a)operator([)ident(i)operator(]) reserved(shr) operator(()ident(i) reserved(and) integer(8)operator(\)\);)
+reserved(end)operator(;)
+
+reserved(function) ident(CardOfHex)operator(()ident(Hex)operator(:) reserved(string)operator(\):) ident(Cardinal)operator(;)
+reserved(var)
+ ident(i)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) integer(0)operator(;)
+ ident(Hex) operator(:=) ident(Copy)operator(()ident(ExtractChars)operator(()ident(Hex)operator(,) ident(HexadecimalChars)operator(\),) integer(1)operator(,) integer(8)operator(\);)
+
+ reserved(for) ident(i) operator(:=) integer(1) reserved(to) ident(Length)operator(()ident(Hex)operator(\)) reserved(do)
+ reserved(if) ident(Hex)operator([)ident(i)operator(]) operator(<>) char<delimiter(')content(0)delimiter(')> reserved(then)
+ ident(Inc)operator(()ident(Result)operator(,) ident(HexOrd)operator(()ident(Hex)operator([)ident(i)operator(]\)) reserved(shl) operator((()ident(Length)operator(()ident(Hex)operator(\)) operator(-) ident(i)operator(\)) reserved(shl) integer(2)operator(\)\);)
+reserved(end)operator(;)
+
+reserved(function) ident(IntOfBin)operator(()ident(Bin)operator(:) reserved(string)operator(\):) ident(Cardinal)operator(;)
+reserved(var)
+ ident(i)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) integer(0)operator(;)
+ ident(Bin) operator(:=) ident(Copy)operator(()ident(ExtractChars)operator(()ident(Bin)operator(,) ident(BinaryChars)operator(\),) integer(1)operator(,) integer(32)operator(\);)
+
+ reserved(for) ident(i) operator(:=) ident(Length)operator(()ident(Bin)operator(\)) reserved(downto) integer(1) reserved(do)
+ reserved(if) ident(Bin)operator([)ident(i)operator(]) operator(=) char<delimiter(')content(1)delimiter(')> reserved(then)
+ ident(Inc)operator(()ident(Result)operator(,) integer(1) reserved(shl) operator(()ident(Length)operator(()ident(Bin)operator(\)) operator(-) ident(i)operator(\)\);)
+reserved(end)operator(;)
+
+reserved(function) ident(BinOfInt)operator(()ident(n)operator(:) ident(Cardinal)operator(\):) reserved(string)operator(;)
+reserved(var)
+ ident(a)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ reserved(if) ident(n) operator(=) integer(0) reserved(then) reserved(begin)
+ ident(Result) operator(:=) char<delimiter(')content(0)delimiter(')>operator(;)
+ ident(exit)operator(;) reserved(end)operator(;)
+
+ ident(Result) operator(:=) string<delimiter(')delimiter(')>operator(;)
+ reserved(while) ident(n) operator(>) integer(0) reserved(do) reserved(begin)
+ ident(a) operator(:=) ident(n) reserved(and) integer(1)operator(;)
+ ident(Result) operator(:=) ident(Char)operator(()ident(a) operator(+) ident(Byte)operator(()char<delimiter(')content(0)delimiter(')>operator(\)\)) operator(+) ident(Result)operator(;)
+ ident(n) operator(:=) ident(n) reserved(shr) integer(1)operator(;)
+ reserved(end)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(BinOfIntFill)operator(()ident(n)operator(:) ident(Cardinal)operator(;) ident(MinCount)operator(:) ident(Integer) operator(=) integer(8)operator(\):) reserved(string)operator(;)
+reserved(var)
+ ident(a)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ reserved(if) ident(n) operator(=) integer(0) reserved(then) reserved(begin)
+ ident(Result) operator(:=) ident(MulStr)operator(()char<delimiter(')content(0)delimiter(')>operator(,) ident(MinCount)operator(\);)
+ ident(Exit)operator(;) reserved(end)operator(;)
+
+ ident(Result) operator(:=) string<delimiter(')delimiter(')>operator(;)
+ reserved(while) ident(n) operator(>) integer(0) reserved(do) reserved(begin)
+ ident(a) operator(:=) ident(n) reserved(and) integer(1)operator(;)
+ ident(Result) operator(:=) ident(Char)operator(()ident(a) operator(+) ident(Byte)operator(()char<delimiter(')content(0)delimiter(')>operator(\)\)) operator(+) ident(Result)operator(;)
+ ident(n) operator(:=) ident(n) reserved(shr) integer(1)operator(;)
+ reserved(end)operator(;)
+ ident(Result) operator(:=) ident(MulStr)operator(()char<delimiter(')content(0)delimiter(')>operator(,) ident(MinCount) operator(-) ident(Length)operator(()ident(Result)operator(\)\)) operator(+) ident(Result)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(BaseNOfInt)operator(()ident(I)operator(:) ident(Cardinal)operator(;) ident(B)operator(:) ident(TBaseN)operator(\):) reserved(string)operator(;)
+reserved(var)
+ ident(a)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ reserved(if) operator(()ident(B) operator(<) integer(2)operator(\)) reserved(or) operator(()ident(i) operator(=) integer(0)operator(\)) reserved(then) reserved(begin)
+ ident(Result) operator(:=) char<delimiter(')content(0)delimiter(')>operator(;)
+ ident(Exit)operator(;) reserved(end)operator(;)
+
+ ident(Result) operator(:=) string<delimiter(')delimiter(')>operator(;)
+ reserved(while) ident(i) operator(>) integer(0) reserved(do) reserved(begin)
+ ident(a) operator(:=) ident(i) reserved(mod) ident(B)operator(;)
+ ident(Result) operator(:=) ident(BaseNChar)operator([)ident(a)operator(]) operator(+) ident(Result)operator(;)
+ ident(i) operator(:=) ident(i) reserved(div) ident(B)operator(;)
+ reserved(end)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(IntOfBaseN)operator(()ident(V)operator(:) reserved(string)operator(;) ident(B)operator(:) ident(TBaseN)operator(\):) ident(Cardinal)operator(;)
+reserved(var)
+ ident(i)operator(:) ident(Integer)operator(;)
+ ident(F)operator(:) ident(Cardinal)operator(;)
+ ident(c)operator(:) ident(Byte)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) integer(0)operator(;)
+ ident(V) operator(:=) ident(TrimAll)operator(()ident(V)operator(\);)
+ ident(F) operator(:=) integer(1)operator(;)
+ reserved(for) ident(i) operator(:=) ident(Length)operator(()ident(V)operator(\)) reserved(downto) integer(1) reserved(do) reserved(begin)
+ ident(c) operator(:=) ident(Byte)operator(()ident(UpCase)operator(()ident(V)operator([)ident(i)operator(]\)\);)
+ reserved(case) ident(Char)operator(()ident(c)operator(\)) reserved(of)
+ char<delimiter(')content(0)delimiter(')>operator(..)char<delimiter(')content(9)delimiter(')>operator(:) ident(c) operator(:=) ident(c) operator(-) integer(48)operator(;)
+ char<delimiter(')content(A)delimiter(')>operator(..)char<delimiter(')content(Z)delimiter(')>operator(:) ident(c) operator(:=) ident(c) operator(-) integer(55)operator(;)
+ reserved(end)operator(;)
+ reserved(if) ident(c) operator(<) ident(B) reserved(then)
+ ident(Result) operator(:=) ident(Result) operator(+) ident(Byte)operator(()ident(c)operator(\)) operator(*) ident(F)operator(;)
+ ident(F) operator(:=) ident(F) operator(*) ident(B)operator(;)
+ reserved(end)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(KeepIn)operator(()ident(i)operator(,) ident(Bottom)operator(,) ident(Top)operator(:) ident(Variant)operator(\):) ident(Variant)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) ident(i)operator(;)
+ reserved(if) ident(Result) operator(>) ident(Top) reserved(then)
+ ident(Result) operator(:=) ident(Top)
+ reserved(else) reserved(if) ident(Result) operator(<) ident(Bottom) reserved(then)
+ ident(Result) operator(:=) ident(Bottom)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(InRange)operator(()ident(Value)operator(,) ident(Bottom)operator(,) ident(Top)operator(:) ident(Variant)operator(\):) ident(Boolean)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) operator(()ident(Value) operator(>=) ident(Bottom)operator(\)) reserved(and) operator(()ident(Value) operator(<=) ident(Top)operator(\);)
+reserved(end)operator(;)
+
+reserved(function) ident(InStrictRange)operator(()ident(Value)operator(,) ident(Bottom)operator(,) ident(Top)operator(:) ident(Variant)operator(\):) ident(Boolean)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) operator(()ident(Value) operator(>) ident(Bottom)operator(\)) reserved(and) operator(()ident(Value) operator(<) ident(Top)operator(\);)
+reserved(end)operator(;)
+
+reserved(function) ident(Min)operator(()reserved(const) ident(A)operator(,) ident(B)operator(:) ident(Integer)operator(\):) ident(Integer)operator(;)
+reserved(begin)
+ reserved(if) ident(A) operator(<) ident(B) reserved(then)
+ ident(Result) operator(:=) ident(A)
+ reserved(else)
+ ident(Result) operator(:=) ident(B)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(Min)operator(()reserved(const) ident(A)operator(:) ident(TIntA)operator(\):) ident(Integer)operator(;)
+reserved(var)
+ ident(i)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) integer(0)operator(;)
+ reserved(if) ident(Length)operator(()ident(A)operator(\)) operator(=) integer(0) reserved(then)
+ ident(Exit)operator(;)
+
+ ident(Result) operator(:=) ident(A)operator([)integer(0)operator(];)
+ reserved(for) ident(i) operator(:=) integer(1) reserved(to) ident(High)operator(()ident(A)operator(\)) reserved(do)
+ reserved(if) ident(A)operator([)ident(i)operator(]) operator(<) ident(Result) reserved(then)
+ ident(Result) operator(:=) ident(A)operator([)ident(i)operator(];)
+reserved(end)operator(;)
+
+reserved(function) ident(Max)operator(()reserved(const) ident(A)operator(,) ident(B)operator(:) ident(Integer)operator(\):) ident(Integer)operator(;)
+reserved(begin)
+ reserved(if) ident(A) operator(>) ident(B) reserved(then)
+ ident(Result) operator(:=) ident(A)
+ reserved(else)
+ ident(Result) operator(:=) ident(B)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(Max)operator(()reserved(const) ident(A)operator(:) ident(TIntA)operator(\):) ident(Integer)operator(;)
+reserved(var)
+ ident(i)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) integer(0)operator(;)
+ reserved(if) ident(Length)operator(()ident(A)operator(\)) operator(=) integer(0) reserved(then)
+ ident(Exit)operator(;)
+
+ ident(Result) operator(:=) ident(A)operator([)integer(0)operator(];)
+ reserved(for) ident(i) operator(:=) integer(1) reserved(to) ident(High)operator(()ident(A)operator(\)) reserved(do)
+ reserved(if) ident(A)operator([)ident(i)operator(]) operator(>) ident(Result) reserved(then)
+ ident(Result) operator(:=) ident(A)operator([)ident(i)operator(];)
+reserved(end)operator(;)
+
+reserved(function) ident(RangesOfStr)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(\):) ident(TRanges)operator(;)
+reserved(var)
+ ident(SL)operator(:) ident(TStringList)operator(;)
+ ident(r)operator(,) ident(b)operator(,) ident(t)operator(:) reserved(string)operator(;)
+ ident(i)operator(,) ident(p)operator(:) ident(Integer)operator(;)
+
+ reserved(function) ident(TryStrToCard)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(;) reserved(out) ident(Value)operator(:) ident(Cardinal)operator(\):) ident(Boolean)operator(;)
+ reserved(var)
+ ident(E)operator(:) ident(Integer)operator(;)
+ reserved(begin)
+ ident(Val)operator(()ident(S)operator(,) ident(Value)operator(,) ident(E)operator(\);)
+ ident(Result) operator(:=) ident(E) operator(=) integer(0)operator(;)
+ reserved(end)operator(;)
+
+reserved(begin)
+ ident(Result) operator(:=) reserved(nil)operator(;)
+ ident(SL) operator(:=) ident(TStringList)operator(.)ident(Create)operator(;)
+ reserved(try)
+ ident(Split)operator(()ident(S)operator(,) ident(RangesSeparator)operator(,) ident(SL)operator(\);)
+ ident(SetLength)operator(()ident(Result)operator(,) ident(SL)operator(.)ident(Count)operator(\);)
+ reserved(for) ident(i) operator(:=) integer(0) reserved(to) ident(SL)operator(.)ident(Count)operator(-)integer(1) reserved(do) reserved(begin)
+ ident(r) operator(:=) ident(SL)operator([)ident(i)operator(];)
+ reserved(with) ident(Result)operator([)ident(i)operator(]) reserved(do) reserved(begin)
+ ident(p) operator(:=) ident(CharPos)operator(()ident(RangeInnerSeparator)operator(,) ident(r)operator(\);)
+ ident(Simple) operator(:=) ident(p) operator(=) integer(0)operator(;) comment(// no '-' found)
+ reserved(if) ident(Simple) reserved(then) reserved(begin)
+ reserved(if) ident(r) operator(=) ident(RangeInfinite) reserved(then) reserved(begin) comment(// * --> *-*)
+ ident(Simple) operator(:=) ident(False)operator(;)
+ ident(Bottom) operator(:=) ident(Low)operator(()ident(Bottom)operator(\);)
+ ident(Top) operator(:=) ident(High)operator(()ident(Top)operator(\);)
+ reserved(end) reserved(else) reserved(if) reserved(not) ident(TryStrToCard)operator(()ident(r)operator(,) ident(Value)operator(\)) reserved(then)
+ ident(Break)operator(;)
+
+ reserved(end) reserved(else) reserved(begin)
+ ident(TileStr)operator(()ident(r)operator(,) ident(p)operator(,) ident(p)operator(,) ident(b)operator(,) ident(t)operator(\);)
+
+ reserved(if) ident(b) operator(=) ident(RangeInfinite) reserved(then)
+ ident(Bottom) operator(:=) ident(Low)operator(()ident(Bottom)operator(\))
+ reserved(else) reserved(if) reserved(not) ident(TryStrToCard)operator(()ident(b)operator(,) ident(Bottom)operator(\)) reserved(then)
+ ident(Break)operator(;)
+
+ reserved(if) ident(t) operator(=) ident(RangeInfinite) reserved(then)
+ ident(Top) operator(:=) ident(High)operator(()ident(Top)operator(\))
+ reserved(else) reserved(if) reserved(not) ident(TryStrToCard)operator(()ident(t)operator(,) ident(Top)operator(\)) reserved(then)
+ ident(Break)operator(;)
+ reserved(if) ident(Bottom) operator(>) ident(Top) reserved(then) reserved(begin)
+ ident(p) operator(:=) ident(Bottom)operator(;) ident(Bottom) operator(:=) ident(Top)operator(;) ident(Top) operator(:=) ident(p)operator(;)
+ reserved(end)operator(;)
+ reserved(end)operator(;)
+ reserved(end)operator(;)
+ reserved(end)operator(;)
+
+ reserved(if) ident(i) operator(<>) ident(SL)operator(.)ident(Count) reserved(then)
+ ident(Result) operator(:=) reserved(nil)operator(;)
+
+ reserved(finally)
+ ident(SL)operator(.)ident(Free)operator(;)
+ reserved(end)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(InRanges)operator(()ident(Ranges)operator(:) ident(TRanges)operator(;) ident(TestValue)operator(:) ident(Cardinal)operator(\):) ident(Boolean)operator(;)
+reserved(var)
+ ident(i)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) ident(True)operator(;)
+
+ reserved(for) ident(i) operator(:=) integer(0) reserved(to) ident(High)operator(()ident(Ranges)operator(\)) reserved(do)
+ reserved(with) ident(Ranges)operator([)ident(i)operator(]) reserved(do)
+ reserved(if) ident(Simple) reserved(then) reserved(begin)
+ reserved(if) ident(TestValue) operator(=) ident(Value) reserved(then)
+ ident(Exit)operator(;)
+ reserved(end) reserved(else) reserved(begin)
+ reserved(if) ident(InRange)operator(()ident(TestValue)operator(,) ident(Bottom)operator(,) ident(Top)operator(\)) reserved(then)
+ ident(Exit)operator(;)
+ reserved(end)operator(;)
+
+ ident(Result) operator(:=) ident(False)operator(;)
+reserved(end)operator(;)
+
+reserved(procedure) ident(WriteSL)operator(()ident(Strings)operator(:) ident(TStrings)operator(;) reserved(const) ident(Prefix)operator(:) reserved(string) operator(=) string<delimiter(')delimiter(')>operator(;)
+ reserved(const) ident(Suffix)operator(:) reserved(string) operator(=) string<delimiter(')delimiter(')>operator(\);)
+reserved(var)
+ ident(i)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ reserved(for) ident(i) operator(:=) integer(0) reserved(to) ident(Strings)operator(.)ident(Count)operator(-)integer(1) reserved(do)
+ ident(WriteLn)operator(()ident(Prefix) operator(+) ident(Strings)operator([)ident(i)operator(]) operator(+) ident(Suffix)operator(\);)
+reserved(end)operator(;)
+
+reserved(function) ident(Success)operator(()ident(Res)operator(:) ident(Integer)operator(;) ident(ResultOnSuccess)operator(:) ident(Integer) operator(=) ident(ERROR_SUCCESS)operator(\):) ident(Boolean)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) operator(()ident(Res) operator(=) ident(ResultOnSuccess)operator(\);)
+ ident(LastSuccessRes) operator(:=) ident(Res)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(Failure)operator(()ident(Res)operator(:) ident(Integer)operator(;) ident(ResultOnSuccess)operator(:) ident(Integer) operator(=) ident(ERROR_SUCCESS)operator(\):) ident(Boolean)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) reserved(not) ident(Success)operator(()ident(Res)operator(,) ident(ResultOnSuccess)operator(\);)
+reserved(end)operator(;)
+
+reserved(function) ident(ExpandString)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(\):) reserved(string)operator(;)
+reserved(var)
+ ident(Len)operator(:) ident(Integer)operator(;)
+ ident(P)operator(,) ident(Res)operator(:) ident(PChar)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) string<delimiter(')delimiter(')>operator(;)
+ ident(P) operator(:=) ident(PChar)operator(()ident(S)operator(\);)
+ ident(Len) operator(:=) ident(ExpandEnvironmentStrings)operator(()ident(P)operator(,) reserved(nil)operator(,) integer(0)operator(\);)
+ reserved(if) ident(Len) operator(=) integer(0) reserved(then)
+ ident(Exit)operator(;)
+
+ ident(GetMem)operator(()ident(Res)operator(,) ident(Len)operator(\);)
+ ident(ExpandEnvironmentStrings)operator(()ident(P)operator(,) ident(Res)operator(,) ident(Len)operator(\);)
+
+ ident(Result) operator(:=) ident(Res)operator(;)
+ ident(FreeMem)operator(()ident(Res)operator(,) ident(Len)operator(\);)
+reserved(end)operator(;)
+
+reserved(function) ident(FindAll)operator(()ident(Strings)operator(:) ident(TStrings)operator(;) reserved(const) ident(Mask)operator(:) reserved(string)operator(;)
+ ident(ScanSubDirs)operator(:) ident(Boolean) operator(=) ident(True)operator(;) ident(Attributes)operator(:) ident(Integer) operator(=) ident(faFindEveryFile)operator(;)
+ ident(FileReturn)operator(:) ident(TFileNameFunc) operator(=) reserved(nil)operator(\):) ident(Boolean)operator(;)
+reserved(var)
+ ident(Path)operator(,) ident(FileName)operator(:) reserved(string)operator(;)
+
+ reserved(procedure) ident(ScanDir)operator(()reserved(const) ident(Path)operator(,) ident(FileName)operator(:) reserved(string)operator(\);)
+ reserved(var)
+ ident(PSR)operator(:) ident(TSearchRec)operator(;)
+ ident(Res)operator(:) ident(Integer)operator(;)
+
+ reserved(procedure) ident(Add)operator(()reserved(const) ident(S)operator(:) reserved(string)operator(\);)
+ reserved(begin)
+ reserved(if) ident(S) operator(<>) string<delimiter(')delimiter(')> reserved(then)
+ ident(Strings)operator(.)ident(Add)operator(()ident(S)operator(\);)
+ reserved(end)operator(;)
+
+ reserved(begin)
+ ident(Res) operator(:=) ident(FindFirst)operator(()ident(Path) operator(+) ident(FileName)operator(,) ident(Attributes)operator(,) ident(PSR)operator(\);)
+ reserved(while) ident(Success)operator(()ident(Res)operator(,) integer(0)operator(\)) reserved(do) reserved(begin)
+ reserved(if) ident(Assigned)operator(()ident(FileReturn)operator(\)) reserved(then)
+ ident(Add)operator(()ident(FileReturn)operator(()ident(Path) operator(+) ident(PSR)operator(.)ident(Name)operator(\)\))
+ reserved(else)
+ ident(Add)operator(()ident(Path) operator(+) ident(PSR)operator(.)ident(Name)operator(\);)
+ ident(Res) operator(:=) ident(FindNext)operator(()ident(PSR)operator(\);)
+ reserved(end)operator(;)
+ ident(FindClose)operator(()ident(PSR)operator(\);)
+ reserved(if) reserved(not) ident(ScanSubDirs) reserved(then)
+ ident(Exit)operator(;)
+
+ ident(Res) operator(:=) ident(FindFirst)operator(()ident(Path) operator(+) char<delimiter(')content(*)delimiter(')>operator(,) ident(faDirectory)operator(,) ident(PSR)operator(\);)
+ reserved(while) ident(Success)operator(()ident(Res)operator(,) integer(0)operator(\)) reserved(do) reserved(begin)
+ reserved(if) operator(()ident(PSR)operator(.)ident(Attr) reserved(and) ident(faDirectory) operator(>) integer(0)operator(\))
+ reserved(and) operator(()ident(PSR)operator(.)ident(Name) operator(<>) char<delimiter(')content(.)delimiter(')>operator(\)) reserved(and) operator(()ident(PSR)operator(.)ident(Name) operator(<>) string<delimiter(')content(..)delimiter(')>operator(\)) reserved(then)
+ ident(ScanDir)operator(()ident(Path) operator(+) ident(PSR)operator(.)ident(Name) operator(+) char<delimiter(')content(\\)delimiter(')>operator(,) ident(FileName)operator(\);)
+ ident(Res) operator(:=) ident(FindNext)operator(()ident(PSR)operator(\);)
+ reserved(end)operator(;)
+ ident(FindClose)operator(()ident(PSR)operator(\);)
+ reserved(end)operator(;)
+
+reserved(begin)
+ ident(Strings)operator(.)ident(Clear)operator(;)
+ ident(Path) operator(:=) ident(ExtractPath)operator(()ident(Mask)operator(\);)
+ ident(FileName) operator(:=) ident(ExtractFileName)operator(()ident(Mask)operator(\);)
+ ident(ScanDir)operator(()ident(Path)operator(,) ident(FileName)operator(\);)
+ ident(Result) operator(:=) ident(Strings)operator(.)ident(Count) operator(>) integer(0)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(FindAllFirst)operator(()reserved(const) ident(Mask)operator(:) reserved(string)operator(;) ident(ScanSubDirs)operator(:) ident(Boolean) operator(=) ident(True)operator(;)
+ ident(Attributes)operator(:) ident(Integer) operator(=) ident(faFindEveryFile)operator(\):) reserved(string)operator(;)
+reserved(var)
+ ident(Path)operator(,) ident(FileName)operator(:) reserved(string)operator(;)
+
+ reserved(function) ident(ScanDir)operator(()reserved(const) ident(Path)operator(,) ident(FileName)operator(:) reserved(string)operator(\):) ident(Boolean)operator(;)
+ reserved(var)
+ ident(PSR)operator(:) ident(TSearchRec)operator(;)
+ ident(Res)operator(:) ident(Integer)operator(;)
+ reserved(begin)
+ ident(Result) operator(:=) ident(False)operator(;)
+ reserved(if) ident(Success)operator(()ident(FindFirst)operator(()ident(Path) operator(+) ident(FileName)operator(,) ident(Attributes)operator(,) ident(PSR)operator(\),) integer(0)operator(\)) reserved(then) reserved(begin)
+ ident(FindAllFirst) operator(:=) ident(Path) operator(+) ident(PSR)operator(.)ident(Name)operator(;)
+ ident(Result) operator(:=) ident(True)operator(;)
+ ident(FindClose)operator(()ident(PSR)operator(\);)
+ ident(Exit)operator(;) reserved(end)operator(;)
+ reserved(if) reserved(not) ident(ScanSubDirs) reserved(then)
+ ident(Exit)operator(;)
+
+ ident(Res) operator(:=) ident(FindFirst)operator(()ident(Path) operator(+) char<delimiter(')content(*)delimiter(')>operator(,) ident(faDirectory)operator(,) ident(PSR)operator(\);)
+ reserved(while) reserved(not) ident(Result) reserved(and) ident(Success)operator(()ident(Res)operator(,) integer(0)operator(\)) reserved(do) reserved(begin)
+ reserved(if) operator(()ident(PSR)operator(.)ident(Attr) reserved(and) ident(faDirectory) operator(>) integer(0)operator(\))
+ reserved(and) operator(()ident(PSR)operator(.)ident(Name) operator(<>) char<delimiter(')content(.)delimiter(')>operator(\)) reserved(and) operator(()ident(PSR)operator(.)ident(Name) operator(<>) string<delimiter(')content(..)delimiter(')>operator(\)) reserved(then)
+ ident(Result) operator(:=) ident(ScanDir)operator(()ident(Path) operator(+) ident(PSR)operator(.)ident(Name) operator(+) char<delimiter(')content(\\)delimiter(')>operator(,) ident(FileName)operator(\);)
+ ident(Res) operator(:=) ident(FindNext)operator(()ident(PSR)operator(\);)
+ reserved(end)operator(;)
+ ident(FindClose)operator(()ident(PSR)operator(\);)
+ reserved(end)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) string<delimiter(')delimiter(')>operator(;)
+ ident(Path) operator(:=) ident(ExtractPath)operator(()ident(Mask)operator(\);)
+ ident(FileName) operator(:=) ident(ExtractFileName)operator(()ident(Mask)operator(\);)
+ ident(ScanDir)operator(()ident(Path)operator(,) ident(FileName)operator(\);)
+reserved(end)operator(;)
+
+reserved(procedure) ident(DeleteFiles)operator(()reserved(const) ident(Mask)operator(:) reserved(string)operator(;) ident(ScanSubDirs)operator(:) ident(Boolean) operator(=) ident(True)operator(;)
+ ident(Attributes)operator(:) ident(Integer) operator(=) ident(faFindEveryFile)operator(\);)
+reserved(var)
+ ident(Path)operator(,) ident(FileName)operator(:) reserved(string)operator(;)
+
+ reserved(procedure) ident(ScanDir)operator(()reserved(const) ident(Path)operator(,) ident(FileName)operator(:) reserved(string)operator(\);)
+ reserved(var)
+ ident(PSR)operator(:) ident(TSearchRec)operator(;)
+ ident(Res)operator(:) ident(Integer)operator(;)
+
+ reserved(procedure) ident(TryDeleteFile)operator(()reserved(const) ident(FileName)operator(:) reserved(string)operator(\);)
+ reserved(begin)
+ reserved(try)
+ ident(DeleteFile)operator(()ident(Path) operator(+) ident(PSR)operator(.)ident(Name)operator(\);)
+ reserved(except)
+ reserved(end)operator(;)
+ reserved(end)operator(;)
+
+ reserved(begin)
+ ident(Res) operator(:=) ident(FindFirst)operator(()ident(Path) operator(+) ident(FileName)operator(,) ident(Attributes)operator(,) ident(PSR)operator(\);)
+ reserved(while) ident(Success)operator(()ident(Res)operator(,) integer(0)operator(\)) reserved(do) reserved(begin)
+ ident(TryDeleteFile)operator(()ident(Path) operator(+) ident(PSR)operator(.)ident(Name)operator(\);)
+ ident(Res) operator(:=) ident(FindNext)operator(()ident(PSR)operator(\);)
+ reserved(end)operator(;)
+ ident(FindClose)operator(()ident(PSR)operator(\);)
+ reserved(if) reserved(not) ident(ScanSubDirs) reserved(then)
+ ident(Exit)operator(;)
+
+ ident(Res) operator(:=) ident(FindFirst)operator(()ident(Path) operator(+) char<delimiter(')content(*)delimiter(')>operator(,) ident(faDirectory)operator(,) ident(PSR)operator(\);)
+ reserved(while) ident(Success)operator(()ident(Res)operator(,) integer(0)operator(\)) reserved(do) reserved(begin)
+ reserved(if) operator(()ident(PSR)operator(.)ident(Attr) reserved(and) ident(faDirectory) operator(>) integer(0)operator(\))
+ reserved(and) operator(()ident(PSR)operator(.)ident(Name) operator(<>) char<delimiter(')content(.)delimiter(')>operator(\)) reserved(and) operator(()ident(PSR)operator(.)ident(Name) operator(<>) string<delimiter(')content(..)delimiter(')>operator(\)) reserved(then) reserved(begin)
+ ident(ScanDir)operator(()ident(Path) operator(+) ident(PSR)operator(.)ident(Name) operator(+) char<delimiter(')content(\\)delimiter(')>operator(,) ident(FileName)operator(\);)
+ ident(TryDeleteFile)operator(()ident(Path) operator(+) ident(PSR)operator(.)ident(Name)operator(\);)
+ reserved(end)operator(;)
+ ident(Res) operator(:=) ident(FindNext)operator(()ident(PSR)operator(\);)
+ reserved(end)operator(;)
+ ident(FindClose)operator(()ident(PSR)operator(\);)
+ reserved(end)operator(;)
+reserved(begin)
+ ident(Path) operator(:=) ident(ExtractPath)operator(()ident(Mask)operator(\);)
+ ident(FileName) operator(:=) ident(ExtractFileName)operator(()ident(Mask)operator(\);)
+ ident(ScanDir)operator(()ident(Path)operator(,) ident(FileName)operator(\);)
+reserved(end)operator(;)
+
+reserved(function) ident(GetFileNew)operator(()ident(FileName)operator(:) reserved(string)operator(;) ident(NoFloppyDrives)operator(:) ident(Boolean) operator(=) ident(True)operator(\):) reserved(string)operator(;)
+reserved(var)
+ ident(Drive)operator(:) reserved(string)operator(;)
+ ident(pf)operator(,) ident(pd)operator(,) ident(Len)operator(:) ident(Integer)operator(;)
+ ident(PSR)operator(:) ident(TSearchRec)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) string<delimiter(')delimiter(')>operator(;)
+ ident(FileName) operator(:=) ident(Trim)operator(()ident(FileName)operator(\);)
+ reserved(if) ident(Length)operator(()ident(FileName)operator(\)) operator(<) integer(2) reserved(then)
+ ident(Exit)operator(;)
+
+ ident(Drive) operator(:=) ident(ExtractDrive)operator(()ident(FileName)operator(\);)
+ reserved(if) reserved(not) ident(DirectoryExists)operator(()ident(Drive)operator(\)) reserved(then)
+ ident(Exit)operator(;)
+
+ reserved(if) ident(NoFloppyDrives) reserved(and) operator(()ident(Drive)operator([)integer(1)operator(]) reserved(in) operator([)char<delimiter(')content(A)delimiter(')>operator(,) char<delimiter(')content(B)delimiter(')>operator(]\)) reserved(then)
+ ident(Exit)operator(;)
+
+ ident(Len) operator(:=) ident(Length)operator(()ident(FileName)operator(\);)
+ ident(Result) operator(:=) ident(Drive)operator(;)
+ ident(pf) operator(:=) ident(Length)operator(()ident(Drive)operator(\)) operator(+) integer(1)operator(;)
+ reserved(while) ident(pf) operator(<=) ident(Len) reserved(do) reserved(begin)
+ reserved(if) ident(FileName)operator([)ident(pf)operator(]) operator(=) char<delimiter(')content(\\)delimiter(')> reserved(then) reserved(begin)
+ ident(Result) operator(:=) ident(Result) operator(+) char<delimiter(')content(\\)delimiter(')>operator(;)
+ ident(Inc)operator(()ident(pf)operator(\);)
+ ident(Continue)operator(;) reserved(end)operator(;)
+
+ ident(pd) operator(:=) ident(CharPos)operator(()char<delimiter(')content(\\)delimiter(')>operator(,) ident(FileName)operator(,) ident(pf)operator(\);)
+ reserved(if) ident(pd) operator(=) integer(0) reserved(then) reserved(begin)
+ reserved(if) integer(0)operator(=)ident(FindFirst)operator(()ident(Result) operator(+) ident(Copy)operator(()ident(FileName)operator(,) ident(pf)operator(,) ident(MaxInt)operator(\),) ident(faFindEveryFile)operator(,) ident(PSR)operator(\)) reserved(then) reserved(begin)
+ ident(Result) operator(:=) ident(Result) operator(+) ident(PSR)operator(.)ident(Name)operator(;)
+ ident(Break)operator(;) reserved(end) reserved(else) reserved(begin)
+ ident(FindClose)operator(()ident(PSR)operator(\);)
+ reserved(if) integer(0)operator(=)ident(FindFirst)operator(()ident(Result) operator(+) ident(Copy)operator(()ident(FileName)operator(,) ident(pf)operator(,) ident(MaxInt)operator(\),) ident(faDirectory)operator(,) ident(PSR)operator(\)) reserved(then)
+ ident(Result) operator(:=) ident(Result) operator(+) ident(PSR)operator(.)ident(Name) operator(+) char<delimiter(')content(\\)delimiter(')>
+ reserved(else)
+ ident(Result) operator(:=) string<delimiter(')delimiter(')>operator(;)
+ ident(FindClose)operator(()ident(PSR)operator(\);)
+ reserved(if) ident(Result) operator(=) string<delimiter(')delimiter(')> reserved(then)
+ ident(Break)operator(;)
+ reserved(end)operator(;)
+ reserved(end)operator(;)
+
+ reserved(if) integer(0)operator(=)ident(FindFirst)operator(()ident(Result) operator(+) ident(Copy)operator(()ident(FileName)operator(,) ident(pf)operator(,) ident(pd) operator(-) ident(pf)operator(\),) ident(faDirectory)operator(,) ident(PSR)operator(\)) reserved(then)
+ ident(Result) operator(:=) ident(Result) operator(+) ident(PSR)operator(.)ident(Name) operator(+) char<delimiter(')content(\\)delimiter(')>
+ reserved(else)
+ ident(Result) operator(:=) string<delimiter(')delimiter(')>operator(;)
+ ident(FindClose)operator(()ident(PSR)operator(\);)
+ reserved(if) ident(Result) operator(=) string<delimiter(')delimiter(')> reserved(then)
+ ident(Break)operator(;)
+
+ ident(pf) operator(:=) ident(pd) operator(+) integer(1)operator(;)
+ reserved(end)operator(;)
+
+ reserved(if) operator(()ident(Result) operator(<>) string<delimiter(')delimiter(')>operator(\)) reserved(and) reserved(not) ident(FileEx)operator(()ident(Result)operator(,) ident(True)operator(\)) reserved(then)
+ ident(Result) operator(:=) string<delimiter(')delimiter(')>operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(DateTimeOfFileTime)operator(()reserved(const) ident(FileTime)operator(:) ident(TFileTime)operator(\):) ident(TDateTime)operator(;)
+reserved(var)
+ ident(LocalFileTime)operator(:) ident(TFileTime)operator(;)
+ ident(Res)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) integer(0)operator(;)
+
+ ident(FileTimeToLocalFileTime)operator(()ident(FileTime)operator(,) ident(LocalFileTime)operator(\);)
+ reserved(if) reserved(not) ident(FileTimeToDosDateTime)operator(()ident(LocalFileTime)operator(,) ident(LongRec)operator(()ident(Res)operator(\).)ident(Hi)operator(,)
+ ident(LongRec)operator(()ident(Res)operator(\).)ident(Lo)operator(\)) reserved(then)
+ ident(Res) operator(:=) operator(-)integer(1)operator(;)
+
+ reserved(if) operator(()ident(Res) operator(=) operator(-)integer(1)operator(\)) reserved(or) operator(()ident(Res) operator(=) integer(0)operator(\)) reserved(then)
+ ident(Exit)operator(;)
+ reserved(try)
+ ident(Result) operator(:=) ident(FileDateToDateTime)operator(()ident(Res)operator(\);)
+ reserved(except)
+ reserved(end)operator(;)
+reserved(end)operator(;)
+
+reserved(procedure) ident(FileNew)operator(()reserved(const) ident(FileName)operator(:) reserved(string)operator(\);)
+reserved(var)
+ ident(Handle)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ ident(Handle) operator(:=) ident(FileCreate)operator(()ident(FileName)operator(\);)
+ ident(FileClose)operator(()ident(Handle)operator(\);)
+reserved(end)operator(;)
+
+reserved(function) ident(Win32PlatformStr)operator(:) reserved(string)operator(;)
+reserved(const)
+ ident(PlatformStrings)operator(:) reserved(array)operator([)ident(VER_PLATFORM_WIN32s)operator(..)ident(VER_PLATFORM_WIN32_NT)operator(]) reserved(of) reserved(string) operator(=)
+ operator(()string<delimiter(')content(VER_PLATFORM_WIN32s)delimiter(')>operator(,) string<delimiter(')content(VER_PLATFORM_WIN32_WINDOWS)delimiter(')>operator(,) string<delimiter(')content(VER_PLATFORM_WIN32_NT)delimiter(')>operator(\);)
+reserved(begin)
+ ident(Result) operator(:=) ident(PlatformStrings)operator([)ident(Win32Platform)operator(];)
+reserved(end)operator(;)
+
+reserved(function) ident(FullOSInfo)operator(:) reserved(string)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) ident(Format)operator(()
+ string<delimiter(')content(Platform: %s)delimiter(')> operator(+) ident(EOL) operator(+)
+ string<delimiter(')content(Version: %d.%d Build %d)delimiter(')> operator(+) ident(EOL) operator(+)
+ string<delimiter(')content(CSD: %s)delimiter(')>operator(,)
+ operator([)
+ ident(Win32PlatformStr)operator(,)
+ ident(Win32MajorVersion)operator(,) ident(Win32MinorVersion)operator(,) ident(Win32BuildNumber)operator(,)
+ ident(Win32CSDVersion)
+ operator(])
+ operator(\);)
+reserved(end)operator(;)
+
+reserved(function) ident(Win9x)operator(:) ident(Boolean)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) ident(Win32Platform) operator(=) ident(VER_PLATFORM_WIN32_WINDOWS)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(WinNT)operator(:) ident(Boolean)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) ident(Win32Platform) operator(=) ident(VER_PLATFORM_WIN32_NT)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(Win2000)operator(:) ident(Boolean)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) operator(()ident(Win32Platform) operator(=) ident(VER_PLATFORM_WIN32_NT)operator(\))
+ reserved(and) operator(()ident(Win32MajorVersion) operator(=) integer(4)operator(\);)
+reserved(end)operator(;)
+
+reserved(function) ident(WinXP)operator(:) ident(Boolean)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) ident(Win32MajorVersion) operator(>=) integer(5)operator(;)
+reserved(end)operator(;)
+
+reserved(initialization)
+ ident(MyDir) operator(:=) ident(GetMyDir)operator(;)
+
+reserved(end)operator(.)
+
+reserved(unit) ident(FifoStream)operator(;)
+
+reserved(interface)
+
+reserved(uses) ident(Classes)operator(,) ident(windows)operator(,) ident(Dialogs)operator(;)
+
+reserved(const)
+ ident(DefaultChunksize) operator(=) integer(32768)operator(;) comment(// 32kb per chunk as default.)
+
+reserved(type)
+ ident(PMemChunk) operator(=) operator(^)ident(TMemChunk)operator(;)
+ ident(TMemChunk) operator(=) reserved(record)
+ ident(Filled)operator(:) ident(Longword)operator(;)
+ ident(Read)operator(:) ident(Longword)operator(;)
+ ident(Data)operator(:) ident(pointer)operator(;)
+ reserved(end)operator(;)
+
+ ident(TFifo) operator(=) reserved(class)
+ directive(private)
+ ident(FBuffers)operator(:) ident(TList)operator(;)
+ ident(FChunksize)operator(:) ident(Longword)operator(;)
+ ident(FCritSect)operator(:) ident(TRTLCriticalSection)operator(;)
+ ident(FIsWinNT)operator(:) ident(boolean)operator(;)
+ ident(FBytesInFifo)operator(:) ident(LongWord)operator(;)
+ directive(protected)
+ reserved(function) ident(GetBytesInFifo)operator(:) ident(LongWord)operator(;)
+ directive(public)
+ reserved(constructor) ident(Create)operator(;)
+ reserved(destructor) ident(Destroy)operator(;) directive(override)operator(;)
+ reserved(procedure) ident(Write)operator(()ident(Data)operator(:) ident(pointer)operator(;) ident(Size)operator(:) ident(LongWord)operator(\);)
+ reserved(procedure) ident(Read)operator(()ident(Buff)operator(:) ident(pointer)operator(;) reserved(var) ident(ReqSize)operator(:) ident(LongWord)operator(\);)
+ reserved(procedure) ident(PeekData)operator(()ident(Buff)operator(:) ident(pointer)operator(;) reserved(var) ident(ReqSize)operator(:) ident(LongWord)operator(\);)
+ directive(published)
+ reserved(property) ident(BytesInFifo)operator(:) ident(LongWord) directive(read) ident(FBytesInFifo)operator(;)
+ reserved(end)operator(;)
+
+reserved(implementation)
+
+reserved(constructor) ident(TFifo)operator(.)ident(Create)operator(;)
+reserved(begin)
+ reserved(inherited)operator(;)
+ ident(FBuffers) operator(:=) ident(TList)operator(.)ident(Create)operator(;)
+ comment(// set default chunksize...)
+ ident(FChunksize) operator(:=) ident(DefaultChunksize)operator(;)
+ ident(InitializeCriticalSection)operator(()ident(FCritSect)operator(\);)
+reserved(end)operator(;)
+
+reserved(destructor) ident(TFifo)operator(.)ident(Destroy)operator(;)
+reserved(var)
+ ident(I)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ ident(EnterCriticalSection)operator(()ident(FCritSect)operator(\);)
+ reserved(for) ident(I) operator(:=) integer(0) reserved(to) ident(FBuffers)operator(.)ident(count) operator(-) integer(1) reserved(do)
+ reserved(begin)
+ ident(FreeMem)operator(()ident(PMemChunk)operator(()ident(Fbuffers)operator([)ident(I)operator(]\).)ident(Data)operator(\);)
+ ident(Dispose)operator(()ident(PMemChunk)operator(()ident(Fbuffers)operator([)ident(I)operator(]\)\);)
+ reserved(end)operator(;)
+ ident(FBuffers)operator(.)ident(Clear)operator(;)
+ ident(FBuffers)operator(.)ident(Free)operator(;)
+ ident(LeaveCriticalSection)operator(()ident(FCritSect)operator(\);)
+
+ ident(DeleteCriticalSection)operator(()ident(FCritSect)operator(\);)
+ reserved(inherited)operator(;)
+reserved(end)operator(;)
+
+reserved(function) ident(TFifo)operator(.)ident(GetBytesInFifo)operator(:) ident(LongWord)operator(;)
+reserved(begin)
+ ident(Result) operator(:=) integer(0)operator(;)
+ reserved(if) ident(FBuffers)operator(.)ident(Count) operator(=) integer(0) reserved(then)
+ reserved(begin)
+ ident(exit)operator(;)
+ reserved(end)
+ reserved(else)
+ reserved(begin)
+ reserved(if) ident(FBuffers)operator(.)ident(Count) operator(>) integer(1) reserved(then)
+ ident(Inc)operator(()ident(Result)operator(,) operator(()ident(FBuffers)operator(.)ident(Count) operator(-) integer(1)operator(\)) operator(*) ident(FChunkSize)operator(\);)
+ ident(Inc)operator(()ident(Result)operator(,) ident(PMemChunk)operator(()ident(FBuffers)operator([)ident(Fbuffers)operator(.)ident(Count) operator(-) integer(1)operator(]\).)ident(Filled)operator(\);)
+ ident(Dec)operator(()ident(Result)operator(,) ident(PMemChunk)operator(()ident(FBuffers)operator([)integer(0)operator(]\).)ident(Read)operator(\);)
+ reserved(end)operator(;)
+reserved(end)operator(;)
+
+reserved(procedure) ident(TFifo)operator(.)ident(Write)operator(()ident(Data)operator(:) ident(pointer)operator(;) ident(Size)operator(:) ident(LongWord)operator(\);)
+reserved(var)
+ ident(Privpointer)operator(:) ident(pointer)operator(;)
+ ident(PrivSize)operator(:) ident(LongWord)operator(;)
+ ident(Chunk)operator(:) ident(PMemChunk)operator(;)
+ ident(PosInChunk)operator(:) ident(pointer)operator(;)
+reserved(begin)
+ reserved(if) ident(LongWord)operator(()ident(Data)operator(\)) operator(=) integer(0) reserved(then)
+ reserved(begin)
+ comment(// null pointer? somebody is trying to fool us, get out...)
+ ident(Exit)operator(;)
+ reserved(end)operator(;)
+ ident(EnterCriticalSection)operator(()ident(FCritSect)operator(\);)
+ ident(PrivPointer) operator(:=) ident(Data)operator(;)
+ ident(PrivSize) operator(:=) integer(0)operator(;)
+ comment(// are already buffers there?)
+ reserved(if) ident(FBuffers)operator(.)ident(count) operator(>) integer(0) reserved(then)
+ reserved(begin)
+ comment(// is the last one of them not completely filled?)
+ reserved(if) ident(PMemChunk)operator(()ident(FBuffers)operator([)ident(FBuffers)operator(.)ident(count) operator(-) integer(1)operator(]\).)ident(filled) operator(<) ident(FChunksize) reserved(then)
+ comment(// not completely filled, so fill up the buffer.)
+ reserved(begin)
+ ident(Chunk) operator(:=) ident(PMemChunk)operator(()ident(FBuffers)operator([)ident(FBuffers)operator(.)ident(count) operator(-) integer(1)operator(]\);)
+ comment(// fetch chunkdata.)
+ ident(PosInChunk) operator(:=) ident(Chunk)operator(.)ident(Data)operator(;)
+ comment(// move to current fill pos...)
+ ident(Inc)operator(()ident(LongWord)operator(()ident(PosInChunk)operator(\),) ident(Chunk)operator(.)ident(Filled)operator(\);)
+ comment(// can we fill the chunk completely?)
+ reserved(if) ident(Size) operator(>) ident(FChunksize) operator(-) ident(Chunk)operator(.)ident(Filled) reserved(then)
+ reserved(begin)
+ comment(// yes we can.)
+ ident(Move)operator(()ident(PrivPointer)operator(^,) ident(PosInChunk)operator(^,) ident(FChunksize) operator(-) ident(Chunk)operator(.)ident(Filled)operator(\);)
+ ident(Inc)operator(()ident(PrivSize)operator(,) ident(FChunksize) operator(-) ident(Chunk)operator(.)ident(Filled)operator(\);)
+ ident(Inc)operator(()ident(LongWord)operator(()ident(PrivPointer)operator(\),) ident(FChunksize) operator(-) ident(Chunk)operator(.)ident(Filled)operator(\);)
+ ident(Chunk)operator(.)ident(Filled) operator(:=) ident(FChunkSize)operator(;)
+ reserved(end)
+ reserved(else)
+ comment(// we have to less data for filling the chunk completely,)
+ comment(// just put everything in.)
+ reserved(begin)
+ ident(Move)operator(()ident(PrivPointer)operator(^,) ident(PosInChunk)operator(^,) ident(Size)operator(\);)
+ ident(Inc)operator(()ident(PrivSize)operator(,) ident(Size)operator(\);)
+ ident(Inc)operator(()ident(Chunk)operator(.)ident(Filled)operator(,) ident(Size)operator(\);)
+ reserved(end)operator(;)
+ reserved(end)operator(;)
+ reserved(end)operator(;)
+ comment(// as long as we have remaining stuff put it into new chunks.)
+ reserved(while) operator(()ident(PrivSize) operator(<) ident(Size)operator(\)) reserved(do)
+ reserved(begin)
+ ident(new)operator(()ident(Chunk)operator(\);)
+ ident(GetMem)operator(()ident(Chunk)operator(.)ident(Data)operator(,) ident(FChunksize)operator(\);)
+ ident(Chunk)operator(.)ident(Read) operator(:=) integer(0)operator(;)
+ comment(// can we fill an entire chunk with the remaining data?)
+ reserved(if) ident(Privsize) operator(+) ident(FChunksize) operator(<) ident(Size) reserved(then)
+ reserved(begin)
+ comment(// yes we can, so put the stuff in.)
+ ident(Move)operator(()ident(Privpointer)operator(^,) ident(Chunk)operator(.)ident(Data)operator(^,) ident(FChunksize)operator(\);)
+ ident(Inc)operator(()ident(LongWord)operator(()ident(PrivPointer)operator(\),) ident(FChunksize)operator(\);)
+ ident(Inc)operator(()ident(PrivSize)operator(,) ident(FChunksize)operator(\);)
+ ident(Chunk)operator(.)ident(Filled) operator(:=) ident(FChunksize)operator(;)
+ reserved(end)
+ reserved(else) comment(// we have to less data to fill the entire chunk, just put the remaining stuff in.)
+ reserved(begin)
+ ident(Move)operator(()ident(Privpointer)operator(^,) ident(Chunk)operator(.)ident(Data)operator(^,) ident(Size) operator(-) ident(Privsize)operator(\);)
+ ident(Chunk)operator(.)ident(Filled) operator(:=) ident(Size) operator(-) ident(Privsize)operator(;)
+ ident(Inc)operator(()ident(PrivSize)operator(,) ident(Size) operator(-) ident(Privsize)operator(\);)
+ reserved(end)operator(;)
+ ident(Fbuffers)operator(.)ident(Add)operator(()ident(Chunk)operator(\);)
+ reserved(end)operator(;)
+ reserved(if) ident(Size) operator(<>) ident(Privsize) reserved(then)
+ ident(Showmessage)operator(()string<delimiter(')content(miscalculation in TFifo.write)delimiter(')>operator(\);)
+ ident(FBytesInFifo) operator(:=) ident(GetBytesInFifo)operator(;)
+ ident(LeaveCriticalSection)operator(()ident(FCritSect)operator(\);)
+reserved(end)operator(;)
+
+reserved(procedure) ident(TFifo)operator(.)ident(Read)operator(()ident(Buff)operator(:) ident(pointer)operator(;) reserved(var) ident(ReqSize)operator(:) ident(LongWord)operator(\);)
+reserved(var)
+ ident(PrivSize)operator(:) ident(Integer)operator(;)
+ ident(Privpos)operator(:) ident(pointer)operator(;)
+ ident(Chunk)operator(:) ident(PMemChunk)operator(;)
+ ident(ChunkPos)operator(:) ident(pointer)operator(;)
+reserved(begin)
+ reserved(if) ident(LongWord)operator(()ident(Buff)operator(\)) operator(=) integer(0) reserved(then)
+ reserved(begin)
+ comment(// null pointer? somebody is trying to fool us, get out...)
+ ident(Exit)operator(;)
+ reserved(end)operator(;)
+ ident(EnterCriticalSection)operator(()ident(FCritSect)operator(\);)
+ ident(PrivSize) operator(:=) integer(0)operator(;)
+ ident(Privpos) operator(:=) ident(Buff)operator(;)
+ reserved(while) ident(FBuffers)operator(.)ident(Count) operator(>) integer(0) reserved(do)
+ reserved(begin)
+ ident(Chunk) operator(:=) ident(PMemChunk)operator(()ident(FBuffers)operator([)integer(0)operator(]\);)
+ ident(ChunkPos) operator(:=) ident(Chunk)operator(.)ident(data)operator(;)
+ ident(Inc)operator(()ident(LongWord)operator(()ident(ChunkPos)operator(\),) ident(Chunk)operator(.)ident(Read)operator(\);)
+ comment(// does the remaining part of the chunk fit into the buffer?)
+ reserved(if) ident(PrivSize) operator(+) operator(()ident(Chunk)operator(.)ident(Filled) operator(-) ident(Chunk)operator(.)directive(read)operator(\)) operator(<) ident(ReqSize) reserved(then)
+ reserved(begin) comment(// yep, it fits)
+ ident(Move)operator(()ident(ChunkPos)operator(^,) ident(Privpos)operator(^,) ident(Chunk)operator(.)ident(Filled) operator(-) ident(Chunk)operator(.)directive(read)operator(\);)
+ ident(Inc)operator(()ident(PrivSize)operator(,) ident(Chunk)operator(.)ident(Filled) operator(-) ident(Chunk)operator(.)directive(read)operator(\);)
+ ident(FreeMem)operator(()ident(Chunk)operator(.)ident(Data)operator(\);)
+ ident(Dispose)operator(()ident(Chunk)operator(\);)
+ ident(FBuffers)operator(.)ident(Delete)operator(()integer(0)operator(\);)
+ reserved(end)
+ reserved(else) comment(// remaining part didn't fit, get as much as we can and increment the)
+ comment(// read attribute.)
+ reserved(begin)
+ ident(Move)operator(()ident(ChunkPos)operator(^,) ident(Privpos)operator(^,) ident(ReqSize) operator(-) ident(PrivSize)operator(\);)
+ ident(Inc)operator(()ident(Chunk)operator(.)directive(read)operator(,) ident(ReqSize) operator(-) ident(PrivSize)operator(\);)
+ ident(Inc)operator(()ident(PrivSize)operator(,) ident(ReqSize) operator(-) ident(PrivSize)operator(\);)
+ comment(// as we filled the buffer, we'll have to break here.)
+ ident(break)operator(;)
+ reserved(end)operator(;)
+ reserved(end)operator(;)
+ ident(FBytesInFifo) operator(:=) ident(GetBytesInFifo)operator(;)
+ ident(LeaveCriticalSection)operator(()ident(FCritSect)operator(\);)
+ ident(ReqSize) operator(:=) ident(PrivSize)operator(;)
+reserved(end)operator(;)
+
+comment(// read Data from Stream without removing it from the Stream...)
+
+reserved(procedure) ident(TFifo)operator(.)ident(PeekData)operator(()ident(Buff)operator(:) ident(pointer)operator(;) reserved(var) ident(ReqSize)operator(:) ident(LongWord)operator(\);)
+reserved(var)
+ ident(PrivSize)operator(:) ident(Integer)operator(;)
+ ident(Privpos)operator(:) ident(pointer)operator(;)
+ ident(Chunk)operator(:) ident(PMemChunk)operator(;)
+ ident(ChunkPos)operator(:) ident(pointer)operator(;)
+ ident(ChunkNr)operator(:) ident(Integer)operator(;)
+reserved(begin)
+ reserved(if) ident(LongWord)operator(()ident(Buff)operator(\)) operator(=) integer(0) reserved(then)
+ reserved(begin)
+ comment(// null pointer? somebody is trying to fool us, get out...)
+ ident(Exit)operator(;)
+ reserved(end)operator(;)
+ ident(EnterCriticalSection)operator(()ident(FCritSect)operator(\);)
+ ident(PrivSize) operator(:=) integer(0)operator(;)
+ ident(Privpos) operator(:=) ident(Buff)operator(;)
+ ident(ChunkNr) operator(:=) integer(0)operator(;)
+ reserved(while) ident(FBuffers)operator(.)ident(Count) operator(>) ident(ChunkNr) reserved(do)
+ reserved(begin)
+ ident(Chunk) operator(:=) ident(PMemChunk)operator(()ident(FBuffers)operator([)ident(ChunkNr)operator(]\);)
+ ident(ChunkPos) operator(:=) ident(Chunk)operator(.)ident(data)operator(;)
+ ident(Inc)operator(()ident(LongWord)operator(()ident(ChunkPos)operator(\),) ident(Chunk)operator(.)ident(Read)operator(\);)
+ comment(// does the remaining part of the chunk fit into the buffer?)
+ reserved(if) ident(PrivSize) operator(+) operator(()ident(Chunk)operator(.)ident(Filled) operator(-) ident(Chunk)operator(.)directive(read)operator(\)) operator(<) ident(ReqSize) reserved(then)
+ reserved(begin) comment(// yep, it fits)
+ ident(Move)operator(()ident(ChunkPos)operator(^,) ident(Privpos)operator(^,) ident(Chunk)operator(.)ident(Filled) operator(-) ident(Chunk)operator(.)directive(read)operator(\);)
+ ident(Inc)operator(()ident(PrivSize)operator(,) ident(Chunk)operator(.)ident(Filled) operator(-) ident(Chunk)operator(.)directive(read)operator(\);)
+ ident(Inc)operator(()ident(ChunkNr)operator(\);)
+ reserved(end)
+ reserved(else) comment(// remaining part didn't fit, get as much as we can and increment the)
+ comment(// read attribute.)
+ reserved(begin)
+ ident(Move)operator(()ident(ChunkPos)operator(^,) ident(Privpos)operator(^,) ident(ReqSize) operator(-) ident(PrivSize)operator(\);)
+ ident(Inc)operator(()ident(PrivSize)operator(,) ident(ReqSize) operator(-) ident(PrivSize)operator(\);)
+ comment(// as we filled the buffer, we'll have to break here.)
+ ident(break)operator(;)
+ reserved(end)operator(;)
+ reserved(end)operator(;)
+ ident(LeaveCriticalSection)operator(()ident(FCritSect)operator(\);)
+ ident(ReqSize) operator(:=) ident(PrivSize)operator(;)
+reserved(end)operator(;)
+
+reserved(end)operator(.)