q66 pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=e2bab9ed2c3a29ef9b83c1fa8667d135e55c3949

commit e2bab9ed2c3a29ef9b83c1fa8667d135e55c3949
Author: Daniel Kolesa <[email protected]>
Date:   Wed Jul 16 14:43:40 2014 +0100

    eolian: parse events without get_ident
---
 src/lib/eolian/eo_parser.c | 21 ++++++++++++++++-----
 1 file changed, 16 insertions(+), 5 deletions(-)

diff --git a/src/lib/eolian/eo_parser.c b/src/lib/eolian/eo_parser.c
index 258d771..cabf32c 100644
--- a/src/lib/eolian/eo_parser.c
+++ b/src/lib/eolian/eo_parser.c
@@ -816,15 +816,26 @@ static void
 parse_event(Eo_Lexer *ls)
 {
    Eolian_Event *ev = calloc(1, sizeof(Eolian_Event));
+   Eina_Strbuf *buf = push_strbuf(ls);
    ls->tmp.event = ev;
    /* code path not in use yet
    if (ls->t.kw == KW_private)
      {
-        eo_lexer_get_ident(ls, "_,");
+        eo_lexer_get(ls);
      }*/
    check(ls, TOK_VALUE);
-   ev->name = eina_stringshare_add(ls->t.value);
+   eina_strbuf_append(buf, ls->t.value);
    eo_lexer_get(ls);
+   while (ls->t.token == ',')
+     {
+        eo_lexer_get(ls);
+        check(ls, TOK_VALUE);
+        eina_strbuf_append_char(buf, ',');
+        eina_strbuf_append(buf, ls->t.value);
+        eo_lexer_get(ls);
+     }
+   ev->name = eina_stringshare_add(eina_strbuf_string_get(buf));
+   pop_strbuf(ls);
    if (ls->t.token == ':')
      {
         eo_lexer_get(ls);
@@ -832,11 +843,11 @@ parse_event(Eo_Lexer *ls)
         pop_type(ls);
      }
    check(ls, ';');
-   eo_lexer_get_ident(ls, "_,");
+   eo_lexer_get(ls);
    if (ls->t.token == TOK_COMMENT)
      {
         ev->comment = eina_stringshare_add(ls->t.value);
-        eo_lexer_get_ident(ls, "_,");
+        eo_lexer_get(ls);
      }
 }
 
@@ -900,7 +911,7 @@ parse_events(Eo_Lexer *ls)
    line = ls->line_number;
    col = ls->column;
    check(ls, '{');
-   eo_lexer_get_ident(ls, "_,");
+   eo_lexer_get(ls);
    while (ls->t.token != '}')
      {
         parse_event(ls);

-- 


Reply via email to