コード例 #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);
        }
コード例 #3
0
ファイル: CharacterExpr.cs プロジェクト: mrfichtn/opal
 public sealed override void LogMissing(CharacterClassBuilder builder)
 {
     left.LogMissing(builder);
     right.LogMissing(builder);
 }
コード例 #4
0
ファイル: CharacterExpr.cs プロジェクト: mrfichtn/opal
 public override void LogMissing(CharacterClassBuilder builder) =>
 builder.LogMissing(name);
コード例 #5
0
ファイル: CharacterExpr.cs プロジェクト: mrfichtn/opal
 public virtual void LogMissing(CharacterClassBuilder builder)
 {
 }
コード例 #6
0
ファイル: CharacterExpr.cs プロジェクト: mrfichtn/opal
 public override bool Create(CharacterClassBuilder builder,
                             out IMatch?match) =>
 builder.TryFind(name, out match);
コード例 #7
0
ファイル: CharacterExpr.cs プロジェクト: mrfichtn/opal
 public abstract bool Create(CharacterClassBuilder builder,
                             out IMatch?match);
コード例 #8
0
ファイル: CharacterExpr.cs プロジェクト: mrfichtn/opal
 public override bool Create(CharacterClassBuilder builder,
                             out IMatch?match)
 {
     match = new SingleChar(ch);
     return(true);
 }
コード例 #9
0
ファイル: CharacterExpr.cs プロジェクト: mrfichtn/opal
 public override bool Create(CharacterClassBuilder builder,
                             out IMatch?match)
 {
     match = charClass;
     return(true);
 }
コード例 #10
0
ファイル: CharacterExpr.cs プロジェクト: mrfichtn/opal
 public override void LogMissing(CharacterClassBuilder builder) =>
 expr.LogMissing(builder);