Fix rule line number

Issue #1844
This commit is contained in:
Felipe Zimmerle
2018-10-24 20:51:22 -03:00
parent fa5f3784f2
commit 973c1f1028
9 changed files with 1293 additions and 785 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1113,8 +1113,9 @@ expression:
/* variables */ v,
/* actions */ a,
/* file name */ driver.ref.back(),
/* line number */ @0.end.line
/* line number */ @1.end.line
);
if (driver.addSecRule(rule) == false) {
delete rule;
YYERROR;
@@ -1132,7 +1133,7 @@ expression:
/* variables */ v,
/* actions */ NULL,
/* file name */ driver.ref.back(),
/* line number */ @0.end.line
/* line number */ @1.end.line
);
if (driver.addSecRule(rule) == false) {
delete rule;
@@ -1150,7 +1151,7 @@ expression:
/* variables */ NULL,
/* actions */ a,
/* file name */ driver.ref.back(),
/* line number */ @0.end.line
/* line number */ @1.end.line
);
driver.addSecAction(rule);
}
@@ -1165,7 +1166,7 @@ expression:
/* path to script */ $1,
/* actions */ a,
/* file name */ driver.ref.back(),
/* line number */ @0.end.line
/* line number */ @1.end.line
);
if (r->init(&err) == false) {

View File

@@ -8148,37 +8148,37 @@ case 504:
/* rule 504 can match eol */
YY_RULE_SETUP
#line 1164 "seclang-scanner.ll"
{ BEGIN(EXPECTING_ACTIONS_ENDS_WITH_DOUBLE_QUOTE); }
{ driver.loc.back()->lines(1); driver.loc.back()->step(); BEGIN(EXPECTING_ACTIONS_ENDS_WITH_DOUBLE_QUOTE); }
YY_BREAK
case 505:
/* rule 505 can match eol */
YY_RULE_SETUP
#line 1165 "seclang-scanner.ll"
{ BEGIN(EXPECTING_ACTIONS_ENDS_WITH_DOUBLE_QUOTE); }
{ driver.loc.back()->lines(1); driver.loc.back()->step(); BEGIN(EXPECTING_ACTIONS_ENDS_WITH_DOUBLE_QUOTE); }
YY_BREAK
case 506:
/* rule 506 can match eol */
YY_RULE_SETUP
#line 1166 "seclang-scanner.ll"
{ BEGIN(EXPECTING_ACTIONS_ENDS_WITH_DOUBLE_QUOTE); }
{ driver.loc.back()->lines(1); driver.loc.back()->step(); BEGIN(EXPECTING_ACTIONS_ENDS_WITH_DOUBLE_QUOTE); }
YY_BREAK
case 507:
/* rule 507 can match eol */
YY_RULE_SETUP
#line 1167 "seclang-scanner.ll"
{ BEGIN(EXPECTING_ACTIONS_ENDS_WITH_DOUBLE_QUOTE); }
{ driver.loc.back()->lines(1); driver.loc.back()->step(); BEGIN(EXPECTING_ACTIONS_ENDS_WITH_DOUBLE_QUOTE); }
YY_BREAK
case 508:
/* rule 508 can match eol */
YY_RULE_SETUP
#line 1169 "seclang-scanner.ll"
{ BEGIN(EXPECTING_ACTIONS_ONLY_ONE); }
{ driver.loc.back()->lines(1); driver.loc.back()->step(); BEGIN(EXPECTING_ACTIONS_ONLY_ONE); }
YY_BREAK
case 509:
/* rule 509 can match eol */
YY_RULE_SETUP
#line 1170 "seclang-scanner.ll"
{ BEGIN(EXPECTING_ACTIONS_ONLY_ONE); }
{ driver.loc.back()->lines(1); driver.loc.back()->step(); BEGIN(EXPECTING_ACTIONS_ONLY_ONE); }
YY_BREAK
case 510:
YY_RULE_SETUP
@@ -8189,13 +8189,13 @@ case 511:
/* rule 511 can match eol */
YY_RULE_SETUP
#line 1173 "seclang-scanner.ll"
{ BEGIN(EXPECTING_ACTIONS_ONLY_ONE); }
{ driver.loc.back()->lines(1); driver.loc.back()->step(); BEGIN(EXPECTING_ACTIONS_ONLY_ONE); }
YY_BREAK
case 512:
/* rule 512 can match eol */
YY_RULE_SETUP
#line 1174 "seclang-scanner.ll"
{ BEGIN(EXPECTING_ACTIONS_ONLY_ONE); }
{ driver.loc.back()->lines(1); driver.loc.back()->step(); BEGIN(EXPECTING_ACTIONS_ONLY_ONE); }
YY_BREAK

View File

@@ -1160,17 +1160,17 @@ EQUALS_MINUS (?i:=\-)
<TRANSACTION_FROM_OPERATOR_TO_ACTIONS,TRANSACTION_FROM_OPERATOR_PARAMETERS_TO_ACTIONS>{
[ \t]*\"[ \t]* { BEGIN(EXPECTING_ACTIONS_ENDS_WITH_DOUBLE_QUOTE); }
[ \t]*\"[ \t]*\"[ \t]* { BEGIN(EXPECTING_ACTIONS_ENDS_WITH_DOUBLE_QUOTE); }
[ \t]*\"[ \t]*\\\n[ \t]*\"[ \t]* { BEGIN(EXPECTING_ACTIONS_ENDS_WITH_DOUBLE_QUOTE); }
\\\n[ \t]*\"[ \t]* { BEGIN(EXPECTING_ACTIONS_ENDS_WITH_DOUBLE_QUOTE); }
[ \t]*\"[ \t]*\\\r\n[ \t]*\"[ \t]* { BEGIN(EXPECTING_ACTIONS_ENDS_WITH_DOUBLE_QUOTE); }
[ \t]*\\\n[ \t]*\"[ \t]* { BEGIN(EXPECTING_ACTIONS_ENDS_WITH_DOUBLE_QUOTE); }
[ \t]*\"[ \t]*\\\n[ \t]*\"[ \t]* { driver.loc.back()->lines(1); driver.loc.back()->step(); BEGIN(EXPECTING_ACTIONS_ENDS_WITH_DOUBLE_QUOTE); }
\\\n[ \t]*\"[ \t]* { driver.loc.back()->lines(1); driver.loc.back()->step(); BEGIN(EXPECTING_ACTIONS_ENDS_WITH_DOUBLE_QUOTE); }
[ \t]*\"[ \t]*\\\r\n[ \t]*\"[ \t]* { driver.loc.back()->lines(1); driver.loc.back()->step(); BEGIN(EXPECTING_ACTIONS_ENDS_WITH_DOUBLE_QUOTE); }
[ \t]*\\\n[ \t]*\"[ \t]* { driver.loc.back()->lines(1); driver.loc.back()->step(); BEGIN(EXPECTING_ACTIONS_ENDS_WITH_DOUBLE_QUOTE); }
[ \t]*\\\n[ \t]* { BEGIN(EXPECTING_ACTIONS_ONLY_ONE); }
[ \t]*\\\r\n[ \t]* { BEGIN(EXPECTING_ACTIONS_ONLY_ONE); }
[ \t]*\\\n[ \t]* { driver.loc.back()->lines(1); driver.loc.back()->step(); BEGIN(EXPECTING_ACTIONS_ONLY_ONE); }
[ \t]*\\\r\n[ \t]* { driver.loc.back()->lines(1); driver.loc.back()->step(); BEGIN(EXPECTING_ACTIONS_ONLY_ONE); }
[ ]+ { BEGIN(EXPECTING_ACTIONS_ONLY_ONE); }
[ \t]*\r\n[ \t]* { BEGIN(EXPECTING_ACTIONS_ONLY_ONE); }
[ \t]*\n[ \t]* { BEGIN(EXPECTING_ACTIONS_ONLY_ONE); }
[ \t]*\r\n[ \t]* { driver.loc.back()->lines(1); driver.loc.back()->step(); BEGIN(EXPECTING_ACTIONS_ONLY_ONE); }
[ \t]*\n[ \t]* { driver.loc.back()->lines(1); driver.loc.back()->step(); BEGIN(EXPECTING_ACTIONS_ONLY_ONE); }
}