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