diff --git a/lexers/embedded/objectpascal.xml b/lexers/embedded/objectpascal.xml
new file mode 100644
index 000000000..82c148331
--- /dev/null
+++ b/lexers/embedded/objectpascal.xml
@@ -0,0 +1,137 @@
+
+
+ ObjectPascal
+ objectpascal
+ *.pas
+ *.pp
+ *.inc
+ *.dpr
+ *.dpk
+ *.lpr
+ *.lpk
+ text/x-pascal
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/lexers/testdata/objectpascal.actual b/lexers/testdata/objectpascal.actual
new file mode 100644
index 000000000..f9eb702c9
--- /dev/null
+++ b/lexers/testdata/objectpascal.actual
@@ -0,0 +1,363 @@
+{*******************************************************}
+{ a totally senseless test unit }
+{*******************************************************}
+
+unit UnitLexerTest;
+
+interface
+
+uses
+ System.Classes,
+ System.SysUtils;
+
+{$SCOPEDENUMS ON}
+
+resourcestring
+ sEIsRunning = 'Cannot perform this operation when test is running.';
+ sENotRunning = 'Test not running.';
+
+const
+ CUNICODE = '��';
+ CBUFFERSIZE = 1024;
+ CLITERALNUMBERFLOAT = 0.123;
+ CLITERALNUMBERHEX = $1F2A3C platform deprecated;
+ CInteger = 123;
+ CLo = $0A7640000;
+ CHi = $00DE0B6B3;
+ CEXTENDED: Extended = 1E18;
+
+const
+ EmptyString: string = '';
+ NullString: PString = @EmptyString;
+
+ (*
+ This is
+ a multiline
+ comment block
+ *)
+
+type
+ TState = (undefined = -1, hidden, showing);
+ TDataBuffer = array [0 .. CBUFFERSIZE - 1] of AnsiChar;
+
+ TFlag = (Default, Unicode);
+ TFlags = set of TFlag;
+
+ TIntSet = set of 0 .. SizeOf(Integer) * 8 - 1;
+
+ { This is
+ another multiline
+ comment block }
+
+ WRec = packed record
+ case Integer of
+ 0: (Lo, Hi: Byte);
+ 1: (Bytes: array [0 .. 1] of Byte);
+ end;
+
+ { Comment }
+ // Comment Single
+
+const
+ cMultiLineString1 = '''
+ some text
+ and now '''
+ some more text
+ ''';
+
+const
+ cMultiLineString2 = '''''
+ some text
+ and now '''
+ some more text
+ ''''';
+var
+ LNativeInt: NativeInt;
+ LNativeUInt: NativeUInt;
+ LLongInt: LongInt;
+ LLongWord: LongWord;
+ LInteger: Integer;
+ LInt64: Int64;
+ LCardinal: Cardinal;
+ LUInt64: UInt64;
+ LShortInt: ShortInt;
+ LSmallInt: SmallInt;
+ LFixedInt: FixedInt;
+ LByte: Byte;
+ LWord: Word;
+ LFixedUInt: FixedUInt;
+ LInt8: Int8;
+ LInt16: Int16;
+ LInt32: Int32;
+ LUInt8: UInt8;
+ LUInt16: UInt16;
+ LUInt32: UInt32;
+ LReal48: Real48;
+ LSingle: Single;
+ LDouble: Double;
+ LReal: Real;
+ LExtended: Extended;
+ LComp: Comp;
+ LCurrency: Currency;
+ LChar: Char;
+ LAnsiChar: AnsiChar;
+ LWideChar: WideChar;
+ LUCS2Char: UCS2Char;
+ LUCS4Char: UCS4Char;
+ Lstring: string;
+ LShortString: ShortString;
+ LAnsiString: AnsiString;
+ LUnicodeString: UnicodeString;
+ LWideString: WideString;
+ LRawByteString: RawByteString;
+ LUTF8String: UTF8String;
+ LFile: File;
+ LTextFile: TextFile;
+ LText: Text;
+ LBoolean: Boolean;
+ LByteBool: ByteBool;
+ LWordBool: WordBool;
+ LLongBool: LongBool;
+ LPointer: Pointer;
+ LVariant: Variant;
+ LOleVariant: OleVariant;
+
+var
+ LTSingleRec: TSingleRec; // deprecated
+ LTDoubleRec: TDoubleRec; // deprecated
+ LTExtended80Rec: TExtended80Rec;
+ LTByteArray: TByteArray;
+ LTTextBuf: TTextBuf;
+ LTVarRec: TVarRec;
+ LTWordArray: TWordArray;
+
+var
+ LPChar: PChar;
+ LPAnsiChar: PAnsiChar;
+ LPWideChar: PWideChar;
+ LPRawByteString: PRawByteString;
+ LPUnicodeString: PUnicodeString;
+ LPString: PString;
+ LPAnsiString: PAnsiString;
+ LPShortString: PShortString;
+ LPTextBuf: PTextBuf;
+ LPWideString: PWideString;
+ LPByte: PByte;
+ LPShortInt: PShortInt;
+ LPWord: PWord;
+ LPSmallInt: PSmallInt;
+ LPCardinal: PCardinal;
+ LPLongWord: PLongWord;
+ LPFixedUInt: PFixedUInt;
+ LPLongint: PLongint;
+ LPFixedInt: PFixedInt;
+ LPUInt64: PUInt64;
+ LPInt64: PInt64;
+ LPNativeUInt: PNativeUInt;
+ LPNativeInt: PNativeInt;
+ LPByteArray: PByteArray;
+ LPCurrency: PCurrency;
+ LPDouble: PDouble;
+ LPExtended: PExtended;
+ LPSingle: PSingle;
+ LPInteger: PInteger;
+ LPOleVariant: POleVariant;
+ LPVarRec: PVarRec;
+ LPVariant: PVariant;
+ LPWordArray: PWordArray;
+ LPBoolean: PBoolean;
+ LPWordBool: PWordBool;
+ LPLongBool: PLongBool;
+ LPPointer: PPointer;
+
+type
+ TLexerPath = class
+ strict private
+ const
+ CLexerFolder = '\LEXER';
+{$IFDEF MSWINDOWS}
+ class function GetSystemDrivePath: string; static;
+ class function GetProgramFilesPath: string; static;
+{$ENDIF}
+ class function GetTempPath: string; static;
+ public
+{$IFDEF MSWINDOWS}
+ class property SystemDrivePath: string read GetSystemDrivePath;
+ class property ProgramFilesPath: string read GetProgramFilesPath;
+{$ENDIF}
+ class property TempPath: string read GetTempPath;
+ end;
+
+type
+ ILexerTest = interface
+ ['{F2A3AC58-4CBD-4AFB-8ACC-5AA0DCB6E23E}']
+ function GetLexerHandle: THandle;
+ end;
+
+ [ComponentPlatformsAttribute(pfidWindows)]
+ TLexerTest = class(TComponent, ILexerTest)
+ private
+ FLexerHandle: THandle;
+ FTag: NativeInt;
+ procedure SetTag(const Value: NativeInt);
+ protected
+ function GetLexerHandle: THandle;
+ property LexerHandle: THandle read GetLexerHandle;
+ public
+ constructor Create(AOwner: TComponent); override;
+ destructor Destroy; override;
+ procedure Run;
+ published
+ property Tag: NativeInt read FTag write SetTag default 0;
+ end;
+
+implementation
+
+uses
+ System.IOUtils;
+
+function AllocateLexer: THandle;
+begin
+ Result := 1; // ???
+end;
+
+function GetResult(const AInputString: string): Boolean; // this is hurting
+var
+ LResult: Boolean;
+ LInt: Integer;
+ LIntPtr: PInteger;
+begin
+ Result := False;
+ var
+ Lstring: string := 'string';
+ var
+ LString2: string := '''a '' string''';
+ if string(Lstring + LString2).Equals(AInputString) then Exit(True)
+ else
+ begin
+ var
+ LRes: Integer := 1;
+ LResult := (AInputString <> ('some input' + LRes.ToString));
+ end;
+ if LResult then
+ begin
+ LInt := 66;
+ LIntPtr := @LInt;
+ Result := ((Round(1 + 2 - 0.45 * 7 / 10) > Ord(#10).ToExtended)) = True;
+ if Result then Result := (LIntPtr^ + PInteger(LInt)^) <> 13;
+ end;
+ Beep;
+ try
+ if @Result <> nil then
+ begin
+ Result := 1 = 2;
+ end;
+ finally
+ Beep;
+ end;
+ var
+ s: string := '';
+ s := s + ' ... this will just work, I''m sure';
+ for var res in [1, 2] do
+ begin
+ s := res.ToString + ' ' + s;
+ end;
+ var
+ start: Integer := 0;
+ var
+ &end: Integer := 9;
+ var
+ LChar: Char;
+ Beep;
+ asm
+ test %eax,%eax // fpc
+ mov %fs:(0x2c),%edx // fpc
+ mov $0x1000000,%eax // fpc assembler
+ DB 'a string...',0DH,0AH
+ DW 0FFFFH
+ DD 0FFFFFFFFH
+ CMP AL,"'"
+ JE @@fd3
+ @@fd1: CALL @@fd3
+ SUB EAX,7FFFH
+ @@fd3: MOV AL,[EBX]
+ MOV EAX, [LARGE $42]
+ MOV&LChar, 1
+ end;
+end;
+
+{ TLexerPath }
+
+{$IFDEF MSWINDOWS}
+class function TLexerPath.GetProgramFilesPath: string;
+{$IFDEF WIN32}
+const
+ CBACKUPPATH = '\Program Files (x86)';
+{$ENDIF}
+{$IFDEF WIN64}
+const
+ CBACKUPPATH = '\Program Files';
+{$ENDIF}
+begin
+{$IFDEF WIN32}
+ Result := GetEnvironmentVariable('ProgramFiles(x86)') + CLexerFolder;
+ if Result.IsEmpty then Result := GetSystemDrivePath + CBACKUPPATH + CLexerFolder;
+{$ENDIF}
+{$IFDEF WIN64}
+ Result := GetEnvironmentVariable('ProgramW6432') + CLexerFolder;
+ if Result.IsEmpty then Result := GetSystemDrivePath + CBACKUPPATH + CLexerFolder;
+{$ENDIF}
+end;
+
+class function TLexerPath.GetSystemDrivePath: string;
+const
+ CBACKUPPATH = 'C:';
+begin
+ Result := GetEnvironmentVariable('SystemDrive');
+ if Result.IsEmpty then Result := CBACKUPPATH;
+end;
+{$ENDIF}
+
+class function TLexerPath.GetTempPath: string;
+begin
+ Result := System.IOUtils.TPath.GetTempPath + CLexerFolder;
+end;
+
+{ TLexerTest }
+
+constructor TLexerTest.Create(AOwner: TComponent);
+begin
+ inherited Create(nil);
+ FTag := 10;
+end;
+
+destructor TLexerTest.Destroy;
+begin
+ inherited Destroy;
+end;
+
+function TLexerTest.GetLexerHandle: THandle;
+begin
+ if FLexerHandle = 0 then FLexerHandle := AllocateLexer;
+ Result := FLexerHandle;
+end;
+
+procedure TLexerTest.Run;
+begin
+ // DoIt
+end;
+
+procedure TLexerTest.SetTag(const Value: NativeInt);
+begin
+ if FTag <> Value then FTag := Value;
+end;
+
+initialization
+
+// Unit initialization code...
+
+finalization
+
+// Unit finalization code...
+
+end.
\ No newline at end of file
diff --git a/lexers/testdata/objectpascal.expected b/lexers/testdata/objectpascal.expected
new file mode 100644
index 000000000..0f5a31b51
--- /dev/null
+++ b/lexers/testdata/objectpascal.expected
@@ -0,0 +1,2242 @@
+[
+ {"type":"Text","value":""},
+ {"type":"CommentMultiline","value":"{*******************************************************}"},
+ {"type":"Text","value":"\n"},
+ {"type":"CommentMultiline","value":"{ a totally senseless test unit }"},
+ {"type":"Text","value":"\n"},
+ {"type":"CommentMultiline","value":"{*******************************************************}"},
+ {"type":"Text","value":"\n\n"},
+ {"type":"KeywordReserved","value":"unit"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"UnitLexerTest"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n\n"},
+ {"type":"KeywordReserved","value":"interface"},
+ {"type":"Text","value":"\n\n"},
+ {"type":"KeywordReserved","value":"uses"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"System"},
+ {"type":"Punctuation","value":"."},
+ {"type":"Text","value":"Classes"},
+ {"type":"Punctuation","value":","},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"System"},
+ {"type":"Punctuation","value":"."},
+ {"type":"Text","value":"SysUtils"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n\n"},
+ {"type":"CommentPreproc","value":"{$SCOPEDENUMS ON}"},
+ {"type":"Text","value":"\n\n"},
+ {"type":"KeywordReserved","value":"resourcestring"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"sEIsRunning"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralString","value":"'Cannot perform this operation when test is running.'"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"sENotRunning"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralString","value":"'Test not running.'"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n\n"},
+ {"type":"KeywordReserved","value":"const"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"CUNICODE"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralString","value":"'��'"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"CBUFFERSIZE"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralNumberInteger","value":"1024"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"CLITERALNUMBERFLOAT"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralNumberFloat","value":"0.123"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"CLITERALNUMBERHEX"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralNumberHex","value":"$1F2A3C"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Keyword","value":"platform"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Keyword","value":"deprecated"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"CInteger"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralNumberInteger","value":"123"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"CLo"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralNumberHex","value":"$0A7640000"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"CHi"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralNumberHex","value":"$00DE0B6B3"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"CEXTENDED"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"Extended"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralNumberFloat","value":"1E18"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n\n"},
+ {"type":"KeywordReserved","value":"const"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"EmptyString"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"string"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralString","value":"''"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"NullString"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"PString"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"@"},
+ {"type":"Text","value":"EmptyString"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"CommentMultiline","value":"(*\n This is\n a multiline\n comment block\n *)"},
+ {"type":"Text","value":"\n\n"},
+ {"type":"KeywordReserved","value":"type"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"TState"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"("},
+ {"type":"Text","value":"undefined"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"-"},
+ {"type":"LiteralNumberInteger","value":"1"},
+ {"type":"Punctuation","value":","},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"hidden"},
+ {"type":"Punctuation","value":","},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"showing"},
+ {"type":"Operator","value":")"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"TDataBuffer"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"array"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Punctuation","value":"["},
+ {"type":"LiteralNumberInteger","value":"0"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":".."},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"CBUFFERSIZE"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"-"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralNumberInteger","value":"1"},
+ {"type":"Punctuation","value":"]"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"of"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"AnsiChar"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"TFlag"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"("},
+ {"type":"Keyword","value":"Default"},
+ {"type":"Punctuation","value":","},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"Unicode"},
+ {"type":"Operator","value":")"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"TFlags"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"set"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"of"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"TFlag"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"TIntSet"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"set"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"of"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralNumberInteger","value":"0"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":".."},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"SizeOf"},
+ {"type":"Operator","value":"("},
+ {"type":"KeywordType","value":"Integer"},
+ {"type":"Operator","value":")"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"*"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralNumberInteger","value":"8"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"-"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralNumberInteger","value":"1"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"CommentMultiline","value":"{ This is\n another multiline\n comment block }"},
+ {"type":"Text","value":"\n\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"WRec"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"packed"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"record"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"case"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"Integer"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"of"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralNumberInteger","value":"0"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"("},
+ {"type":"KeywordConstant","value":"Lo"},
+ {"type":"Punctuation","value":","},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordConstant","value":"Hi"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"Byte"},
+ {"type":"Operator","value":")"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralNumberInteger","value":"1"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"("},
+ {"type":"Text","value":"Bytes"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"array"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Punctuation","value":"["},
+ {"type":"LiteralNumberInteger","value":"0"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":".."},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralNumberInteger","value":"1"},
+ {"type":"Punctuation","value":"]"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"of"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"Byte"},
+ {"type":"Operator","value":")"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"end"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"CommentMultiline","value":"{ Comment }"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"CommentSingle","value":"// Comment Single"},
+ {"type":"TextWhitespace","value":"\n"},
+ {"type":"Text","value":"\n"},
+ {"type":"KeywordReserved","value":"const"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"cMultiLineString1"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralString","value":"'''\n some text\n and now '''\n some more text\n '''"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"\n"},
+ {"type":"KeywordReserved","value":"const"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"cMultiLineString2"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralString","value":"'''''\n some text\n and now '''\n some more text\n '''''"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"KeywordReserved","value":"var"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LNativeInt"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"NativeInt"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LNativeUInt"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"NativeUInt"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LLongInt"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"LongInt"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LLongWord"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"LongWord"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LInteger"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"Integer"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LInt64"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"Int64"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LCardinal"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"Cardinal"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LUInt64"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"UInt64"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LShortInt"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"ShortInt"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LSmallInt"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"SmallInt"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LFixedInt"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"FixedInt"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LByte"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"Byte"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LWord"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"Word"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LFixedUInt"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"FixedUInt"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LInt8"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"Int8"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LInt16"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"Int16"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LInt32"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"Int32"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LUInt8"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"UInt8"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LUInt16"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"UInt16"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LUInt32"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"UInt32"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LReal48"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"Real48"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LSingle"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"Single"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LDouble"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"Double"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LReal"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"Real"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LExtended"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"Extended"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LComp"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"Comp"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LCurrency"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"Currency"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LChar"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"Char"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LAnsiChar"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"AnsiChar"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LWideChar"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"WideChar"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LUCS2Char"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"UCS2Char"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LUCS4Char"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"UCS4Char"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"Lstring"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"string"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LShortString"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"ShortString"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LAnsiString"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"AnsiString"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LUnicodeString"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"UnicodeString"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LWideString"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"WideString"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LRawByteString"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"RawByteString"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LUTF8String"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"UTF8String"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LFile"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"File"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LTextFile"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"TextFile"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LText"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"Text"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LBoolean"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"Boolean"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LByteBool"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"ByteBool"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LWordBool"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"WordBool"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LLongBool"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"LongBool"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LPointer"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"Pointer"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LVariant"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"Variant"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LOleVariant"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"OleVariant"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n\n"},
+ {"type":"KeywordReserved","value":"var"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LTSingleRec"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"TSingleRec"},
+ {"type":"Punctuation","value":";"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"CommentSingle","value":"// deprecated"},
+ {"type":"TextWhitespace","value":"\n "},
+ {"type":"Text","value":"LTDoubleRec"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"TDoubleRec"},
+ {"type":"Punctuation","value":";"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"CommentSingle","value":"// deprecated"},
+ {"type":"TextWhitespace","value":"\n "},
+ {"type":"Text","value":"LTExtended80Rec"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"TExtended80Rec"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LTByteArray"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"TByteArray"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LTTextBuf"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"TTextBuf"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LTVarRec"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"TVarRec"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LTWordArray"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"TWordArray"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n\n"},
+ {"type":"KeywordReserved","value":"var"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LPChar"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"PChar"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LPAnsiChar"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"PAnsiChar"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LPWideChar"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"PWideChar"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LPRawByteString"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"PRawByteString"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LPUnicodeString"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"PUnicodeString"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LPString"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"PString"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LPAnsiString"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"PAnsiString"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LPShortString"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"PShortString"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LPTextBuf"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"PTextBuf"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LPWideString"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"PWideString"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LPByte"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"PByte"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LPShortInt"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"PShortInt"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LPWord"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"PWord"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LPSmallInt"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"PSmallInt"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LPCardinal"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"PCardinal"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LPLongWord"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"PLongWord"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LPFixedUInt"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"PFixedUInt"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LPLongint"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"PLongint"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LPFixedInt"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"PFixedInt"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LPUInt64"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"PUInt64"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LPInt64"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"PInt64"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LPNativeUInt"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"PNativeUInt"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LPNativeInt"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"PNativeInt"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LPByteArray"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"PByteArray"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LPCurrency"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"PCurrency"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LPDouble"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"PDouble"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LPExtended"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"PExtended"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LPSingle"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"PSingle"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LPInteger"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"PInteger"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LPOleVariant"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"POleVariant"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LPVarRec"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"PVarRec"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LPVariant"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"PVariant"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LPWordArray"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"PWordArray"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LPBoolean"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"PBoolean"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LPWordBool"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"PWordBool"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LPLongBool"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"PLongBool"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LPPointer"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"PPointer"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n\n"},
+ {"type":"KeywordReserved","value":"type"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"TLexerPath"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"class"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Keyword","value":"strict"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Keyword","value":"private"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"const"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"CLexerFolder"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralString","value":"'\\LEXER'"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"CommentPreproc","value":"{$IFDEF MSWINDOWS}"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"class"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"function"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"GetSystemDrivePath"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"string"},
+ {"type":"Punctuation","value":";"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Keyword","value":"static"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"class"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"function"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"GetProgramFilesPath"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"string"},
+ {"type":"Punctuation","value":";"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Keyword","value":"static"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"CommentPreproc","value":"{$ENDIF}"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"class"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"function"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"GetTempPath"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"string"},
+ {"type":"Punctuation","value":";"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Keyword","value":"static"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Keyword","value":"public"},
+ {"type":"Text","value":"\n"},
+ {"type":"CommentPreproc","value":"{$IFDEF MSWINDOWS}"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"class"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"property"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"SystemDrivePath"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"string"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Keyword","value":"read"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"GetSystemDrivePath"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"class"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"property"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"ProgramFilesPath"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"string"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Keyword","value":"read"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"GetProgramFilesPath"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"CommentPreproc","value":"{$ENDIF}"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"class"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"property"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"TempPath"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"string"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Keyword","value":"read"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"GetTempPath"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"end"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n\n"},
+ {"type":"KeywordReserved","value":"type"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"ILexerTest"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"interface"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Punctuation","value":"["},
+ {"type":"LiteralString","value":"'{F2A3AC58-4CBD-4AFB-8ACC-5AA0DCB6E23E}'"},
+ {"type":"Punctuation","value":"]"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"function"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"GetLexerHandle"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"THandle"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"end"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Punctuation","value":"["},
+ {"type":"Text","value":"ComponentPlatformsAttribute"},
+ {"type":"Operator","value":"("},
+ {"type":"Text","value":"pfidWindows"},
+ {"type":"Operator","value":")"},
+ {"type":"Punctuation","value":"]"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"TLexerTest"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"class"},
+ {"type":"Operator","value":"("},
+ {"type":"Text","value":"TComponent"},
+ {"type":"Punctuation","value":","},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"ILexerTest"},
+ {"type":"Operator","value":")"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Keyword","value":"private"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"FLexerHandle"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"THandle"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"FTag"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"NativeInt"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"procedure"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"SetTag"},
+ {"type":"Operator","value":"("},
+ {"type":"KeywordReserved","value":"const"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"Value"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"NativeInt"},
+ {"type":"Operator","value":")"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Keyword","value":"protected"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"function"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"GetLexerHandle"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"THandle"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"property"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LexerHandle"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"THandle"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Keyword","value":"read"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"GetLexerHandle"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Keyword","value":"public"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"constructor"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"Create"},
+ {"type":"Operator","value":"("},
+ {"type":"Text","value":"AOwner"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"TComponent"},
+ {"type":"Operator","value":")"},
+ {"type":"Punctuation","value":";"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Keyword","value":"override"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"destructor"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"Destroy"},
+ {"type":"Punctuation","value":";"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Keyword","value":"override"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"procedure"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"Run"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Keyword","value":"published"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"property"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"Tag"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"NativeInt"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Keyword","value":"read"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"FTag"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Keyword","value":"write"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"SetTag"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Keyword","value":"default"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralNumberInteger","value":"0"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"end"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n\n"},
+ {"type":"KeywordReserved","value":"implementation"},
+ {"type":"Text","value":"\n\n"},
+ {"type":"KeywordReserved","value":"uses"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"System"},
+ {"type":"Punctuation","value":"."},
+ {"type":"Text","value":"IOUtils"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n\n"},
+ {"type":"KeywordReserved","value":"function"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"AllocateLexer"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"THandle"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"KeywordReserved","value":"begin"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"GenericEmph","value":"Result"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":":="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralNumberInteger","value":"1"},
+ {"type":"Punctuation","value":";"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"CommentSingle","value":"// ???"},
+ {"type":"TextWhitespace","value":"\n"},
+ {"type":"KeywordReserved","value":"end"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n\n"},
+ {"type":"KeywordReserved","value":"function"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"GetResult"},
+ {"type":"Operator","value":"("},
+ {"type":"KeywordReserved","value":"const"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"AInputString"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"string"},
+ {"type":"Operator","value":"):"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"Boolean"},
+ {"type":"Punctuation","value":";"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"CommentSingle","value":"// this is hurting"},
+ {"type":"TextWhitespace","value":"\n"},
+ {"type":"KeywordReserved","value":"var"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LResult"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"Boolean"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LInt"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"Integer"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LIntPtr"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"PInteger"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"KeywordReserved","value":"begin"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"GenericEmph","value":"Result"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":":="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"NameConstant","value":"False"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"var"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"Lstring"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"string"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":":="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralString","value":"'string'"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"var"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LString2"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"string"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":":="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralString","value":"'''a '' string'''"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"if"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"string"},
+ {"type":"Operator","value":"("},
+ {"type":"Text","value":"Lstring"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"+"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LString2"},
+ {"type":"Operator","value":")"},
+ {"type":"Punctuation","value":"."},
+ {"type":"Text","value":"Equals"},
+ {"type":"Operator","value":"("},
+ {"type":"Text","value":"AInputString"},
+ {"type":"Operator","value":")"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"then"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"Exit"},
+ {"type":"Operator","value":"("},
+ {"type":"NameConstant","value":"True"},
+ {"type":"Operator","value":")"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"else"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"begin"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"var"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LRes"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"Integer"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":":="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralNumberInteger","value":"1"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LResult"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":":="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"("},
+ {"type":"Text","value":"AInputString"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"\u003c\u003e"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"("},
+ {"type":"LiteralString","value":"'some input'"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"+"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LRes"},
+ {"type":"Punctuation","value":"."},
+ {"type":"Text","value":"ToString"},
+ {"type":"Operator","value":"))"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"end"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"if"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LResult"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"then"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"begin"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LInt"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":":="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralNumberInteger","value":"66"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LIntPtr"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":":="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"@"},
+ {"type":"Text","value":"LInt"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"GenericEmph","value":"Result"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":":="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"(("},
+ {"type":"Text","value":"Round"},
+ {"type":"Operator","value":"("},
+ {"type":"LiteralNumberInteger","value":"1"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"+"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralNumberInteger","value":"2"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"-"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralNumberFloat","value":"0.45"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"*"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralNumberInteger","value":"7"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"/"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralNumberInteger","value":"10"},
+ {"type":"Operator","value":")"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"\u003e"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"Ord"},
+ {"type":"Operator","value":"(#"},
+ {"type":"LiteralNumberInteger","value":"10"},
+ {"type":"Operator","value":")"},
+ {"type":"Punctuation","value":"."},
+ {"type":"Text","value":"ToExtended"},
+ {"type":"Operator","value":"))"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"NameConstant","value":"True"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"if"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"GenericEmph","value":"Result"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"then"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"GenericEmph","value":"Result"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":":="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"("},
+ {"type":"Text","value":"LIntPtr"},
+ {"type":"Operator","value":"^"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"+"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"PInteger"},
+ {"type":"Operator","value":"("},
+ {"type":"Text","value":"LInt"},
+ {"type":"Operator","value":")^)"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"\u003c\u003e"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralNumberInteger","value":"13"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"end"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"Beep"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"try"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"if"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"@"},
+ {"type":"GenericEmph","value":"Result"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"\u003c\u003e"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"nil"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"then"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"begin"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"GenericEmph","value":"Result"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":":="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralNumberInteger","value":"1"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralNumberInteger","value":"2"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"end"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"finally"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"Beep"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"end"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"var"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"s"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"string"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":":="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralString","value":"'\u003crule pattern=\"\\b(?i:([div][mod][not][and][or][xor][shl][shr][in]))\\b\"\u003e'"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"s"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":":="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"s"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"+"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralString","value":"' ... this will just work, I''m sure'"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"for"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"var"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"res"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"in"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Punctuation","value":"["},
+ {"type":"LiteralNumberInteger","value":"1"},
+ {"type":"Punctuation","value":","},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralNumberInteger","value":"2"},
+ {"type":"Punctuation","value":"]"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"do"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"begin"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"s"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":":="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"res"},
+ {"type":"Punctuation","value":"."},
+ {"type":"Text","value":"ToString"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"+"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralString","value":"' '"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"+"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"s"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"end"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"var"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"start"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"Integer"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":":="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralNumberInteger","value":"0"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"var"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"\u0026"},
+ {"type":"KeywordReserved","value":"end"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"Integer"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":":="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralNumberInteger","value":"9"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"var"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"LChar"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"Char"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"Beep"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"asm"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"test"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"%"},
+ {"type":"Text","value":"eax"},
+ {"type":"Punctuation","value":","},
+ {"type":"Operator","value":"%"},
+ {"type":"Text","value":"eax"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"CommentSingle","value":"// fpc"},
+ {"type":"TextWhitespace","value":"\n "},
+ {"type":"Text","value":"mov"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"%"},
+ {"type":"Text","value":"fs"},
+ {"type":"Operator","value":":("},
+ {"type":"LiteralNumberHex","value":"0x2c"},
+ {"type":"Operator","value":")"},
+ {"type":"Punctuation","value":","},
+ {"type":"Operator","value":"%"},
+ {"type":"Text","value":"edx"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"CommentSingle","value":"// fpc"},
+ {"type":"TextWhitespace","value":"\n "},
+ {"type":"Text","value":"mov"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralNumberHex","value":"$0x1000000"},
+ {"type":"Punctuation","value":","},
+ {"type":"Operator","value":"%"},
+ {"type":"Text","value":"eax"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"CommentSingle","value":"// fpc assembler"},
+ {"type":"TextWhitespace","value":"\n "},
+ {"type":"Text","value":"DB"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralString","value":"'a string...'"},
+ {"type":"Punctuation","value":","},
+ {"type":"LiteralNumberHex","value":"0D"},
+ {"type":"Text","value":"H"},
+ {"type":"Punctuation","value":","},
+ {"type":"LiteralNumberHex","value":"0A"},
+ {"type":"Text","value":"H\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"DW"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralNumberHex","value":"0FFFF"},
+ {"type":"Text","value":"H\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"DD"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralNumberHex","value":"0FFFFFFFF"},
+ {"type":"Text","value":"H\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"CMP"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"AL"},
+ {"type":"Punctuation","value":","},
+ {"type":"LiteralString","value":"\"'\""},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"JE"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"@@"},
+ {"type":"Text","value":"fd3\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"@@"},
+ {"type":"Text","value":"fd1"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"CALL"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"@@"},
+ {"type":"Text","value":"fd3\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"SUB"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"EAX"},
+ {"type":"Punctuation","value":","},
+ {"type":"LiteralNumberHex","value":"7FFF"},
+ {"type":"Text","value":"H\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"@@"},
+ {"type":"Text","value":"fd3"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"MOV"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"AL"},
+ {"type":"Punctuation","value":",["},
+ {"type":"Text","value":"EBX"},
+ {"type":"Punctuation","value":"]"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"MOV"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"EAX"},
+ {"type":"Punctuation","value":","},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Punctuation","value":"["},
+ {"type":"Text","value":"LARGE"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralNumberHex","value":"$42"},
+ {"type":"Punctuation","value":"]"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"MOV"},
+ {"type":"Operator","value":"\u0026"},
+ {"type":"Text","value":"LChar"},
+ {"type":"Punctuation","value":","},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralNumberInteger","value":"1"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"end"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"KeywordReserved","value":"end"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n\n"},
+ {"type":"CommentMultiline","value":"{ TLexerPath }"},
+ {"type":"Text","value":"\n\n"},
+ {"type":"CommentPreproc","value":"{$IFDEF MSWINDOWS}"},
+ {"type":"Text","value":"\n"},
+ {"type":"KeywordReserved","value":"class"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"function"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"TLexerPath"},
+ {"type":"Punctuation","value":"."},
+ {"type":"Text","value":"GetProgramFilesPath"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"string"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"CommentPreproc","value":"{$IFDEF WIN32}"},
+ {"type":"Text","value":"\n"},
+ {"type":"KeywordReserved","value":"const"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"CBACKUPPATH"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralString","value":"'\\Program Files (x86)'"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"CommentPreproc","value":"{$ENDIF}"},
+ {"type":"Text","value":"\n"},
+ {"type":"CommentPreproc","value":"{$IFDEF WIN64}"},
+ {"type":"Text","value":"\n"},
+ {"type":"KeywordReserved","value":"const"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"CBACKUPPATH"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralString","value":"'\\Program Files'"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"CommentPreproc","value":"{$ENDIF}"},
+ {"type":"Text","value":"\n"},
+ {"type":"KeywordReserved","value":"begin"},
+ {"type":"Text","value":"\n"},
+ {"type":"CommentPreproc","value":"{$IFDEF WIN32}"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"GenericEmph","value":"Result"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":":="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"GetEnvironmentVariable"},
+ {"type":"Operator","value":"("},
+ {"type":"LiteralString","value":"'ProgramFiles(x86)'"},
+ {"type":"Operator","value":")"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"+"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"CLexerFolder"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"if"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"GenericEmph","value":"Result"},
+ {"type":"Punctuation","value":"."},
+ {"type":"Text","value":"IsEmpty"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"then"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"GenericEmph","value":"Result"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":":="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"GetSystemDrivePath"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"+"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"CBACKUPPATH"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"+"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"CLexerFolder"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"CommentPreproc","value":"{$ENDIF}"},
+ {"type":"Text","value":"\n"},
+ {"type":"CommentPreproc","value":"{$IFDEF WIN64}"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"GenericEmph","value":"Result"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":":="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"GetEnvironmentVariable"},
+ {"type":"Operator","value":"("},
+ {"type":"LiteralString","value":"'ProgramW6432'"},
+ {"type":"Operator","value":")"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"+"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"CLexerFolder"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"if"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"GenericEmph","value":"Result"},
+ {"type":"Punctuation","value":"."},
+ {"type":"Text","value":"IsEmpty"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"then"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"GenericEmph","value":"Result"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":":="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"GetSystemDrivePath"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"+"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"CBACKUPPATH"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"+"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"CLexerFolder"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"CommentPreproc","value":"{$ENDIF}"},
+ {"type":"Text","value":"\n"},
+ {"type":"KeywordReserved","value":"end"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n\n"},
+ {"type":"KeywordReserved","value":"class"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"function"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"TLexerPath"},
+ {"type":"Punctuation","value":"."},
+ {"type":"Text","value":"GetSystemDrivePath"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"string"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"KeywordReserved","value":"const"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"CBACKUPPATH"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralString","value":"'C:'"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"KeywordReserved","value":"begin"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"GenericEmph","value":"Result"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":":="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"GetEnvironmentVariable"},
+ {"type":"Operator","value":"("},
+ {"type":"LiteralString","value":"'SystemDrive'"},
+ {"type":"Operator","value":")"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"if"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"GenericEmph","value":"Result"},
+ {"type":"Punctuation","value":"."},
+ {"type":"Text","value":"IsEmpty"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"then"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"GenericEmph","value":"Result"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":":="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"CBACKUPPATH"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"KeywordReserved","value":"end"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"CommentPreproc","value":"{$ENDIF}"},
+ {"type":"Text","value":"\n\n"},
+ {"type":"KeywordReserved","value":"class"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"function"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"TLexerPath"},
+ {"type":"Punctuation","value":"."},
+ {"type":"Text","value":"GetTempPath"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"string"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"KeywordReserved","value":"begin"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"GenericEmph","value":"Result"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":":="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"System"},
+ {"type":"Punctuation","value":"."},
+ {"type":"Text","value":"IOUtils"},
+ {"type":"Punctuation","value":"."},
+ {"type":"Text","value":"TPath"},
+ {"type":"Punctuation","value":"."},
+ {"type":"Text","value":"GetTempPath"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"+"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"CLexerFolder"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"KeywordReserved","value":"end"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n\n"},
+ {"type":"CommentMultiline","value":"{ TLexerTest }"},
+ {"type":"Text","value":"\n\n"},
+ {"type":"KeywordReserved","value":"constructor"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"TLexerTest"},
+ {"type":"Punctuation","value":"."},
+ {"type":"Text","value":"Create"},
+ {"type":"Operator","value":"("},
+ {"type":"Text","value":"AOwner"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"TComponent"},
+ {"type":"Operator","value":")"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"KeywordReserved","value":"begin"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"inherited"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"Create"},
+ {"type":"Operator","value":"("},
+ {"type":"KeywordReserved","value":"nil"},
+ {"type":"Operator","value":")"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"FTag"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":":="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralNumberInteger","value":"10"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"KeywordReserved","value":"end"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n\n"},
+ {"type":"KeywordReserved","value":"destructor"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"TLexerTest"},
+ {"type":"Punctuation","value":"."},
+ {"type":"Text","value":"Destroy"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"KeywordReserved","value":"begin"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"inherited"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"Destroy"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"KeywordReserved","value":"end"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n\n"},
+ {"type":"KeywordReserved","value":"function"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"TLexerTest"},
+ {"type":"Punctuation","value":"."},
+ {"type":"Text","value":"GetLexerHandle"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"THandle"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"KeywordReserved","value":"begin"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"if"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"FLexerHandle"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralNumberInteger","value":"0"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"then"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"FLexerHandle"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":":="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"AllocateLexer"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"GenericEmph","value":"Result"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":":="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"FLexerHandle"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"KeywordReserved","value":"end"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n\n"},
+ {"type":"KeywordReserved","value":"procedure"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"TLexerTest"},
+ {"type":"Punctuation","value":"."},
+ {"type":"Text","value":"Run"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"KeywordReserved","value":"begin"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"CommentSingle","value":"// DoIt"},
+ {"type":"TextWhitespace","value":"\n"},
+ {"type":"KeywordReserved","value":"end"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n\n"},
+ {"type":"KeywordReserved","value":"procedure"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"TLexerTest"},
+ {"type":"Punctuation","value":"."},
+ {"type":"Text","value":"SetTag"},
+ {"type":"Operator","value":"("},
+ {"type":"KeywordReserved","value":"const"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"Value"},
+ {"type":"Operator","value":":"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordType","value":"NativeInt"},
+ {"type":"Operator","value":")"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"KeywordReserved","value":"begin"},
+ {"type":"Text","value":"\n"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"if"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"FTag"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"\u003c\u003e"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"Value"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"KeywordReserved","value":"then"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"FTag"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":":="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Text","value":"Value"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n"},
+ {"type":"KeywordReserved","value":"end"},
+ {"type":"Punctuation","value":";"},
+ {"type":"Text","value":"\n\n"},
+ {"type":"KeywordReserved","value":"initialization"},
+ {"type":"Text","value":"\n\n"},
+ {"type":"CommentSingle","value":"// Unit initialization code..."},
+ {"type":"TextWhitespace","value":"\n"},
+ {"type":"Text","value":"\n"},
+ {"type":"KeywordReserved","value":"finalization"},
+ {"type":"Text","value":"\n\n"},
+ {"type":"CommentSingle","value":"// Unit finalization code..."},
+ {"type":"TextWhitespace","value":"\n"},
+ {"type":"Text","value":"\n"},
+ {"type":"KeywordReserved","value":"end"},
+ {"type":"Punctuation","value":"."}
+]