コード例 #1
0
ファイル: CharacterExpr.cs プロジェクト: mrfichtn/opal
        public override bool Create(CharacterClassBuilder builder,
                                    out IMatch?match)
        {
            var result = expr.Create(builder, out match);

            if (result)
            {
                match = match !.Invert();
            }
            return(result);
        }
コード例 #2
0
ファイル: CharacterExpr.cs プロジェクト: mrfichtn/opal
        public sealed override bool Create(CharacterClassBuilder builder,
                                           out IMatch?match)
        {
            var result = left.Create(builder, out var leftMatch);

            if (result)
            {
                result = right.Create(builder, out var rightMatch);
                match  = result ? Create(leftMatch !, rightMatch !) : null;
            }
            else
            {
                match = null;
            }
            return(result);
        }