From a9748e6445016d276b0fa344c61646de3d7febf2 Mon Sep 17 00:00:00 2001 From: Daniel Zaoui Date: Wed, 5 Mar 2014 10:06:05 +0200 Subject: [PATCH] Eolian/Lexer: fix parsing for functions description. If the first character of the description was not an alphanumeric, it was not finalizing the parsing of the description and was not inserting it in the database. It was occurring when "@since" was the first word in the description of the function. --- src/lib/eolian/eo_lexer.c | 16 ++++++++-------- src/lib/eolian/eo_lexer.rl | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/lib/eolian/eo_lexer.c b/src/lib/eolian/eo_lexer.c index ff5faff5d0..70de68fcd3 100644 --- a/src/lib/eolian/eo_lexer.c +++ b/src/lib/eolian/eo_lexer.c @@ -402,7 +402,7 @@ static const char _eo_tokenizer_trans_keys[] = { 114, 102, 97, 99, 101, 9, 13, 32, 120, 105, 110, 9, 13, 32, 10, 42, 64, 10, 42, 10, 42, 47, 10, 42, - 95, 0, 32, 48, 57, 65, 90, 97, + 95, 0, 32, 48, 57, 64, 90, 97, 122, 10, 42, 10, 42, 47, 10, 9, 13, 32, 58, 95, 48, 57, 65, 90, 97, 122, 9, 13, 32, 58, 9, 13, @@ -432,13 +432,13 @@ static const char _eo_tokenizer_trans_keys[] = { 9, 13, 32, 42, 59, 64, 95, 48, 57, 65, 90, 97, 122, 9, 13, 32, 47, 42, 64, 10, 95, 0, 32, 48, - 57, 65, 90, 97, 122, 10, 42, 10, + 57, 64, 90, 97, 122, 10, 42, 10, 42, 47, 119, 97, 114, 110, 95, 117, 110, 117, 115, 101, 100, 59, 10, 42, 10, 42, 47, 10, 9, 13, 32, 42, 59, 95, 48, 57, 64, 90, 97, 122, 9, 13, 32, 47, 42, 64, 10, 95, - 0, 32, 48, 57, 65, 90, 97, 122, + 0, 32, 48, 57, 64, 90, 97, 122, 10, 42, 10, 42, 47, 10, 42, 10, 42, 47, 10, 116, 10, 123, 0, 32, 121, 115, 10, 123, 0, 32, 116, 10, @@ -447,7 +447,7 @@ static const char _eo_tokenizer_trans_keys[] = { 10, 10, 95, 123, 0, 32, 48, 57, 65, 90, 97, 122, 10, 123, 0, 32, 10, 42, 64, 10, 42, 10, 42, 47, - 10, 42, 95, 0, 32, 48, 57, 65, + 10, 42, 95, 0, 32, 48, 57, 64, 90, 97, 122, 10, 42, 10, 42, 47, 10, 110, 115, 116, 59, 103, 97, 99, 121, 9, 13, 32, 9, 13, 32, 65, @@ -460,14 +460,14 @@ static const char _eo_tokenizer_trans_keys[] = { 90, 97, 122, 9, 13, 32, 42, 59, 64, 95, 48, 57, 65, 90, 97, 122, 9, 13, 32, 47, 42, 64, 10, 95, - 0, 32, 48, 57, 65, 90, 97, 122, + 0, 32, 48, 57, 64, 90, 97, 122, 10, 42, 10, 42, 47, 119, 97, 114, 110, 95, 117, 110, 117, 115, 101, 100, 59, 10, 42, 10, 42, 47, 10, 10, 95, 123, 0, 32, 48, 57, 65, 90, 97, 122, 10, 123, 0, 32, 10, 42, 64, 10, 42, 10, 42, 47, 10, 42, - 95, 0, 32, 48, 57, 65, 90, 97, + 95, 0, 32, 48, 57, 64, 90, 97, 122, 10, 42, 10, 42, 47, 10, 110, 115, 116, 114, 117, 99, 116, 111, 114, 115, 10, 123, 0, 32, 115, 116, 114, @@ -479,7 +479,7 @@ static const char _eo_tokenizer_trans_keys[] = { 48, 57, 65, 90, 97, 122, 10, 59, 0, 32, 9, 10, 13, 32, 47, 125, 0, 31, 65, 90, 97, 122, 42, 64, - 10, 95, 0, 32, 48, 57, 65, 90, + 10, 95, 0, 32, 48, 57, 64, 90, 97, 122, 10, 42, 10, 42, 47, 10, 125, 0, 32, 65, 90, 97, 122, 112, 108, 101, 109, 101, 110, 116, 115, 10, @@ -514,7 +514,7 @@ static const char _eo_tokenizer_trans_keys[] = { 65, 90, 97, 122, 59, 95, 48, 57, 65, 90, 97, 122, 10, 125, 0, 32, 10, 59, 125, 0, 32, 42, 64, 10, - 95, 0, 32, 48, 57, 65, 90, 97, + 95, 0, 32, 48, 57, 64, 90, 97, 122, 10, 42, 10, 42, 47, 10, 58, 59, 125, 0, 32, 65, 90, 97, 122, 9, 10, 13, 32, 59, 123, 0, 31, diff --git a/src/lib/eolian/eo_lexer.rl b/src/lib/eolian/eo_lexer.rl index 7d2996750e..ada7686419 100644 --- a/src/lib/eolian/eo_lexer.rl +++ b/src/lib/eolian/eo_lexer.rl @@ -342,7 +342,7 @@ _eo_tokenizer_implement_get(Eo_Tokenizer *toknz, char *p) event = alpha+ >save_fpc (alnum | '_' | ',' )+; class_meth = alpha+ >save_fpc (alnum | '_' | '::' )+; - eo_comment = "/*@" ignore* alnum_u >save_fpc ( any | cr @inc_line )* :>> "*/"; + eo_comment = "/*@" ignore* ('@' | alnum_u) >save_fpc ( any | cr @inc_line )* :>> "*/"; c_comment = "/*" ( any | cr @inc_line )* :>> "*/"; cpp_comment = "//" (any - cr )* newline; comment = ( c_comment | cpp_comment ) > save_line;