Exemple #1
0
        private static PassiveExpression PreAlph(PassiveExpression expression)
        {
            Pattern pattern2 = new Pattern(new SymbolVariable("s.1"), new SymbolVariable("s.1"));

            if (RefalBase.Match(expression, pattern2))
            {
                return(PassiveExpression.Build(true));
            }
            ;

            Pattern pattern3 = new Pattern(new SymbolVariable("s.1"), new SymbolVariable("s.2"));

            if (RefalBase.Match(expression, pattern3))
            {
                PassiveExpression expression4 = PassiveExpression.Build(Alphabet(PassiveExpression.Build()));
                Pattern           pattern4    = new Pattern(new ExpressionVariable("e.A"), new SymbolVariable("s.1"), new ExpressionVariable("e.B"), new SymbolVariable("s.2"), new ExpressionVariable("e.C"));
                pattern4.BindVariables(pattern3);
                if (RefalBase.Match(expression4, pattern4))
                {
                    return(PassiveExpression.Build(true));
                }
                ;
            }
            ;

            Pattern pattern5 = new Pattern(new ExpressionVariable("e.Z"));

            if (RefalBase.Match(expression, pattern5))
            {
                return(PassiveExpression.Build(false));
            }
            ;

            throw new RecognitionImpossibleException("Recognition impossible");
        }