Files
HeidiSQL/components/synedit/Source/SynHighlighterJScript.pas

4914 lines
156 KiB
ObjectPascal

{-------------------------------------------------------------------------------
The contents of this file are subject to the Mozilla Public License
Version 1.1 (the "License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.mozilla.org/MPL/
Software distributed under the License is distributed on an "AS IS" basis,
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
the specific language governing rights and limitations under the License.
The Original Code is: SynHighlighterJScript.pas, released 2000-04-14.
The Original Code is based on the mwJScript.pas file from the
mwEdit component suite by Martin Waldenburg and other developers, the Initial
Author of this file is Tony de Buys.
Unicode translation by Maël Hörz.
All Rights Reserved.
Contributors to the SynEdit and mwEdit projects are listed in the
Contributors.txt file.
Alternatively, the contents of this file may be used under the terms of the
GNU General Public License Version 2 or later (the "GPL"), in which case
the provisions of the GPL are applicable instead of those above.
If you wish to allow use of your version of this file only under the terms
of the GPL and not to allow others to use your version of this file
under the MPL, indicate your decision by deleting the provisions above and
replace them with the notice and other provisions required by the GPL.
If you do not delete the provisions above, a recipient may use your version
of this file under either the MPL or the GPL.
$Id: SynHighlighterJScript.pas,v 1.21.2.8 2008/09/14 16:25:00 maelh Exp $
You may retrieve the latest version of this file at the SynEdit home page,
located at http://SynEdit.SourceForge.net
Known Issues:
-------------------------------------------------------------------------------}
{
@abstract(Provides a JavaScript/JScript highlighter for SynEdit)
@author(Tony De Buys [tony@lad.co.za], converted to SynEdit by David Muir <david@loanhead45.freeserve.co.uk>)
@created(December 1999, converted to SynEdit April 14, 2000)
@lastmod(2000-06-23)
The SynHighlighterJScript unit provides SynEdit with a JScript/JavaScript (.js) highlighter.
The highlighter formats JavaScript source code highlighting keywords, strings, numbers and characters.
}
{$IFNDEF QSYNHIGHLIGHTERJSCRIPT}
unit SynHighlighterJScript;
{$ENDIF}
{$I SynEdit.Inc}
interface
uses
{$IFDEF SYN_CLX}
QGraphics,
QSynEditTypes,
QSynEditHighlighter,
QSynUnicode,
{$ELSE}
Graphics,
Registry,
SynEditTypes,
SynEditHighlighter,
SynUnicode,
{$ENDIF}
{$IFDEF SYN_CodeFolding}
SynEditCodeFolding,
{$ENDIF}
SysUtils,
Classes;
type
TtkTokenKind = (tkComment, tkIdentifier, tkKey, tkNull, tkNumber, tkSpace,
tkString, tkSymbol, tkUnknown, tkNonReservedKey, tkEvent);
TRangeState = (rsUnknown, rsANSI);
PIdentFuncTableFunc = ^TIdentFuncTableFunc;
TIdentFuncTableFunc = function (Index: Integer): TtkTokenKind of object;
type
{$IFDEF SYN_CodeFolding}
TSynJScriptSyn = class(TSynCustomCodeFoldingHighlighter)
{$ELSE}
TSynJScriptSyn = class(TSynCustomHighLighter)
{$ENDIF}
private
FRange: TRangeState;
FTokenID: TtkTokenKind;
FIdentFuncTable: array[0..5152] of TIdentFuncTableFunc;
FCommentAttri: TSynHighlighterAttributes;
FIdentifierAttri: TSynHighlighterAttributes;
FKeyAttri: TSynHighlighterAttributes;
FNonReservedKeyAttri: TSynHighlighterAttributes;
FEventAttri: TSynHighlighterAttributes;
FNumberAttri: TSynHighlighterAttributes;
FSpaceAttri: TSynHighlighterAttributes;
FStringAttri: TSynHighlighterAttributes;
FSymbolAttri: TSynHighlighterAttributes;
function AltFunc(Index: Integer): TtkTokenKind;
function FuncAbs(Index: Integer): TtkTokenKind;
function FuncAbstract(Index: Integer): TtkTokenKind;
function FuncAcos(Index: Integer): TtkTokenKind;
function FuncAction(Index: Integer): TtkTokenKind;
function FuncAlert(Index: Integer): TtkTokenKind;
function FuncAlign(Index: Integer): TtkTokenKind;
function FuncAlinkcolor(Index: Integer): TtkTokenKind;
function FuncAll(Index: Integer): TtkTokenKind;
function FuncAnchor(Index: Integer): TtkTokenKind;
function FuncAnchors(Index: Integer): TtkTokenKind;
function FuncAppcodename(Index: Integer): TtkTokenKind;
function FuncApplet(Index: Integer): TtkTokenKind;
function FuncApplets(Index: Integer): TtkTokenKind;
function FuncAppname(Index: Integer): TtkTokenKind;
function FuncAppversion(Index: Integer): TtkTokenKind;
function FuncArea(Index: Integer): TtkTokenKind;
function FuncArguments(Index: Integer): TtkTokenKind;
function FuncArray(Index: Integer): TtkTokenKind;
function FuncAsin(Index: Integer): TtkTokenKind;
function FuncAtan(Index: Integer): TtkTokenKind;
function FuncAtan2(Index: Integer): TtkTokenKind;
function FuncBack(Index: Integer): TtkTokenKind;
function FuncBackground(Index: Integer): TtkTokenKind;
function FuncBgcolor(Index: Integer): TtkTokenKind;
function FuncBig(Index: Integer): TtkTokenKind;
function FuncBlink(Index: Integer): TtkTokenKind;
function FuncBlur(Index: Integer): TtkTokenKind;
function FuncBody(Index: Integer): TtkTokenKind;
function FuncBold(Index: Integer): TtkTokenKind;
function FuncBoolean(Index: Integer): TtkTokenKind;
function FuncBoolean2(Index: Integer): TtkTokenKind;
function FuncBorder(Index: Integer): TtkTokenKind;
function FuncBottom(Index: Integer): TtkTokenKind;
function FuncBreak(Index: Integer): TtkTokenKind;
function FuncButton(Index: Integer): TtkTokenKind;
function FuncByte(Index: Integer): TtkTokenKind;
function FuncCall(Index: Integer): TtkTokenKind;
function FuncCallee(Index: Integer): TtkTokenKind;
function FuncCaller(Index: Integer): TtkTokenKind;
function FuncCaptureevents(Index: Integer): TtkTokenKind;
function FuncCase(Index: Integer): TtkTokenKind;
function FuncCatch(Index: Integer): TtkTokenKind;
function FuncCeil(Index: Integer): TtkTokenKind;
function FuncChar(Index: Integer): TtkTokenKind;
function FuncCharat(Index: Integer): TtkTokenKind;
function FuncCharcodeat(Index: Integer): TtkTokenKind;
function FuncCheckbox(Index: Integer): TtkTokenKind;
function FuncChecked(Index: Integer): TtkTokenKind;
function FuncClass(Index: Integer): TtkTokenKind;
function FuncClear(Index: Integer): TtkTokenKind;
function FuncClearinterval(Index: Integer): TtkTokenKind;
function FuncCleartimeout(Index: Integer): TtkTokenKind;
function FuncClick(Index: Integer): TtkTokenKind;
function FuncClose(Index: Integer): TtkTokenKind;
function FuncClosed(Index: Integer): TtkTokenKind;
function FuncColor(Index: Integer): TtkTokenKind;
function FuncComplete(Index: Integer): TtkTokenKind;
function FuncConcat(Index: Integer): TtkTokenKind;
function FuncConfirm(Index: Integer): TtkTokenKind;
function FuncConst(Index: Integer): TtkTokenKind;
function FuncConstructor(Index: Integer): TtkTokenKind;
function FuncContinue(Index: Integer): TtkTokenKind;
function FuncCookie(Index: Integer): TtkTokenKind;
function FuncCos(Index: Integer): TtkTokenKind;
function FuncCurrent(Index: Integer): TtkTokenKind;
function FuncDate(Index: Integer): TtkTokenKind;
function FuncDebugger(Index: Integer): TtkTokenKind;
function FuncDefault(Index: Integer): TtkTokenKind;
function FuncDefaultchecked(Index: Integer): TtkTokenKind;
function FuncDefaultselected(Index: Integer): TtkTokenKind;
function FuncDefaultstatus(Index: Integer): TtkTokenKind;
function FuncDefaultvalue(Index: Integer): TtkTokenKind;
function FuncDelete(Index: Integer): TtkTokenKind;
function FuncDescription(Index: Integer): TtkTokenKind;
function FuncDisplay(Index: Integer): TtkTokenKind;
function FuncDo(Index: Integer): TtkTokenKind;
function FuncDocument(Index: Integer): TtkTokenKind;
function FuncDomain(Index: Integer): TtkTokenKind;
function FuncDouble(Index: Integer): TtkTokenKind;
function FuncE(Index: Integer): TtkTokenKind;
function FuncElements(Index: Integer): TtkTokenKind;
function FuncElse(Index: Integer): TtkTokenKind;
function FuncEmbed(Index: Integer): TtkTokenKind;
function FuncEmbeds(Index: Integer): TtkTokenKind;
function FuncEnabledplugin(Index: Integer): TtkTokenKind;
function FuncEncoding(Index: Integer): TtkTokenKind;
function FuncEnum(Index: Integer): TtkTokenKind;
function FuncEscape(Index: Integer): TtkTokenKind;
function FuncEval(Index: Integer): TtkTokenKind;
function FuncEvent(Index: Integer): TtkTokenKind;
function FuncExp(Index: Integer): TtkTokenKind;
function FuncExport(Index: Integer): TtkTokenKind;
function FuncExtends(Index: Integer): TtkTokenKind;
function FuncFalse(Index: Integer): TtkTokenKind;
function FuncFgcolor(Index: Integer): TtkTokenKind;
function FuncFilename(Index: Integer): TtkTokenKind;
function FuncFileupload(Index: Integer): TtkTokenKind;
function FuncFinal(Index: Integer): TtkTokenKind;
function FuncFinally(Index: Integer): TtkTokenKind;
function FuncFind(Index: Integer): TtkTokenKind;
function FuncFixed(Index: Integer): TtkTokenKind;
function FuncFloat(Index: Integer): TtkTokenKind;
function FuncFloat2(Index: Integer): TtkTokenKind;
function FuncFloor(Index: Integer): TtkTokenKind;
function FuncFocus(Index: Integer): TtkTokenKind;
function FuncFontcolor(Index: Integer): TtkTokenKind;
function FuncFontsize(Index: Integer): TtkTokenKind;
function FuncFor(Index: Integer): TtkTokenKind;
function FuncForm(Index: Integer): TtkTokenKind;
function FuncForms(Index: Integer): TtkTokenKind;
function FuncForward(Index: Integer): TtkTokenKind;
function FuncFrame(Index: Integer): TtkTokenKind;
function FuncFrames(Index: Integer): TtkTokenKind;
function FuncFromcharcode(Index: Integer): TtkTokenKind;
function FuncFunction(Index: Integer): TtkTokenKind;
function FuncFunction2(Index: Integer): TtkTokenKind;
function FuncGetdate(Index: Integer): TtkTokenKind;
function FuncGetday(Index: Integer): TtkTokenKind;
function FuncGetelementbyid(Index: Integer): TtkTokenKind;
function FuncGetfullyear(Index: Integer): TtkTokenKind;
function FuncGethours(Index: Integer): TtkTokenKind;
function FuncGetmilliseconds(Index: Integer): TtkTokenKind;
function FuncGetminutes(Index: Integer): TtkTokenKind;
function FuncGetmonth(Index: Integer): TtkTokenKind;
function FuncGetseconds(Index: Integer): TtkTokenKind;
function FuncGettime(Index: Integer): TtkTokenKind;
function FuncGettimezoneoffset(Index: Integer): TtkTokenKind;
function FuncGetutcdate(Index: Integer): TtkTokenKind;
function FuncGetutcday(Index: Integer): TtkTokenKind;
function FuncGetutcfullyear(Index: Integer): TtkTokenKind;
function FuncGetutchours(Index: Integer): TtkTokenKind;
function FuncGetutcmilliseconds(Index: Integer): TtkTokenKind;
function FuncGetutcminutes(Index: Integer): TtkTokenKind;
function FuncGetutcmonth(Index: Integer): TtkTokenKind;
function FuncGetutcseconds(Index: Integer): TtkTokenKind;
function FuncGetyear(Index: Integer): TtkTokenKind;
function FuncGlobal(Index: Integer): TtkTokenKind;
function FuncGo(Index: Integer): TtkTokenKind;
function FuncGoto(Index: Integer): TtkTokenKind;
function FuncHandleevent(Index: Integer): TtkTokenKind;
function FuncHash(Index: Integer): TtkTokenKind;
function FuncHeight(Index: Integer): TtkTokenKind;
function FuncHidden(Index: Integer): TtkTokenKind;
function FuncHistory(Index: Integer): TtkTokenKind;
function FuncHome(Index: Integer): TtkTokenKind;
function FuncHost(Index: Integer): TtkTokenKind;
function FuncHostname(Index: Integer): TtkTokenKind;
function FuncHref(Index: Integer): TtkTokenKind;
function FuncHspace(Index: Integer): TtkTokenKind;
function FuncIf(Index: Integer): TtkTokenKind;
function FuncImage(Index: Integer): TtkTokenKind;
function FuncImages(Index: Integer): TtkTokenKind;
function FuncImplements(Index: Integer): TtkTokenKind;
function FuncImport(Index: Integer): TtkTokenKind;
function FuncIn(Index: Integer): TtkTokenKind;
function FuncIndex(Index: Integer): TtkTokenKind;
function FuncIndexof(Index: Integer): TtkTokenKind;
function FuncInfinity(Index: Integer): TtkTokenKind;
function FuncInnerheight(Index: Integer): TtkTokenKind;
function FuncInnerwidth(Index: Integer): TtkTokenKind;
function FuncInput(Index: Integer): TtkTokenKind;
function FuncInstanceof(Index: Integer): TtkTokenKind;
function FuncInt(Index: Integer): TtkTokenKind;
function FuncInterface(Index: Integer): TtkTokenKind;
function FuncIsfinite(Index: Integer): TtkTokenKind;
function FuncIsnan(Index: Integer): TtkTokenKind;
function FuncItalics(Index: Integer): TtkTokenKind;
function FuncJava(Index: Integer): TtkTokenKind;
function FuncJavaenabled(Index: Integer): TtkTokenKind;
function FuncJoin(Index: Integer): TtkTokenKind;
function FuncLastindexof(Index: Integer): TtkTokenKind;
function FuncLastmodified(Index: Integer): TtkTokenKind;
function FuncLayer(Index: Integer): TtkTokenKind;
function FuncLayers(Index: Integer): TtkTokenKind;
function FuncLeft(Index: Integer): TtkTokenKind;
function FuncLength(Index: Integer): TtkTokenKind;
function FuncLink(Index: Integer): TtkTokenKind;
function FuncLinkcolor(Index: Integer): TtkTokenKind;
function FuncLinks(Index: Integer): TtkTokenKind;
function FuncLn10(Index: Integer): TtkTokenKind;
function FuncLn2(Index: Integer): TtkTokenKind;
function FuncLocation(Index: Integer): TtkTokenKind;
function FuncLocationbar(Index: Integer): TtkTokenKind;
function FuncLog(Index: Integer): TtkTokenKind;
function FuncLog10e(Index: Integer): TtkTokenKind;
function FuncLog2e(Index: Integer): TtkTokenKind;
function FuncLogon(Index: Integer): TtkTokenKind;
function FuncLong(Index: Integer): TtkTokenKind;
function FuncLowsrc(Index: Integer): TtkTokenKind;
function FuncMatch(Index: Integer): TtkTokenKind;
function FuncMath(Index: Integer): TtkTokenKind;
function FuncMax(Index: Integer): TtkTokenKind;
function FuncMax_value(Index: Integer): TtkTokenKind;
function FuncMenubar(Index: Integer): TtkTokenKind;
function FuncMethod(Index: Integer): TtkTokenKind;
function FuncMimetype(Index: Integer): TtkTokenKind;
function FuncMimetypes(Index: Integer): TtkTokenKind;
function FuncMin(Index: Integer): TtkTokenKind;
function FuncMin_value(Index: Integer): TtkTokenKind;
function FuncMoveby(Index: Integer): TtkTokenKind;
function FuncMoveto(Index: Integer): TtkTokenKind;
function FuncName(Index: Integer): TtkTokenKind;
function FuncNan(Index: Integer): TtkTokenKind;
function FuncNative(Index: Integer): TtkTokenKind;
function FuncNavigator(Index: Integer): TtkTokenKind;
function FuncNegative_infinity(Index: Integer): TtkTokenKind;
function FuncNetscape(Index: Integer): TtkTokenKind;
function FuncNew(Index: Integer): TtkTokenKind;
function FuncNext(Index: Integer): TtkTokenKind;
function FuncNull(Index: Integer): TtkTokenKind;
function FuncNull2(Index: Integer): TtkTokenKind;
function FuncNumber(Index: Integer): TtkTokenKind;
function FuncObject(Index: Integer): TtkTokenKind;
function FuncOnabort(Index: Integer): TtkTokenKind;
function FuncOnblur(Index: Integer): TtkTokenKind;
function FuncOnchange(Index: Integer): TtkTokenKind;
function FuncOnclick(Index: Integer): TtkTokenKind;
function FuncOndblclick(Index: Integer): TtkTokenKind;
function FuncOnerror(Index: Integer): TtkTokenKind;
function FuncOnfocus(Index: Integer): TtkTokenKind;
function FuncOnkeydown(Index: Integer): TtkTokenKind;
function FuncOnkeypress(Index: Integer): TtkTokenKind;
function FuncOnkeyup(Index: Integer): TtkTokenKind;
function FuncOnload(Index: Integer): TtkTokenKind;
function FuncOnmousedown(Index: Integer): TtkTokenKind;
function FuncOnmousemove(Index: Integer): TtkTokenKind;
function FuncOnmouseout(Index: Integer): TtkTokenKind;
function FuncOnmouseover(Index: Integer): TtkTokenKind;
function FuncOnmouseup(Index: Integer): TtkTokenKind;
function FuncOnreset(Index: Integer): TtkTokenKind;
function FuncOnselect(Index: Integer): TtkTokenKind;
function FuncOnsubmit(Index: Integer): TtkTokenKind;
function FuncOnunload(Index: Integer): TtkTokenKind;
function FuncOpen(Index: Integer): TtkTokenKind;
function FuncOpener(Index: Integer): TtkTokenKind;
function FuncOption(Index: Integer): TtkTokenKind;
function FuncOptions(Index: Integer): TtkTokenKind;
function FuncOuterheight(Index: Integer): TtkTokenKind;
function FuncOuterwidth(Index: Integer): TtkTokenKind;
function FuncPackage(Index: Integer): TtkTokenKind;
function FuncPackages(Index: Integer): TtkTokenKind;
function FuncPagex(Index: Integer): TtkTokenKind;
function FuncPagexoffset(Index: Integer): TtkTokenKind;
function FuncPagey(Index: Integer): TtkTokenKind;
function FuncPageyoffset(Index: Integer): TtkTokenKind;
function FuncParent(Index: Integer): TtkTokenKind;
function FuncParse(Index: Integer): TtkTokenKind;
function FuncParsefloat(Index: Integer): TtkTokenKind;
function FuncParseint(Index: Integer): TtkTokenKind;
function FuncPassword(Index: Integer): TtkTokenKind;
function FuncPathname(Index: Integer): TtkTokenKind;
function FuncPersonalbar(Index: Integer): TtkTokenKind;
function FuncPi(Index: Integer): TtkTokenKind;
function FuncPlatform(Index: Integer): TtkTokenKind;
function FuncPlugin(Index: Integer): TtkTokenKind;
function FuncPlugins(Index: Integer): TtkTokenKind;
function FuncPort(Index: Integer): TtkTokenKind;
function FuncPositive_infinity(Index: Integer): TtkTokenKind;
function FuncPow(Index: Integer): TtkTokenKind;
function FuncPrevious(Index: Integer): TtkTokenKind;
function FuncPrint(Index: Integer): TtkTokenKind;
function FuncPrivate(Index: Integer): TtkTokenKind;
function FuncPrompt(Index: Integer): TtkTokenKind;
function FuncProtected(Index: Integer): TtkTokenKind;
function FuncProtocol(Index: Integer): TtkTokenKind;
function FuncPrototype(Index: Integer): TtkTokenKind;
function FuncPublic(Index: Integer): TtkTokenKind;
function FuncRadio(Index: Integer): TtkTokenKind;
function FuncRandom(Index: Integer): TtkTokenKind;
function FuncReferrer(Index: Integer): TtkTokenKind;
function FuncRefresh(Index: Integer): TtkTokenKind;
function FuncRegexp(Index: Integer): TtkTokenKind;
function FuncReleaseevents(Index: Integer): TtkTokenKind;
function FuncReload(Index: Integer): TtkTokenKind;
function FuncReplace(Index: Integer): TtkTokenKind;
function FuncReset(Index: Integer): TtkTokenKind;
function FuncResizeby(Index: Integer): TtkTokenKind;
function FuncResizeto(Index: Integer): TtkTokenKind;
function FuncReturn(Index: Integer): TtkTokenKind;
function FuncReverse(Index: Integer): TtkTokenKind;
function FuncRight(Index: Integer): TtkTokenKind;
function FuncRound(Index: Integer): TtkTokenKind;
function FuncRouteevent(Index: Integer): TtkTokenKind;
function FuncScreen(Index: Integer): TtkTokenKind;
function FuncScroll(Index: Integer): TtkTokenKind;
function FuncScrollbars(Index: Integer): TtkTokenKind;
function FuncScrollby(Index: Integer): TtkTokenKind;
function FuncScrollto(Index: Integer): TtkTokenKind;
function FuncSearch(Index: Integer): TtkTokenKind;
function FuncSelect(Index: Integer): TtkTokenKind;
function FuncSelected(Index: Integer): TtkTokenKind;
function FuncSelectedindex(Index: Integer): TtkTokenKind;
function FuncSelf(Index: Integer): TtkTokenKind;
function FuncSetdate(Index: Integer): TtkTokenKind;
function FuncSetfullyear(Index: Integer): TtkTokenKind;
function FuncSethours(Index: Integer): TtkTokenKind;
function FuncSetinterval(Index: Integer): TtkTokenKind;
function FuncSetmilliseconds(Index: Integer): TtkTokenKind;
function FuncSetminutes(Index: Integer): TtkTokenKind;
function FuncSetmonth(Index: Integer): TtkTokenKind;
function FuncSetseconds(Index: Integer): TtkTokenKind;
function FuncSettime(Index: Integer): TtkTokenKind;
function FuncSettimeout(Index: Integer): TtkTokenKind;
function FuncSetutcdate(Index: Integer): TtkTokenKind;
function FuncSetutcfullyear(Index: Integer): TtkTokenKind;
function FuncSetutchours(Index: Integer): TtkTokenKind;
function FuncSetutcmilliseconds(Index: Integer): TtkTokenKind;
function FuncSetutcminutes(Index: Integer): TtkTokenKind;
function FuncSetutcmonth(Index: Integer): TtkTokenKind;
function FuncSetutcseconds(Index: Integer): TtkTokenKind;
function FuncSetyear(Index: Integer): TtkTokenKind;
function FuncShort(Index: Integer): TtkTokenKind;
function FuncSin(Index: Integer): TtkTokenKind;
function FuncSlice(Index: Integer): TtkTokenKind;
function FuncSmall(Index: Integer): TtkTokenKind;
function FuncSort(Index: Integer): TtkTokenKind;
function FuncSplit(Index: Integer): TtkTokenKind;
function FuncSqrt(Index: Integer): TtkTokenKind;
function FuncSqrt1_2(Index: Integer): TtkTokenKind;
function FuncSqrt2(Index: Integer): TtkTokenKind;
function FuncSrc(Index: Integer): TtkTokenKind;
function FuncStart(Index: Integer): TtkTokenKind;
function FuncStatic(Index: Integer): TtkTokenKind;
function FuncStatus(Index: Integer): TtkTokenKind;
function FuncStatusbar(Index: Integer): TtkTokenKind;
function FuncStop(Index: Integer): TtkTokenKind;
function FuncStrike(Index: Integer): TtkTokenKind;
function FuncString(Index: Integer): TtkTokenKind;
function FuncStyle(Index: Integer): TtkTokenKind;
function FuncSub(Index: Integer): TtkTokenKind;
function FuncSubmit(Index: Integer): TtkTokenKind;
function FuncSubstr(Index: Integer): TtkTokenKind;
function FuncSubstring(Index: Integer): TtkTokenKind;
function FuncSuffixes(Index: Integer): TtkTokenKind;
function FuncSup(Index: Integer): TtkTokenKind;
function FuncSuper(Index: Integer): TtkTokenKind;
function FuncSwitch(Index: Integer): TtkTokenKind;
function FuncSynchronized(Index: Integer): TtkTokenKind;
function FuncTags(Index: Integer): TtkTokenKind;
function FuncTaint(Index: Integer): TtkTokenKind;
function FuncTaintenabled(Index: Integer): TtkTokenKind;
function FuncTan(Index: Integer): TtkTokenKind;
function FuncTarget(Index: Integer): TtkTokenKind;
function FuncText(Index: Integer): TtkTokenKind;
function FuncTextarea(Index: Integer): TtkTokenKind;
function FuncThis(Index: Integer): TtkTokenKind;
function FuncThrow(Index: Integer): TtkTokenKind;
function FuncThrows(Index: Integer): TtkTokenKind;
function FuncTitle(Index: Integer): TtkTokenKind;
function FuncTogmtstring(Index: Integer): TtkTokenKind;
function FuncTolocalestring(Index: Integer): TtkTokenKind;
function FuncTolowercase(Index: Integer): TtkTokenKind;
function FuncToolbar(Index: Integer): TtkTokenKind;
function FuncTop(Index: Integer): TtkTokenKind;
function FuncTosource(Index: Integer): TtkTokenKind;
function FuncTostring(Index: Integer): TtkTokenKind;
function FuncTouppercase(Index: Integer): TtkTokenKind;
function FuncToutcstring(Index: Integer): TtkTokenKind;
function FuncTransient(Index: Integer): TtkTokenKind;
function FuncTrue(Index: Integer): TtkTokenKind;
function FuncTry(Index: Integer): TtkTokenKind;
function FuncType(Index: Integer): TtkTokenKind;
function FuncTypeof(Index: Integer): TtkTokenKind;
function FuncUndefined(Index: Integer): TtkTokenKind;
function FuncUnescape(Index: Integer): TtkTokenKind;
function FuncUntaint(Index: Integer): TtkTokenKind;
function FuncUnwatch(Index: Integer): TtkTokenKind;
function FuncUrl(Index: Integer): TtkTokenKind;
function FuncUseragent(Index: Integer): TtkTokenKind;
function FuncUtc(Index: Integer): TtkTokenKind;
function FuncValue(Index: Integer): TtkTokenKind;
function FuncValueof(Index: Integer): TtkTokenKind;
function FuncVar(Index: Integer): TtkTokenKind;
function FuncVisibility(Index: Integer): TtkTokenKind;
function FuncVlinkcolor(Index: Integer): TtkTokenKind;
function FuncVoid(Index: Integer): TtkTokenKind;
function FuncVspace(Index: Integer): TtkTokenKind;
function FuncWatch(Index: Integer): TtkTokenKind;
function FuncWhile(Index: Integer): TtkTokenKind;
function FuncWidth(Index: Integer): TtkTokenKind;
function FuncWindow(Index: Integer): TtkTokenKind;
function FuncWith(Index: Integer): TtkTokenKind;
function FuncWrite(Index: Integer): TtkTokenKind;
function FuncWriteln(Index: Integer): TtkTokenKind;
function FuncZindex(Index: Integer): TtkTokenKind;
function HashKey(Str: PWideChar): Cardinal;
function IdentKind(MayBe: PWideChar): TtkTokenKind;
procedure InitIdent;
procedure AndSymbolProc;
procedure CommentProc;
procedure CRProc;
procedure IdentProc;
procedure LFProc;
procedure MinusProc;
procedure ModSymbolProc;
procedure NullProc;
procedure NumberProc;
procedure OrSymbolProc;
procedure PlusProc;
procedure PointProc;
procedure SlashProc;
procedure SpaceProc;
procedure StarProc;
procedure StringProc;
procedure SymbolProc;
procedure UnknownProc;
protected
function GetSampleSource: UnicodeString; override;
function IsFilterStored: Boolean; override;
public
class function GetLanguageName: string; override;
class function GetFriendlyLanguageName: UnicodeString; override;
public
constructor Create(AOwner: TComponent); override;
function GetDefaultAttribute(Index: Integer): TSynHighlighterAttributes;
override;
function GetEol: Boolean; override;
function GetRange: Pointer; override;
function GetTokenID: TtkTokenKind;
function GetTokenAttribute: TSynHighlighterAttributes; override;
function GetTokenKind: Integer; override;
procedure Next; override;
procedure SetRange(Value: Pointer); override;
procedure ResetRange; override;
{$IFDEF SYN_CodeFolding}
procedure ScanForFoldRanges(FoldRanges: TSynFoldRanges;
LinesToScan: TStrings; FromLine: Integer; ToLine: Integer); override;
{$ENDIF}
published
property CommentAttri: TSynHighlighterAttributes read FCommentAttri
write FCommentAttri;
property IdentifierAttri: TSynHighlighterAttributes read FIdentifierAttri
write FIdentifierAttri;
property KeyAttri: TSynHighlighterAttributes read FKeyAttri write FKeyAttri;
property NonReservedKeyAttri: TSynHighlighterAttributes read FNonReservedKeyAttri write FNonReservedKeyAttri;
property EventAttri: TSynHighlighterAttributes read FEventAttri write FEventAttri;
property NumberAttri: TSynHighlighterAttributes read FNumberAttri
write FNumberAttri;
property SpaceAttri: TSynHighlighterAttributes read FSpaceAttri
write FSpaceAttri;
property StringAttri: TSynHighlighterAttributes read FStringAttri
write FStringAttri;
property SymbolAttri: TSynHighlighterAttributes read FSymbolAttri
write FSymbolAttri;
end;
implementation
uses
{$IFDEF SYN_CLX}
QSynEditStrConst, Variants;
{$ELSE}
SynEditStrConst;
{$ENDIF}
const
KeyWords: array[0..398] of UnicodeString = (
'abs', 'abstract', 'acos', 'action', 'alert', 'align', 'alinkColor', 'all',
'All', 'anchor', 'Anchor', 'anchors', 'appCodeName', 'Applet', 'applets',
'appName', 'appVersion', 'Area', 'arguments', 'Arguments', 'Array', 'asin',
'atan', 'atan2', 'back', 'background', 'bgColor', 'big', 'blink', 'blur',
'body', 'bold', 'boolean', 'Boolean', 'border', 'bottom', 'break', 'Button',
'byte', 'call', 'callee', 'caller', 'captureEvents', 'case', 'catch',
'ceil', 'char', 'charAt', 'charCodeAt', 'Checkbox', 'checked', 'class',
'clear', 'clearInterval', 'clearTimeout', 'click', 'close', 'closed',
'color', 'complete', 'concat', 'confirm', 'const', 'constructor',
'continue', 'cookie', 'cos', 'current', 'Date', 'debugger', 'default',
'defaultChecked', 'defaultSelected', 'defaultStatus', 'defaultValue',
'delete', 'description', 'display', 'do', 'document', 'domain', 'double',
'E', 'elements', 'else', 'Embed', 'embeds', 'enabledPlugin', 'encoding',
'enum', 'escape', 'eval', 'event', 'exp', 'export', 'extends', 'false',
'fgColor', 'filename', 'FileUpload', 'final', 'finally', 'find', 'fixed',
'float', 'Float', 'floor', 'focus', 'fontcolor', 'fontsize', 'for', 'form',
'Form', 'forms', 'forward', 'Frame', 'frames', 'fromCharCode', 'function',
'Function', 'getDate', 'getDay', 'getElementById', 'getFullYear',
'getHours', 'getMilliseconds', 'getMinutes', 'getMonth', 'getSeconds',
'getTime', 'getTimezoneOffset', 'getUTCDate', 'getUTCDay', 'getUTCFullYear',
'getUTCHours', 'getUTCMilliseconds', 'getUTCMinutes', 'getUTCMonth',
'getUTCSeconds', 'getYear', 'Global', 'go', 'goto', 'handleEvent', 'hash',
'height', 'Hidden', 'history', 'History', 'home', 'host', 'hostname',
'href', 'hspace', 'if', 'Image', 'images', 'implements', 'import', 'in',
'index', 'indexOf', 'Infinity', 'innerHeight', 'innerWidth', 'input',
'instanceof', 'int', 'interface', 'isFinite', 'isNaN', 'italics', 'java',
'javaEnabled', 'join', 'lastIndexOf', 'lastModified', 'Layer', 'layers',
'left', 'length', 'link', 'Link', 'linkColor', 'links', 'LN10', 'LN2',
'location', 'Location', 'locationbar', 'log', 'LOG10E', 'LOG2E', 'logon',
'long', 'lowsrc', 'match', 'Math', 'max', 'MAX_VALUE', 'menubar', 'method',
'MimeType', 'mimeTypes', 'min', 'MIN_VALUE', 'moveBy', 'moveTo', 'name',
'NaN', 'native', 'navigator', 'Navigator', 'NEGATIVE_INFINITY', 'netscape',
'new', 'next', 'null', 'Null', 'Number', 'Object', 'onAbort', 'onBlur',
'onChange', 'onClick', 'onDblClick', 'onError', 'onFocus', 'onKeyDown',
'onKeyPress', 'onKeyUp', 'onLoad', 'onMouseDown', 'onMouseMove',
'onMouseOut', 'onMouseOver', 'onMouseUp', 'onReset', 'onSelect', 'onSubmit',
'onUnload', 'open', 'opener', 'Option', 'options', 'outerHeight',
'outerWidth', 'package', 'Packages', 'pageX', 'pageXOffset', 'pageY',
'pageYOffset', 'parent', 'parse', 'parseFloat', 'parseInt', 'Password',
'pathname', 'personalbar', 'PI', 'platform', 'Plugin', 'plugins', 'port',
'POSITIVE_INFINITY', 'pow', 'previous', 'print', 'private', 'prompt',
'protected', 'protocol', 'prototype', 'public', 'Radio', 'random',
'referrer', 'refresh', 'RegExp', 'releaseEvents', 'reload', 'replace',
'reset', 'Reset', 'resizeBy', 'resizeTo', 'return', 'reverse', 'right',
'round', 'routeEvent', 'screen', 'scroll', 'scrollbars', 'scrollBy',
'scrollTo', 'search', 'select', 'Select', 'selected', 'selectedIndex',
'self', 'setDate', 'setFullYear', 'setHours', 'setInterval',
'setMilliseconds', 'setMinutes', 'setMonth', 'setSeconds', 'setTime',
'setTimeout', 'setUTCDate', 'setUTCFullYear', 'setUTCHours',
'setUTCMilliseconds', 'setUTCMinutes', 'setUTCMonth', 'setUTCSeconds',
'setYear', 'short', 'sin', 'slice', 'small', 'sort', 'split', 'sqrt',
'SQRT1_2', 'SQRT2', 'src', 'start', 'static', 'status', 'statusbar', 'stop',
'strike', 'String', 'style', 'sub', 'submit', 'Submit', 'substr',
'substring', 'suffixes', 'sup', 'super', 'switch', 'synchronized', 'tags',
'taint', 'taintEnabled', 'tan', 'target', 'text', 'Text', 'Textarea',
'this', 'throw', 'throws', 'title', 'toGMTString', 'toLocaleString',
'toLowerCase', 'toolbar', 'top', 'toSource', 'toString', 'toUpperCase',
'toUTCString', 'transient', 'true', 'try', 'type', 'typeof', 'undefined',
'Undefined', 'unescape', 'untaint', 'unwatch', 'URL', 'userAgent', 'UTC',
'value', 'valueOf', 'var', 'visibility', 'vlinkColor', 'void', 'vspace',
'watch', 'while', 'width', 'window', 'Window', 'with', 'write', 'writeln',
'zIndex'
);
KeyIndices: array[0..5152] of Integer = (
-1, -1, -1, -1, -1, -1, -1, -1, -1, 231, -1, -1, -1, -1, -1, 296, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 55,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 292, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 168, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 208, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 200, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 295, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 75, 351, -1, -1, -1, -1, -1, -1, 315, 37, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 239, -1, -1, -1, -1, -1, 326, -1, -1, -1, 31,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 143, -1, 99, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 339, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 241, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 235, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 204, -1, -1, -1, -1, -1, -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
-1, -1, 16, 52, 389, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
259, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 331, 30, -1, -1, -1, -1, -1, -1,
-1, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 304, -1, 396, 2, -1, -1, 323, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 167,
-1, -1, -1, -1, -1, -1, -1, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, 34, -1,
-1, -1, -1, 203, -1, -1, -1, -1, -1, -1, 38, -1, -1, -1, -1, -1, 83, -1, -1,
-1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
268, -1, -1, -1, -1, -1, -1, -1, -1, 182, -1, -1, -1, -1, -1, 246, 18, -1,
-1, -1, -1, -1, 209, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 220, 161,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 134, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 332, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 229, -1, -1, -1, -1, -1, -1, -1, 157, 319, -1, 210, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 234, -1, -1, -1, -1, -1, -1, -1, -1, -1, 105,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 381, 78, -1,
-1, -1, -1, -1, -1, -1, 257, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 219, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 196, -1, -1, -1, -1, -1, 379, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 363, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 309, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 386, 146, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 103, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 269, -1, -1, -1, 199, 172, -1, 15, 123, -1, -1, -1, -1, -1, -1, -1, 136,
-1, -1, -1, 128, -1, -1, -1, -1, 366, -1, -1, 185, -1, -1, -1, -1, 153, -1,
-1, -1, -1, 388, -1, -1, 165, -1, -1, -1, -1, -1, -1, 338, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 360, -1, -1,
194, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 77, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 307, -1, -1, -1, -1, -1, -1, -1, 258, -1,
-1, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 180, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 69, -1, -1, -1, -1, -1, -1, 129, -1, -1,
-1, -1, -1, -1, -1, -1, 120, -1, -1, 95, -1, 233, -1, -1, -1, -1, -1, -1,
-1, -1, 40, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 160, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 90, 282, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 341, 232, 121, 155, -1,
-1, -1, -1, -1, 247, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 74, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 170, -1, -1, -1, -1, 298, -1,
-1, -1, -1, -1, -1, -1, 114, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 271, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 324, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 70, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 197, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 91, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 106, -1, -1, 237, -1, -1, -1, -1, -1, 6,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 240, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 250, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 205, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 238, -1, -1, -1,
-1, -1, -1, -1, -1, 275, -1, -1, -1, -1, -1, -1, -1, -1, -1, 287, -1, -1,
-1, -1, -1, -1, -1, 227, -1, -1, 383, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
58, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 29, 148, 171, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 392, -1, -1, -1, -1, -1, 125, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 201, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 135, -1, -1, 212,
-1, -1, -1, -1, -1, -1, 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, 272, -1, -1,
-1, -1, -1, -1, -1, -1, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 334,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 289, -1, -1, -1, -1, 312, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 385, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 51, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 104, -1, -1, -1, -1, -1, -1, 371, 76,
-1, -1, 330, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 68, -1, -1, -1, -1, -1, -1, 225, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 119, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 13, -1, -1, -1, 156, -1, 23, -1, -1, -1, -1, -1, -1,
-1, -1, 280, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 178, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 277, -1, -1, -1, -1, -1, -1, 17, -1, -1, -1, -1, -1, -1, -1, 93, -1,
-1, -1, -1, -1, -1, -1, 202, -1, 5, 343, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 255, -1, -1, -1, -1, -1, -1, -1,
-1, 43, -1, -1, -1, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 333, -1, -1, -1, -1, -1, 12, -1, -1, -1, -1, 139,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 320, -1, -1, -1, -1, -1, -1,
214, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 152, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 278, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 302, 316, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 137, -1, -1, -1,
254, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 86, -1, -1, -1, -1, -1, -1, -1, -1, 345, -1, -1, 144, -1, -1, -1, 7,
-1, -1, 306, -1, -1, -1, -1, 113, -1, -1, -1, -1, -1, -1, 308, -1, -1, -1,
-1, 357, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 36, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 361, -1, -1, -1, -1, -1, -1, -1, 195, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 387, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 169, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 376, -1, -1, -1, -1, 188, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 359, 98, -1, -1, -1,
-1, -1, -1, -1, 11, -1, -1, -1, -1, -1, 116, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 299, -1, -1, -1, 369, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 54, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 147, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
356, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 8, -1, 300, -1, -1, 228, 59, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 213, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 179, -1, -1, -1, -1, -1,
-1, -1, 176, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 350, -1, -1, -1, -1,
-1, -1, 284, -1, -1, -1, 256, -1, -1, 276, -1, -1, -1, -1, -1, -1, -1, -1,
190, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 102, -1, 230, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 35, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 72, -1, 71, 26, -1, -1, -1, -1,
-1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 322, -1, -1, 175, -1, -1, 393, -1, 124, 85, -1, -1, -1, -1,
-1, -1, -1, -1, 150, -1, 236, -1, -1, -1, -1, -1, -1, -1, -1, -1, 140, -1,
-1, -1, -1, -1, -1, 183, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 111, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 20, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
42, 244, -1, -1, -1, -1, -1, -1, -1, 47, 313, -1, 41, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 63, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 64,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
294, -1, -1, -1, -1, -1, -1, -1, -1, 374, -1, -1, -1, -1, -1, -1, -1, 245,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 347, -1, -1, -1, -1, -1, -1, -1, 391, -1, -1, -1, -1, -1, -1, -1,
217, -1, -1, -1, 87, -1, -1, -1, 329, -1, -1, -1, -1, -1, -1, -1, -1, -1,
39, -1, -1, -1, -1, -1, -1, -1, -1, 189, -1, -1, 222, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 174, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
274, -1, -1, -1, -1, 33, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
382, -1, -1, -1, 138, 226, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 192, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 24, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, -1,
-1, -1, 318, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 335,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 260, -1, -1, -1, -1, -1, -1, 191, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 288, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 342, -1, -1, -1, -1, -1, -1,
61, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 377, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 132, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 158, -1, -1, 166, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, 57,
-1, -1, -1, 211, -1, -1, -1, -1, 243, -1, -1, -1, -1, -1, 264, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 321, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 207, -1, -1,
216, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
149, -1, -1, -1, -1, -1, 89, -1, -1, -1, -1, -1, -1, -1, 48, -1, -1, 293,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 117, -1, -1, -1, -1, 242, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56,
-1, 154, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 92, 193, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
325, 126, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 206, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 372, -1, -1, -1, 380, -1, -1,
352, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 263, -1, -1, -1, -1, -1, -1, -1, 373, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 286, -1, 46, -1, -1, -1, -1, 184, -1, -1, -1, -1, -1, -1, 19,
-1, -1, -1, 25, -1, -1, -1, -1, -1, -1, -1, 367, -1, -1, -1, -1, -1, 270,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 283,
-1, -1, -1, -1, -1, -1, -1, -1, 151, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1,
-1, -1, -1, -1, 398, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 252,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 355, -1, -1, 365, -1, -1, -1,
-1, -1, -1, -1, -1, 28, -1, -1, 378, -1, -1, -1, -1, 354, -1, -1, -1, -1,
-1, -1, -1, -1, 349, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 97, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 107, -1, -1, -1, -1, 285,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 21, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 215, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 198, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 81, 394, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 358, -1, -1, -1, -1, -1, -1, -1, 173, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 224, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 181, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 375,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 9, -1, -1, -1, -1, -1, 305, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 141,
281, 115, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, -1, -1, -1, -1, -1,
-1, -1, 261, -1, -1, -1, -1, 265, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
273, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, -1, 290, -1, 66, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 112, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
131, -1, 279, -1, -1, -1, 249, -1, -1, -1, -1, -1, -1, 223, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 49, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 297, -1, -1, -1, -1,
127, -1, -1, 142, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 53, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 364, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 88, -1, -1, -1, -1, -1, -1, 248, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 395, 251, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 45, -1, -1, -1, -1, -1, -1, -1, -1, 80, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 310, -1, 218, -1, -1, -1, -1, -1, -1, 187, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 130, 390, -1, -1, -1, -1, -1, -1, -1,
328, -1, 221, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 336, -1, -1, -1, -1, -1, -1, 311, -1, -1, -1, -1,
-1, -1, -1, -1, 303, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 108, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 344, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 337, -1, -1, -1, -1, -1, 262, -1, -1, -1, -1,
-1, -1, -1, 267, -1, -1, -1, -1, -1, -1, -1, 253, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 397, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 162, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 109, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 346, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 348, 159, -1, -1, -1, -1, -1, -1, -1,
368, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 370, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 164, -1, 314, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 291, -1, -1, -1, -1, -1, -1, 384, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 82, -1, -1, -1, -1, -1, -1, 340, -1, -1,
-1, -1, -1, -1, 317, -1, 79, -1, -1, -1, -1, 133, -1, -1, -1, -1, -1, -1,
353, -1, 301, -1, -1, -1, -1, -1, -1, 163, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 266, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 186, -1, -1, -1
);
{$Q-}
function TSynJScriptSyn.HashKey(Str: PWideChar): Cardinal;
begin
Result := 0;
while IsIdentChar(Str^) do
begin
Result := Result * 751 + Ord(Str^) * 148;
Inc(Str);
end;
Result := Result mod 5153;
FStringLen := Str - FToIdent;
end;
{$Q+}
function TSynJScriptSyn.IdentKind(MayBe: PWideChar): TtkTokenKind;
var
Key: Cardinal;
begin
FToIdent := MayBe;
Key := HashKey(MayBe);
if Key <= High(FIdentFuncTable) then
Result := FIdentFuncTable[Key](KeyIndices[Key])
else
Result := tkIdentifier;
end;
procedure TSynJScriptSyn.InitIdent;
var
i: Integer;
begin
for i := Low(FIdentFuncTable) to High(FIdentFuncTable) do
if KeyIndices[i] = -1 then
FIdentFuncTable[i] := AltFunc;
FIdentFuncTable[4966] := FuncAbs;
FIdentFuncTable[2170] := FuncAbstract;
FIdentFuncTable[520] := FuncAcos;
FIdentFuncTable[319] := FuncAction;
FIdentFuncTable[4368] := FuncAlert;
FIdentFuncTable[2070] := FuncAlign;
FIdentFuncTable[1500] := FuncAlinkcolor;
FIdentFuncTable[2362] := FuncAll;
FIdentFuncTable[2706] := FuncAll;
FIdentFuncTable[4383] := FuncAnchor;
FIdentFuncTable[491] := FuncAnchor;
FIdentFuncTable[2516] := FuncAnchors;
FIdentFuncTable[2207] := FuncAppcodename;
FIdentFuncTable[1993] := FuncApplet;
FIdentFuncTable[1805] := FuncApplets;
FIdentFuncTable[965] := FuncAppname;
FIdentFuncTable[416] := FuncAppversion;
FIdentFuncTable[2052] := FuncArea;
FIdentFuncTable[618] := FuncArguments;
FIdentFuncTable[3950] := FuncArguments;
FIdentFuncTable[2987] := FuncArray;
FIdentFuncTable[4131] := FuncAsin;
FIdentFuncTable[5117] := FuncAtan;
FIdentFuncTable[1999] := FuncAtan2;
FIdentFuncTable[3356] := FuncBack;
FIdentFuncTable[3954] := FuncBackground;
FIdentFuncTable[2882] := FuncBgcolor;
FIdentFuncTable[1824] := FuncBig;
FIdentFuncTable[4067] := FuncBlink;
FIdentFuncTable[1709] := FuncBlur;
FIdentFuncTable[483] := FuncBody;
FIdentFuncTable[243] := FuncBold;
FIdentFuncTable[4200] := FuncBoolean;
FIdentFuncTable[3265] := FuncBoolean2;
FIdentFuncTable[563] := FuncBorder;
FIdentFuncTable[2857] := FuncBottom;
FIdentFuncTable[2410] := FuncBreak;
FIdentFuncTable[223] := FuncButton;
FIdentFuncTable[575] := FuncByte;
FIdentFuncTable[3204] := FuncCall;
FIdentFuncTable[1125] := FuncCallee;
FIdentFuncTable[3049] := FuncCaller;
FIdentFuncTable[3037] := FuncCaptureevents;
FIdentFuncTable[2101] := FuncCase;
FIdentFuncTable[2105] := FuncCatch;
FIdentFuncTable[4662] := FuncCeil;
FIdentFuncTable[3938] := FuncChar;
FIdentFuncTable[3046] := FuncCharat;
FIdentFuncTable[3724] := FuncCharcodeat;
FIdentFuncTable[4522] := FuncCheckbox;
FIdentFuncTable[2127] := FuncChecked;
FIdentFuncTable[1908] := FuncClass;
FIdentFuncTable[417] := FuncClear;
FIdentFuncTable[4574] := FuncClearinterval;
FIdentFuncTable[2626] := FuncCleartimeout;
FIdentFuncTable[55] := FuncClick;
FIdentFuncTable[3783] := FuncClose;
FIdentFuncTable[3615] := FuncClosed;
FIdentFuncTable[1688] := FuncColor;
FIdentFuncTable[2712] := FuncComplete;
FIdentFuncTable[2889] := FuncConcat;
FIdentFuncTable[3503] := FuncConfirm;
FIdentFuncTable[820] := FuncConst;
FIdentFuncTable[3079] := FuncConstructor;
FIdentFuncTable[3092] := FuncContinue;
FIdentFuncTable[4022] := FuncCookie;
FIdentFuncTable[4452] := FuncCos;
FIdentFuncTable[1188] := FuncCurrent;
FIdentFuncTable[1955] := FuncDate;
FIdentFuncTable[1095] := FuncDebugger;
FIdentFuncTable[1389] := FuncDefault;
FIdentFuncTable[2881] := FuncDefaultchecked;
FIdentFuncTable[2879] := FuncDefaultselected;
FIdentFuncTable[3607] := FuncDefaultstatus;
FIdentFuncTable[1234] := FuncDefaultvalue;
FIdentFuncTable[214] := FuncDelete;
FIdentFuncTable[1929] := FuncDescription;
FIdentFuncTable[1046] := FuncDisplay;
FIdentFuncTable[748] := FuncDo;
FIdentFuncTable[5075] := FuncDocument;
FIdentFuncTable[4671] := FuncDomain;
FIdentFuncTable[4176] := FuncDouble;
FIdentFuncTable[5059] := FuncE;
FIdentFuncTable[581] := FuncElements;
FIdentFuncTable[4413] := FuncElse;
FIdentFuncTable[2919] := FuncEmbed;
FIdentFuncTable[2346] := FuncEmbeds;
FIdentFuncTable[3190] := FuncEnabledplugin;
FIdentFuncTable[4627] := FuncEncoding;
FIdentFuncTable[3716] := FuncEnum;
FIdentFuncTable[1147] := FuncEscape;
FIdentFuncTable[1465] := FuncEval;
FIdentFuncTable[3807] := FuncEvent;
FIdentFuncTable[2060] := FuncExp;
FIdentFuncTable[1298] := FuncExport;
FIdentFuncTable[1114] := FuncExtends;
FIdentFuncTable[1069] := FuncFalse;
FIdentFuncTable[4097] := FuncFgcolor;
FIdentFuncTable[2508] := FuncFilename;
FIdentFuncTable[271] := FuncFileupload;
FIdentFuncTable[3365] := FuncFinal;
FIdentFuncTable[587] := FuncFinally;
FIdentFuncTable[2843] := FuncFind;
FIdentFuncTable[931] := FuncFixed;
FIdentFuncTable[1921] := FuncFloat;
FIdentFuncTable[730] := FuncFloat2;
FIdentFuncTable[1491] := FuncFloor;
FIdentFuncTable[4111] := FuncFocus;
FIdentFuncTable[4774] := FuncFontcolor;
FIdentFuncTable[4932] := FuncFontsize;
FIdentFuncTable[407] := FuncFor;
FIdentFuncTable[2968] := FuncForm;
FIdentFuncTable[4469] := FuncForm;
FIdentFuncTable[2370] := FuncForms;
FIdentFuncTable[1279] := FuncForward;
FIdentFuncTable[4402] := FuncFrame;
FIdentFuncTable[2522] := FuncFrames;
FIdentFuncTable[3737] := FuncFromcharcode;
FIdentFuncTable[2666] := FuncFunction;
FIdentFuncTable[1982] := FuncFunction2;
FIdentFuncTable[1111] := FuncGetdate;
FIdentFuncTable[1176] := FuncGetday;
FIdentFuncTable[553] := FuncGetelementbyid;
FIdentFuncTable[966] := FuncGetfullyear;
FIdentFuncTable[2918] := FuncGethours;
FIdentFuncTable[1735] := FuncGetmilliseconds;
FIdentFuncTable[3823] := FuncGetminutes;
FIdentFuncTable[4549] := FuncGetmonth;
FIdentFuncTable[978] := FuncGetseconds;
FIdentFuncTable[1102] := FuncGettime;
FIdentFuncTable[4707] := FuncGettimezoneoffset;
FIdentFuncTable[4493] := FuncGetutcdate;
FIdentFuncTable[3536] := FuncGetutcday;
FIdentFuncTable[5080] := FuncGetutcfullyear;
FIdentFuncTable[671] := FuncGetutchours;
FIdentFuncTable[1795] := FuncGetutcmilliseconds;
FIdentFuncTable[974] := FuncGetutcminutes;
FIdentFuncTable[2302] := FuncGetutcmonth;
FIdentFuncTable[3282] := FuncGetutcseconds;
FIdentFuncTable[2212] := FuncGetyear;
FIdentFuncTable[2940] := FuncGlobal;
FIdentFuncTable[4400] := FuncGo;
FIdentFuncTable[4552] := FuncGoto;
FIdentFuncTable[269] := FuncHandleevent;
FIdentFuncTable[2358] := FuncHash;
FIdentFuncTable[380] := FuncHeight;
FIdentFuncTable[911] := FuncHidden;
FIdentFuncTable[2645] := FuncHistory;
FIdentFuncTable[1710] := FuncHistory;
FIdentFuncTable[3710] := FuncHome;
FIdentFuncTable[2928] := FuncHost;
FIdentFuncTable[3996] := FuncHostname;
FIdentFuncTable[2246] := FuncHref;
FIdentFuncTable[991] := FuncHspace;
FIdentFuncTable[3785] := FuncIf;
FIdentFuncTable[1177] := FuncImage;
FIdentFuncTable[1997] := FuncImages;
FIdentFuncTable[706] := FuncImplements;
FIdentFuncTable[3582] := FuncImport;
FIdentFuncTable[4969] := FuncIn;
FIdentFuncTable[1137] := FuncIndex;
FIdentFuncTable[656] := FuncIndexof;
FIdentFuncTable[4918] := FuncInfinity;
FIdentFuncTable[5096] := FuncInnerheight;
FIdentFuncTable[5008] := FuncInnerwidth;
FIdentFuncTable[999] := FuncInput;
FIdentFuncTable[3585] := FuncInstanceof;
FIdentFuncTable[545] := FuncInt;
FIdentFuncTable[124] := FuncInterface;
FIdentFuncTable[2465] := FuncIsfinite;
FIdentFuncTable[1266] := FuncIsnan;
FIdentFuncTable[1711] := FuncItalics;
FIdentFuncTable[963] := FuncJava;
FIdentFuncTable[4225] := FuncJavaenabled;
FIdentFuncTable[3229] := FuncJoin;
FIdentFuncTable[2913] := FuncLastindexof;
FIdentFuncTable[2778] := FuncLastmodified;
FIdentFuncTable[3139] := FuncLayer;
FIdentFuncTable[2021] := FuncLayers;
FIdentFuncTable[2770] := FuncLeft;
FIdentFuncTable[1083] := FuncLength;
FIdentFuncTable[4263] := FuncLink;
FIdentFuncTable[611] := FuncLink;
FIdentFuncTable[2947] := FuncLinkcolor;
FIdentFuncTable[3943] := FuncLinks;
FIdentFuncTable[986] := FuncLn10;
FIdentFuncTable[5149] := FuncLn2;
FIdentFuncTable[4694] := FuncLocation;
FIdentFuncTable[2489] := FuncLocation;
FIdentFuncTable[3213] := FuncLocationbar;
FIdentFuncTable[2812] := FuncLog;
FIdentFuncTable[3420] := FuncLog10e;
FIdentFuncTable[3346] := FuncLog2e;
FIdentFuncTable[3808] := FuncLogon;
FIdentFuncTable[1030] := FuncLong;
FIdentFuncTable[2430] := FuncLowsrc;
FIdentFuncTable[830] := FuncMatch;
FIdentFuncTable[1454] := FuncMath;
FIdentFuncTable[4163] := FuncMax;
FIdentFuncTable[962] := FuncMax_value;
FIdentFuncTable[165] := FuncMenubar;
FIdentFuncTable[1767] := FuncMethod;
FIdentFuncTable[2068] := FuncMimetype;
FIdentFuncTable[568] := FuncMimetypes;
FIdentFuncTable[398] := FuncMin;
FIdentFuncTable[1580] := FuncMin_value;
FIdentFuncTable[3868] := FuncMoveby;
FIdentFuncTable[3688] := FuncMoveto;
FIdentFuncTable[147] := FuncName;
FIdentFuncTable[624] := FuncNan;
FIdentFuncTable[709] := FuncNative;
FIdentFuncTable[3619] := FuncNavigator;
FIdentFuncTable[1798] := FuncNavigator;
FIdentFuncTable[2749] := FuncNegative_infinity;
FIdentFuncTable[2232] := FuncNetscape;
FIdentFuncTable[4150] := FuncNew;
FIdentFuncTable[3691] := FuncNext;
FIdentFuncTable[3186] := FuncNull;
FIdentFuncTable[4687] := FuncNull2;
FIdentFuncTable[811] := FuncNumber;
FIdentFuncTable[655] := FuncObject;
FIdentFuncTable[4718] := FuncOnabort;
FIdentFuncTable[3216] := FuncOnblur;
FIdentFuncTable[4506] := FuncOnchange;
FIdentFuncTable[4236] := FuncOnclick;
FIdentFuncTable[1962] := FuncOndblclick;
FIdentFuncTable[3283] := FuncOnerror;
FIdentFuncTable[1618] := FuncOnfocus;
FIdentFuncTable[2711] := FuncOnkeydown;
FIdentFuncTable[698] := FuncOnkeypress;
FIdentFuncTable[2845] := FuncOnkeyup;
FIdentFuncTable[9] := FuncOnload;
FIdentFuncTable[1175] := FuncOnmousedown;
FIdentFuncTable[1116] := FuncOnmousemove;
FIdentFuncTable[720] := FuncOnmouseout;
FIdentFuncTable[356] := FuncOnmouseover;
FIdentFuncTable[2930] := FuncOnmouseup;
FIdentFuncTable[1494] := FuncOnreset;
FIdentFuncTable[1591] := FuncOnselect;
FIdentFuncTable[233] := FuncOnsubmit;
FIdentFuncTable[1527] := FuncOnunload;
FIdentFuncTable[309] := FuncOpen;
FIdentFuncTable[3742] := FuncOpener;
FIdentFuncTable[3624] := FuncOption;
FIdentFuncTable[3038] := FuncOptions;
FIdentFuncTable[3129] := FuncOuterheight;
FIdentFuncTable[617] := FuncOuterwidth;
FIdentFuncTable[1183] := FuncPackage;
FIdentFuncTable[4634] := FuncPackages;
FIdentFuncTable[4499] := FuncPagex;
FIdentFuncTable[1543] := FuncPagexoffset;
FIdentFuncTable[4647] := FuncPagey;
FIdentFuncTable[4043] := FuncPageyoffset;
FIdentFuncTable[4818] := FuncParent;
FIdentFuncTable[2306] := FuncParse;
FIdentFuncTable[2092] := FuncParsefloat;
FIdentFuncTable[2800] := FuncParseint;
FIdentFuncTable[756] := FuncPassword;
FIdentFuncTable[1065] := FuncPathname;
FIdentFuncTable[433] := FuncPersonalbar;
FIdentFuncTable[3413] := FuncPi;
FIdentFuncTable[4421] := FuncPlatform;
FIdentFuncTable[4802] := FuncPlugin;
FIdentFuncTable[3917] := FuncPlugins;
FIdentFuncTable[3630] := FuncPort;
FIdentFuncTable[4426] := FuncPositive_infinity;
FIdentFuncTable[5137] := FuncPow;
FIdentFuncTable[4810] := FuncPrevious;
FIdentFuncTable[602] := FuncPrint;
FIdentFuncTable[958] := FuncPrivate;
FIdentFuncTable[3968] := FuncPrompt;
FIdentFuncTable[1326] := FuncProtected;
FIdentFuncTable[1815] := FuncProtocol;
FIdentFuncTable[4437] := FuncPrototype;
FIdentFuncTable[3260] := FuncPublic;
FIdentFuncTable[1600] := FuncRadio;
FIdentFuncTable[2803] := FuncRandom;
FIdentFuncTable[2045] := FuncReferrer;
FIdentFuncTable[2270] := FuncRefresh;
FIdentFuncTable[4495] := FuncRegexp;
FIdentFuncTable[2008] := FuncReleaseevents;
FIdentFuncTable[4401] := FuncReload;
FIdentFuncTable[1148] := FuncReplace;
FIdentFuncTable[3987] := FuncReset;
FIdentFuncTable[2796] := FuncReset;
FIdentFuncTable[4116] := FuncResizeby;
FIdentFuncTable[3936] := FuncResizeto;
FIdentFuncTable[1610] := FuncReturn;
FIdentFuncTable[3457] := FuncReverse;
FIdentFuncTable[1857] := FuncRight;
FIdentFuncTable[4450] := FuncRound;
FIdentFuncTable[5041] := FuncRouteevent;
FIdentFuncTable[100] := FuncScreen;
FIdentFuncTable[3727] := FuncScroll;
FIdentFuncTable[3112] := FuncScrollbars;
FIdentFuncTable[195] := FuncScrollby;
FIdentFuncTable[15] := FuncScrollto;
FIdentFuncTable[4544] := FuncSearch;
FIdentFuncTable[1271] := FuncSelect;
FIdentFuncTable[2532] := FuncSelect;
FIdentFuncTable[2708] := FuncSelected;
FIdentFuncTable[5089] := FuncSelectedindex;
FIdentFuncTable[2283] := FuncSelf;
FIdentFuncTable[4756] := FuncSetdate;
FIdentFuncTable[517] := FuncSetfullyear;
FIdentFuncTable[4389] := FuncSethours;
FIdentFuncTable[2365] := FuncSetinterval;
FIdentFuncTable[1057] := FuncSetmilliseconds;
FIdentFuncTable[2377] := FuncSetminutes;
FIdentFuncTable[867] := FuncSetmonth;
FIdentFuncTable[4685] := FuncSetseconds;
FIdentFuncTable[4747] := FuncSettime;
FIdentFuncTable[1862] := FuncSettimeout;
FIdentFuncTable[3047] := FuncSetutcdate;
FIdentFuncTable[5010] := FuncSetutcfullyear;
FIdentFuncTable[222] := FuncSetutchours;
FIdentFuncTable[2284] := FuncSetutcmilliseconds;
FIdentFuncTable[5073] := FuncSetutcminutes;
FIdentFuncTable[3374] := FuncSetutcmonth;
FIdentFuncTable[707] := FuncSetutcseconds;
FIdentFuncTable[2225] := FuncSetyear;
FIdentFuncTable[3661] := FuncShort;
FIdentFuncTable[2910] := FuncSin;
FIdentFuncTable[523] := FuncSlice;
FIdentFuncTable[1345] := FuncSmall;
FIdentFuncTable[3822] := FuncSort;
FIdentFuncTable[239] := FuncSplit;
FIdentFuncTable[1224] := FuncSqrt;
FIdentFuncTable[4716] := FuncSqrt1_2;
FIdentFuncTable[3194] := FuncSqrt2;
FIdentFuncTable[1932] := FuncSrc;
FIdentFuncTable[482] := FuncStart;
FIdentFuncTable[684] := FuncStatic;
FIdentFuncTable[2201] := FuncStatus;
FIdentFuncTable[1836] := FuncStatusbar;
FIdentFuncTable[3389] := FuncStop;
FIdentFuncTable[4740] := FuncStrike;
FIdentFuncTable[4796] := FuncString;
FIdentFuncTable[1006] := FuncStyle;
FIdentFuncTable[283] := FuncSub;
FIdentFuncTable[5066] := FuncSubmit;
FIdentFuncTable[1174] := FuncSubmit;
FIdentFuncTable[3496] := FuncSubstr;
FIdentFuncTable[2071] := FuncSubstring;
FIdentFuncTable[4785] := FuncSuffixes;
FIdentFuncTable[2355] := FuncSup;
FIdentFuncTable[4953] := FuncSuper;
FIdentFuncTable[3170] := FuncSwitch;
FIdentFuncTable[4968] := FuncSynchronized;
FIdentFuncTable[4084] := FuncTags;
FIdentFuncTable[2789] := FuncTaint;
FIdentFuncTable[215] := FuncTaintenabled;
FIdentFuncTable[3896] := FuncTan;
FIdentFuncTable[5087] := FuncTarget;
FIdentFuncTable[4075] := FuncText;
FIdentFuncTable[4055] := FuncText;
FIdentFuncTable[2681] := FuncTextarea;
FIdentFuncTable[2382] := FuncThis;
FIdentFuncTable[4217] := FuncThrow;
FIdentFuncTable[2507] := FuncThrows;
FIdentFuncTable[1027] := FuncTitle;
FIdentFuncTable[2422] := FuncTogmtstring;
FIdentFuncTable[4448] := FuncTolocalestring;
FIdentFuncTable[857] := FuncTolowercase;
FIdentFuncTable[4611] := FuncToolbar;
FIdentFuncTable[4058] := FuncTop;
FIdentFuncTable[983] := FuncTosource;
FIdentFuncTable[3962] := FuncTostring;
FIdentFuncTable[4977] := FuncTouppercase;
FIdentFuncTable[2536] := FuncToutcstring;
FIdentFuncTable[4990] := FuncTransient;
FIdentFuncTable[1928] := FuncTrue;
FIdentFuncTable[3889] := FuncTry;
FIdentFuncTable[3925] := FuncType;
FIdentFuncTable[3121] := FuncTypeof;
FIdentFuncTable[4305] := FuncUndefined;
FIdentFuncTable[2484] := FuncUndefined;
FIdentFuncTable[3518] := FuncUnescape;
FIdentFuncTable[4070] := FuncUntaint;
FIdentFuncTable[836] := FuncUnwatch;
FIdentFuncTable[3893] := FuncUrl;
FIdentFuncTable[747] := FuncUseragent;
FIdentFuncTable[3278] := FuncUtc;
FIdentFuncTable[1621] := FuncValue;
FIdentFuncTable[5048] := FuncValueof;
FIdentFuncTable[1890] := FuncVar;
FIdentFuncTable[910] := FuncVisibility;
FIdentFuncTable[2454] := FuncVlinkcolor;
FIdentFuncTable[996] := FuncVoid;
FIdentFuncTable[418] := FuncVspace;
FIdentFuncTable[4708] := FuncWatch;
FIdentFuncTable[3178] := FuncWhile;
FIdentFuncTable[1729] := FuncWidth;
FIdentFuncTable[2916] := FuncWindow;
FIdentFuncTable[4177] := FuncWindow;
FIdentFuncTable[4646] := FuncWith;
FIdentFuncTable[519] := FuncWrite;
FIdentFuncTable[4841] := FuncWriteln;
FIdentFuncTable[4030] := FuncZindex;
end;
function TSynJScriptSyn.AltFunc(Index: Integer): TtkTokenKind;
begin
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncAbs(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncAbstract(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncAcos(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncAction(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncAlert(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncAlign(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncAlinkcolor(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncAll(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncAnchor(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncAnchors(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncAppcodename(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncApplet(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncApplets(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncAppname(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncAppversion(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncArea(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncArguments(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncArray(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncAsin(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncAtan(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncAtan2(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncBack(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncBackground(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncBgcolor(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncBig(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncBlink(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncBlur(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncBody(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncBold(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncBoolean(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncBoolean2(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncBorder(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncBottom(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncBreak(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncButton(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncByte(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncCall(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncCallee(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncCaller(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncCaptureevents(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncCase(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncCatch(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncCeil(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncChar(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncCharat(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncCharcodeat(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncCheckbox(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncChecked(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncClass(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncClear(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncClearinterval(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncCleartimeout(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncClick(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncClose(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncClosed(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncColor(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncComplete(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncConcat(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncConfirm(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncConst(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncConstructor(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncContinue(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncCookie(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncCos(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncCurrent(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncDate(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncDebugger(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncDefault(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncDefaultchecked(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncDefaultselected(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncDefaultstatus(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncDefaultvalue(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncDelete(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncDescription(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncDisplay(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncDo(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncDocument(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncDomain(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncDouble(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncE(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncElements(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncElse(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncEmbed(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncEmbeds(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncEnabledplugin(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncEncoding(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncEnum(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncEscape(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncEval(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncEvent(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncExp(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncExport(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncExtends(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncFalse(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncFgcolor(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncFilename(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncFileupload(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncFinal(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncFinally(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncFind(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncFixed(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncFloat(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncFloat2(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncFloor(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncFocus(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncFontcolor(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncFontsize(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncFor(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncForm(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncForms(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncForward(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncFrame(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncFrames(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncFromcharcode(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncFunction(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncFunction2(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncGetdate(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncGetday(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncGetelementbyid(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncGetfullyear(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncGethours(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncGetmilliseconds(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncGetminutes(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncGetmonth(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncGetseconds(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncGettime(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncGettimezoneoffset(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncGetutcdate(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncGetutcday(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncGetutcfullyear(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncGetutchours(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncGetutcmilliseconds(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncGetutcminutes(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncGetutcmonth(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncGetutcseconds(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncGetyear(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncGlobal(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncGo(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncGoto(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncHandleevent(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncHash(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncHeight(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncHidden(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncHistory(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncHome(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncHost(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncHostname(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncHref(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncHspace(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncIf(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncImage(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncImages(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncImplements(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncImport(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncIn(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncIndex(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncIndexof(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncInfinity(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncInnerheight(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncInnerwidth(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncInput(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncInstanceof(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncInt(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncInterface(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncIsfinite(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncIsnan(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncItalics(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncJava(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncJavaenabled(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncJoin(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncLastindexof(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncLastmodified(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncLayer(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncLayers(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncLeft(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncLength(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncLink(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncLinkcolor(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncLinks(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncLn10(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncLn2(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncLocation(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncLocationbar(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncLog(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncLog10e(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncLog2e(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncLogon(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncLong(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncLowsrc(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncMatch(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncMath(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncMax(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncMax_value(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncMenubar(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncMethod(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncMimetype(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncMimetypes(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncMin(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncMin_value(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncMoveby(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncMoveto(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncName(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncNan(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncNative(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncNavigator(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncNegative_infinity(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncNetscape(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncNew(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncNext(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncNull(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncNull2(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncNumber(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncObject(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncOnabort(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkEvent
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncOnblur(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkEvent
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncOnchange(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkEvent
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncOnclick(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkEvent
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncOndblclick(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkEvent
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncOnerror(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkEvent
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncOnfocus(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkEvent
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncOnkeydown(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkEvent
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncOnkeypress(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkEvent
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncOnkeyup(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkEvent
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncOnload(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkEvent
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncOnmousedown(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkEvent
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncOnmousemove(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkEvent
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncOnmouseout(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkEvent
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncOnmouseover(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkEvent
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncOnmouseup(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkEvent
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncOnreset(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkEvent
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncOnselect(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkEvent
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncOnsubmit(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkEvent
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncOnunload(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkEvent
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncOpen(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncOpener(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncOption(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncOptions(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncOuterheight(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncOuterwidth(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncPackage(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncPackages(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncPagex(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncPagexoffset(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncPagey(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncPageyoffset(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncParent(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncParse(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncParsefloat(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncParseint(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncPassword(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncPathname(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncPersonalbar(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncPi(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncPlatform(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncPlugin(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncPlugins(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncPort(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncPositive_infinity(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncPow(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncPrevious(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncPrint(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncPrivate(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncPrompt(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncProtected(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncProtocol(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncPrototype(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncPublic(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncRadio(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncRandom(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncReferrer(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncRefresh(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncRegexp(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncReleaseevents(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncReload(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncReplace(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncReset(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncResizeby(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncResizeto(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncReturn(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncReverse(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncRight(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncRound(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncRouteevent(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncScreen(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncScroll(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncScrollbars(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncScrollby(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncScrollto(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncSearch(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncSelect(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncSelected(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncSelectedindex(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncSelf(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncSetdate(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncSetfullyear(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncSethours(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncSetinterval(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncSetmilliseconds(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncSetminutes(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncSetmonth(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncSetseconds(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncSettime(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncSettimeout(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncSetutcdate(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncSetutcfullyear(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncSetutchours(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncSetutcmilliseconds(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncSetutcminutes(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncSetutcmonth(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncSetutcseconds(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncSetyear(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncShort(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncSin(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncSlice(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncSmall(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncSort(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncSplit(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncSqrt(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncSqrt1_2(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncSqrt2(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncSrc(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncStart(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncStatic(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncStatus(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncStatusbar(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncStop(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncStrike(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncString(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncStyle(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncSub(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncSubmit(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncSubstr(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncSubstring(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncSuffixes(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncSup(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncSuper(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncSwitch(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncSynchronized(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncTags(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncTaint(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncTaintenabled(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncTan(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncTarget(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncText(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncTextarea(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncThis(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncThrow(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncThrows(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncTitle(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncTogmtstring(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncTolocalestring(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncTolowercase(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncToolbar(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncTop(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncTosource(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncTostring(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncTouppercase(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncToutcstring(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncTransient(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncTrue(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncTry(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncType(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncTypeof(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncUndefined(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncUnescape(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncUntaint(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncUnwatch(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncUrl(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncUseragent(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncUtc(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncValue(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncValueof(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncVar(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncVisibility(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncVlinkcolor(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncVoid(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncVspace(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncWatch(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncWhile(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncWidth(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncWindow(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncWith(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncWrite(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncWriteln(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
function TSynJScriptSyn.FuncZindex(Index: Integer): TtkTokenKind;
begin
if IsCurrentToken(KeyWords[Index]) then
Result := tkNonReservedKey
else
Result := tkIdentifier;
end;
constructor TSynJScriptSyn.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FCaseSensitive := True;
FCommentAttri := TSynHighlighterAttributes.Create(SYNS_AttrComment, SYNS_FriendlyAttrComment);
FCommentAttri.Style := [fsItalic];
AddAttribute(FCommentAttri);
FIdentifierAttri := TSynHighlighterAttributes.Create(SYNS_AttrIdentifier, SYNS_FriendlyAttrIdentifier);
AddAttribute(FIdentifierAttri);
FKeyAttri := TSynHighlighterAttributes.Create(SYNS_AttrReservedWord, SYNS_FriendlyAttrReservedWord);
FKeyAttri.Style := [fsBold];
AddAttribute(FKeyAttri);
FNonReservedKeyAttri := TSynHighlighterAttributes.Create(SYNS_AttrNonReservedKeyword, SYNS_FriendlyAttrNonReservedKeyword);
AddAttribute(FNonReservedKeyAttri);
FEventAttri := TSynHighlighterAttributes.Create(SYNS_AttrEvent, SYNS_FriendlyAttrEvent);
AddAttribute(FEventAttri);
FNumberAttri := TSynHighlighterAttributes.Create(SYNS_AttrNumber, SYNS_FriendlyAttrNumber);
AddAttribute(FNumberAttri);
FSpaceAttri := TSynHighlighterAttributes.Create(SYNS_AttrSpace, SYNS_FriendlyAttrSpace);
AddAttribute(FSpaceAttri);
FStringAttri := TSynHighlighterAttributes.Create(SYNS_AttrString, SYNS_FriendlyAttrString);
AddAttribute(FStringAttri);
FSymbolAttri := TSynHighlighterAttributes.Create(SYNS_AttrSymbol, SYNS_FriendlyAttrSymbol);
AddAttribute(FSymbolAttri);
SetAttributesOnChange(DefHighlightChange);
InitIdent;
FDefaultFilter := SYNS_FilterJScript;
FRange := rsUnknown;
end;
procedure TSynJScriptSyn.AndSymbolProc;
begin
FTokenID := tkSymbol;
Inc(Run);
if CharInSet(FLine[Run], ['=', '&']) then Inc(Run);
end;
procedure TSynJScriptSyn.CommentProc;
begin
if FLine[Run] = #0 then
NullProc
else
begin
FTokenID := tkComment;
repeat
if (FLine[Run] = '*') and (FLine[Run + 1] = '/') then
begin
FRange := rsUnknown;
Inc(Run, 2);
Break;
end;
Inc(Run);
until IsLineEnd(Run);
end;
end;
procedure TSynJScriptSyn.CRProc;
begin
FTokenID := tkSpace;
Inc(Run);
if FLine[Run] = #10 then Inc(Run);
end;
procedure TSynJScriptSyn.IdentProc;
begin
FTokenID := IdentKind((FLine + Run));
Inc(Run, FStringLen);
while IsIdentChar(FLine[Run]) do Inc(Run);
end;
procedure TSynJScriptSyn.LFProc;
begin
FTokenID := tkSpace;
Inc(Run);
end;
procedure TSynJScriptSyn.MinusProc;
begin
FTokenID := tkSymbol;
Inc(Run);
if CharInSet(FLine[Run], ['=', '-', '>']) then Inc(Run);
end;
procedure TSynJScriptSyn.ModSymbolProc;
begin
FTokenID := tkSymbol;
Inc(Run);
if FLine[Run] = '=' then Inc(Run);
end;
procedure TSynJScriptSyn.NullProc;
begin
FTokenID := tkNull;
Inc(Run);
end;
procedure TSynJScriptSyn.NumberProc;
function IsNumberChar: Boolean;
begin
case FLine[Run] of
'0'..'9', '.', 'a'..'f', 'A'..'F', 'x', 'X':
Result := True;
else
Result := False;
end;
end;
function IsHexChar(Run: Integer): Boolean;
begin
case FLine[Run] of
'0'..'9', 'a'..'f', 'A'..'F':
Result := True;
else
Result := False;
end;
end;
var
idx1: Integer; // token[1]
isHex: Boolean;
begin
FTokenID := tkNumber;
isHex := False;
idx1 := Run;
Inc(Run);
while IsNumberChar do
begin
case FLine[Run] of
'.':
if FLine[Succ(Run)] = '.' then
Break;
'a'..'f', 'A'..'F':
if not isHex then
Break;
'x', 'X':
begin
if (FLine[idx1] <> '0') or (Run > Succ(idx1)) then
Break;
if not IsHexChar(Succ(Run)) then
Break;
isHex := True;
end;
end;
Inc(Run);
end;
end;
procedure TSynJScriptSyn.OrSymbolProc;
begin
FTokenID := tkSymbol;
Inc(Run);
if CharInSet(FLine[Run], ['=', '|']) then Inc(Run);
end;
procedure TSynJScriptSyn.PlusProc;
begin
FTokenID := tkSymbol;
Inc(Run);
if CharInSet(FLine[Run], ['=', '+']) then Inc(Run);
end;
procedure TSynJScriptSyn.PointProc;
begin
FTokenID := tkSymbol;
Inc(Run);
if (FLine[Run] = '.') and (FLine[Run + 1] = '.') then Inc(Run, 2);
end;
procedure TSynJScriptSyn.SlashProc;
begin
Inc(Run);
case FLine[Run] of
'/': begin
FTokenID := tkComment;
repeat
Inc(Run);
until IsLineEnd(Run);
end;
'*': begin
FTokenID := tkComment;
FRange := rsAnsi;
repeat
Inc(Run);
if (FLine[Run] = '*') and (FLine[Run + 1] = '/') then begin
FRange := rsUnknown;
Inc(Run, 2);
Break;
end;
until IsLineEnd(Run);
end;
'=': begin
Inc(Run);
FTokenID := tkSymbol;
end;
else
FTokenID := tkSymbol;
end;
end;
procedure TSynJScriptSyn.SpaceProc;
begin
Inc(Run);
FTokenID := tkSpace;
while (FLine[Run] <= #32) and not IsLineEnd(Run) do Inc(Run);
end;
procedure TSynJScriptSyn.StarProc;
begin
FTokenID := tkSymbol;
Inc(Run);
if FLine[Run] = '=' then Inc(Run);
end;
procedure TSynJScriptSyn.StringProc;
var
l_strChar: UnicodeString;
begin
FTokenID := tkString;
l_strChar := FLine[Run]; // We could have '"' or #39
if (FLine[Run + 1] = l_strChar) and (FLine[Run + 2] = l_strChar) then Inc(Run, 2);
repeat
if IsLineEnd(Run) then
Break;
Inc(Run);
until (FLine[Run] = l_strChar) and (FLine[Pred(Run)] <> '\');
if not IsLineEnd(Run) then
Inc(Run);
end;
procedure TSynJScriptSyn.SymbolProc;
begin
Inc(Run);
FTokenID := tkSymbol;
end;
procedure TSynJScriptSyn.UnknownProc;
begin
Inc(Run);
FTokenID := tkUnknown;
end;
procedure TSynJScriptSyn.Next;
begin
FTokenPos := Run;
if FRange = rsANSI then
CommentProc
else
case FLine[Run] of
'&': AndSymbolProc;
#13: CRProc;
'A'..'Z', 'a'..'z', '_': IdentProc;
#10: LFProc;
'-': MinusProc;
'%': ModSymbolProc;
#0: NullProc;
'0'..'9': NumberProc;
'|': OrSymbolProc;
'+': PlusProc;
'.': PointProc;
'/': SlashProc;
#1..#9, #11, #12, #14..#32: SpaceProc;
'*': StarProc;
'"', #39: StringProc;
'~', '{', '}', ',', '(', ')', '[', ']', '<', '>', ':', '?', ';', '!', '=':
SymbolProc;
else UnknownProc;
end;
inherited;
end;
function TSynJScriptSyn.GetDefaultAttribute(Index: Integer): TSynHighlighterAttributes;
begin
case Index of
SYN_ATTR_COMMENT: Result := FCommentAttri;
SYN_ATTR_IDENTIFIER: Result := FIdentifierAttri;
SYN_ATTR_KEYWORD: Result := FKeyAttri;
SYN_ATTR_STRING: Result := FStringAttri;
SYN_ATTR_WHITESPACE: Result := FSpaceAttri;
SYN_ATTR_SYMBOL: Result := FSymbolAttri;
else
Result := nil;
end;
end;
function TSynJScriptSyn.GetEol: Boolean;
begin
Result := Run = FLineLen + 1;
end;
function TSynJScriptSyn.GetRange: Pointer;
begin
Result := Pointer(FRange);
end;
function TSynJScriptSyn.GetTokenID: TtkTokenKind;
begin
Result := FTokenID;
end;
function TSynJScriptSyn.GetTokenAttribute: TSynHighlighterAttributes;
begin
case GetTokenID of
tkComment: Result := FCommentAttri;
tkIdentifier: Result := FIdentifierAttri;
tkKey: Result := FKeyAttri;
tkNonReservedKey: Result := FNonReservedKeyAttri;
tkEvent: Result := FEventAttri;
tkNumber: Result := FNumberAttri;
tkSpace: Result := FSpaceAttri;
tkString: Result := FStringAttri;
tkSymbol: Result := FSymbolAttri;
tkUnknown: Result := FIdentifierAttri;
else Result := nil;
end;
end;
function TSynJScriptSyn.GetTokenKind: Integer;
begin
Result := Ord(FTokenID);
end;
procedure TSynJScriptSyn.ResetRange;
begin
FRange := rsUnknown;
end;
{$IFDEF SYN_CodeFolding}
procedure TSynJScriptSyn.ScanForFoldRanges(FoldRanges: TSynFoldRanges;
LinesToScan: TStrings; FromLine, ToLine: Integer);
var
CurLine: String;
Line: Integer;
function LineHasChar(Line: Integer; character: char;
StartCol : Integer): boolean; // faster than Pos!
var
i: Integer;
begin
result := false;
for I := StartCol to Length(CurLine) do begin
if CurLine[i] = character then begin
// Char must have proper highlighting (ignore stuff inside comments...)
if GetHighlighterAttriAtRowCol(LinesToScan, Line, I) <> fCommentAttri then begin
result := true;
break;
end;
end;
end;
end;
function FindBraces(Line: Integer) : Boolean;
Var
Col : Integer;
begin
Result := False;
for Col := 1 to Length(CurLine) do
begin
// We've found a starting character
if CurLine[col] = '{' then
begin
// Char must have proper highlighting (ignore stuff inside comments...)
if GetHighlighterAttriAtRowCol(LinesToScan, Line, Col) <> fCommentAttri then
begin
// And ignore lines with both opening and closing chars in them
if not LineHasChar(Line, '}', col + 1) then begin
FoldRanges.StartFoldRange(Line + 1, 1);
Result := True;
end;
// Skip until a newline
break;
end;
end else if CurLine[col] = '}' then
begin
if GetHighlighterAttriAtRowCol(LinesToScan, Line, Col) <> fCommentAttri then
begin
// And ignore lines with both opening and closing chars in them
if not LineHasChar(Line, '{', col + 1) then begin
FoldRanges.StopFoldRange(Line + 1, 1);
Result := True;
end;
// Skip until a newline
break;
end;
end;
end; // for Col
end;
function FoldRegion(Line: Integer): Boolean;
Var
S : string;
begin
Result := False;
S := TrimLeft(CurLine);
if Uppercase(Copy(S, 1, 9)) = '//#REGION' then
begin
FoldRanges.StartFoldRange(Line + 1, FoldRegionType);
Result := True;
end
else if Uppercase(Copy(S, 1, 12)) = '//#ENDREGION' then
begin
FoldRanges.StopFoldRange(Line + 1, FoldRegionType);
Result := True;
end;
end;
begin
for Line := FromLine to ToLine do
begin
// Deal first with Multiline comments (Fold Type 2)
if TRangeState(GetLineRange(LinesToScan, Line)) = rsANSI then
begin
if TRangeState(GetLineRange(LinesToScan, Line - 1)) <> rsANSI then
FoldRanges.StartFoldRange(Line + 1, 2)
else
FoldRanges.NoFoldInfo(Line + 1);
Continue;
end
else if TRangeState(GetLineRange(LinesToScan, Line - 1)) = rsANSI then
begin
FoldRanges.StopFoldRange(Line + 1, 2);
Continue;
end;
CurLine := LinesToScan[Line];
// Skip empty lines
if CurLine = '' then begin
FoldRanges.NoFoldInfo(Line + 1);
Continue;
end;
// Find Fold regions
if FoldRegion(Line) then
Continue;
// Find an braces on this line (Fold Type 1)
if not FindBraces(Line) then
FoldRanges.NoFoldInfo(Line + 1);
end; // while Line
end;
{$ENDIF}
procedure TSynJScriptSyn.SetRange(Value: Pointer);
begin
FRange := TRangeState(Value);
end;
function TSynJScriptSyn.IsFilterStored: Boolean;
begin
Result := FDefaultFilter <> SYNS_FilterJScript;
end;
class function TSynJScriptSyn.GetLanguageName: string;
begin
Result := SYNS_LangJScript;
end;
function TSynJScriptSyn.GetSampleSource: UnicodeString;
begin
Result := '// Syntax highlighting'#13#10+
'function printNumber()'#13#10+
'{'#13#10+
' var number = 1234;'#13#10+
' var x;'#13#10+
' document.write("The number is " + number);'#13#10+
' for (var i = 0; i <= number; i++)'#13#10+
' {'#13#10+
' x++;'#13#10+
' x--;'#13#10+
' x += 1.0;'#13#10+
' }'#13#10+
' i += @; // illegal character'#13#10+
'}'#13#10+
'body.onLoad = printNumber;';
end;
class function TSynJScriptSyn.GetFriendlyLanguageName: UnicodeString;
begin
Result := SYNS_FriendlyLangJScript;
end;
initialization
{$IFNDEF SYN_CPPB_1}
RegisterPlaceableHighlighter(TSynJScriptSyn);
{$ENDIF}
end.