Implement stubs for all the different keyword stub-parsers.

svn path=/trunk/; revision=43886
This commit is contained in:
Arch Blackmann 2009-10-31 20:24:33 +00:00
parent a68c7af143
commit eeeb4634bf

View file

@ -22,6 +22,7 @@ extern BOOLEAN Verbose;
extern PCHAR gpszFileName; extern PCHAR gpszFileName;
extern FILE* gfpInput; extern FILE* gfpInput;
CHAR gBuf[256]; CHAR gBuf[256];
CHAR g_Layout[4096];
ULONG gLineCount; ULONG gLineCount;
PCHAR KeyWordList[KEYWORD_COUNT] = PCHAR KeyWordList[KEYWORD_COUNT] =
{ {
@ -125,11 +126,104 @@ SkipLines(VOID)
return KEYWORD_COUNT; 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 VOID
DoParsing(VOID) DoParsing(VOID)
{ {
ULONG KeyWords[KEYWORD_COUNT]; ULONG KeyWords[KEYWORD_COUNT];
ULONG KeyWord; ULONG KeyWord;
ULONG StateCount;
ULONG ShiftStates[8];
PVOID AttributeData, LigatureData, DeadKeyData, DescriptionData;
PVOID KeyNameData, KeyNameExtData, KeyNameDeadData, LanguageData;
/* Parse keywords */ /* Parse keywords */
gLineCount = 0; gLineCount = 0;
@ -156,6 +250,7 @@ DoParsing(VOID)
KeyWordList[KeyWord]); KeyWordList[KeyWord]);
} }
/* Now parse this keyword */ /* Now parse this keyword */
switch (KeyWord) switch (KeyWord)
{ {
@ -163,112 +258,122 @@ DoParsing(VOID)
case 0: case 0:
printf("Found KBD section\n"); printf("Found KBD section\n");
KeyWord = SkipLines(); KeyWord = DoKBD();
break; break;
/* VERSION */ /* VERSION */
case 1: case 1:
printf("Found VERSION section\n"); printf("Found VERSION section\n");
KeyWord = SkipLines(); KeyWord = DoVERSION();
break; break;
/* COPYRIGHT */ /* COPYRIGHT */
case 2: case 2:
printf("Found COPYRIGHT section\n"); printf("Found COPYRIGHT section\n");
KeyWord = SkipLines(); KeyWord = DoCOPYRIGHT();
break; break;
/* COMPANY */ /* COMPANY */
case 3: case 3:
printf("Found COMPANY section\n"); printf("Found COMPANY section\n");
KeyWord = SkipLines(); KeyWord = DoCOMPANY();
break; break;
/* LOCALENAME */ /* LOCALENAME */
case 4: case 4:
printf("Found LOCALENAME section\n"); printf("Found LOCALENAME section\n");
KeyWord = SkipLines(); KeyWord = DoLOCALENAME();
break; break;
/* MODIFIERS */ /* MODIFIERS */
case 5: case 5:
printf("Found MODIFIERS section\n"); printf("Found MODIFIERS section\n");
KeyWord = SkipLines(); KeyWord = DoMODIFIERS();
break; break;
/* SHIFTSTATE */ /* SHIFTSTATE */
case 6: case 6:
printf("Found SHIFTSTATE section\n"); printf("Found SHIFTSTATE section\n");
KeyWord = SkipLines(); KeyWord = DoSHIFTSTATE(&StateCount, ShiftStates);
if (StateCount < 2)
{
/* Fail */
fclose(gfpInput);
printf("ERROR");
exit(1);
}
break; break;
/* ATTRIBUTES */ /* ATTRIBUTES */
case 7: case 7:
printf("Found ATTRIBUTES section\n"); printf("Found ATTRIBUTES section\n");
KeyWord = SkipLines(); KeyWord = DoATTRIBUTES(&AttributeData);
break; break;
/* LAYOUT */ /* LAYOUT */
case 8: case 8:
printf("Found LAYOUT section\n"); printf("Found LAYOUT section\n");
KeyWord = SkipLines(); KeyWord = DoLAYOUT(&g_Layout,
&LigatureData,
ShiftStates,
StateCount);
break; break;
/* DEADKEY */ /* DEADKEY */
case 9: case 9:
printf("Found DEADKEY section\n"); printf("Found DEADKEY section\n");
KeyWord = SkipLines(); KeyWord = DoDEADKEY(&DeadKeyData);
break; break;
/* LIGATURE */ /* LIGATURE */
case 10: case 10:
printf("Found LIGATURE section\n"); printf("Found LIGATURE section\n");
KeyWord = SkipLines(); KeyWord = DoLIGATURE(&LigatureData);
break; break;
/* KEYNAME */ /* KEYNAME */
case 11: case 11:
printf("Found KEYNAME section\n"); printf("Found KEYNAME section\n");
KeyWord = SkipLines(); KeyWord = DoKEYNAME(&KeyNameData);
break; break;
/* KEYNAME_EXT */ /* KEYNAME_EXT */
case 12: case 12:
printf("Found KEYNAME_EXT section\n"); printf("Found KEYNAME_EXT section\n");
KeyWord = SkipLines(); KeyWord = DoKEYNAME(&KeyNameExtData);
break; break;
/* KEYNAME_DEAD */ /* KEYNAME_DEAD */
case 13: case 13:
printf("Found KEYNAME_DEAD section\n"); printf("Found KEYNAME_DEAD section\n");
KeyWord = SkipLines(); KeyWord = DoKEYNAME(&KeyNameDeadData);
break; break;
/* DESCRIPTIONS */ /* DESCRIPTIONS */
case 14: case 14:
printf("Found DESCRIPTIONS section\n"); printf("Found DESCRIPTIONS section\n");
KeyWord = SkipLines(); KeyWord = DoDESCRIPTIONS(&DescriptionData);
break; break;
/* LANGUAGENAMES */ /* LANGUAGENAMES */
case 15: case 15:
printf("Found LANGUAGENAMES section\n"); printf("Found LANGUAGENAMES section\n");
KeyWord = SkipLines(); KeyWord = DoLANGUAGENAMES(&LanguageData);
break; break;
/* ENDKBD */ /* ENDKBD */