コード例 #1
0
ファイル: Grammar.cs プロジェクト: sucaba/IronTextLibrary
        public CSetSreExpr Difference(CSetSreExpr x, CSetSreExpr[] y)
        {
            IntSet cset = x.Node.Characters;

            foreach (var excluded in y)
            {
                cset = cset.Except(excluded.Node.Characters);
            }

            return(CSet(cset));
        }
コード例 #2
0
ファイル: Grammar.cs プロジェクト: sucaba/IronTextLibrary
 public SreExpr CSet(CSetSreExpr cset)
 {
     return(new SreExpr {
         Node = cset.Node
     });
 }
コード例 #3
0
ファイル: Grammar.cs プロジェクト: sucaba/IronTextLibrary
 public SreExpr Lookahead(CSetSreExpr cset)
 {
     return(new SreExpr {
         Node = new LookaheadNode(cset.Node.Characters)
     });
 }
コード例 #4
0
ファイル: Grammar.cs プロジェクト: bkushnir/IronTextLibrary
 public SreExpr Lookback(CSetSreExpr cset)
 {
     return new SreExpr { Node = new LookbackNode(cset.Node.Characters) };
 }
コード例 #5
0
ファイル: Grammar.cs プロジェクト: bkushnir/IronTextLibrary
        public CSetSreExpr Intersection(CSetSreExpr[] inner)
        {
            IntSet cset = IntSet.All;
            foreach (var included in inner)
            {
                cset = cset.Intersect(included.Node.Characters);
            }

            return CSet(cset);
        }
コード例 #6
0
ファイル: Grammar.cs プロジェクト: bkushnir/IronTextLibrary
        public CSetSreExpr Difference(CSetSreExpr x, CSetSreExpr[] y)
        {
            IntSet cset = x.Node.Characters;
            foreach (var excluded in y)
            {
                cset = cset.Except(excluded.Node.Characters);
            }

            return CSet(cset);
        }
コード例 #7
0
ファイル: Grammar.cs プロジェクト: bkushnir/IronTextLibrary
 public SreExpr CSet(CSetSreExpr cset)
 {
     return new SreExpr { Node = cset.Node };
 }
コード例 #8
0
ファイル: Grammar.cs プロジェクト: bkushnir/IronTextLibrary
 public CSetSreExpr ComplementOfUnion(CSetSreExpr[] inner)
 {
     return new CSetSreExpr { Node = CharSetNode.Union(inner.Select(expr => expr.Node)).Complement() };
 }