view trunk/src/dil/Keywords.d @ 497:0ffcc4ff82f3

Refactored a few things in the Lexer. Fix: SpecialTokensEnd should be TOK.VERSION not TOK.Version. Fixed assert statement in textSpan().
author Aziz K?ksal <aziz.koeksal@gmail.com>
date Sun, 09 Dec 2007 14:58:38 +0100
parents cca83c0c00fd
children 4e14cd1b24da
line wrap: on
line source

/++
  Author: Aziz Köksal
  License: GPL3
+/
module dil.Keywords;
import dil.Token;
import dil.Identifier;

/// Table of reserved identifiers.
static const Identifier[] keywords = [
  {TOK.Abstract, "abstract"},
  {TOK.Alias, "alias"},
  {TOK.Align, "align"},
  {TOK.Asm, "asm"},
  {TOK.Assert, "assert"},
  {TOK.Auto, "auto"},
  {TOK.Body, "body"},
  {TOK.Bool, "bool"},
  {TOK.Break, "break"},
  {TOK.Byte, "byte"},
  {TOK.Case, "case"},
  {TOK.Cast, "cast"},
  {TOK.Catch, "catch"},
  {TOK.Cdouble, "cdouble"},
  {TOK.Cent, "cent"},
  {TOK.Cfloat, "cfloat"},
  {TOK.Char, "char"},
  {TOK.Class, "class"},
  {TOK.Const, "const"},
  {TOK.Continue, "continue"},
  {TOK.Creal, "creal"},
  {TOK.Dchar, "dchar"},
  {TOK.Debug, "debug"},
  {TOK.Default, "default"},
  {TOK.Delegate, "delegate"},
  {TOK.Delete, "delete"},
  {TOK.Deprecated, "deprecated"},
  {TOK.Do, "do"},
  {TOK.Double, "double"},
  {TOK.Else, "else"},
  {TOK.Enum, "enum"},
  {TOK.Export, "export"},
  {TOK.Extern, "extern"},
  {TOK.False, "false"},
  {TOK.Final, "final"},
  {TOK.Finally, "finally"},
  {TOK.Float, "float"},
  {TOK.For, "for"},
  {TOK.Foreach, "foreach"},
  {TOK.Foreach_reverse, "foreach_reverse"},
  {TOK.Function, "function"},
  {TOK.Goto, "goto"},
  {TOK.Idouble, "idouble"},
  {TOK.If, "if"},
  {TOK.Ifloat, "ifloat"},
  {TOK.Import, "import"},
  {TOK.In, "in"},
  {TOK.Inout, "inout"},
  {TOK.Int, "int"},
  {TOK.Interface, "interface"},
  {TOK.Invariant, "invariant"},
  {TOK.Ireal, "ireal"},
  {TOK.Is, "is"},
  {TOK.Lazy, "lazy"},
  {TOK.Long, "long"},
  {TOK.Macro, "macro"}, // D2.0
  {TOK.Mixin, "mixin"},
  {TOK.Module, "module"},
  {TOK.New, "new"},
  {TOK.Null, "null"},
  {TOK.Out, "out"},
  {TOK.Override, "override"},
  {TOK.Package, "package"},
  {TOK.Pragma, "pragma"},
  {TOK.Private, "private"},
  {TOK.Protected, "protected"},
  {TOK.Public, "public"},
  {TOK.Real, "real"},
  {TOK.Ref, "ref"},
  {TOK.Return, "return"},
  {TOK.Scope, "scope"},
  {TOK.Short, "short"},
  {TOK.Static, "static"},
  {TOK.Struct, "struct"},
  {TOK.Super, "super"},
  {TOK.Switch, "switch"},
  {TOK.Synchronized, "synchronized"},
  {TOK.Template, "template"},
  {TOK.This, "this"},
  {TOK.Throw, "throw"},
  {TOK.Traits, "__traits"}, // D2.0
  {TOK.True, "true"},
  {TOK.Try, "try"},
  {TOK.Typedef, "typedef"},
  {TOK.Typeid, "typeid"},
  {TOK.Typeof, "typeof"},
  {TOK.Ubyte, "ubyte"},
  {TOK.Ucent, "ucent"},
  {TOK.Uint, "uint"},
  {TOK.Ulong, "ulong"},
  {TOK.Union, "union"},
  {TOK.Unittest, "unittest"},
  {TOK.Ushort, "ushort"},
  {TOK.Version, "version"},
  {TOK.Void, "void"},
  {TOK.Volatile, "volatile"},
  {TOK.Wchar, "wchar"},
  {TOK.While, "while"},
  {TOK.With, "with"},
  // Special tokens:
  {TOK.FILE, "__FILE__"},
  {TOK.LINE, "__LINE__"},
  {TOK.DATE, "__DATE__"},
  {TOK.TIME, "__TIME__"},
  {TOK.TIMESTAMP, "__TIMESTAMP__"},
  {TOK.VENDOR, "__VENDOR__"},
  {TOK.VERSION, "__VERSION__"},
  {TOK.EOF, "__EOF__"}, // D2.0
];