diff --git a/libwccl/parser/grammar.g b/libwccl/parser/grammar.g index e12c6918828f63a09964e0d79b60e06dba1763a4..d2a70195202b9f2d3a225c1ae5a832057d57ef70 100644 --- a/libwccl/parser/grammar.g +++ b/libwccl/parser/grammar.g @@ -1446,17 +1446,16 @@ rule_sequence returns [boost::shared_ptr<RuleSequence> rule_seq] { // FIXME czy tutaj przypadkiem nie powinno byc shared_ptr? - std::vector<Rule> rls; boost::shared_ptr<Rule> rle; - rule_seq.reset(new RuleSequence(rls)); + rule_seq.reset(new RuleSequence()); } : rle = rule [tagset, vars] { - rls.push_back(*rle); + rule_seq->push_back(*rle); } ( COMMA rle = rule [tagset, vars] { - rls.push_back(*rle); + rule_seq->push_back(*rle); } )* ; @@ -1519,14 +1518,14 @@ action_delete pos = position_operator [tagset, vars] COMMA condition = bool_operator [tagset, vars] { // delete(positon, condition); - action.reset(new Delete(condition)); + action.reset(new Delete(condition, pos)); } ) | ( condition = bool_operator [tagset, vars] { // delete(condition); - action.reset(new Delete(condition, pos)); + action.reset(new Delete(condition)); } ) )