ILIAS  release_5-2 Revision v5.2.25-18-g3f80b82851
delphi.php
Go to the documentation of this file.
1 <?php
2 /*************************************************************************************
3  * delphi.php
4  * ----------
5  * Author: J�rja Norbert (jnorbi@vipmail.hu), Benny Baumann (BenBE@omorphia.de)
6  * Copyright: (c) 2004 J�rja Norbert, Benny Baumann (BenBE@omorphia.de), Nigel McNie (http://qbnz.com/highlighter)
7  * Release Version: 1.0.8.12
8  * Date Started: 2004/07/26
9  *
10  * Delphi (Object Pascal) language file for GeSHi.
11  *
12  * CHANGES
13  * -------
14  * 2012/06/27 (1.0.8.11)
15  * - Added some keywords
16  * - fixed hex numbers and hex char literals (including WideChar)
17  * - Added support for FPC-Style generics
18  * 2008/05/23 (1.0.7.22)
19  * - Added description of extra language features (SF#1970248)
20  * 2005/11/19 (1.0.3)
21  * - Updated the very incomplete keyword and type lists
22  * 2005/09/03 (1.0.2)
23  * - Added support for hex numbers and string entities
24  * 2004/11/27 (1.0.1)
25  * - Added support for multiple object splitters
26  * 2004/10/27 (1.0.0)
27  * - First Release
28  *
29  * TODO (updated 2004/11/27)
30  * -------------------------
31  *
32  *************************************************************************************
33  *
34  * This file is part of GeSHi.
35  *
36  * GeSHi is free software; you can redistribute it and/or modify
37  * it under the terms of the GNU General Public License as published by
38  * the Free Software Foundation; either version 2 of the License, or
39  * (at your option) any later version.
40  *
41  * GeSHi is distributed in the hope that it will be useful,
42  * but WITHOUT ANY WARRANTY; without even the implied warranty of
43  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
44  * GNU General Public License for more details.
45  *
46  * You should have received a copy of the GNU General Public License
47  * along with GeSHi; if not, write to the Free Software
48  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
49  *
50  ************************************************************************************/
51 
53  'LANG_NAME' => 'Delphi',
54  'COMMENT_SINGLE' => array(1 => '//'),
55  'COMMENT_MULTI' => array('(*' => '*)', '{' => '}'),
56  //Compiler directives
57  'COMMENT_REGEXP' => array(2 => '/\\{\\$.*?}|\\(\\*\\$.*?\\*\\)/U'),
58  'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
59  'QUOTEMARKS' => array("'"),
60  'ESCAPE_CHAR' => '',
61 
62  'KEYWORDS' => array(
63  1 => array(
64  'Abstract', 'And', 'Array', 'As', 'Asm', 'At', 'Begin', 'Case',
65  'Class', 'Const', 'Constructor', 'Contains', 'Default', 'delayed', 'Destructor',
66  'DispInterface', 'Div', 'Do', 'DownTo', 'Else', 'End', 'Except',
67  'Export', 'Exports', 'External', 'File', 'Finalization', 'Finally', 'For',
68  'Function', 'Generic', 'Goto', 'If', 'Implementation', 'In', 'Inherited',
69  'Initialization', 'Inline', 'Interface', 'Is', 'Label', 'Library', 'Message',
70  'Mod', 'Nil', 'Not', 'Object', 'Of', 'On', 'Or', 'Overload', 'Override',
71  'Package', 'Packed', 'Private', 'Procedure', 'Program', 'Property',
72  'Protected', 'Public', 'Published', 'Read', 'Raise', 'Record', 'Register',
73  'Repeat', 'Requires', 'Resourcestring', 'Set', 'Shl', 'Shr', 'Specialize', 'Stored',
74  'Then', 'ThreadVar', 'To', 'Try', 'Type', 'Unit', 'Until', 'Uses', 'Var',
75  'Virtual', 'While', 'With', 'Write', 'Xor', 'assembler', 'far',
76  'near', 'pascal', 'cdecl', 'safecall', 'stdcall', 'varargs'
77  ),
78  2 => array(
79  'false', 'self', 'true',
80  ),
81  3 => array(
82  'Abs', 'AcquireExceptionObject', 'Addr', 'AnsiToUtf8', 'Append', 'ArcTan',
83  'Assert', 'AssignFile', 'Assigned', 'BeginThread', 'BlockRead',
84  'BlockWrite', 'Break', 'ChDir', 'Chr', 'Close', 'CloseFile',
85  'CompToCurrency', 'CompToDouble', 'Concat', 'Continue', 'Copy', 'Cos',
86  'Dec', 'Delete', 'Dispose', 'DoubleToComp', 'EndThread', 'EnumModules',
87  'EnumResourceModules', 'Eof', 'Eoln', 'Erase', 'ExceptAddr',
88  'ExceptObject', 'Exclude', 'Exit', 'Exp', 'FilePos', 'FileSize',
89  'FillChar', 'Finalize', 'FindClassHInstance', 'FindHInstance',
90  'FindResourceHInstance', 'Flush', 'Frac', 'FreeMem', 'Get8087CW',
91  'GetDir', 'GetLastError', 'GetMem', 'GetMemoryManager',
92  'GetModuleFileName', 'GetVariantManager', 'Halt', 'Hi', 'High',
93  'IOResult', 'Inc', 'Include', 'Initialize', 'Insert', 'Int',
94  'IsMemoryManagerSet', 'IsVariantManagerSet', 'Length', 'Ln', 'Lo', 'Low',
95  'MkDir', 'Move', 'New', 'Odd', 'OleStrToStrVar', 'OleStrToString', 'Ord',
96  'PUCS4Chars', 'ParamCount', 'ParamStr', 'Pi', 'Pos', 'Pred', 'Ptr',
97  'Random', 'Randomize', 'Read', 'ReadLn', 'ReallocMem',
98  'ReleaseExceptionObject', 'Rename', 'Reset', 'Rewrite', 'RmDir', 'Round',
99  'RunError', 'Seek', 'SeekEof', 'SeekEoln', 'Set8087CW', 'SetLength',
100  'SetLineBreakStyle', 'SetMemoryManager', 'SetString', 'SetTextBuf',
101  'SetVariantManager', 'Sin', 'SizeOf', 'Slice', 'Sqr', 'Sqrt', 'Str',
102  'StringOfChar', 'StringToOleStr', 'StringToWideChar', 'Succ', 'Swap',
103  'Trunc', 'Truncate', 'TypeInfo', 'UCS4StringToWideString', 'UTF8Decode',
104  'UTF8Encode', 'UnicodeToUtf8', 'UniqueString', 'UpCase', 'Utf8ToAnsi',
105  'Utf8ToUnicode', 'Val', 'VarArrayRedim', 'VarClear',
106  'WideCharLenToStrVar', 'WideCharLenToString', 'WideCharToStrVar',
107  'WideCharToString', 'WideStringToUCS4String', 'Write', 'WriteLn',
108 
109  'Abort', 'AddExitProc', 'AddTerminateProc', 'AdjustLineBreaks', 'AllocMem',
110  'AnsiCompareFileName', 'AnsiCompareStr', 'AnsiCompareText',
111  'AnsiDequotedStr', 'AnsiExtractQuotedStr', 'AnsiLastChar',
112  'AnsiLowerCase', 'AnsiLowerCaseFileName', 'AnsiPos', 'AnsiQuotedStr',
113  'AnsiSameStr', 'AnsiSameText', 'AnsiStrComp', 'AnsiStrIComp',
114  'AnsiStrLComp', 'AnsiStrLIComp', 'AnsiStrLastChar', 'AnsiStrLower',
115  'AnsiStrPos', 'AnsiStrRScan', 'AnsiStrScan', 'AnsiStrUpper',
116  'AnsiUpperCase', 'AnsiUpperCaseFileName', 'AppendStr', 'AssignStr',
117  'Beep', 'BoolToStr', 'ByteToCharIndex', 'ByteToCharLen', 'ByteType',
118  'CallTerminateProcs', 'ChangeFileExt', 'CharLength', 'CharToByteIndex',
119  'CharToByteLen', 'CompareMem', 'CompareStr', 'CompareText', 'CreateDir',
120  'CreateGUID', 'CurrToStr', 'CurrToStrF', 'CurrentYear', 'Date',
121  'DateTimeToFileDate', 'DateTimeToStr', 'DateTimeToString',
122  'DateTimeToSystemTime', 'DateTimeToTimeStamp', 'DateToStr', 'DayOfWeek',
123  'DecodeDate', 'DecodeDateFully', 'DecodeTime', 'DeleteFile',
124  'DirectoryExists', 'DiskFree', 'DiskSize', 'DisposeStr', 'EncodeDate',
125  'EncodeTime', 'ExceptionErrorMessage', 'ExcludeTrailingBackslash',
126  'ExcludeTrailingPathDelimiter', 'ExpandFileName', 'ExpandFileNameCase',
127  'ExpandUNCFileName', 'ExtractFileDir', 'ExtractFileDrive',
128  'ExtractFileExt', 'ExtractFileName', 'ExtractFilePath',
129  'ExtractRelativePath', 'ExtractShortPathName', 'FileAge', 'FileClose',
130  'FileCreate', 'FileDateToDateTime', 'FileExists', 'FileGetAttr',
131  'FileGetDate', 'FileIsReadOnly', 'FileOpen', 'FileRead', 'FileSearch',
132  'FileSeek', 'FileSetAttr', 'FileSetDate', 'FileSetReadOnly', 'FileWrite',
133  'FinalizePackage', 'FindClose', 'FindCmdLineSwitch', 'FindFirst',
134  'FindNext', 'FloatToCurr', 'FloatToDateTime', 'FloatToDecimal',
135  'FloatToStr', 'FloatToStrF', 'FloatToText', 'FloatToTextFmt',
136  'FmtLoadStr', 'FmtStr', 'ForceDirectories', 'Format', 'FormatBuf',
137  'FormatCurr', 'FormatDateTime', 'FormatFloat', 'FreeAndNil',
138  'GUIDToString', 'GetCurrentDir', 'GetEnvironmentVariable',
139  'GetFileVersion', 'GetFormatSettings', 'GetLocaleFormatSettings',
140  'GetModuleName', 'GetPackageDescription', 'GetPackageInfo', 'GetTime',
141  'IncAMonth', 'IncMonth', 'IncludeTrailingBackslash',
142  'IncludeTrailingPathDelimiter', 'InitializePackage', 'IntToHex',
143  'IntToStr', 'InterlockedDecrement', 'InterlockedExchange',
144  'InterlockedExchangeAdd', 'InterlockedIncrement', 'IsDelimiter',
145  'IsEqualGUID', 'IsLeapYear', 'IsPathDelimiter', 'IsValidIdent',
146  'Languages', 'LastDelimiter', 'LoadPackage', 'LoadStr', 'LowerCase',
147  'MSecsToTimeStamp', 'NewStr', 'NextCharIndex', 'Now', 'OutOfMemoryError',
148  'QuotedStr', 'RaiseLastOSError', 'RaiseLastWin32Error', 'RemoveDir',
149  'RenameFile', 'ReplaceDate', 'ReplaceTime', 'SafeLoadLibrary',
150  'SameFileName', 'SameText', 'SetCurrentDir', 'ShowException', 'Sleep',
151  'StrAlloc', 'StrBufSize', 'StrByteType', 'StrCat', 'StrCharLength',
152  'StrComp', 'StrCopy', 'StrDispose', 'StrECopy', 'StrEnd', 'StrFmt',
153  'StrIComp', 'StrLCat', 'StrLComp', 'StrLCopy', 'StrLFmt', 'StrLIComp',
154  'StrLen', 'StrLower', 'StrMove', 'StrNew', 'StrNextChar', 'StrPCopy',
155  'StrPLCopy', 'StrPas', 'StrPos', 'StrRScan', 'StrScan', 'StrToBool',
156  'StrToBoolDef', 'StrToCurr', 'StrToCurrDef', 'StrToDate', 'StrToDateDef',
157  'StrToDateTime', 'StrToDateTimeDef', 'StrToFloat', 'StrToFloatDef',
158  'StrToInt', 'StrToInt64', 'StrToInt64Def', 'StrToIntDef', 'StrToTime',
159  'StrToTimeDef', 'StrUpper', 'StringReplace', 'StringToGUID', 'Supports',
160  'SysErrorMessage', 'SystemTimeToDateTime', 'TextToFloat', 'Time',
161  'TimeStampToDateTime', 'TimeStampToMSecs', 'TimeToStr', 'Trim',
162  'TrimLeft', 'TrimRight', 'TryEncodeDate', 'TryEncodeTime',
163  'TryFloatToCurr', 'TryFloatToDateTime', 'TryStrToBool', 'TryStrToCurr',
164  'TryStrToDate', 'TryStrToDateTime', 'TryStrToFloat', 'TryStrToInt',
165  'TryStrToInt64', 'TryStrToTime', 'UnloadPackage', 'UpperCase',
166  'WideCompareStr', 'WideCompareText', 'WideFmtStr', 'WideFormat',
167  'WideFormatBuf', 'WideLowerCase', 'WideSameStr', 'WideSameText',
168  'WideUpperCase', 'Win32Check', 'WrapText',
169 
170  'ActivateClassGroup', 'AllocateHwnd', 'BinToHex', 'CheckSynchronize',
171  'CollectionsEqual', 'CountGenerations', 'DeallocateHwnd', 'EqualRect',
172  'ExtractStrings', 'FindClass', 'FindGlobalComponent', 'GetClass',
173  'GroupDescendantsWith', 'HexToBin', 'IdentToInt',
174  'InitInheritedComponent', 'IntToIdent', 'InvalidPoint',
175  'IsUniqueGlobalComponentName', 'LineStart', 'ObjectBinaryToText',
176  'ObjectResourceToText', 'ObjectTextToBinary', 'ObjectTextToResource',
177  'PointsEqual', 'ReadComponentRes', 'ReadComponentResEx',
178  'ReadComponentResFile', 'Rect', 'RegisterClass', 'RegisterClassAlias',
179  'RegisterClasses', 'RegisterComponents', 'RegisterIntegerConsts',
180  'RegisterNoIcon', 'RegisterNonActiveX', 'SmallPoint', 'StartClassGroup',
181  'TestStreamFormat', 'UnregisterClass', 'UnregisterClasses',
182  'UnregisterIntegerConsts', 'UnregisterModuleClasses',
183  'WriteComponentResFile',
184 
185  'ArcCos', 'ArcCosh', 'ArcCot', 'ArcCotH', 'ArcCsc', 'ArcCscH', 'ArcSec',
186  'ArcSecH', 'ArcSin', 'ArcSinh', 'ArcTan2', 'ArcTanh', 'Ceil',
187  'CompareValue', 'Cosecant', 'Cosh', 'Cot', 'CotH', 'Cotan', 'Csc', 'CscH',
188  'CycleToDeg', 'CycleToGrad', 'CycleToRad', 'DegToCycle', 'DegToGrad',
189  'DegToRad', 'DivMod', 'DoubleDecliningBalance', 'EnsureRange', 'Floor',
190  'Frexp', 'FutureValue', 'GetExceptionMask', 'GetPrecisionMode',
191  'GetRoundMode', 'GradToCycle', 'GradToDeg', 'GradToRad', 'Hypot',
192  'InRange', 'IntPower', 'InterestPayment', 'InterestRate',
193  'InternalRateOfReturn', 'IsInfinite', 'IsNan', 'IsZero', 'Ldexp', 'LnXP1',
194  'Log10', 'Log2', 'LogN', 'Max', 'MaxIntValue', 'MaxValue', 'Mean',
195  'MeanAndStdDev', 'Min', 'MinIntValue', 'MinValue', 'MomentSkewKurtosis',
196  'NetPresentValue', 'Norm', 'NumberOfPeriods', 'Payment', 'PeriodPayment',
197  'Poly', 'PopnStdDev', 'PopnVariance', 'Power', 'PresentValue',
198  'RadToCycle', 'RadToDeg', 'RadToGrad', 'RandG', 'RandomRange', 'RoundTo',
199  'SLNDepreciation', 'SYDDepreciation', 'SameValue', 'Sec', 'SecH',
200  'Secant', 'SetExceptionMask', 'SetPrecisionMode', 'SetRoundMode', 'Sign',
201  'SimpleRoundTo', 'SinCos', 'Sinh', 'StdDev', 'Sum', 'SumInt',
202  'SumOfSquares', 'SumsAndSquares', 'Tan', 'Tanh', 'TotalVariance',
203  'Variance'
204  ),
205  4 => array(
206  'AnsiChar', 'AnsiString', 'Bool', 'Boolean', 'Byte', 'ByteBool', 'Cardinal', 'Char',
207  'Comp', 'Currency', 'DWORD', 'Double', 'Extended', 'Int64', 'Integer', 'IUnknown',
208  'LongBool', 'LongInt', 'LongWord', 'PAnsiChar', 'PAnsiString', 'PBool', 'PBoolean', 'PByte',
209  'PByteArray', 'PCardinal', 'PChar', 'PComp', 'PCurrency', 'PDWORD', 'PDate', 'PDateTime',
210  'PDouble', 'PExtended', 'PInt64', 'PInteger', 'PLongInt', 'PLongWord', 'Pointer', 'PPointer',
211  'PShortInt', 'PShortString', 'PSingle', 'PSmallInt', 'PString', 'PHandle', 'PVariant', 'PWord',
212  'PWordArray', 'PWordBool', 'PWideChar', 'PWideString', 'Real', 'Real48', 'ShortInt', 'ShortString',
213  'Single', 'SmallInt', 'String', 'TClass', 'TDate', 'TDateTime', 'TextFile', 'THandle',
214  'TObject', 'TTime', 'Variant', 'WideChar', 'WideString', 'Word', 'WordBool'
215  ),
216  ),
217  'CASE_SENSITIVE' => array(
218  GESHI_COMMENTS => false,
219  1 => false,
220  2 => false,
221  3 => false,
222  4 => false,
223  ),
224  'SYMBOLS' => array(
225  0 => array('(', ')', '[', ']'),
226  1 => array('.', ',', ':', ';'),
227  2 => array('@', '^'),
228  3 => array('=', '+', '-', '*', '/')
229  ),
230  'STYLES' => array(
231  'KEYWORDS' => array(
232  1 => 'color: #000000; font-weight: bold;',
233  2 => 'color: #000000; font-weight: bold;',
234  3 => 'color: #000066;',
235  4 => 'color: #000066; font-weight: bold;'
236  ),
237  'COMMENTS' => array(
238  1 => 'color: #808080; font-style: italic;',
239  2 => 'color: #008000; font-style: italic;',
240  'MULTI' => 'color: #808080; font-style: italic;'
241  ),
242  'ESCAPE_CHAR' => array(
243  0 => 'color: #ff0000; font-weight: bold;'
244  ),
245  'BRACKETS' => array(
246  0 => 'color: #000066;'
247  ),
248  'STRINGS' => array(
249  0 => 'color: #ff0000;'
250  ),
251  'NUMBERS' => array(
252  0 => 'color: #0000ff;'
253  ),
254  'METHODS' => array(
255  1 => 'color: #006600;'
256  ),
257  'REGEXPS' => array(
258  0 => 'color: #0000cc;',
259  1 => 'color: #ff0000;'
260  ),
261  'SYMBOLS' => array(
262  0 => 'color: #000066;',
263  1 => 'color: #000066;',
264  2 => 'color: #000066;',
265  3 => 'color: #000066;'
266  ),
267  'SCRIPT' => array(
268  )
269  ),
270  'URLS' => array(
271  1 => '',
272  2 => '',
273  3 => '',
274  4 => ''
275  ),
276  'OOLANG' => true,
277  'OBJECT_SPLITTERS' => array(
278  1 => '.'
279  ),
280  'REGEXPS' => array(
281  //Hex numbers
282  0 => '(?<!\#)\$[0-9a-fA-F]+(?!\w)',
283  //Characters
284  1 => '\#(?:\$[0-9a-fA-F]{1,4}|\d{1,5})'
285  ),
286  'STRICT_MODE_APPLIES' => GESHI_NEVER,
287  'SCRIPT_DELIMITERS' => array(
288  ),
289  'HIGHLIGHT_STRICT_BLOCK' => array(
290  ),
291  'TAB_WIDTH' => 2,
292  'PARSER_CONTROL' => array(
293  'KEYWORDS' => array(
294  3 => array(
295  'DISALLOWED_AFTER' => '(?=\s*[(;])'
296  )
297  )
298  )
299 );
const GESHI_COMMENTS
Used in language files to mark comments.
Definition: geshi.php:150
Create styles array
The data for the language used.
$language_data
Definition: delphi.php:52
const GESHI_NEVER
#+ private
Definition: geshi.php:124
const GESHI_CAPS_NO_CHANGE
Lowercase keywords found.
Definition: geshi.php:95