コード例 #1
0
        public override void ToPrecedenceFreeEPL(TextWriter writer)
        {
            if (OptionalMaxExpressions == null || OptionalMaxExpressions.IsEmpty()) {
                PatternExpressionUtil.ToPrecedenceFreeEPL(writer, "->", ChildNodes, Precedence);
            }
            else {
                ChildNodes[0].ToEPL(writer, PatternExpressionPrecedenceEnum.MINIMUM);
                for (var i = 1; i < ChildNodes.Count; i++) {
                    ExprNode optionalMaxExpression = null;
                    if (OptionalMaxExpressions.Count > i - 1) {
                        optionalMaxExpression = OptionalMaxExpressions[i - 1];
                    }

                    if (optionalMaxExpression == null) {
                        writer.Write(" -> ");
                    }
                    else {
                        writer.Write(" -[");
                        writer.Write(ExprNodeUtilityPrint.ToExpressionStringMinPrecedenceSafe(optionalMaxExpression));
                        writer.Write("]> ");
                    }

                    ChildNodes[i].ToEPL(writer, PatternExpressionPrecedenceEnum.MINIMUM);
                }
            }
        }
コード例 #2
0
ファイル: EvalAndForgeNode.cs プロジェクト: lanicon/nesper
 public override void ToPrecedenceFreeEPL(TextWriter writer)
 {
     PatternExpressionUtil.ToPrecedenceFreeEPL(writer, "and", ChildNodes, Precedence);
 }