diff options
Diffstat (limited to 'src/analysis/scan/tokens.l')
| -rw-r--r-- | src/analysis/scan/tokens.l | 36 | 
1 files changed, 19 insertions, 17 deletions
| diff --git a/src/analysis/scan/tokens.l b/src/analysis/scan/tokens.l index 92cc858..241c973 100644 --- a/src/analysis/scan/tokens.l +++ b/src/analysis/scan/tokens.l @@ -330,7 +330,7 @@ static void rost_unescape_bytes(const char *src, size_t len, sized_string_t *out  %x meta  %x meta_value -%x strings +%x bytes  %x bytes_value  %x bytes_value_raw @@ -428,13 +428,15 @@ bytes_fuzzy_id [\*A-Za-z_][\*A-Za-z0-9_]*                                          PUSH_STATE(wait_for_colon);                                          return META;                                      } -          <raw_block,meta>"strings" { + +            <raw_block,meta>"bytes" {                                          POP_STATE; -                                        PUSH_STATE(strings); +                                        PUSH_STATE(bytes);                                          PUSH_STATE(wait_for_colon); -                                        return STRINGS; +                                        return BYTES;                                      } -<raw_block,meta,strings>"condition" { + +  <raw_block,meta,bytes>"condition" {                                          POP_STATE;                                          PUSH_STATE(condition);                                          PUSH_STATE(wait_for_colon); @@ -446,7 +448,7 @@ bytes_fuzzy_id [\*A-Za-z_][\*A-Za-z0-9_]*                                          return COLON;                                      } -<raw_block,meta,strings,condition>"}" { +<raw_block,meta,bytes,condition>"}" {                                          POP_STATE;                                          return BRACE_OUT;                                      } @@ -566,11 +568,11 @@ bytes_fuzzy_id [\*A-Za-z_][\*A-Za-z0-9_]*  %{ /* Définitions communes pour la section "bytes:" */ %} -<strings>"fullword"                 { return FULLWORD; } -<strings>"nocase"                   { return NOCASE; } -<strings>"private"                  { return PRIVATE; } +  <bytes>"fullword"                 { return FULLWORD; } +  <bytes>"nocase"                   { return NOCASE; } +  <bytes>"private"                  { return PRIVATE; } -<strings>"="                        { PUSH_STATE(bytes_value); return ASSIGN; } +  <bytes>"="                        { PUSH_STATE(bytes_value); return ASSIGN; }  %{ /* Définition de motif en texte brut */ %} @@ -805,7 +807,7 @@ bytes_fuzzy_id [\*A-Za-z_][\*A-Za-z0-9_]*  %{ /* <bytes_regex>\[({regular_chars}|({regular_chars})-z|{reg_classes})+\] { */ %} -                     <bytes_regex>"[" { +                   <bytes_regex>"[" {                                          PUSH_STATE(bytes_regex_range);                                          printf(" !! entering range\n");                                          return HOOK_O; @@ -878,9 +880,9 @@ bytes_fuzzy_id [\*A-Za-z_][\*A-Za-z0-9_]*  <condition>"/"                  { return DIV; }  <condition>"%"                  { return MOD; } -<strings,condition>"("          { return PAREN_O; } -<strings,condition>")"          { return PAREN_C; } -<strings,condition>","          { return COMMA; } +<bytes,condition>"("            { return PAREN_O; } +<bytes,condition>")"            { return PAREN_C; } +<bytes,condition>","            { return COMMA; }  <condition>"["                  { return HOOK_O; } @@ -888,7 +890,7 @@ bytes_fuzzy_id [\*A-Za-z_][\*A-Za-z0-9_]*  <condition>"."                  { return DOT; } -<strings>"|"                    { return PIPE; } +<bytes>"|"                      { return PIPE; }  <condition>"none"               { return NONE; }  <condition>"any"                { return ANY; } @@ -898,7 +900,7 @@ bytes_fuzzy_id [\*A-Za-z_][\*A-Za-z0-9_]*  <condition>"in"                 { return IN; } -    <strings,condition>${bytes_id}  { +       <bytes,condition>${bytes_id} {                                          yylval->sized_cstring.data = yytext + 1;                                          yylval->sized_cstring.len = yyleng - 1;                                          return BYTES_ID; @@ -939,7 +941,7 @@ bytes_fuzzy_id [\*A-Za-z_][\*A-Za-z0-9_]* -<strings,condition>[A-Za-z_][A-Za-z0-9_]* { +<bytes,condition>[A-Za-z_][A-Za-z0-9_]* {                                      yylval->sized_cstring.data = yytext;                                      yylval->sized_cstring.len = yyleng;                                      return NAME; | 
