home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 2005 June (DVD) / DPPRO0605DVD.iso / Install / program files / Borland / BDS / 3.0 / Demos / Delphi.Net / VCL / Lexer / mwDelphiLanguageElements.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  2004-10-22  |  8.9 KB  |  320 lines

  1. {-----------------------------------------------------------------------------
  2. This Software is placed into Publlic Domain and distributed on an "AS IS" basis,
  3. WITHOUT WARRANTY OF ANY KIND, either express or implied.
  4. The Initial Developer is Martin Waldenburg
  5. (Martin.Waldenburg@T-Online.de).
  6. -----------------------------------------------------------------------------}
  7. unit mwDelphiLanguageElements;
  8.  
  9. interface
  10.  
  11. uses
  12.   SysUtils, Classes;
  13.  
  14. const
  15.   leZero = 0;
  16.   leSpace = 2;
  17.   leTab = 9;
  18.   leLF = 10;
  19.   leCR = 13;
  20.   leExclam = 33;
  21.   leDoubleQuote = 34;
  22.   leSharp = 35;
  23.   leDollar = 36;
  24.   lePercent = 37;
  25.   leAmpersand = 38;
  26.   leApostrophe = 39;
  27.   leRoundOpen = 40;
  28.   leRoundClose = 41;
  29.   leAsterisk = 42;
  30.   lePlus = 43;
  31.   leComma = 44;
  32.   leMinus = 45;
  33.   lePeriod = 46;
  34.   leSlash = 47;
  35.   leNumber = 48;
  36.   leColon = 58;
  37.   leSemicolon = 59;
  38.   leLess = 60;
  39.   leEqual = 61;
  40.   leGreater = 62;
  41.   leQuestion = 63;
  42.   leAtChar = 64;
  43.   leSquareOpen = 91;
  44.   leBackslash = 92;
  45.   leSquareClose = 93;
  46.   leAsciiCircum = 94;
  47.   leQuoteLeft = 96;
  48.   leCurlyOpen = 123;
  49.   leBar = 124;
  50.   leCurlyClose = 125;
  51.   leAsciiTilde = 126;
  52.  
  53.   leLineEnd = 300;
  54.   leIdentifier = leLineEnd + 1;
  55.   leInternationalIdentifier = leIdentifier + 1;
  56.   leUTF2Identifier = leInternationalIdentifier + 1;
  57.   leUTF4Identifier = leUTF2Identifier + 1;
  58.   leUTF8Identifier = leUTF4Identifier + 1;
  59.   leUTF16Identifier = leUTF8Identifier + 1;
  60.  
  61.   leAssignment = leUTF16Identifier + 1;
  62.   leCharConstant = leAssignment + 1;
  63.   leCharHexConstant = leCharConstant + 1;
  64.   leDotDot = leCharHexConstant + 1;
  65.   leDoubleAt = leDotDot + 1;
  66.   leFloat = leDoubleAt + 1;
  67.   leGreaterOrEqual = leFloat + 1;
  68.   leHexNumber = leGreaterOrEqual + 1;
  69.   leLessOrEqual = leHexNumber + 1;
  70.   leNotEqual = leLessOrEqual + 1;
  71.   leStringConstant = leNotEqual + 1;
  72.   leUnterminatedStringConstant = leStringConstant + 1;
  73.  
  74.   leAtEnd = High(Integer);
  75.   leUnknown = leAtEnd - 1;
  76.  
  77.   leDelphiBase = 1000;
  78.   leAnsiComment = leDelphiBase + 1;
  79.   leAnsiDirective = leAnsiComment + 1;
  80.   leAssemblerReference = leAnsiDirective + 1;
  81.   leBeginOfAnsiDirective = leAssemblerReference +1;
  82.   leBeginOfBorlandDirective = leBeginOfAnsiDirective +1;
  83.   leBorlandComment = leBeginOfBorlandDirective + 1;
  84.   leBorlandDirective = leBorlandComment + 1;
  85.   leEndOfAnsiComment = leBorlandDirective + 1;
  86.   leSkippedCode = leEndOfAnsiComment + 1;
  87.   leSlashComment = leSkippedCode + 1;
  88.  
  89.   {KeyWords}
  90.   leDelphiKeyWord = 1100;
  91.   leAnd = leDelphiKeyWord + 1;
  92.   leArray = leAnd + 1;
  93.   leAs = leArray + 1;
  94.   leAsm = leAs + 1;
  95.   leBegin = leAsm + 1;
  96.   leCase = leBegin + 1;
  97.   leClass = leCase + 1;
  98.   leConst = leClass + 1;
  99.   leConstructor = leConst + 1;
  100.   leDestructor = leConstructor + 1;
  101.   leDispinterface = leDestructor + 1;
  102.   leDiv = leDispinterface + 1;
  103.   leDo = leDiv + 1;
  104.   leDownto = leDo + 1;
  105.   leElse = leDownto + 1;
  106.   leEnd = leElse + 1;
  107.   leExcept = leEnd + 1;
  108.   leExports = leExcept + 1;
  109.   leFile = leExports + 1;
  110.   leFinal = leFile + 1;
  111.   leFinalization = leFinal + 1;
  112.   leFinally = leFinalization + 1;
  113.   leFor = leFinally + 1;
  114.   leFunction = leFor + 1;
  115.   leGoto = leFunction + 1;
  116.   leIf = leGoto + 1;
  117.   leImplementation = leIf + 1;
  118.   leIn = leImplementation + 1;
  119.   leInherited = leIn + 1;
  120.   leInitialization = leInherited + 1;
  121.   leInline = leInitialization + 1;
  122.   leInterface = leInline + 1;
  123.   leIs = leInterface +1;
  124.   leLabel = leIs + 1;
  125.   leLibrary = leLabel + 1;
  126.   leMod = leLibrary + 1;
  127.   leNil = leMod + 1;
  128.   leNot = leNil + 1;
  129.   leObject = leNot + 1;
  130.   leOf = leObject + 1;
  131.   leOr = leOf + 1;
  132.   lePacked = leOr + 1;
  133.   leProcedure = lePacked + 1;
  134.   leProgram = leProcedure + 1;
  135.   leProperty = leProgram + 1;
  136.   leRaise = leProperty + 1;
  137.   leRecord = leRaise + 1;
  138.   leRepeat = leRecord + 1;
  139.   leResourcestring = leRepeat + 1;
  140.   leSealed = leResourcestring + 1;
  141.   leSet = leSealed + 1;
  142.   leShl = leSet + 1;
  143.   leShr = leShl + 1;
  144.   leString = leShr + 1;
  145.   leThen = leString + 1;
  146.   leThreadvar = leThen + 1;
  147.   leTo = leThreadvar + 1;
  148.   leTry = leTo + 1;
  149.   leType = leTry + 1;
  150.   leUnit = leType + 1;
  151.   leUntil = leUnit + 1;
  152.   leUses = leUntil + 1;
  153.   leVar = leUses + 1;
  154.   leWhile = leVar + 1;
  155.   leWith = leWhile + 1;
  156.   leXor = leWith + 1;
  157.  
  158.   {Directives}
  159.   leDelphiDirective = 1500;
  160.   leAbsolute = leDelphiDirective + 1;
  161.   leAbstract = leAbsolute + 1;
  162.   leAssembler = leAbstract + 1;
  163.   leAt = leAssembler + 1;
  164.   leAutomated = leAt + 1;
  165.   leCdecl = leAutomated + 1;
  166.   leContains = leCdecl + 1;
  167.   leDefault = leContains + 1;
  168.   leDeprecated = leDefault + 1;
  169.   leDispid = leDeprecated + 1;
  170.   leDynamic = leDispid + 1;
  171.   leExperimental = leDynamic + 1;
  172.   leExport = leExperimental + 1;
  173.   leExternal = leExport + 1;
  174.   leFar = leExternal + 1;
  175.   leForward = leFar + 1;
  176.   leHelper = leForward + 1;
  177.   leImplements = leHelper + 1;
  178.   leIndex = leImplements + 1;
  179.   leLocal = leIndex + 1;
  180.   leMessage = leLocal + 1;
  181.   leName = leMessage + 1;
  182.   leNear = leName + 1;
  183.   leNodefault = leNear + 1;
  184.   leOn = leNodefault + 1;
  185.   leOperator = leOn + 1;
  186.   leOut = leOperator + 1;
  187.   leOverload = leOut + 1;
  188.   leOverride = leOverload + 1;
  189.   lePackage = leOverride + 1;
  190.   lePascal = lePackage + 1;
  191.   lePlatform = lePascal + 1;
  192.   lePrivate = lePlatform + 1;
  193.   leProtected = lePrivate + 1;
  194.   lePublic = leProtected + 1;
  195.   lePublished = lePublic + 1;
  196.   leRead = lePublished + 1;
  197.   leReadonly = leRead + 1;
  198.   leRegister = leReadonly + 1;
  199.   leReintroduce = leRegister + 1;
  200.   leRequires = leReintroduce + 1;
  201.   leResident = leRequires + 1;
  202.   leSafecall = leResident + 1;
  203.   leStatic = leSafecall + 1;
  204.   leStdcall = leStatic + 1;
  205.   leStored = leStdcall + 1;
  206.   leStrict = leStored + 1;
  207.   leVarargs = leStrict + 1;
  208.   leVirtual = leVarargs + 1;
  209.   leWrite = leVirtual + 1;
  210.   leWriteonly = leWrite + 1;
  211.  
  212.   {Additional}
  213.   leDelphiAdditional = 2000;
  214.   leA = leDelphiAdditional +1;
  215.   leB = leA +1;
  216.   leC = leB +1;
  217.   leD = leC +1;
  218.   leE = leD +1;
  219.   leG = leE +1;
  220.   leH = leG +1;
  221.   leI = leH +1;
  222.   leJ = leI +1;
  223.   leL = leJ +1;
  224.   leM = leL +1;
  225.   leO = leM +1;
  226.   leP = leO +1;
  227.   leQ = leP +1;
  228.   leR = leQ +1;
  229.   leS = leR +1;
  230.   leT = leS +1;
  231.   leU = leT +1;
  232.   leV = leU +1;
  233.   leW = leV +1;
  234.   leX = leW +1;
  235.   leY = leX +1;
  236.   leZ = leY +1;
  237.   leOff = leZ +1;
  238.   leYD = leOff +1;
  239.   leIfDef = leYD +1;
  240.   leGUI = leIfDef +1;
  241.   leEndIf = leGUI +1;
  242.   leIfEnd = leEndIf +1;
  243.   leDefine = leIfEnd +1;
  244.   leAlign = leDefine +1;
  245.   leIfNDef = leAlign +1;
  246.   leLink = leIfNDef +1;
  247.   leDefined = leLink +1;
  248.   leUnDef = leDefined +1;
  249.   leDeclared = leUnDef +1;
  250.   leElseIf = leDeclared +1;
  251.   leImageBase = leElseIf +1;
  252.   leIfOpt = leImageBase +1;
  253.   leSoName = leIfOpt +1;
  254.   leInclude = leSoName +1;
  255.   leHints = leInclude +1;
  256.   leNoDefine = leHints +1;
  257.   leIOChecks = leNoDefine +1;
  258.   leDebugInfo = leIOChecks +1;
  259.   leConsole = leDebugInfo +1;
  260.   leBooleval = leConsole +1;
  261.   leHPPEmit = leBooleval +1;
  262.   leRangeChecks = leHPPEmit +1;
  263.   leNoInclude = leRangeChecks +1;
  264.   leApptype = leNoInclude +1;
  265.   leSafeDivide = leApptype +1;
  266.   leResource = leSafeDivide +1;
  267.   leWarn = leResource +1;   
  268.   leWarnings = leWarn +1;
  269.   leTypeInfo = leWarnings +1;   
  270.   leSoPrefix = leTypeInfo +1;
  271.   leStackFrames = leSoPrefix +1;
  272.   leRunOnly = leStackFrames +1; 
  273.   leSoSuffix = leRunOnly +1;
  274.   leReferenceInfo = leSoSuffix +1;   
  275.   leDesignOnly = leReferenceInfo +1;
  276.   leExtension = leDesignOnly +1;
  277.   leImportedData = leExtension +1;
  278.   leDescription = leImportedData +1; 
  279.   leSoVersion = leDescription +1;
  280.   leAssertions = leSoVersion +1;  
  281.   leImplicitBuild = leAssertions +1;  
  282.   leTypedAddress = leImplicitBuild +1;
  283.   leLocalSymbols = leTypedAddress +1; 
  284.   leMinEnumSize = leLocalSymbols +1; 
  285.   leWeakPackageUnit = leMinEnumSize +1;
  286.   leDefinitionInfo = leWeakPackageUnit +1;  
  287.   leMinStackSize = leDefinitionInfo +1;   
  288.   leObjExportAll = leMinStackSize +1;
  289.   leMaxStackSize = leObjExportAll +1; 
  290.   leLongStrings = leMaxStackSize +1; 
  291.   leDenyPackageUnit = leLongStrings +1;
  292.   leExternalSym = leDenyPackageUnit +1;  
  293.   leOpenStrings = leExternalSym +1;
  294.   leOverFlowChecks = leOpenStrings +1;
  295.   leWriteableConst = leOverFlowChecks +1;   
  296.   leOptimization = leWriteableConst +1;
  297.   leVarStringChecks = leOptimization +1;
  298.   leExtendedSyntax = leVarStringChecks +1;
  299.   leRealCompatibility = leExtendedSyntax +1;
  300.   leResourceReserve = leRealCompatibility +1;
  301.   leAndDirective = leResourceReserve +1;
  302.   leElseDirective = leAndDirective +1;
  303.   leIfDirective = leElseDirective +1;
  304.   leOnDirective = leIfDirective +1;
  305.   leOrDirective = leOnDirective +1;
  306.   leRegion = leOrDirective +1;
  307.   leEndRegion = leRegion +1;
  308.   leStackChecks = leEndRegion +1;
  309.   leSymbol_Platform = leStackChecks +1;
  310.   leSymbol_Library = leSymbol_Platform +1;
  311.   leSymbol_Deprecated = leSymbol_Library +1;
  312.   leUnit_Deprecated = leSymbol_Deprecated +1;
  313.   leUnit_Library = leUnit_Deprecated +1;
  314.   leUnit_Platform = leUnit_Library +1;
  315.   leUnknownDirective = leUnit_Platform +1;
  316. implementation
  317.  
  318. end.
  319.  
  320.