From 55e9c896cac1160a43f79e508b323bd23167589f Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Tue, 29 Oct 2019 19:01:02 +0100 Subject: [PATCH] vbscript: Use wide char literals for lexer keywords. Signed-off-by: Jacek Caban Signed-off-by: Alexandre Julliard --- dlls/vbscript/lex.c | 172 +++++++++++++++----------------------------- 1 file changed, 57 insertions(+), 115 deletions(-) diff --git a/dlls/vbscript/lex.c b/dlls/vbscript/lex.c index 510ac0918b3..6b20d1979d2 100644 --- a/dlls/vbscript/lex.c +++ b/dlls/vbscript/lex.c @@ -28,125 +28,67 @@ WINE_DEFAULT_DEBUG_CHANNEL(vbscript); -static const WCHAR andW[] = {'a','n','d',0}; -static const WCHAR byrefW[] = {'b','y','r','e','f',0}; -static const WCHAR byvalW[] = {'b','y','v','a','l',0}; -static const WCHAR callW[] = {'c','a','l','l',0}; -static const WCHAR caseW[] = {'c','a','s','e',0}; -static const WCHAR classW[] = {'c','l','a','s','s',0}; -static const WCHAR constW[] = {'c','o','n','s','t',0}; -static const WCHAR defaultW[] = {'d','e','f','a','u','l','t',0}; -static const WCHAR dimW[] = {'d','i','m',0}; -static const WCHAR doW[] = {'d','o',0}; -static const WCHAR eachW[] = {'e','a','c','h',0}; -static const WCHAR elseW[] = {'e','l','s','e',0}; -static const WCHAR elseifW[] = {'e','l','s','e','i','f',0}; -static const WCHAR emptyW[] = {'e','m','p','t','y',0}; -static const WCHAR endW[] = {'e','n','d',0}; -static const WCHAR eqvW[] = {'e','q','v',0}; -static const WCHAR errorW[] = {'e','r','r','o','r',0}; -static const WCHAR exitW[] = {'e','x','i','t',0}; -static const WCHAR explicitW[] = {'e','x','p','l','i','c','i','t',0}; -static const WCHAR falseW[] = {'f','a','l','s','e',0}; -static const WCHAR forW[] = {'f','o','r',0}; -static const WCHAR functionW[] = {'f','u','n','c','t','i','o','n',0}; -static const WCHAR getW[] = {'g','e','t',0}; -static const WCHAR gotoW[] = {'g','o','t','o',0}; -static const WCHAR ifW[] = {'i','f',0}; -static const WCHAR impW[] = {'i','m','p',0}; -static const WCHAR inW[] = {'i','n',0}; -static const WCHAR isW[] = {'i','s',0}; -static const WCHAR letW[] = {'l','e','t',0}; -static const WCHAR loopW[] = {'l','o','o','p',0}; -static const WCHAR meW[] = {'m','e',0}; -static const WCHAR modW[] = {'m','o','d',0}; -static const WCHAR newW[] = {'n','e','w',0}; -static const WCHAR nextW[] = {'n','e','x','t',0}; -static const WCHAR notW[] = {'n','o','t',0}; -static const WCHAR nothingW[] = {'n','o','t','h','i','n','g',0}; -static const WCHAR nullW[] = {'n','u','l','l',0}; -static const WCHAR onW[] = {'o','n',0}; -static const WCHAR optionW[] = {'o','p','t','i','o','n',0}; -static const WCHAR orW[] = {'o','r',0}; -static const WCHAR privateW[] = {'p','r','i','v','a','t','e',0}; -static const WCHAR propertyW[] = {'p','r','o','p','e','r','t','y',0}; -static const WCHAR publicW[] = {'p','u','b','l','i','c',0}; -static const WCHAR remW[] = {'r','e','m',0}; -static const WCHAR resumeW[] = {'r','e','s','u','m','e',0}; -static const WCHAR selectW[] = {'s','e','l','e','c','t',0}; -static const WCHAR setW[] = {'s','e','t',0}; -static const WCHAR stepW[] = {'s','t','e','p',0}; -static const WCHAR stopW[] = {'s','t','o','p',0}; -static const WCHAR subW[] = {'s','u','b',0}; -static const WCHAR thenW[] = {'t','h','e','n',0}; -static const WCHAR toW[] = {'t','o',0}; -static const WCHAR trueW[] = {'t','r','u','e',0}; -static const WCHAR untilW[] = {'u','n','t','i','l',0}; -static const WCHAR wendW[] = {'w','e','n','d',0}; -static const WCHAR whileW[] = {'w','h','i','l','e',0}; -static const WCHAR xorW[] = {'x','o','r',0}; - static const struct { const WCHAR *word; int token; } keywords[] = { - {andW, tAND}, - {byrefW, tBYREF}, - {byvalW, tBYVAL}, - {callW, tCALL}, - {caseW, tCASE}, - {classW, tCLASS}, - {constW, tCONST}, - {defaultW, tDEFAULT}, - {dimW, tDIM}, - {doW, tDO}, - {eachW, tEACH}, - {elseW, tELSE}, - {elseifW, tELSEIF}, - {emptyW, tEMPTY}, - {endW, tEND}, - {eqvW, tEQV}, - {errorW, tERROR}, - {exitW, tEXIT}, - {explicitW, tEXPLICIT}, - {falseW, tFALSE}, - {forW, tFOR}, - {functionW, tFUNCTION}, - {getW, tGET}, - {gotoW, tGOTO}, - {ifW, tIF}, - {impW, tIMP}, - {inW, tIN}, - {isW, tIS}, - {letW, tLET}, - {loopW, tLOOP}, - {meW, tME}, - {modW, tMOD}, - {newW, tNEW}, - {nextW, tNEXT}, - {notW, tNOT}, - {nothingW, tNOTHING}, - {nullW, tNULL}, - {onW, tON}, - {optionW, tOPTION}, - {orW, tOR}, - {privateW, tPRIVATE}, - {propertyW, tPROPERTY}, - {publicW, tPUBLIC}, - {remW, tREM}, - {resumeW, tRESUME}, - {selectW, tSELECT}, - {setW, tSET}, - {stepW, tSTEP}, - {stopW, tSTOP}, - {subW, tSUB}, - {thenW, tTHEN}, - {toW, tTO}, - {trueW, tTRUE}, - {untilW, tUNTIL}, - {wendW, tWEND}, - {whileW, tWHILE}, - {xorW, tXOR} + {L"and", tAND}, + {L"byref", tBYREF}, + {L"byval", tBYVAL}, + {L"call", tCALL}, + {L"case", tCASE}, + {L"class", tCLASS}, + {L"const", tCONST}, + {L"default", tDEFAULT}, + {L"dim", tDIM}, + {L"do", tDO}, + {L"each", tEACH}, + {L"else", tELSE}, + {L"elseif", tELSEIF}, + {L"empty", tEMPTY}, + {L"end", tEND}, + {L"eqv", tEQV}, + {L"error", tERROR}, + {L"exit", tEXIT}, + {L"explicit", tEXPLICIT}, + {L"false", tFALSE}, + {L"for", tFOR}, + {L"function", tFUNCTION}, + {L"get", tGET}, + {L"goto", tGOTO}, + {L"if", tIF}, + {L"imp", tIMP}, + {L"in", tIN}, + {L"is", tIS}, + {L"let", tLET}, + {L"loop", tLOOP}, + {L"me", tME}, + {L"mod", tMOD}, + {L"new", tNEW}, + {L"next", tNEXT}, + {L"not", tNOT}, + {L"nothing", tNOTHING}, + {L"null", tNULL}, + {L"on", tON}, + {L"option", tOPTION}, + {L"or", tOR}, + {L"private", tPRIVATE}, + {L"property", tPROPERTY}, + {L"public", tPUBLIC}, + {L"rem", tREM}, + {L"resume", tRESUME}, + {L"select", tSELECT}, + {L"set", tSET}, + {L"step", tSTEP}, + {L"stop", tSTOP}, + {L"sub", tSUB}, + {L"then", tTHEN}, + {L"to", tTO}, + {L"true", tTRUE}, + {L"until", tUNTIL}, + {L"wend", tWEND}, + {L"while", tWHILE}, + {L"xor", tXOR} }; static inline BOOL is_identifier_char(WCHAR c)