Example #1
0
        static private AASet FlankingUnifyOrOptionalEmpty(AASet c1, AASet c2)
        {
            Debug.Assert(AASetSequence.IsOptional(c1) && AASetSequence.IsOptional(c2));             // real assert
            AASet result = c1 & c2;

            return(result);
        }
        static public AASet UnifyOrEmpty(AASet c1, AASet c2)
        {
            SpecialFunctions.CheckCondition(!AASetSequence.IsOptional(c1) && !AASetSequence.IsOptional(c2));             //!!!raise error
            AASet result = c1 & c2;

            return(result);
        }
Example #3
0
        private AASet FlankingAndCoreUnifyOrEmpty(AASet flanking, AASet core)
        {
            if (flanking == AASet.OptionalAny)
            {
                return(core);
            }
            Debug.Assert(AASetSequence.IsOptional(flanking));             // real assert
            AASet chUnifyOrEmpty = AASetSequence.UnifyOrEmpty(AASetSequence.ToRequired(flanking), core);

            return(chUnifyOrEmpty);
        }