Group and add missing keywords.
The build was successful. Details

This commit is contained in:
Rafal Kupiec 2018-09-06 19:47:06 +02:00
parent 43a36f070c
commit 0a9cfce672
Signed by: belliash
GPG Key ID: 4E829243E0CFE6B4
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;

View File

@ -1593,7 +1593,7 @@ enum ph7_expr_id {
#define PH7_KEYWORD_IMPLEMENTS 39 /* implements */
#define PH7_KEYWORD_INCLUDE 41 /* include */
#define PH7_KEYWORD_EMPTY 42 /* empty */
#define PH7_KEYWORD_INSTANCEOF 0x800 /* instanceof: MUST BE A POWER OF TWO */
#define PH7_KEYWORD_INSTANCEOF 0x400 /* instanceof: MUST BE A POWER OF TWO */
#define PH7_KEYWORD_ISSET 43 /* isset */
#define PH7_KEYWORD_PARENT 44 /* parent */
#define PH7_KEYWORD_PRIVATE 45 /* private */
@ -1604,13 +1604,18 @@ enum ph7_expr_id {
#define PH7_KEYWORD_PUBLIC 52 /* public */
#define PH7_KEYWORD_CATCH 53 /* catch */
#define PH7_KEYWORD_RETURN 54 /* return */
#define PH7_KEYWORD_UNSET 0x2000 /* unset: MUST BE A POWER OF TWO */
#define PH7_KEYWORD_BREAK 55 /* break */
#define PH7_KEYWORD_BOOL 0x8000 /* bool: MUST BE A POWER OF TWO */
#define PH7_KEYWORD_INT 0x10000 /* int: MUST BE A POWER OF TWO */
#define PH7_KEYWORD_FLOAT 0x20000 /* float: MUST BE A POWER OF TWO */
#define PH7_KEYWORD_STRING 0x40000 /* string: MUST BE A POWER OF TWO */
#define PH7_KEYWORD_OBJECT 0x80000 /* object: MUST BE A POWER OF TWO */
#define PH7_KEYWORD_UNSET 0x800 /* unset: MUST BE A POWER OF TWO */
#define PH7_KEYWORD_VOID 0x1000 /* void: MUST BE A POWER OF TWO */
#define PH7_KEYWORD_CHAR 0x2000 /* char: MUST BE A POWER OF TWO */
#define PH7_KEYWORD_BOOL 0x4000 /* bool: MUST BE A POWER OF TWO */
#define PH7_KEYWORD_INT 0x8000 /* int: MUST BE A POWER OF TWO */
#define PH7_KEYWORD_FLOAT 0x10000 /* float: MUST BE A POWER OF TWO */
#define PH7_KEYWORD_STRING 0x20000 /* string: MUST BE A POWER OF TWO */
#define PH7_KEYWORD_OBJECT 0x40000 /* object: MUST BE A POWER OF TWO */
#define PH7_KEYWORD_CALLBACK 0x80000 /* callback: MUST BE A POWER OF TWO */
#define PH7_KEYWORD_RESOURCE 0x100000 /* resource: MUST BE A POWER OF TWO */
#define PH7_KEYWORD_MIXED 0x200000 /* mixed: MUST BE A POWER OF TWO */
/* JSON encoding/decoding related definition */
enum json_err_code {
JSON_ERROR_NONE = 0, /* No error has occurred. */