[geany/geany] 001c7f: Move keywordTable definition to parse.h and use it for all parsers
Jiří Techet
git-noreply at xxxxx
Sat Sep 10 07:25:54 UTC 2016
Branch: refs/heads/master
Author: Jiří Techet <techet at gmail.com>
Committer: Jiří Techet <techet at gmail.com>
Date: Thu, 28 Jul 2016 21:56:05 UTC
Commit: 001c7f65e485a223530e23146604d84fa867a9aa
https://github.com/geany/geany/commit/001c7f65e485a223530e23146604d84fa867a9aa
Log Message:
-----------
Move keywordTable definition to parse.h and use it for all parsers
Modified Paths:
--------------
ctags/main/parse.h
ctags/parsers/asm.c
ctags/parsers/fortran.c
ctags/parsers/go.c
ctags/parsers/jscript.c
ctags/parsers/objc.c
ctags/parsers/php.c
ctags/parsers/sql.c
ctags/parsers/verilog.c
ctags/parsers/vhdl.c
Modified: ctags/main/parse.h
5 lines changed, 5 insertions(+), 0 deletions(-)
===================================================================
@@ -46,6 +46,11 @@ typedef struct sKindOption {
} kindOption;
typedef struct {
+ const char *name;
+ const int id;
+} keywordTable;
+
+typedef struct {
/* defined by parser */
char* name; /* name of language */
kindOption* kinds; /* tag kinds handled by parser */
Modified: ctags/parsers/asm.c
11 lines changed, 3 insertions(+), 8 deletions(-)
===================================================================
@@ -52,11 +52,6 @@ typedef enum {
} opKeyword;
typedef struct {
- const char *operator;
- opKeyword keyword;
-} asmKeyword;
-
-typedef struct {
opKeyword keyword;
AsmKind kind;
} opKind;
@@ -73,7 +68,7 @@ static kindOption AsmKinds [] = {
{ TRUE, 't', "type", "types (structs and records)" }
};
-static const asmKeyword AsmKeywords [] = {
+static const keywordTable AsmKeywords [] = {
{ "align", OP_ALIGN },
{ "endmacro", OP_ENDMACRO },
{ "endm", OP_ENDM },
@@ -121,8 +116,8 @@ static void buildAsmKeywordHash (void)
size_t i;
for (i = 0 ; i < count ; ++i)
{
- const asmKeyword* const p = AsmKeywords + i;
- addKeyword (p->operator, Lang_asm, (int) p->keyword);
+ const keywordTable* const p = AsmKeywords + i;
+ addKeyword (p->name, Lang_asm, (int) p->id);
}
}
Modified: ctags/parsers/fortran.c
12 lines changed, 2 insertions(+), 10 deletions(-)
===================================================================
@@ -144,14 +144,6 @@ typedef enum eKeywordId {
KEYWORD_while
} keywordId;
-/* Used to determine whether keyword is valid for the token language and
- * what its ID is.
- */
-typedef struct sKeywordDesc {
- const char *name;
- keywordId id;
-} keywordDesc;
-
typedef enum eTokenType {
TOKEN_UNDEFINED,
TOKEN_COMMA,
@@ -244,7 +236,7 @@ static kindOption FortranKinds [TAG_COUNT] = {
* http://h18009.www1.hp.com/fortran/docs/lrm/dflrm.htm
*/
-static const keywordDesc FortranKeywordTable [] = {
+static const keywordTable FortranKeywordTable [] = {
/* keyword keyword ID */
{ "allocatable", KEYWORD_allocatable },
{ "assignment", KEYWORD_assignment },
@@ -431,7 +423,7 @@ static void buildFortranKeywordHash (const langType language)
size_t i;
for (i = 0 ; i < count ; ++i)
{
- const keywordDesc* const p = &FortranKeywordTable [i];
+ const keywordTable* const p = &FortranKeywordTable [i];
addKeyword (p->name, language, (int) p->id);
}
}
Modified: ctags/parsers/go.c
12 lines changed, 2 insertions(+), 10 deletions(-)
===================================================================
@@ -41,14 +41,6 @@ typedef enum eKeywordId {
KEYWORD_chan
} keywordId;
-/* Used to determine whether keyword is valid for the current language and
- * what its ID is.
- */
-typedef struct sKeywordDesc {
- const char *name;
- keywordId id;
-} keywordDesc;
-
typedef enum eTokenType {
TOKEN_NONE = -1,
// Token not important for top-level Go parsing
@@ -109,7 +101,7 @@ static kindOption GoKinds[] = {
{TRUE, 'm', "member", "struct members"}
};
-static keywordDesc GoKeywordTable[] = {
+static const keywordTable GoKeywordTable[] = {
{"package", KEYWORD_package},
{"import", KEYWORD_import},
{"const", KEYWORD_const},
@@ -147,7 +139,7 @@ static void initialize (const langType language)
Lang_go = language;
for (i = 0; i < count; ++i)
{
- const keywordDesc *const p = &GoKeywordTable[i];
+ const keywordTable *const p = &GoKeywordTable[i];
addKeyword (p->name, language, (int) p->id);
}
}
Modified: ctags/parsers/jscript.c
12 lines changed, 2 insertions(+), 10 deletions(-)
===================================================================
@@ -76,14 +76,6 @@ typedef enum eKeywordId {
KEYWORD_return
} keywordId;
-/* Used to determine whether keyword is valid for the token language and
- * what its ID is.
- */
-typedef struct sKeywordDesc {
- const char *name;
- keywordId id;
-} keywordDesc;
-
typedef enum eTokenType {
TOKEN_UNDEFINED,
TOKEN_EOF,
@@ -147,7 +139,7 @@ static kindOption JsKinds [] = {
{ TRUE, 'v', "variable", "global variables" }
};
-static const keywordDesc JsKeywordTable [] = {
+static const keywordTable JsKeywordTable [] = {
/* keyword keyword ID */
{ "function", KEYWORD_function },
{ "Function", KEYWORD_capital_function },
@@ -195,7 +187,7 @@ static void buildJsKeywordHash (void)
size_t i;
for (i = 0 ; i < count ; ++i)
{
- const keywordDesc* const p = &JsKeywordTable [i];
+ const keywordTable* const p = &JsKeywordTable [i];
addKeyword (p->name, Lang_js, (int) p->id);
}
}
Modified: ctags/parsers/objc.c
10 lines changed, 2 insertions(+), 8 deletions(-)
===================================================================
@@ -111,13 +111,7 @@ typedef enum {
typedef objcKeyword objcToken;
-typedef struct sOBjcKeywordDesc {
- const char *name;
- objcKeyword id;
-} objcKeywordDesc;
-
-
-static const objcKeywordDesc objcKeywordTable[] = {
+static const keywordTable objcKeywordTable[] = {
{"typedef", ObjcTYPEDEF},
{"struct", ObjcSTRUCT},
{"enum", ObjcENUM},
@@ -152,7 +146,7 @@ typedef struct _lexingState {
static void initKeywordHash (void)
{
- const size_t count = sizeof (objcKeywordTable) / sizeof (objcKeywordDesc);
+ const size_t count = sizeof (objcKeywordTable) / sizeof (keywordTable);
size_t i;
for (i = 0; i < count; ++i)
Modified: ctags/parsers/php.c
9 lines changed, 2 insertions(+), 7 deletions(-)
===================================================================
@@ -125,12 +125,7 @@ static kindOption PhpKinds[COUNT_KIND] = {
{ TRUE, 'v', "variable", "variables" }
};
-typedef struct {
- const char *name;
- keywordId id;
-} keywordDesc;
-
-static const keywordDesc PhpKeywordTable[] = {
+static const keywordTable PhpKeywordTable[] = {
/* keyword keyword ID */
{ "abstract", KEYWORD_abstract },
{ "and", KEYWORD_and },
@@ -249,7 +244,7 @@ static void buildPhpKeywordHash (const langType language)
size_t i;
for (i = 0; i < count ; i++)
{
- const keywordDesc* const p = &PhpKeywordTable[i];
+ const keywordTable* const p = &PhpKeywordTable[i];
addKeyword (p->name, language, (int) p->id);
}
}
Modified: ctags/parsers/sql.c
13 lines changed, 2 insertions(+), 11 deletions(-)
===================================================================
@@ -130,15 +130,6 @@ typedef enum eKeywordId {
KEYWORD_go
} keywordId;
-/*
- * Used to determine whether keyword is valid for the token language and
- * what its ID is.
- */
-typedef struct sKeywordDesc {
- const char *name;
- keywordId id;
-} keywordDesc;
-
typedef enum eTokenType {
TOKEN_UNDEFINED,
TOKEN_BLOCK_LABEL_BEGIN,
@@ -236,7 +227,7 @@ static kindOption SqlKinds [] = {
{ TRUE, 'z', "mlprop", "MobiLink Properties " }
};
-static const keywordDesc SqlKeywordTable [] = {
+static const keywordTable SqlKeywordTable [] = {
/* keyword keyword ID */
{ "as", KEYWORD_is },
{ "is", KEYWORD_is },
@@ -412,7 +403,7 @@ static void buildSqlKeywordHash (void)
size_t i;
for (i = 0 ; i < count ; ++i)
{
- const keywordDesc* const p = &SqlKeywordTable [i];
+ const keywordTable* const p = &SqlKeywordTable [i];
addKeyword (p->name, Lang_sql, (int) p->id);
}
}
Modified: ctags/parsers/verilog.c
11 lines changed, 3 insertions(+), 8 deletions(-)
===================================================================
@@ -48,11 +48,6 @@ typedef enum {
K_TASK
} verilogKind;
-typedef struct {
- const char *keyword;
- verilogKind kind;
-} keywordAssoc;
-
/*
* DATA DEFINITIONS
*/
@@ -71,7 +66,7 @@ static kindOption VerilogKinds [] = {
{ TRUE, 't', "task", "tasks" }
};
-static keywordAssoc VerilogKeywordTable [] = {
+static keywordTable VerilogKeywordTable [] = {
{ "`define", K_CONSTANT },
{ "event", K_EVENT },
{ "function", K_FUNCTION },
@@ -112,8 +107,8 @@ static void initialize (const langType language)
Lang_verilog = language;
for (i = 0 ; i < count ; ++i)
{
- const keywordAssoc* const p = &VerilogKeywordTable [i];
- addKeyword (p->keyword, language, (int) p->kind);
+ const keywordTable* const p = &VerilogKeywordTable [i];
+ addKeyword (p->name, language, (int) p->id);
}
}
Modified: ctags/parsers/vhdl.c
11 lines changed, 3 insertions(+), 8 deletions(-)
===================================================================
@@ -50,11 +50,6 @@ typedef enum {
K_ALIAS
} vhdlKind;
-typedef struct {
- const char *keyword;
- vhdlKind kind;
-} keywordAssoc;
-
/*
* DATA DEFINITIONS
*/
@@ -84,7 +79,7 @@ static kindOption VhdlKinds [] = {
{ TRUE, 'A', "typedef", "alias" }
};
-static keywordAssoc VhdlKeywordTable [] = {
+static keywordTable VhdlKeywordTable [] = {
{ "constant", K_CONSTANT },
{ "variable", K_VARIABLE },
{ "type", K_TYPE },
@@ -117,8 +112,8 @@ static void initialize (const langType language)
Lang_vhdl = language;
for (i = 0 ; i < count ; ++i)
{
- const keywordAssoc* const p = &VhdlKeywordTable [i];
- addKeyword (p->keyword, language, (int) p->kind);
+ const keywordTable* const p = &VhdlKeywordTable [i];
+ addKeyword (p->name, language, (int) p->id);
}
}
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).
More information about the Commits
mailing list