changeset 603:fc351756cc84

Moved dil.IdentsGenerator to dil.lexer.IdentsGenerator.
author Aziz K?ksal <aziz.koeksal@gmail.com>
date Sun, 06 Jan 2008 01:00:43 +0100
parents c2e35c83c394
children 87f09469d337
files trunk/src/dil/IdentsGenerator.d trunk/src/dil/lexer/IdTable.d trunk/src/dil/lexer/IdentsEnum.d trunk/src/dil/lexer/IdentsGenerator.d
diffstat 4 files changed, 111 insertions(+), 111 deletions(-) [+]
line wrap: on
line diff
--- a/trunk/src/dil/IdentsGenerator.d	Sun Jan 06 00:58:27 2008 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,109 +0,0 @@
-/++
-  Author: Aziz Köksal
-  License: GPL3
-+/
-module dil.IdentsGenerator;
-
-struct StrPair
-{
-const:
-  char[] str;   /// Identifier string in code.
-  char[] idStr; /// In table.
-}
-
-static const StrPair[] identPairs = [
-  // Predefined version identifiers:
-  {"DigitalMars"}, {"X86"}, {"X86_64"},
-  /*{"Windows"}, */{"Win32"}, {"Win64"},
-  {"linux"}, {"LittleEndian"}, {"BigEndian"},
-  {"D_Coverage"}, {"D_InlineAsm_X86"}, {"D_Version2"},
-  {"none"}, {"all"},
-  // Variadic parameters:
-  {"_arguments"}, {"_argptr"},
-  // scope:
-  {"exit"}, {"success"}, {"failure"},
-  // pragma:
-  {"msg"}, {"lib"},
-  // Linkage:
-  {"C"}, {"D"}, {"Windows"}, {"Pascal"}, {"System"},
-  // Operator methods:
-  {"opNeg"},
-  {"opPos"},
-  {"opComp"},
-  {"opAddAssign"},
-  {"opSubAssign"},
-  {"opPostInc"},
-  {"opPostDec"},
-  {"opCall"},
-  {"opCast"},
-  {"opIndex"},
-  {"opSlice"},
-  // ASM identifiers:
-  {"near"}, {"far"}, {"word"}, {"dword"}, {"qword"},
-  {"ptr"}, {"offset"}, {"seg"}, {"__LOCAL_SIZE"},
-  {"FS"}, {"ST"},
-  {"AL"}, {"AH"}, {"AX"}, {"EAX"},
-  {"BL"}, {"BH"}, {"BX"}, {"EBX"},
-  {"CL"}, {"CH"}, {"CX"}, {"ECX"},
-  {"DL"}, {"DH"}, {"DX"}, {"EDX"},
-  {"BP"}, {"EBP"}, {"SP"}, {"ESP"},
-  {"DI"}, {"EDI"}, {"SI"}, {"ESI"},
-  {"ES"}, {"CS"}, {"SS"}, {"DS"}, {"GS"},
-  {"CR0"}, {"CR2"}, {"CR3"}, {"CR4"},
-  {"DR0"}, {"DR1"}, {"DR2"}, {"DR3"}, {"DR6"}, {"DR7"},
-  {"TR3"}, {"TR4"}, {"TR5"}, {"TR6"}, {"TR7"},
-  {"MM0"}, {"MM1"}, {"MM2"}, {"MM3"},
-  {"MM4"}, {"MM5"}, {"MM6"}, {"MM7"},
-  {"XMM0"}, {"XMM1"}, {"XMM2"}, {"XMM3"},
-  {"XMM4"}, {"XMM5"}, {"XMM6"}, {"XMM7"},
-];
-
-/++
-  CTF for generating the members of the struct Ident.
-  The resulting string could look like this:
-  ---
-  private struct Ids {static const:
-    Identifier _str = {"str", TOK.Identifier, ID.str};
-    // more ...
-  }
-  Identifier* str = &Ids._str;
-  // more ...
-  private Identifier*[] __allIds = [
-    str,
-    // more ...
-  ]
-  ---
-+/
-char[] generateIdentMembers(char[] private_members = "")
-{
-  private_members = "private struct Ids {static const:";
-
-  char[] public_members = "";
-  char[] array = "private Identifier*[] __allIds = [";
-  foreach (pair; identPairs)
-  {
-    // NB: conditional makes function uneligible for CTE.
-    // char[] idString = pair.idStr ? pair.idStr : pair.str;
-    // Identifier _str = {"str", TOK.Identifier, ID.str};
-    private_members ~= "Identifier _"~pair.str~` = {"`~pair.str~`", TOK.Identifier, ID.`~pair.str~"};\n";
-    // Identifier* str = &_str;
-    public_members ~= "Identifier* "~pair.str~" = &Ids._"~pair.str~";\n";
-    array ~= pair.str~",";
-  }
-
-  private_members ~= "}"; // Close private {
-  array ~= "];";
-
-  return private_members ~ public_members ~ array;
-}
-
-/// CTF for generating the members of the enum ID.
-char[] generateIDMembers(char[] members = "")
-{
-  foreach (pair; identPairs)
-    members ~= pair.str ~ ",\n";
-  return members;
-}
-
-// pragma(msg, generateIdentMembers());
-// pragma(msg, generateIDMembers());
--- a/trunk/src/dil/lexer/IdTable.d	Sun Jan 06 00:58:27 2008 +0100
+++ b/trunk/src/dil/lexer/IdTable.d	Sun Jan 06 01:00:43 2008 +0100
@@ -5,7 +5,7 @@
 module dil.lexer.IdTable;
 
 import dil.lexer.TokensEnum;
-import dil.IdentsGenerator;
+import dil.lexer.IdentsGenerator;
 import dil.lexer.Keywords;
 import common;
 
--- a/trunk/src/dil/lexer/IdentsEnum.d	Sun Jan 06 00:58:27 2008 +0100
+++ b/trunk/src/dil/lexer/IdentsEnum.d	Sun Jan 06 01:00:43 2008 +0100
@@ -4,7 +4,7 @@
 +/
 module dil.lexer.IdentsEnum;
 
-import dil.IdentsGenerator;
+import dil.lexer.IdentsGenerator;
 
 mixin(
   "enum ID : ushort {"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trunk/src/dil/lexer/IdentsGenerator.d	Sun Jan 06 01:00:43 2008 +0100
@@ -0,0 +1,109 @@
+/++
+  Author: Aziz Köksal
+  License: GPL3
++/
+module dil.lexer.IdentsGenerator;
+
+struct StrPair
+{
+const:
+  char[] str;   /// Identifier string in code.
+  char[] idStr; /// In table.
+}
+
+static const StrPair[] identPairs = [
+  // Predefined version identifiers:
+  {"DigitalMars"}, {"X86"}, {"X86_64"},
+  /*{"Windows"}, */{"Win32"}, {"Win64"},
+  {"linux"}, {"LittleEndian"}, {"BigEndian"},
+  {"D_Coverage"}, {"D_InlineAsm_X86"}, {"D_Version2"},
+  {"none"}, {"all"},
+  // Variadic parameters:
+  {"_arguments"}, {"_argptr"},
+  // scope:
+  {"exit"}, {"success"}, {"failure"},
+  // pragma:
+  {"msg"}, {"lib"},
+  // Linkage:
+  {"C"}, {"D"}, {"Windows"}, {"Pascal"}, {"System"},
+  // Operator methods:
+  {"opNeg"},
+  {"opPos"},
+  {"opComp"},
+  {"opAddAssign"},
+  {"opSubAssign"},
+  {"opPostInc"},
+  {"opPostDec"},
+  {"opCall"},
+  {"opCast"},
+  {"opIndex"},
+  {"opSlice"},
+  // ASM identifiers:
+  {"near"}, {"far"}, {"word"}, {"dword"}, {"qword"},
+  {"ptr"}, {"offset"}, {"seg"}, {"__LOCAL_SIZE"},
+  {"FS"}, {"ST"},
+  {"AL"}, {"AH"}, {"AX"}, {"EAX"},
+  {"BL"}, {"BH"}, {"BX"}, {"EBX"},
+  {"CL"}, {"CH"}, {"CX"}, {"ECX"},
+  {"DL"}, {"DH"}, {"DX"}, {"EDX"},
+  {"BP"}, {"EBP"}, {"SP"}, {"ESP"},
+  {"DI"}, {"EDI"}, {"SI"}, {"ESI"},
+  {"ES"}, {"CS"}, {"SS"}, {"DS"}, {"GS"},
+  {"CR0"}, {"CR2"}, {"CR3"}, {"CR4"},
+  {"DR0"}, {"DR1"}, {"DR2"}, {"DR3"}, {"DR6"}, {"DR7"},
+  {"TR3"}, {"TR4"}, {"TR5"}, {"TR6"}, {"TR7"},
+  {"MM0"}, {"MM1"}, {"MM2"}, {"MM3"},
+  {"MM4"}, {"MM5"}, {"MM6"}, {"MM7"},
+  {"XMM0"}, {"XMM1"}, {"XMM2"}, {"XMM3"},
+  {"XMM4"}, {"XMM5"}, {"XMM6"}, {"XMM7"},
+];
+
+/++
+  CTF for generating the members of the struct Ident.
+  The resulting string could look like this:
+  ---
+  private struct Ids {static const:
+    Identifier _str = {"str", TOK.Identifier, ID.str};
+    // more ...
+  }
+  Identifier* str = &Ids._str;
+  // more ...
+  private Identifier*[] __allIds = [
+    str,
+    // more ...
+  ]
+  ---
++/
+char[] generateIdentMembers(char[] private_members = "")
+{
+  private_members = "private struct Ids {static const:";
+
+  char[] public_members = "";
+  char[] array = "private Identifier*[] __allIds = [";
+  foreach (pair; identPairs)
+  {
+    // NB: conditional makes function uneligible for CTE.
+    // char[] idString = pair.idStr ? pair.idStr : pair.str;
+    // Identifier _str = {"str", TOK.Identifier, ID.str};
+    private_members ~= "Identifier _"~pair.str~` = {"`~pair.str~`", TOK.Identifier, ID.`~pair.str~"};\n";
+    // Identifier* str = &_str;
+    public_members ~= "Identifier* "~pair.str~" = &Ids._"~pair.str~";\n";
+    array ~= pair.str~",";
+  }
+
+  private_members ~= "}"; // Close private {
+  array ~= "];";
+
+  return private_members ~ public_members ~ array;
+}
+
+/// CTF for generating the members of the enum ID.
+char[] generateIDMembers(char[] members = "")
+{
+  foreach (pair; identPairs)
+    members ~= pair.str ~ ",\n";
+  return members;
+}
+
+// pragma(msg, generateIdentMembers());
+// pragma(msg, generateIDMembers());