By adding `%option nodefault` to flex input files (`.l`) the produced code don't use the ECHO macro.
This commit is contained in:
Victor M. Alvarez
2023-11-28 00:06:31 +01:00
parent 01032a6cb2
commit 330bc748e4
6 changed files with 171 additions and 168 deletions
+35 -35
View File
@@ -1,6 +1,6 @@
#line 2 "hex_lexer.c"
#line 1 "libyara/hex_lexer.c"
#line 4 "hex_lexer.c"
#line 3 "libyara/hex_lexer.c"
#define YY_INT_ALIGNED short int
@@ -690,7 +690,7 @@ static const flex_int32_t yy_rule_can_match_eol[24] =
#define yymore() yymore_used_but_not_detected
#define YY_MORE_ADJ 0
#define YY_RESTORE_YY_MORE_OFFSET
#line 1 "hex_lexer.l"
#line 1 "libyara/hex_lexer.l"
/*
Copyright (c) 2013. The YARA Authors. All Rights Reserved.
@@ -720,7 +720,7 @@ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/* Lexical analyzer for hex strings */
#line 33 "hex_lexer.l"
#line 33 "libyara/hex_lexer.l"
/* Disable warnings for unused functions in this file.
@@ -760,11 +760,11 @@ with noyywrap then we can remove this pragma.
YYABORT; \
} \
#line 764 "hex_lexer.c"
#line 763 "libyara/hex_lexer.c"
#define YY_NO_UNISTD_H 1
#define YY_NO_INPUT 1
#line 768 "hex_lexer.c"
#line 767 "libyara/hex_lexer.c"
#define INITIAL 0
#define comment 1
@@ -1038,11 +1038,11 @@ YY_DECL
}
{
#line 95 "hex_lexer.l"
#line 96 "libyara/hex_lexer.l"
#line 1046 "hex_lexer.c"
#line 1045 "libyara/hex_lexer.c"
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
{
@@ -1109,7 +1109,7 @@ do_action: /* This label is used only to access EOF actions. */
case 1:
YY_RULE_SETUP
#line 98 "hex_lexer.l"
#line 99 "libyara/hex_lexer.l"
{
yylval->integer = xtoi(yytext);
@@ -1118,7 +1118,7 @@ YY_RULE_SETUP
YY_BREAK
case 2:
YY_RULE_SETUP
#line 104 "hex_lexer.l"
#line 105 "libyara/hex_lexer.l"
{
yytext[1] = '0'; // replace ? by 0
@@ -1128,7 +1128,7 @@ YY_RULE_SETUP
YY_BREAK
case 3:
YY_RULE_SETUP
#line 111 "hex_lexer.l"
#line 112 "libyara/hex_lexer.l"
{
yylval->integer = xtoi(&(yytext[1]));
@@ -1137,7 +1137,7 @@ YY_RULE_SETUP
YY_BREAK
case 4:
YY_RULE_SETUP
#line 117 "hex_lexer.l"
#line 118 "libyara/hex_lexer.l"
{
yytext[0] = '0'; // replace ? by 0
@@ -1147,7 +1147,7 @@ YY_RULE_SETUP
YY_BREAK
case 5:
YY_RULE_SETUP
#line 124 "hex_lexer.l"
#line 125 "libyara/hex_lexer.l"
{
yylval->integer = 0x0000;
@@ -1156,7 +1156,7 @@ YY_RULE_SETUP
YY_BREAK
case 6:
YY_RULE_SETUP
#line 130 "hex_lexer.l"
#line 131 "libyara/hex_lexer.l"
{
yytext[2] = '0'; // replace ? by 0
@@ -1166,7 +1166,7 @@ YY_RULE_SETUP
YY_BREAK
case 7:
YY_RULE_SETUP
#line 137 "hex_lexer.l"
#line 138 "libyara/hex_lexer.l"
{
yytext[1] = '0'; // replace ? by 0
@@ -1176,7 +1176,7 @@ YY_RULE_SETUP
YY_BREAK
case 8:
YY_RULE_SETUP
#line 144 "hex_lexer.l"
#line 145 "libyara/hex_lexer.l"
{
yyerror(yyscanner, lex_env, "uneven number of digits in hex string");
@@ -1185,16 +1185,16 @@ YY_RULE_SETUP
YY_BREAK
case 9:
YY_RULE_SETUP
#line 150 "hex_lexer.l"
#line 151 "libyara/hex_lexer.l"
{
yyerror(yyscanner, lex_env, "invalid not operator (~) in hex string");
yyterminate();
}
YY_BREAK
case 10:
YY_RULE_SETUP
#line 157 "hex_lexer.l"
#line 158 "libyara/hex_lexer.l"
{
BEGIN(range);
@@ -1203,7 +1203,7 @@ YY_RULE_SETUP
YY_BREAK
case 11:
YY_RULE_SETUP
#line 163 "hex_lexer.l"
#line 164 "libyara/hex_lexer.l"
{
BEGIN(comment);
@@ -1211,7 +1211,7 @@ YY_RULE_SETUP
YY_BREAK
case 12:
YY_RULE_SETUP
#line 168 "hex_lexer.l"
#line 169 "libyara/hex_lexer.l"
{
BEGIN(INITIAL);
@@ -1220,17 +1220,17 @@ YY_RULE_SETUP
case 13:
/* rule 13 can match eol */
YY_RULE_SETUP
#line 173 "hex_lexer.l"
#line 174 "libyara/hex_lexer.l"
// skip comments
YY_BREAK
case 14:
YY_RULE_SETUP
#line 175 "hex_lexer.l"
#line 176 "libyara/hex_lexer.l"
// skip single-line comments
YY_BREAK
case 15:
YY_RULE_SETUP
#line 177 "hex_lexer.l"
#line 178 "libyara/hex_lexer.l"
{
return yytext[0];
@@ -1238,7 +1238,7 @@ YY_RULE_SETUP
YY_BREAK
case 16:
YY_RULE_SETUP
#line 182 "hex_lexer.l"
#line 183 "libyara/hex_lexer.l"
{
yylval->integer = atoi(yytext);
@@ -1247,7 +1247,7 @@ YY_RULE_SETUP
YY_BREAK
case 17:
YY_RULE_SETUP
#line 188 "hex_lexer.l"
#line 189 "libyara/hex_lexer.l"
{
BEGIN(INITIAL);
@@ -1257,12 +1257,12 @@ YY_RULE_SETUP
case 18:
/* rule 18 can match eol */
YY_RULE_SETUP
#line 194 "hex_lexer.l"
#line 195 "libyara/hex_lexer.l"
// skip whitespaces
YY_BREAK
case 19:
YY_RULE_SETUP
#line 196 "hex_lexer.l"
#line 197 "libyara/hex_lexer.l"
{
yyerror(yyscanner, lex_env, "invalid character in hex string jump");
@@ -1272,12 +1272,12 @@ YY_RULE_SETUP
case 20:
/* rule 20 can match eol */
YY_RULE_SETUP
#line 202 "hex_lexer.l"
#line 203 "libyara/hex_lexer.l"
// skip whitespaces
YY_BREAK
case 21:
YY_RULE_SETUP
#line 204 "hex_lexer.l"
#line 205 "libyara/hex_lexer.l"
{ // pass valid characters to the parser
return yytext[0];
@@ -1285,7 +1285,7 @@ YY_RULE_SETUP
YY_BREAK
case 22:
YY_RULE_SETUP
#line 209 "hex_lexer.l"
#line 210 "libyara/hex_lexer.l"
{ // reject all other characters
yyerror(yyscanner, lex_env, "invalid character in hex string");
@@ -1294,10 +1294,10 @@ YY_RULE_SETUP
YY_BREAK
case 23:
YY_RULE_SETUP
#line 215 "hex_lexer.l"
ECHO;
#line 216 "libyara/hex_lexer.l"
YY_FATAL_ERROR( "flex scanner jammed" );
YY_BREAK
#line 1301 "hex_lexer.c"
#line 1300 "libyara/hex_lexer.c"
case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(comment):
case YY_STATE_EOF(range):
@@ -2450,7 +2450,7 @@ void yyfree (void * ptr , yyscan_t yyscanner)
#define YYTABLES_NAME "yytables"
#line 215 "hex_lexer.l"
#line 216 "libyara/hex_lexer.l"
//
+2 -1
View File
@@ -72,6 +72,7 @@ with noyywrap then we can remove this pragma.
%}
%option reentrant bison-bridge
%option nodefault
%option noyywrap
%option nounistd
%option noinput
@@ -148,7 +149,7 @@ hexdigit [a-fA-F0-9]
}
\~ {
yyerror(yyscanner, lex_env, "invalid not operator (~) in hex string");
yyterminate();
}
+98 -98
View File
@@ -1,6 +1,6 @@
#line 1 "lexer.c"
#line 1 "libyara/lexer.c"
#line 3 "lexer.c"
#line 3 "libyara/lexer.c"
#define YY_INT_ALIGNED short int
@@ -894,7 +894,7 @@ static const flex_int32_t yy_rule_can_match_eol[87] =
#define yymore() yymore_used_but_not_detected
#define YY_MORE_ADJ 0
#define YY_RESTORE_YY_MORE_OFFSET
#line 1 "lexer.l"
#line 1 "libyara/lexer.l"
/*
Copyright (c) 2007-2013. The YARA Authors. All Rights Reserved.
@@ -924,7 +924,7 @@ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/* Lexical analyzer for YARA */
#line 33 "lexer.l"
#line 33 "libyara/lexer.l"
/* Disable warnings for unused functions in this file.
@@ -1030,11 +1030,11 @@ static bool is_absolute_path(
#endif
}
#line 1033 "lexer.c"
#line 1033 "libyara/lexer.c"
#define YY_NO_UNISTD_H 1
#define YY_NO_INPUT 1
#line 1037 "lexer.c"
#line 1037 "libyara/lexer.c"
#define INITIAL 0
#define str 1
@@ -1310,10 +1310,10 @@ YY_DECL
}
{
#line 163 "lexer.l"
#line 164 "libyara/lexer.l"
#line 1316 "lexer.c"
#line 1316 "libyara/lexer.c"
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
{
@@ -1380,263 +1380,263 @@ do_action: /* This label is used only to access EOF actions. */
case 1:
YY_RULE_SETUP
#line 165 "lexer.l"
#line 166 "libyara/lexer.l"
{ return _DOT_DOT_; }
YY_BREAK
case 2:
YY_RULE_SETUP
#line 166 "lexer.l"
#line 167 "libyara/lexer.l"
{ return _LT_; }
YY_BREAK
case 3:
YY_RULE_SETUP
#line 167 "lexer.l"
#line 168 "libyara/lexer.l"
{ return _GT_; }
YY_BREAK
case 4:
YY_RULE_SETUP
#line 168 "lexer.l"
#line 169 "libyara/lexer.l"
{ return _LE_; }
YY_BREAK
case 5:
YY_RULE_SETUP
#line 169 "lexer.l"
#line 170 "libyara/lexer.l"
{ return _GE_; }
YY_BREAK
case 6:
YY_RULE_SETUP
#line 170 "lexer.l"
#line 171 "libyara/lexer.l"
{ return _EQ_; }
YY_BREAK
case 7:
YY_RULE_SETUP
#line 171 "lexer.l"
#line 172 "libyara/lexer.l"
{ return _NEQ_; }
YY_BREAK
case 8:
YY_RULE_SETUP
#line 172 "lexer.l"
#line 173 "libyara/lexer.l"
{ return _SHIFT_LEFT_; }
YY_BREAK
case 9:
YY_RULE_SETUP
#line 173 "lexer.l"
#line 174 "libyara/lexer.l"
{ return _SHIFT_RIGHT_; }
YY_BREAK
case 10:
YY_RULE_SETUP
#line 174 "lexer.l"
#line 175 "libyara/lexer.l"
{ return _PRIVATE_; }
YY_BREAK
case 11:
YY_RULE_SETUP
#line 175 "lexer.l"
#line 176 "libyara/lexer.l"
{ return _GLOBAL_; }
YY_BREAK
case 12:
YY_RULE_SETUP
#line 176 "lexer.l"
#line 177 "libyara/lexer.l"
{ return _RULE_; }
YY_BREAK
case 13:
YY_RULE_SETUP
#line 177 "lexer.l"
#line 178 "libyara/lexer.l"
{ return _META_; }
YY_BREAK
case 14:
YY_RULE_SETUP
#line 178 "lexer.l"
#line 179 "libyara/lexer.l"
{ return _STRINGS_; }
YY_BREAK
case 15:
YY_RULE_SETUP
#line 179 "lexer.l"
#line 180 "libyara/lexer.l"
{ return _ASCII_; }
YY_BREAK
case 16:
YY_RULE_SETUP
#line 180 "lexer.l"
#line 181 "libyara/lexer.l"
{ return _WIDE_; }
YY_BREAK
case 17:
YY_RULE_SETUP
#line 181 "lexer.l"
#line 182 "libyara/lexer.l"
{ return _XOR_; }
YY_BREAK
case 18:
YY_RULE_SETUP
#line 182 "lexer.l"
#line 183 "libyara/lexer.l"
{ return _BASE64_; }
YY_BREAK
case 19:
YY_RULE_SETUP
#line 183 "lexer.l"
#line 184 "libyara/lexer.l"
{ return _BASE64_WIDE_; }
YY_BREAK
case 20:
YY_RULE_SETUP
#line 184 "lexer.l"
#line 185 "libyara/lexer.l"
{ return _FULLWORD_; }
YY_BREAK
case 21:
YY_RULE_SETUP
#line 185 "lexer.l"
#line 186 "libyara/lexer.l"
{ return _NOCASE_; }
YY_BREAK
case 22:
YY_RULE_SETUP
#line 186 "lexer.l"
#line 187 "libyara/lexer.l"
{ return _CONDITION_; }
YY_BREAK
case 23:
YY_RULE_SETUP
#line 187 "lexer.l"
#line 188 "libyara/lexer.l"
{ return _TRUE_; }
YY_BREAK
case 24:
YY_RULE_SETUP
#line 188 "lexer.l"
#line 189 "libyara/lexer.l"
{ return _FALSE_; }
YY_BREAK
case 25:
YY_RULE_SETUP
#line 189 "lexer.l"
#line 190 "libyara/lexer.l"
{ return _NOT_; }
YY_BREAK
case 26:
YY_RULE_SETUP
#line 190 "lexer.l"
#line 191 "libyara/lexer.l"
{ return _AND_; }
YY_BREAK
case 27:
YY_RULE_SETUP
#line 191 "lexer.l"
#line 192 "libyara/lexer.l"
{ return _OR_; }
YY_BREAK
case 28:
YY_RULE_SETUP
#line 192 "lexer.l"
#line 193 "libyara/lexer.l"
{ return _AT_; }
YY_BREAK
case 29:
YY_RULE_SETUP
#line 193 "lexer.l"
#line 194 "libyara/lexer.l"
{ return _IN_; }
YY_BREAK
case 30:
YY_RULE_SETUP
#line 194 "lexer.l"
#line 195 "libyara/lexer.l"
{ return _OF_; }
YY_BREAK
case 31:
YY_RULE_SETUP
#line 195 "lexer.l"
#line 196 "libyara/lexer.l"
{ return _THEM_; }
YY_BREAK
case 32:
YY_RULE_SETUP
#line 196 "lexer.l"
#line 197 "libyara/lexer.l"
{ return _FOR_; }
YY_BREAK
case 33:
YY_RULE_SETUP
#line 197 "lexer.l"
#line 198 "libyara/lexer.l"
{ return _ALL_; }
YY_BREAK
case 34:
YY_RULE_SETUP
#line 198 "lexer.l"
#line 199 "libyara/lexer.l"
{ return _ANY_; }
YY_BREAK
case 35:
YY_RULE_SETUP
#line 199 "lexer.l"
#line 200 "libyara/lexer.l"
{ return _NONE_; }
YY_BREAK
case 36:
YY_RULE_SETUP
#line 200 "lexer.l"
#line 201 "libyara/lexer.l"
{ return _ENTRYPOINT_; }
YY_BREAK
case 37:
YY_RULE_SETUP
#line 201 "lexer.l"
#line 202 "libyara/lexer.l"
{ return _FILESIZE_; }
YY_BREAK
case 38:
YY_RULE_SETUP
#line 202 "lexer.l"
#line 203 "libyara/lexer.l"
{ return _MATCHES_; }
YY_BREAK
case 39:
YY_RULE_SETUP
#line 203 "lexer.l"
#line 204 "libyara/lexer.l"
{ return _CONTAINS_; }
YY_BREAK
case 40:
YY_RULE_SETUP
#line 204 "lexer.l"
#line 205 "libyara/lexer.l"
{ return _STARTSWITH_; }
YY_BREAK
case 41:
YY_RULE_SETUP
#line 205 "lexer.l"
#line 206 "libyara/lexer.l"
{ return _ENDSWITH_; }
YY_BREAK
case 42:
YY_RULE_SETUP
#line 206 "lexer.l"
#line 207 "libyara/lexer.l"
{ return _ICONTAINS_; }
YY_BREAK
case 43:
YY_RULE_SETUP
#line 207 "lexer.l"
#line 208 "libyara/lexer.l"
{ return _ISTARTSWITH_; }
YY_BREAK
case 44:
YY_RULE_SETUP
#line 208 "lexer.l"
#line 209 "libyara/lexer.l"
{ return _IENDSWITH_; }
YY_BREAK
case 45:
YY_RULE_SETUP
#line 209 "lexer.l"
#line 210 "libyara/lexer.l"
{ return _IEQUALS_; }
YY_BREAK
case 46:
YY_RULE_SETUP
#line 210 "lexer.l"
#line 211 "libyara/lexer.l"
{ return _IMPORT_; }
YY_BREAK
case 47:
YY_RULE_SETUP
#line 211 "lexer.l"
#line 212 "libyara/lexer.l"
{ return _DEFINED_; }
YY_BREAK
case 48:
YY_RULE_SETUP
#line 214 "lexer.l"
#line 215 "libyara/lexer.l"
{ BEGIN(comment); }
YY_BREAK
case 49:
YY_RULE_SETUP
#line 215 "lexer.l"
#line 216 "libyara/lexer.l"
{ BEGIN(INITIAL); }
YY_BREAK
case 50:
/* rule 50 can match eol */
YY_RULE_SETUP
#line 216 "lexer.l"
#line 217 "libyara/lexer.l"
{ /* skip comments */ }
YY_BREAK
case 51:
YY_RULE_SETUP
#line 219 "lexer.l"
#line 220 "libyara/lexer.l"
{ /* skip single-line comments */ }
YY_BREAK
case 52:
YY_RULE_SETUP
#line 222 "lexer.l"
#line 223 "libyara/lexer.l"
{
yyextra->lex_buf_ptr = yyextra->lex_buf;
yyextra->lex_buf_len = 0;
@@ -1646,12 +1646,12 @@ YY_RULE_SETUP
case 53:
/* rule 53 can match eol */
YY_RULE_SETUP
#line 229 "lexer.l"
#line 230 "libyara/lexer.l"
{ yytext_to_buffer; }
YY_BREAK
case 54:
YY_RULE_SETUP
#line 232 "lexer.l"
#line 233 "libyara/lexer.l"
{
if (compiler->include_callback != NULL)
@@ -1788,7 +1788,7 @@ case YY_STATE_EOF(str):
case YY_STATE_EOF(regexp):
case YY_STATE_EOF(include):
case YY_STATE_EOF(comment):
#line 364 "lexer.l"
#line 365 "libyara/lexer.l"
{
yypop_buffer_state(yyscanner);
@@ -1801,7 +1801,7 @@ case YY_STATE_EOF(comment):
YY_BREAK
case 55:
YY_RULE_SETUP
#line 375 "lexer.l"
#line 376 "libyara/lexer.l"
{
yylval->c_string = yr_strdup(yytext);
@@ -1814,7 +1814,7 @@ YY_RULE_SETUP
YY_BREAK
case 56:
YY_RULE_SETUP
#line 386 "lexer.l"
#line 387 "libyara/lexer.l"
{
yylval->c_string = yr_strdup(yytext);
@@ -1827,7 +1827,7 @@ YY_RULE_SETUP
YY_BREAK
case 57:
YY_RULE_SETUP
#line 397 "lexer.l"
#line 398 "libyara/lexer.l"
{
yylval->c_string = yr_strdup(yytext);
@@ -1846,7 +1846,7 @@ YY_RULE_SETUP
YY_BREAK
case 58:
YY_RULE_SETUP
#line 414 "lexer.l"
#line 415 "libyara/lexer.l"
{
yylval->c_string = yr_strdup(yytext);
@@ -1865,7 +1865,7 @@ YY_RULE_SETUP
YY_BREAK
case 59:
YY_RULE_SETUP
#line 431 "lexer.l"
#line 432 "libyara/lexer.l"
{
yylval->c_string = yr_strdup(yytext);
@@ -1884,7 +1884,7 @@ YY_RULE_SETUP
YY_BREAK
case 60:
YY_RULE_SETUP
#line 448 "lexer.l"
#line 449 "libyara/lexer.l"
{
char* text = yytext;
@@ -1925,7 +1925,7 @@ YY_RULE_SETUP
YY_BREAK
case 61:
YY_RULE_SETUP
#line 487 "lexer.l"
#line 488 "libyara/lexer.l"
{
if (strlen(yytext) > 128)
@@ -1941,7 +1941,7 @@ YY_RULE_SETUP
YY_BREAK
case 62:
YY_RULE_SETUP
#line 501 "lexer.l"
#line 502 "libyara/lexer.l"
{
char *endptr;
@@ -1984,7 +1984,7 @@ YY_RULE_SETUP
YY_BREAK
case 63:
YY_RULE_SETUP
#line 541 "lexer.l"
#line 542 "libyara/lexer.l"
{
yylval->double_ = atof(yytext);
return _DOUBLE_;
@@ -1992,7 +1992,7 @@ YY_RULE_SETUP
YY_BREAK
case 64:
YY_RULE_SETUP
#line 546 "lexer.l"
#line 547 "libyara/lexer.l"
{
char *endptr;
@@ -2011,7 +2011,7 @@ YY_RULE_SETUP
YY_BREAK
case 65:
YY_RULE_SETUP
#line 562 "lexer.l"
#line 563 "libyara/lexer.l"
{
char *endptr;
@@ -2030,7 +2030,7 @@ YY_RULE_SETUP
YY_BREAK
case 66:
YY_RULE_SETUP
#line 579 "lexer.l"
#line 580 "libyara/lexer.l"
{ /* saw closing quote - all done */
alloc_sized_string(s, yyextra->lex_buf_len);
@@ -2047,7 +2047,7 @@ YY_RULE_SETUP
YY_BREAK
case 67:
YY_RULE_SETUP
#line 594 "lexer.l"
#line 595 "libyara/lexer.l"
{
lex_check_space_ok("\t", yyextra->lex_buf_len, YR_LEX_BUF_SIZE);
@@ -2057,7 +2057,7 @@ YY_RULE_SETUP
YY_BREAK
case 68:
YY_RULE_SETUP
#line 602 "lexer.l"
#line 603 "libyara/lexer.l"
{
lex_check_space_ok("\r", yyextra->lex_buf_len, YR_LEX_BUF_SIZE);
@@ -2067,7 +2067,7 @@ YY_RULE_SETUP
YY_BREAK
case 69:
YY_RULE_SETUP
#line 610 "lexer.l"
#line 611 "libyara/lexer.l"
{
lex_check_space_ok("\n", yyextra->lex_buf_len, YR_LEX_BUF_SIZE);
@@ -2077,7 +2077,7 @@ YY_RULE_SETUP
YY_BREAK
case 70:
YY_RULE_SETUP
#line 618 "lexer.l"
#line 619 "libyara/lexer.l"
{
lex_check_space_ok("\"", yyextra->lex_buf_len, YR_LEX_BUF_SIZE);
@@ -2087,7 +2087,7 @@ YY_RULE_SETUP
YY_BREAK
case 71:
YY_RULE_SETUP
#line 626 "lexer.l"
#line 627 "libyara/lexer.l"
{
lex_check_space_ok("\\", yyextra->lex_buf_len, YR_LEX_BUF_SIZE);
@@ -2097,7 +2097,7 @@ YY_RULE_SETUP
YY_BREAK
case 72:
YY_RULE_SETUP
#line 634 "lexer.l"
#line 635 "libyara/lexer.l"
{
int result;
@@ -2110,13 +2110,13 @@ YY_RULE_SETUP
YY_BREAK
case 73:
YY_RULE_SETUP
#line 645 "lexer.l"
#line 646 "libyara/lexer.l"
{ yytext_to_buffer; }
YY_BREAK
case 74:
/* rule 74 can match eol */
YY_RULE_SETUP
#line 648 "lexer.l"
#line 649 "libyara/lexer.l"
{
syntax_error("unterminated string");
}
@@ -2124,14 +2124,14 @@ YY_RULE_SETUP
case 75:
/* rule 75 can match eol */
YY_RULE_SETUP
#line 653 "lexer.l"
#line 654 "libyara/lexer.l"
{
syntax_error("illegal escape sequence");
}
YY_BREAK
case 76:
YY_RULE_SETUP
#line 658 "lexer.l"
#line 659 "libyara/lexer.l"
{
if (yyextra->lex_buf_len > 0)
@@ -2160,7 +2160,7 @@ YY_RULE_SETUP
YY_BREAK
case 77:
YY_RULE_SETUP
#line 685 "lexer.l"
#line 686 "libyara/lexer.l"
{
lex_check_space_ok("/", yyextra->lex_buf_len, YR_LEX_BUF_SIZE);
@@ -2170,7 +2170,7 @@ YY_RULE_SETUP
YY_BREAK
case 78:
YY_RULE_SETUP
#line 693 "lexer.l"
#line 694 "libyara/lexer.l"
{
lex_check_space_ok("\\.", yyextra->lex_buf_len, YR_LEX_BUF_SIZE);
@@ -2185,20 +2185,20 @@ YY_RULE_SETUP
YY_BREAK
case 79:
YY_RULE_SETUP
#line 706 "lexer.l"
#line 707 "libyara/lexer.l"
{ yytext_to_buffer; }
YY_BREAK
case 80:
/* rule 80 can match eol */
YY_RULE_SETUP
#line 709 "lexer.l"
#line 710 "libyara/lexer.l"
{
syntax_error("unterminated regular expression");
}
YY_BREAK
case 81:
YY_RULE_SETUP
#line 714 "lexer.l"
#line 715 "libyara/lexer.l"
{
yylval->sized_string = NULL;
@@ -2209,7 +2209,7 @@ YY_RULE_SETUP
YY_BREAK
case 82:
YY_RULE_SETUP
#line 723 "lexer.l"
#line 724 "libyara/lexer.l"
{
yylval->sized_string = NULL;
@@ -2221,7 +2221,7 @@ YY_RULE_SETUP
case 83:
/* rule 83 can match eol */
YY_RULE_SETUP
#line 732 "lexer.l"
#line 733 "libyara/lexer.l"
{
// Match hex-digits with whitespace or comments. The latter are stripped
// out by hex_lexer.l
@@ -2241,12 +2241,12 @@ YY_RULE_SETUP
case 84:
/* rule 84 can match eol */
YY_RULE_SETUP
#line 749 "lexer.l"
#line 750 "libyara/lexer.l"
/* skip whitespace */
YY_BREAK
case 85:
YY_RULE_SETUP
#line 751 "lexer.l"
#line 752 "libyara/lexer.l"
{
if (yytext[0] >= 32 && yytext[0] < 127)
@@ -2261,10 +2261,10 @@ YY_RULE_SETUP
YY_BREAK
case 86:
YY_RULE_SETUP
#line 763 "lexer.l"
ECHO;
#line 764 "libyara/lexer.l"
YY_FATAL_ERROR( "flex scanner jammed" );
YY_BREAK
#line 2267 "lexer.c"
#line 2267 "libyara/lexer.c"
case YY_END_OF_BUFFER:
{
@@ -3413,7 +3413,7 @@ void yyfree (void * ptr , yyscan_t yyscanner)
#define YYTABLES_NAME "yytables"
#line 763 "lexer.l"
#line 764 "libyara/lexer.l"
+1
View File
@@ -138,6 +138,7 @@ static bool is_absolute_path(
%}
%option reentrant bison-bridge
%option nodefault
%option noyywrap
%option nounistd
%option noinput
+34 -34
View File
@@ -1070,7 +1070,7 @@ YY_DECL
}
{
#line 114 "libyara/re_lexer.l"
#line 115 "libyara/re_lexer.l"
#line 1076 "libyara/re_lexer.c"
@@ -1140,7 +1140,7 @@ do_action: /* This label is used only to access EOF actions. */
case 1:
YY_RULE_SETUP
#line 116 "libyara/re_lexer.l"
#line 117 "libyara/re_lexer.l"
{
// Examples: {3,8} {0,5} {,5} {7,}
@@ -1182,7 +1182,7 @@ YY_RULE_SETUP
YY_BREAK
case 2:
YY_RULE_SETUP
#line 156 "libyara/re_lexer.l"
#line 157 "libyara/re_lexer.l"
{
// Example: {10}
@@ -1211,7 +1211,7 @@ YY_RULE_SETUP
YY_BREAK
case 3:
YY_RULE_SETUP
#line 183 "libyara/re_lexer.l"
#line 184 "libyara/re_lexer.l"
{
// Start of a negated character class. Example: [^abcd]
@@ -1223,7 +1223,7 @@ YY_RULE_SETUP
YY_BREAK
case 4:
YY_RULE_SETUP
#line 192 "libyara/re_lexer.l"
#line 193 "libyara/re_lexer.l"
{
// Start of character negated class containing a ].
@@ -1238,7 +1238,7 @@ YY_RULE_SETUP
YY_BREAK
case 5:
YY_RULE_SETUP
#line 205 "libyara/re_lexer.l"
#line 206 "libyara/re_lexer.l"
{
// Start of character class containing a ].
@@ -1253,7 +1253,7 @@ YY_RULE_SETUP
YY_BREAK
case 6:
YY_RULE_SETUP
#line 218 "libyara/re_lexer.l"
#line 219 "libyara/re_lexer.l"
{
// Start of character class. Example: [abcd]
@@ -1266,7 +1266,7 @@ YY_RULE_SETUP
case 7:
/* rule 7 can match eol */
YY_RULE_SETUP
#line 228 "libyara/re_lexer.l"
#line 229 "libyara/re_lexer.l"
{
// Any non-special character is passed as a CHAR token to the scanner.
@@ -1277,63 +1277,63 @@ YY_RULE_SETUP
YY_BREAK
case 8:
YY_RULE_SETUP
#line 237 "libyara/re_lexer.l"
#line 238 "libyara/re_lexer.l"
{
return _WORD_CHAR_;
}
YY_BREAK
case 9:
YY_RULE_SETUP
#line 242 "libyara/re_lexer.l"
#line 243 "libyara/re_lexer.l"
{
return _NON_WORD_CHAR_;
}
YY_BREAK
case 10:
YY_RULE_SETUP
#line 247 "libyara/re_lexer.l"
#line 248 "libyara/re_lexer.l"
{
return _SPACE_;
}
YY_BREAK
case 11:
YY_RULE_SETUP
#line 252 "libyara/re_lexer.l"
#line 253 "libyara/re_lexer.l"
{
return _NON_SPACE_;
}
YY_BREAK
case 12:
YY_RULE_SETUP
#line 257 "libyara/re_lexer.l"
#line 258 "libyara/re_lexer.l"
{
return _DIGIT_;
}
YY_BREAK
case 13:
YY_RULE_SETUP
#line 262 "libyara/re_lexer.l"
#line 263 "libyara/re_lexer.l"
{
return _NON_DIGIT_;
}
YY_BREAK
case 14:
YY_RULE_SETUP
#line 267 "libyara/re_lexer.l"
#line 268 "libyara/re_lexer.l"
{
return _WORD_BOUNDARY_;
}
YY_BREAK
case 15:
YY_RULE_SETUP
#line 271 "libyara/re_lexer.l"
#line 272 "libyara/re_lexer.l"
{
return _NON_WORD_BOUNDARY_;
}
YY_BREAK
case 16:
YY_RULE_SETUP
#line 276 "libyara/re_lexer.l"
#line 277 "libyara/re_lexer.l"
{
yyerror(yyscanner, lex_env, "backreferences are not allowed");
@@ -1342,7 +1342,7 @@ YY_RULE_SETUP
YY_BREAK
case 17:
YY_RULE_SETUP
#line 283 "libyara/re_lexer.l"
#line 284 "libyara/re_lexer.l"
{
uint8_t c;
@@ -1369,7 +1369,7 @@ YY_RULE_SETUP
YY_BREAK
case 18:
YY_RULE_SETUP
#line 308 "libyara/re_lexer.l"
#line 309 "libyara/re_lexer.l"
{
// End of character class.
@@ -1385,7 +1385,7 @@ YY_RULE_SETUP
case 19:
/* rule 19 can match eol */
YY_RULE_SETUP
#line 322 "libyara/re_lexer.l"
#line 323 "libyara/re_lexer.l"
{
// A range inside a character class. The regexp is...
@@ -1450,7 +1450,7 @@ YY_RULE_SETUP
YY_BREAK
case 20:
YY_RULE_SETUP
#line 385 "libyara/re_lexer.l"
#line 386 "libyara/re_lexer.l"
{
for (int i = 0; i < 32; i++)
@@ -1459,7 +1459,7 @@ YY_RULE_SETUP
YY_BREAK
case 21:
YY_RULE_SETUP
#line 392 "libyara/re_lexer.l"
#line 393 "libyara/re_lexer.l"
{
for (int i = 0; i < 32; i++)
@@ -1468,7 +1468,7 @@ YY_RULE_SETUP
YY_BREAK
case 22:
YY_RULE_SETUP
#line 399 "libyara/re_lexer.l"
#line 400 "libyara/re_lexer.l"
{
for (int i = 0; i < 32; i++)
@@ -1477,7 +1477,7 @@ YY_RULE_SETUP
YY_BREAK
case 23:
YY_RULE_SETUP
#line 406 "libyara/re_lexer.l"
#line 407 "libyara/re_lexer.l"
{
for (int i = 0; i < 32; i++)
@@ -1486,7 +1486,7 @@ YY_RULE_SETUP
YY_BREAK
case 24:
YY_RULE_SETUP
#line 413 "libyara/re_lexer.l"
#line 414 "libyara/re_lexer.l"
{
for (char c = '0'; c <= '9'; c++)
@@ -1495,7 +1495,7 @@ YY_RULE_SETUP
YY_BREAK
case 25:
YY_RULE_SETUP
#line 420 "libyara/re_lexer.l"
#line 421 "libyara/re_lexer.l"
{
for (int i = 0; i < 32; i++)
@@ -1515,7 +1515,7 @@ YY_RULE_SETUP
YY_BREAK
case 26:
YY_RULE_SETUP
#line 438 "libyara/re_lexer.l"
#line 439 "libyara/re_lexer.l"
{
uint8_t c;
@@ -1540,7 +1540,7 @@ YY_RULE_SETUP
YY_BREAK
case 27:
YY_RULE_SETUP
#line 461 "libyara/re_lexer.l"
#line 462 "libyara/re_lexer.l"
{
if (yytext[0] >= 32 && yytext[0] < 127)
@@ -1558,7 +1558,7 @@ YY_RULE_SETUP
}
YY_BREAK
case YY_STATE_EOF(char_class):
#line 478 "libyara/re_lexer.l"
#line 479 "libyara/re_lexer.l"
{
// End of regexp reached while scanning a character class.
@@ -1569,7 +1569,7 @@ case YY_STATE_EOF(char_class):
YY_BREAK
case 28:
YY_RULE_SETUP
#line 487 "libyara/re_lexer.l"
#line 488 "libyara/re_lexer.l"
{
if (yytext[0] >= 32 && yytext[0] < 127)
@@ -1584,7 +1584,7 @@ YY_RULE_SETUP
}
YY_BREAK
case YY_STATE_EOF(INITIAL):
#line 501 "libyara/re_lexer.l"
#line 502 "libyara/re_lexer.l"
{
yyterminate();
@@ -1592,8 +1592,8 @@ case YY_STATE_EOF(INITIAL):
YY_BREAK
case 29:
YY_RULE_SETUP
#line 506 "libyara/re_lexer.l"
ECHO;
#line 507 "libyara/re_lexer.l"
YY_FATAL_ERROR( "flex scanner jammed" );
YY_BREAK
#line 1598 "libyara/re_lexer.c"
@@ -2744,7 +2744,7 @@ void yyfree (void * ptr , yyscan_t yyscanner)
#define YYTABLES_NAME "yytables"
#line 506 "libyara/re_lexer.l"
#line 507 "libyara/re_lexer.l"
int escaped_char_value(
+1
View File
@@ -94,6 +94,7 @@ int read_escaped_char(
%}
%option reentrant bison-bridge
%option nodefault
%option noyywrap
%option nounistd
%option nounput