private SelectionCriteria Convert(FinalStatePatternParser.CutBinaryContext context) { var c = new SelectionCriteria(); c.BinaryRelation = context.BINARY_OP().GetText(); c.FirstArgument = Convert(context.cut_arg()[0]); c.SecondArgument = Convert(context.cut_arg()[1]); return c; }
/// <summary> /// The user has given us a range cut /// </summary> /// <param name="context"></param> public override void ExitCutRange(FinalStatePatternParser.CutRangeContext context) { var c1 = new SelectionCriteria(); var c2 = new SelectionCriteria(); c1.BinaryRelation = context.BINARY_OP(0).GetText(); c2.BinaryRelation = context.BINARY_OP(1).GetText(); c1.FirstArgument = Convert(context.cut_number(0)); c1.SecondArgument = Convert(context.cut_name()); c2.FirstArgument = Convert(context.cut_name()); c2.SecondArgument = Convert(context.cut_number(1)); _current_criteria.Peek().Add(c1); _current_criteria.Peek().Add(c2); base.ExitCutRange(context); }