annotate trunk/src/dil/TokensEnum.d @ 502:4e14cd1b24da

Refactored code and added modules related to tabulated Identifiers. Rearranged members of struct Identifier and added new member ID identID. Moved idTableLookup to module dil.IdTable. Renamed module TokenIDs to TokensEnum. Added member Identifier* ident to struct Token. Changed string switchtes in Parser to integer switches using enum ID.
author Aziz K?ksal <aziz.koeksal@gmail.com>
date Tue, 11 Dec 2007 14:19:30 +0100
parents trunk/src/dil/TokenIDs.d@41b7f9e439bd
children 996041463028
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
500
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
1 /++
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
2 Author: Aziz Köksal
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
3 License: GPL3
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
4 +/
502
4e14cd1b24da Refactored code and added modules related to tabulated Identifiers.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 500
diff changeset
5 module dil.TokensEnum;
500
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
6 import common;
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
7
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
8 enum TOK : ushort
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
9 {
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
10 Invalid,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
11
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
12 /// Flag for whitespace tokens that must be ignored in the parsing phase.
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
13 Whitespace = 0x8000,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
14 Illegal = 1 | Whitespace,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
15 Comment = 2 | Whitespace,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
16 Shebang = 3 | Whitespace,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
17 HashLine = 4 | Whitespace,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
18 Filespec = 5 | Whitespace,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
19 Newline = 6 | Whitespace,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
20 Empty = 7,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
21
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
22 Identifier = 8,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
23 String,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
24 CharLiteral, WCharLiteral, DCharLiteral,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
25
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
26 // Special tokens
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
27 FILE,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
28 LINE,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
29 DATE,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
30 TIME,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
31 TIMESTAMP,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
32 VENDOR,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
33 VERSION,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
34
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
35 // Number literals
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
36 Int32, Int64, Uint32, Uint64,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
37 // Floating point number scanner relies on this order. (FloatXY + 3 == ImaginaryXY)
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
38 Float32, Float64, Float80,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
39 Imaginary32, Imaginary64, Imaginary80,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
40
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
41
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
42 // Brackets
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
43 LParen,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
44 RParen,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
45 LBracket,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
46 RBracket,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
47 LBrace,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
48 RBrace,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
49
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
50 Dot, Slice, Ellipses,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
51
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
52 // Floating point number operators
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
53 Unordered,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
54 UorE,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
55 UorG,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
56 UorGorE,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
57 UorL,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
58 UorLorE,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
59 LorEorG,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
60 LorG,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
61
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
62 // Normal operators
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
63 Assign, Equal, NotEqual, Not,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
64 LessEqual, Less,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
65 GreaterEqual, Greater,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
66 LShiftAssign, LShift,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
67 RShiftAssign,RShift,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
68 URShiftAssign, URShift,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
69 OrAssign, OrLogical, OrBinary,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
70 AndAssign, AndLogical, AndBinary,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
71 PlusAssign, PlusPlus, Plus,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
72 MinusAssign, MinusMinus, Minus,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
73 DivAssign, Div,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
74 MulAssign, Mul,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
75 ModAssign, Mod,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
76 XorAssign, Xor,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
77 CatAssign, Catenate,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
78 Tilde,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
79 Identity, NotIdentity,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
80
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
81 Colon,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
82 Semicolon,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
83 Question,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
84 Comma,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
85 Dollar,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
86
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
87 /* Keywords:
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
88 NB.: Token.isKeyword() depends on this list being contiguous.
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
89 */
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
90 Abstract,Alias,Align,Asm,Assert,Auto,Body,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
91 Bool,Break,Byte,Case,Cast,Catch,Cdouble,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
92 Cent,Cfloat,Char,Class,Const,Continue,Creal,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
93 Dchar,Debug,Default,Delegate,Delete,Deprecated,Do,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
94 Double,Else,Enum,Export,Extern,False,Final,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
95 Finally,Float,For,Foreach,Foreach_reverse,Function,Goto,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
96 Idouble,If,Ifloat,Import,In,Inout,Int,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
97 Interface,Invariant,Ireal,Is,Lazy,Long,Macro/+D2.0+/,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
98 Mixin,Module,New,Null,Out,Override,Package,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
99 Pragma,Private,Protected,Public,Real,Ref/+D2.0+/,Return,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
100 Scope,Short,Static,Struct,Super,Switch,Synchronized,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
101 Template,This,Throw,Traits/+D2.0+/,True,Try,Typedef,Typeid,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
102 Typeof,Ubyte,Ucent,Uint,Ulong,Union,Unittest,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
103 Ushort,Version,Void,Volatile,Wchar,While,With,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
104
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
105 HEAD, // start of linked list
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
106 EOF,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
107 MAX
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
108 }
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
109
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
110 alias TOK.Abstract KeywordsBegin;
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
111 alias TOK.With KeywordsEnd;
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
112 alias TOK.FILE SpecialTokensBegin;
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
113 alias TOK.VERSION SpecialTokensEnd;
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
114
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
115 /// A table mapping each TOK to a string.
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
116 const string[] tokToString = [
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
117 "Invalid",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
118
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
119 "Illegal",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
120 "Comment",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
121 "#! /shebang/",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
122 "#line",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
123 `"filespec"`,
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
124 "Newline",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
125 "Empty",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
126
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
127 "Identifier",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
128 "String",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
129 "CharLiteral", "WCharLiteral", "DCharLiteral",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
130
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
131 "__FILE__",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
132 "__LINE__",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
133 "__DATE__",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
134 "__TIME__",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
135 "__TIMESTAMP__",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
136 "__VENDOR__",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
137 "__VERSION__",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
138
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
139 "Int32", "Int64", "Uint32", "Uint64",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
140 "Float32", "Float64", "Float80",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
141 "Imaginary32", "Imaginary64", "Imaginary80",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
142
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
143 "(",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
144 ")",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
145 "[",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
146 "]",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
147 "{",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
148 "}",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
149
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
150 ".", "..", "...",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
151
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
152 "!<>=", // Unordered
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
153 "!<>", // UorE
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
154 "!<=", // UorG
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
155 "!<", // UorGorE
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
156 "!>=", // UorL
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
157 "!>", // UorLorE
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
158 "<>=", // LorEorG
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
159 "<>", // LorG
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
160
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
161 "=", "==", "!=", "!",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
162 "<=", "<",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
163 ">=", ">",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
164 "<<=", "<<",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
165 ">>=",">>",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
166 ">>>=", ">>>",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
167 "|=", "||", "|",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
168 "&=", "&&", "&",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
169 "+=", "++", "+",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
170 "-=", "--", "-",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
171 "/=", "/",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
172 "*=", "*",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
173 "%=", "%",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
174 "^=", "^",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
175 "~=", "~",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
176 "~",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
177 "is", "!is",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
178
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
179 ":",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
180 ";",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
181 "?",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
182 ",",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
183 "$",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
184
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
185 "abstract","alias","align","asm","assert","auto","body",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
186 "bool","break","byte","case","cast","catch","cdouble",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
187 "cent","cfloat","char","class","const","continue","creal",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
188 "dchar","debug","default","delegate","delete","deprecated","do",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
189 "double","else","enum","export","extern","false","final",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
190 "finally","float","for","foreach","foreach_reverse","function","goto",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
191 "idouble","if","ifloat","import","in","inout","int",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
192 "interface","invariant","ireal","is","lazy","long","macro",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
193 "mixin","module","new","null","out","override","package",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
194 "pragma","private","protected","public","real","ref","return",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
195 "scope","short","static","struct","super","switch","synchronized",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
196 "template","this","throw","__traits","true","try","typedef","typeid",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
197 "typeof","ubyte","ucent","uint","ulong","union","unittest",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
198 "ushort","version","void","volatile","wchar","while","with",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
199
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
200 "HEAD",
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
201 "EOF"
41b7f9e439bd Moved enum TOK to new module dil.TokenIDs.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
202 ];
502
4e14cd1b24da Refactored code and added modules related to tabulated Identifiers.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 500
diff changeset
203 static assert(tokToString.length == TOK.EOF+1);