Author: ablackmann
Date: Sat Oct 31 21:24:33 2009
New Revision: 43886

URL: http://svn.reactos.org/svn/reactos?rev=43886&view=rev
Log:
Implement stubs for all the different keyword stub-parsers.


Modified:
    trunk/reactos/tools/kbdtool/parser.c

Modified: trunk/reactos/tools/kbdtool/parser.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/tools/kbdtool/parser.c?rev=43886&r1=43885&r2=43886&view=diff
==============================================================================
--- trunk/reactos/tools/kbdtool/parser.c [iso-8859-1] (original)
+++ trunk/reactos/tools/kbdtool/parser.c [iso-8859-1] Sat Oct 31 21:24:33 2009
@@ -22,6 +22,7 @@
 extern PCHAR gpszFileName;
 extern FILE* gfpInput;
 CHAR gBuf[256];
+CHAR g_Layout[4096];
 ULONG gLineCount;
 PCHAR KeyWordList[KEYWORD_COUNT] =
 {
@@ -125,11 +126,104 @@
     return KEYWORD_COUNT;
 }
 
+ULONG
+DoKBD(VOID)
+{    
+    return SkipLines();
+}
+
+ULONG
+DoVERSION(VOID)
+{    
+    return SkipLines();
+}
+
+ULONG
+DoCOPYRIGHT(VOID)
+{    
+    return SkipLines();
+}
+
+ULONG
+DoCOMPANY(VOID)
+{    
+    return SkipLines();
+}
+
+ULONG
+DoLOCALENAME(VOID)
+{    
+    return SkipLines();
+}
+
+ULONG
+DoMODIFIERS(VOID)
+{    
+    return SkipLines();
+}
+
+ULONG
+DoDESCRIPTIONS(PVOID DescriptionData)
+{
+    return SkipLines();
+}
+
+ULONG
+DoKEYNAME(PVOID KeyNameData)
+{
+    return SkipLines();   
+}
+
+ULONG
+DoLIGATURE(PVOID LigatureData)
+{
+    return SkipLines();
+}
+
+ULONG
+DoATTRIBUTES(PVOID AttributeData)
+{
+    return SkipLines();
+}
+
+ULONG
+DoLANGUAGENAMES(PVOID LanguageData)
+{
+    return SkipLines();
+}
+
+ULONG
+DoDEADKEY(PVOID DeadKeyData)
+{
+    return SkipLines();
+}
+
+ULONG
+DoSHIFTSTATE(IN PULONG StateCount,
+             IN OUT PULONG ShiftStates)
+{
+    *StateCount = 10;
+    return SkipLines();
+}
+
+ULONG
+DoLAYOUT(IN PVOID LayoutData,
+         IN PVOID LigatureData,
+         IN PULONG ShiftStates,
+         IN ULONG StateCount)
+{
+    return SkipLines();
+}
+
 VOID
 DoParsing(VOID)
 {
     ULONG KeyWords[KEYWORD_COUNT];
     ULONG KeyWord;
+    ULONG StateCount;
+    ULONG ShiftStates[8];
+    PVOID AttributeData, LigatureData, DeadKeyData, DescriptionData;
+    PVOID KeyNameData, KeyNameExtData, KeyNameDeadData, LanguageData;
     
     /* Parse keywords */
     gLineCount = 0;
@@ -155,6 +249,7 @@
             printf("The '%s' keyword appeared multiple times.\n",
                    KeyWordList[KeyWord]);
         }
+               
         
         /* Now parse this keyword */
         switch (KeyWord)
@@ -163,112 +258,122 @@
             case 0:
                 
                 printf("Found KBD section\n");
-                KeyWord = SkipLines();
+                KeyWord = DoKBD();
                 break;
                 
             /* VERSION */
             case 1:
                 
                 printf("Found VERSION section\n");
-                KeyWord = SkipLines();
+                KeyWord = DoVERSION();
                 break;
                 
             /* COPYRIGHT */
             case 2:
                 
                 printf("Found COPYRIGHT section\n");
-                KeyWord = SkipLines();
+                KeyWord = DoCOPYRIGHT();
                 break;
                 
             /* COMPANY */
             case 3:
                 
                 printf("Found COMPANY section\n");
-                KeyWord = SkipLines();
+                KeyWord = DoCOMPANY();
                 break;
                 
             /* LOCALENAME */
             case 4:
                 
                 printf("Found LOCALENAME section\n");
-                KeyWord = SkipLines();
+                KeyWord = DoLOCALENAME();
                 break;
             
             /* MODIFIERS */
             case 5:
                 
                 printf("Found MODIFIERS section\n");
-                KeyWord = SkipLines();
+                KeyWord = DoMODIFIERS();
                 break;
                 
             /* SHIFTSTATE */
             case 6:
                 
                 printf("Found SHIFTSTATE section\n");
-                KeyWord = SkipLines();
+                KeyWord = DoSHIFTSTATE(&StateCount, ShiftStates);
+                if (StateCount < 2)
+                {
+                    /* Fail */
+                    fclose(gfpInput);
+                    printf("ERROR");
+                    exit(1);
+                }
                 break;
                 
             /* ATTRIBUTES */
             case 7:
                 
                 printf("Found ATTRIBUTES section\n");
-                KeyWord = SkipLines();
+                KeyWord = DoATTRIBUTES(&AttributeData);
                 break;
                 
             /* LAYOUT */
             case 8:
                 
                 printf("Found LAYOUT section\n");
-                KeyWord = SkipLines();
+                KeyWord = DoLAYOUT(&g_Layout,
+                                   &LigatureData,
+                                   ShiftStates,
+                                   StateCount);
                 break;
                 
             /* DEADKEY */
             case 9:
                 
                 printf("Found DEADKEY section\n");
-                KeyWord = SkipLines();
+                KeyWord = DoDEADKEY(&DeadKeyData);
                 break;
                 
             /* LIGATURE */
             case 10:
                 
                 printf("Found LIGATURE section\n");
-                KeyWord = SkipLines();
+                KeyWord = DoLIGATURE(&LigatureData);
                 break;
                 
             /* KEYNAME */
             case 11:
                 
                 printf("Found KEYNAME section\n");
-                KeyWord = SkipLines();
+                KeyWord = DoKEYNAME(&KeyNameData);
                 break;
                 
             /* KEYNAME_EXT */
             case 12:
                 
                 printf("Found KEYNAME_EXT section\n");
-                KeyWord = SkipLines();
+                KeyWord = DoKEYNAME(&KeyNameExtData);
                 break;
                 
             /* KEYNAME_DEAD */
             case 13:
                 
                 printf("Found KEYNAME_DEAD section\n");
-                KeyWord = SkipLines();
+                KeyWord = DoKEYNAME(&KeyNameDeadData);
                 break;
                 
             /* DESCRIPTIONS */
             case 14:
                 
                 printf("Found DESCRIPTIONS section\n");
-                KeyWord = SkipLines();
+                KeyWord = DoDESCRIPTIONS(&DescriptionData);
                 break;
                 
             /* LANGUAGENAMES */
             case 15:
                 
                 printf("Found LANGUAGENAMES section\n");
-                KeyWord = SkipLines();
+                KeyWord = DoLANGUAGENAMES(&LanguageData);
                 break;
                 
             /* ENDKBD */


Reply via email to