From efcdfec94f349d52b61777decd3310aeb840eae2 Mon Sep 17 00:00:00 2001 From: Daniel Kolesa Date: Fri, 20 Jun 2014 15:31:45 +0100 Subject: [PATCH] eolian: more cleanups --- src/lib/eolian/eo_lexer.c | 6 ++++++ src/lib/eolian/eo_lexer.h | 27 ++++++++++++++------------- src/lib/eolian/eo_parser.c | 11 +---------- 3 files changed, 21 insertions(+), 23 deletions(-) diff --git a/src/lib/eolian/eo_lexer.c b/src/lib/eolian/eo_lexer.c index bb6ffabb33..b4510ed2d8 100644 --- a/src/lib/eolian/eo_lexer.c +++ b/src/lib/eolian/eo_lexer.c @@ -393,6 +393,12 @@ eo_lexer_token_to_str(int token, char *buf) } } +const char * +eo_lexer_keyword_str_get(int kw) +{ + return tokens[kw + 2]; +} + static int _init_counter = 0; int diff --git a/src/lib/eolian/eo_lexer.h b/src/lib/eolian/eo_lexer.h index 189c645ca5..16ee0a5fb8 100644 --- a/src/lib/eolian/eo_lexer.h +++ b/src/lib/eolian/eo_lexer.h @@ -59,19 +59,20 @@ typedef struct _Eo_Lexer Eo_Lexer_Temps tmp; } Eo_Lexer; -int eo_lexer_init (void); -int eo_lexer_shutdown (void); -Eo_Lexer *eo_lexer_new (const char *source); -void eo_lexer_free (Eo_Lexer *ls); -int eo_lexer_get_balanced (Eo_Lexer *ls, char beg, char end); -int eo_lexer_get_until (Eo_Lexer *ls, char end); -int eo_lexer_get (Eo_Lexer *ls); -int eo_lexer_get_ident (Eo_Lexer *ls, const char *chars); -int eo_lexer_lookahead (Eo_Lexer *ls); -int eo_lexer_lookahead_ident(Eo_Lexer *ls, const char *chars); -void eo_lexer_lex_error (Eo_Lexer *ls, const char *msg, int token); -void eo_lexer_syntax_error (Eo_Lexer *ls, const char *msg); -void eo_lexer_token_to_str (int token, char *buf); +int eo_lexer_init (void); +int eo_lexer_shutdown (void); +Eo_Lexer *eo_lexer_new (const char *source); +void eo_lexer_free (Eo_Lexer *ls); +int eo_lexer_get_balanced (Eo_Lexer *ls, char beg, char end); +int eo_lexer_get_until (Eo_Lexer *ls, char end); +int eo_lexer_get (Eo_Lexer *ls); +int eo_lexer_get_ident (Eo_Lexer *ls, const char *chars); +int eo_lexer_lookahead (Eo_Lexer *ls); +int eo_lexer_lookahead_ident(Eo_Lexer *ls, const char *chars); +void eo_lexer_lex_error (Eo_Lexer *ls, const char *msg, int token); +void eo_lexer_syntax_error (Eo_Lexer *ls, const char *msg); +void eo_lexer_token_to_str (int token, char *buf); +const char *eo_lexer_keyword_str_get(int kw); extern int _eo_lexer_log_dom; #ifdef CRITICAL diff --git a/src/lib/eolian/eo_parser.c b/src/lib/eolian/eo_parser.c index 77aa0fe21e..ae14817b41 100644 --- a/src/lib/eolian/eo_parser.c +++ b/src/lib/eolian/eo_parser.c @@ -621,19 +621,10 @@ parse_implement(Eo_Lexer *ls, Eina_Bool iface) switch (ls->t.kw) { case KW_constructor: - eina_strbuf_append(buf, "constructor"); - eo_lexer_get(ls); - goto end; case KW_destructor: - eina_strbuf_append(buf, "destructor"); - eo_lexer_get(ls); - goto end; case KW_get: - eina_strbuf_append(buf, "get"); - eo_lexer_get(ls); - goto end; case KW_set: - eina_strbuf_append(buf, "set"); + eina_strbuf_append(buf, eo_lexer_keyword_str_get(ls->t.kw)); eo_lexer_get(ls); goto end; default: