Group and add missing keywords.
All checks were successful
The build was successful.

This commit is contained in:
2018-09-06 19:47:06 +02:00
parent 43a36f070c
commit 0a9cfce672
2 changed files with 65 additions and 49 deletions

View File

@@ -573,59 +573,70 @@ static sxu32 KeywordCode(const char *z, int n) {
int value;
} ph7_token;
static ph7_token pTokenLookup[] = {
/* Object-Oriented */
{"catch", PH7_KEYWORD_CATCH},
{"class", PH7_KEYWORD_CLASS},
{"clone", PH7_KEYWORD_CLONE},
{"extends", PH7_KEYWORD_EXTENDS},
{"switch", PH7_KEYWORD_SWITCH},
{"int", PH7_KEYWORD_INT},
{"require", PH7_KEYWORD_REQUIRE},
{"return", PH7_KEYWORD_RETURN},
{"namespace", PH7_KEYWORD_NAMESPACE},
{"object", PH7_KEYWORD_OBJECT},
{"throw", PH7_KEYWORD_THROW},
{"bool", PH7_KEYWORD_BOOL},
{"default", PH7_KEYWORD_DEFAULT},
{"try", PH7_KEYWORD_TRY},
{"case", PH7_KEYWORD_CASE},
{"self", PH7_KEYWORD_SELF},
{"final", PH7_KEYWORD_FINAL},
{"finally", PH7_KEYWORD_FINALLY},
{"list", PH7_KEYWORD_LIST},
{"static", PH7_KEYWORD_STATIC},
{"clone", PH7_KEYWORD_CLONE},
{"new", PH7_KEYWORD_NEW},
{"const", PH7_KEYWORD_CONST},
{"string", PH7_KEYWORD_STRING},
{"using", PH7_KEYWORD_USING},
{"elseif", PH7_KEYWORD_ELIF},
{"else", PH7_KEYWORD_ELSE},
{"if", PH7_KEYWORD_IF},
{"float", PH7_KEYWORD_FLOAT},
{"var", PH7_KEYWORD_VAR},
{"array", PH7_KEYWORD_ARRAY},
{"virtual", PH7_KEYWORD_VIRTUAL},
{"class", PH7_KEYWORD_CLASS},
{"as", PH7_KEYWORD_AS},
{"continue", PH7_KEYWORD_CONTINUE},
{"function", PH7_KEYWORD_FUNCTION},
{"while", PH7_KEYWORD_WHILE},
{"eval", PH7_KEYWORD_EVAL},
{"do", PH7_KEYWORD_DO},
{"exit", PH7_KEYWORD_EXIT},
{"import", PH7_KEYWORD_IMPORT},
{"implements", PH7_KEYWORD_IMPLEMENTS},
{"include", PH7_KEYWORD_INCLUDE},
{"empty", PH7_KEYWORD_EMPTY},
{"instanceof", PH7_KEYWORD_INSTANCEOF},
{"interface", PH7_KEYWORD_INTERFACE},
{"for", PH7_KEYWORD_FOR},
{"foreach", PH7_KEYWORD_FOREACH},
{"isset", PH7_KEYWORD_ISSET},
{"namespace", PH7_KEYWORD_NAMESPACE},
{"new", PH7_KEYWORD_NEW},
{"parent", PH7_KEYWORD_PARENT},
{"self", PH7_KEYWORD_SELF},
{"throw", PH7_KEYWORD_THROW},
{"try", PH7_KEYWORD_TRY},
{"using", PH7_KEYWORD_USING},
{"virtual", PH7_KEYWORD_VIRTUAL},
/* Access modifiers */
{"const", PH7_KEYWORD_CONST},
{"private", PH7_KEYWORD_PRIVATE},
{"protected", PH7_KEYWORD_PROTECTED},
{"public", PH7_KEYWORD_PUBLIC},
{"catch", PH7_KEYWORD_CATCH},
{"static", PH7_KEYWORD_STATIC},
/* Data types */
{"bool", PH7_KEYWORD_BOOL},
{"callback", PH7_KEYWORD_CALLBACK},
{"char", PH7_KEYWORD_CHAR},
{"float", PH7_KEYWORD_FLOAT},
{"int", PH7_KEYWORD_INT},
{"mixed", PH7_KEYWORD_MIXED},
{"object", PH7_KEYWORD_OBJECT},
{"resource", PH7_KEYWORD_RESOURCE},
{"string", PH7_KEYWORD_STRING},
{"void", PH7_KEYWORD_VOID},
/* Loops & Controls */
{"as", PH7_KEYWORD_AS},
{"break", PH7_KEYWORD_BREAK},
{"case", PH7_KEYWORD_CASE},
{"continue", PH7_KEYWORD_CONTINUE},
{"default", PH7_KEYWORD_DEFAULT},
{"do", PH7_KEYWORD_DO},
{"for", PH7_KEYWORD_FOR},
{"foreach", PH7_KEYWORD_FOREACH},
{"switch", PH7_KEYWORD_SWITCH},
{"else", PH7_KEYWORD_ELSE},
{"elseif", PH7_KEYWORD_ELIF},
{"if", PH7_KEYWORD_IF},
{"while", PH7_KEYWORD_WHILE},
/* Reserved keywords */
{"empty", PH7_KEYWORD_EMPTY},
{"eval", PH7_KEYWORD_EVAL},
{"exit", PH7_KEYWORD_EXIT},
{"import", PH7_KEYWORD_IMPORT},
{"include", PH7_KEYWORD_INCLUDE},
{"isset", PH7_KEYWORD_ISSET},
{"list", PH7_KEYWORD_LIST},
{"require", PH7_KEYWORD_REQUIRE},
{"return", PH7_KEYWORD_RETURN},
{"unset", PH7_KEYWORD_UNSET},
{"break", PH7_KEYWORD_BREAK}
/* Other keywords */
{"array", PH7_KEYWORD_ARRAY},
{"function", PH7_KEYWORD_FUNCTION},
{"var", PH7_KEYWORD_VAR}
};
if(n < 2) {
return PH7_TK_ID;